Difference: StrippingLiaisonCheatsheet (1 vs. 10)

Revision 102019-01-15 - NicolaAnneSkidmore

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Line: 27 to 27
 

Some notes on good practice

  • Run tests periodically, TestMyWGfromSelections.py every couple of days before the deadline for commits. Start using TestMyWGfromSettings.py when the LineConfig can be filled up (usually after the folder python/StrippingSettings/StrippingXY is created and announced by the coordinators)
  • Inform the coordinators about errors and suspicious warnings in the logfiles
Deleted:
<
<
  • When committing to any package also modify the doc/release.notes file and then put an entry in the tag collector as it helps in keeping track of the changes done.
 
  • Share the final LineConfig with your WG to make sure all the lines are there and properly configured

How to start

Changed:
<
<
Create a directory where you have lots of space and check which DaVinci version is required for the tests (here it's DaVinci v41r4p1). Usually you need to checkout from master but please keep in mind that in some special cases this might change.
>
>
Create a directory where you have lots of space and check which DaVinci version is required for the tests (here it's DaVinci v41r4p1). Both the DaVinci version and Stripping branch will be provided
 
mkdir MyStrippingDir
cd MyStrippingDir
lb-dev DaVinci v41r4p1
cd DaVinciDev_v41r4p1
git lb-use Stripping
Changed:
<
<
git lb-checkout Stripping/master Phys/StrippingSelections git lb-checkout Stripping/master Phys/StrippingSettings
>
>
git lb-checkout Stripping/ Phys/StrippingSelections git lb-checkout Stripping/ Phys/StrippingSettings
 make

Sometimes you might need to checkout and build other packages, which include fixes to eg. RelatedInfoTools as the tests detailed below might fail due to bugs in those packages/tools.

Line: 49 to 48
 StrippingSettings is the package where the configuration that is run in production is defined. Although the line configuration may be copied from the default_config in StrippingSelections, the two are independent. Therefore the default_config are ignored in production, all that matters is what is in StrippingSettings. During stripping campaigns it is therefore normal that some fine tuning is performed directly on this package although it is good practice to keep the settings in line with the default_config in StrippingSelections. For each XY Stripping, each liaison should take care of the WG configurations, stored at python/StrippingSettings/StrippingXY/LineConfigDictionaries_.py
Changed:
<
<
IMPORTANT: Check carefully what enters in your LineConfig, usually not all what is in StrippingSelections has to run (this is the case for restrippings, where we usually have a reduced number of lines). Also it is good practice to add a short comment for each dictionary, explaining who is the responsible o the corresponding stripping line and for what type of channel is used.
>
>
IMPORTANT: Check carefully what enters in your LineConfig, usually not all what is in StrippingSelections has to run (this is the case for restrippings, where we usually have a reduced number of lines).
 

Overview of tests

There are several test scripts to be run by the liaisons in the folder Phys/StrippingSelections/tests/liaisons/

Changed:
<
<
* TestMyWGfromSelections.py: test all the lines from the corresponding Working Group using StrippingSettings. Please note that the final tests of the Stripping should be done from Settings.
>
>
* TestMyWGfromSelections.py: test all the lines from the corresponding Working Group using StrippingSelections. Please note that the final tests of the Stripping should be done from Settings.
 
Changed:
<
<
* TestMyWGfromSettings.py: test all the lines from the corresponding Working Group using StrippingSelections.
>
>
* TestMyWGfromSettings.py: test all the lines from the corresponding Working Group using StrippingSettings.
  These tests produce:
  1. A (large) log file that needs to be inspected carefully.
  2. DST and mDST files.
Changed:
<
<
In the log file, all the errors related to the stripping should not exist. All the Warnings related to the stripping are potencial sources of problems, so should be treated carefully as well.
>
>
In the log file, all the errors related to the stripping should not exist. All the Warnings related to the stripping are potential sources of problems, so should be treated carefully as well.
  In the (m)DST all the information of the relevant lines should be present and readable.

* analyseDaVinciLog.py: test the memory consumption of all the lines. It takes as input the log file produced by the step above and returns a printout and an image with the memory usage vs events processed.

Changed:
<
<
IMPORTANT: when running tests, please pass the option "-T" to gaudirun.py so that one hase a production-like memory usage.
>
>
IMPORTANT: when running tests, please pass the option "-T" to gaudirun.py so that one has a production-like memory usage.
 

Prepare StrippingSettings database

Line: 89 to 87
 
  1. Edit your copy of TestMyWGfromSettings.py: at the beginning of the file, change my_wg and stripping. Make sure you are running over the correct input data located in $STRIPPINGSELECTIONSROOT/tests/data and that you are using the proper CondDB and DDDB tags.
  2. Run the test
    ./run gaudirun.py -T TestMyWGfromSettings.py > log_file 
    and then inspect the output carefully.
Changed:
<
<
In case you want to test from StrippingSettings, you do not need to build the dictionary and can simply execute
>
>
In case you want to test from StrippingSelections, you do not need to build the dictionary and can simply execute
 
./run gaudirun.py -T TestMyWGfromSelections.py > log_file 

after changing the required inputs (see above for the test from StrippingSettings). Inspect the output carefully.

Revision 92017-05-05 - StefanieReichert

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Changed:
<
<
The stripping project contains the following list of packages:
>
>
The stripping project has been moved to gitlab: https://gitlab.cern.ch/lhcb/Stripping and contains the following packages:
 
Line: 19 to 19
 
Deleted:
<
<
Typically, the liaison acts only on (in order of frequence) StrippingSelections, StrippingSettings. If you think a modification of some other package is needed, please discuss it first with the coordinators.

Some guidelines using B2CC as example

 
Changed:
<
<
here are some guidelines prepared by Carlos Vazquez Sierra to help future liaisons.
>
>
Please note that CommonParticles has been moved to Phys.

Typically, the liaison acts only on (in order of frequence) StrippingSelections and StrippingSettings. If you think a modification of some other package is needed, please discuss it first with the coordinators.

Some notes on good practice

  • Run tests periodically, TestMyWGfromSelections.py every couple of days before the deadline for commits. Start using TestMyWGfromSettings.py when the LineConfig can be filled up (usually after the folder python/StrippingSettings/StrippingXY is created and announced by the coordinators)
  • Inform the coordinators about errors and suspicious warnings in the logfiles
  • When committing to any package also modify the doc/release.notes file and then put an entry in the tag collector as it helps in keeping track of the changes done.
  • Share the final LineConfig with your WG to make sure all the lines are there and properly configured
 

How to start

Changed:
<
<
Create a directory where you have lots of space and set the DaVinci environment. Usually, during the stripping commissioning the nightly version of DaVinci and lhcb-head is needed.
>
>
Create a directory where you have lots of space and check which DaVinci version is required for the tests (here it's DaVinci v41r4p1). Usually you need to checkout from master but please keep in mind that in some special cases this might change.
 
mkdir MyStrippingDir
cd MyStrippingDir
Changed:
<
<
lb-dev --nightly lhcb-head DaVinci HEAD cd DaVinciDev_HEAD
>
>
lb-dev DaVinci v41r4p1 cd DaVinciDev_v41r4p1
 git lb-use Stripping git lb-checkout Stripping/master Phys/StrippingSelections git lb-checkout Stripping/master Phys/StrippingSettings
Changed:
<
<
make ./run bash
>
>
make

Sometimes you might need to checkout and build other packages, which include fixes to eg. RelatedInfoTools as the tests detailed below might fail due to bugs in those packages/tools.

 

StrippingSettings

Line: 43 to 50
 For each XY Stripping, each liaison should take care of the WG configurations, stored at python/StrippingSettings/StrippingXY/LineConfigDictionaries_.py

IMPORTANT: Check carefully what enters in your LineConfig, usually not all what is in StrippingSelections has to run (this is the case for restrippings, where we usually have a reduced number of lines). Also it is good practice to add a short comment for each dictionary, explaining who is the responsible o the corresponding stripping line and for what type of channel is used.

Deleted:
<
<

Running tests

 
Changed:
<
<
There are several test scripts to be run by the liaisons under the folder Phys/StrippingSelections/tests/liaisons/
>
>

Overview of tests

There are several test scripts to be run by the liaisons in the folder Phys/StrippingSelections/tests/liaisons/

 
Changed:
<
<
* TestMyWGfromSelections.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the default_conf present in all the builders. To pick up changes to the lines (after you getpacked) one has still to do the usual "make purge" and "make" procedure.
>
>
* TestMyWGfromSelections.py: test all the lines from the corresponding Working Group using StrippingSettings. Please note that the final tests of the Stripping should be done from Settings.
 
Changed:
<
<
* TestMyWGfromSettings.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the Lineconfig of your WG within the folder python/StrippingSettings/StrippingXY (XY is a given stripping, e.g. 22, 23...) in the StrippingSettings package. In this case, recompiling is not sufficient to include changes, but one has to create a database first, as it will be described in the next section.
>
>
* TestMyWGfromSettings.py: test all the lines from the corresponding Working Group using StrippingSelections.
  These tests produce:
  1. A (large) log file that needs to be inspected carefully.
Line: 59 to 67
  In the (m)DST all the information of the relevant lines should be present and readable.
Changed:
<
<
* analyseDaVinciLog.py: test the memory consumption of all the lines. It takes as input the log file produced by the step above and returns a printout and an image with the memory usage vs events processed. Usage is

python analyseDaVinciLog.py mylogfile.txt

* genericNtuple.py: produces and ntuple with the most common TupleTools to check that all the locations and information is stored properly. Liaisons with RelatedInfo and/or FlavourTagging information in their lines should control that the information is stored properly.

* collect_dicts.py: collects all the information in the dictionaries of the modules of your WG. Useful to produce the dictionary of all the lines for StrippingSettings. Usage_

python collect_dict.py <your WG>
>
>
* analyseDaVinciLog.py: test the memory consumption of all the lines. It takes as input the log file produced by the step above and returns a printout and an image with the memory usage vs events processed.
  IMPORTANT: when running tests, please pass the option "-T" to gaudirun.py so that one hase a production-like memory usage.

Prepare StrippingSettings database

Changed:
<
<
As anticipated, to propagate changes to the LineConfigs a simple recompilation is not sufficient, here are the steps to follow:
  1. Modify some LineConfig
  2. Recompile (make purge & make)
  3. Setup the environment (./run bash)
>
>
As anticipated, to propagate changes to the LineConfigs, a simple recompilation is not sufficient. Here are the steps to follow:

  1. Modify some lines
  2. Recompile by executing
    make purge && make
    in DaVinciDev _v41r4p1
  3. To collect all the information in the dictionaries of the modules of your Working Group, do
    ./run python Phys/StrippingSelections/tests/liaisons/collect_dicts.py 'your_WG'
    , which will create dictionaries.py. For an incremental re-stripping edit dictionaries.py as required.
  4. mv dictionaries.py Phys/StrippingSettings/python/StrippingSettings/StrippingXY/LineConfigDictionaries_your_WG.py
 
  1. Go to $STRIPPINGSETTINGSROOT/python/StrippingSettings
  2. Issue the following commands (case sensitive):

Changed:
<
<
python makeDB.py StrippingXY
>
>
./run python makeDB.py StrippingXY
  mv stripping.tmp ../../dbase/strippingXY
Changed:
<
<
  1. run again TestMyWGfromSettings.py
>
>
  1. Navigate back to DaVinciDev _v41r4p1 and copy Phys/StrippingSelections/tests/liaisons/TestMyWGfromSettings.py to this folder.
  2. Edit your copy of TestMyWGfromSettings.py: at the beginning of the file, change my_wg and stripping. Make sure you are running over the correct input data located in $STRIPPINGSELECTIONSROOT/tests/data and that you are using the proper CondDB and DDDB tags.
  3. Run the test
    ./run gaudirun.py -T TestMyWGfromSettings.py > log_file 
    and then inspect the output carefully.
 
Changed:
<
<

Usage of StrippingSettings

The good Samaritan rules
  • Run tests periodically, TestMyWGfromSelections.py every couple of days before the deadline for commits. Start using TestMyWGfromSettings.py when the LineConfig can be filled up (usually after the folder python/StrippingSettings/StrippingXY is created and announced by the coordinators)
  • Inform the coordinators about errors and suspicious warnings in the logfiles
  • When committing to any package also modify the doc/release.notes file and then put an entry in the tag collector as it helps in keeping track of the changes done.
  • Share the final LineConfig with your WG to make sure all the lines are there and properly configured
>
>
In case you want to test from StrippingSettings, you do not need to build the dictionary and can simply execute
./run gaudirun.py -T TestMyWGfromSelections.py > log_file 

after changing the required inputs (see above for the test from StrippingSettings). Inspect the output carefully.

To test the global memory consumption, a single, reasonably long (100k-200k events) stripping job is needed (see step above). Store the log of this job in the file, then use analyseDaVinciLog.py script to plot the memory use as a function of event number.

  python(2) analyseDaVinciLog.py logfile.txt -p name_of_your_plot.png
  display name_of_your_plot.png

The options -c and -l are currently not working.

To run safely in the production, jobs don't have to take more than 4 Gb of memory. Make sure there are no big jumps in memory use after ~50-100k events. They can indicate memory leaks. If you are unsure if the plot indicates a memory leak, please contact the coordinators.

Some guidelines using B2CC as example

Here are some guidelines prepared by Carlos Vazquez Sierra to help future liaisons, which rely still on SetupProject.

Revision 82017-01-10 - IwanThomasSmith

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Line: 31 to 31
 cd MyStrippingDir lb-dev --nightly lhcb-head DaVinci HEAD cd DaVinciDev_HEAD
Changed:
<
<
getpack Phys/StrippingSelections head getpack Phys/StrippingSettings head
>
>
git lb-use Stripping git lb-checkout Stripping/master Phys/StrippingSelections git lb-checkout Stripping/master Phys/StrippingSettings
 make ./run bash

Revision 72016-04-07 - RicardoVazquezGomez

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Line: 20 to 20
  Typically, the liaison acts only on (in order of frequence) StrippingSelections, StrippingSettings. If you think a modification of some other package is needed, please discuss it first with the coordinators.
Added:
>
>

Some guidelines using B2CC as example

here are some guidelines prepared by Carlos Vazquez Sierra to help future liaisons.

 

How to start

Create a directory where you have lots of space and set the DaVinci environment. Usually, during the stripping commissioning the nightly version of DaVinci and lhcb-head is needed.

Line: 31 to 34
 getpack Phys/StrippingSelections head getpack Phys/StrippingSettings head make
Changed:
<
<
./run bash
>
>
./run bash
 

StrippingSettings

Added:
>
>
 StrippingSettings is the package where the configuration that is run in production is defined. Although the line configuration may be copied from the default_config in StrippingSelections, the two are independent. Therefore the default_config are ignored in production, all that matters is what is in StrippingSettings. During stripping campaigns it is therefore normal that some fine tuning is performed directly on this package although it is good practice to keep the settings in line with the default_config in StrippingSelections. For each XY Stripping, each liaison should take care of the WG configurations, stored at python/StrippingSettings/StrippingXY/LineConfigDictionaries_.py
Line: 56 to 59
 In the (m)DST all the information of the relevant lines should be present and readable.

* analyseDaVinciLog.py: test the memory consumption of all the lines. It takes as input the log file produced by the step above and returns a printout and an image with the memory usage vs events processed. Usage is

Added:
>
>
 
Changed:
<
<
python analyseDaVinciLog.py mylogfile.txt
>
>
python analyseDaVinciLog.py mylogfile.txt
  * genericNtuple.py: produces and ntuple with the most common TupleTools to check that all the locations and information is stored properly. Liaisons with RelatedInfo and/or FlavourTagging information in their lines should control that the information is stored properly.
Line: 63 to 66
 * genericNtuple.py: produces and ntuple with the most common TupleTools to check that all the locations and information is stored properly. Liaisons with RelatedInfo and/or FlavourTagging information in their lines should control that the information is stored properly.

* collect_dicts.py: collects all the information in the dictionaries of the modules of your WG. Useful to produce the dictionary of all the lines for StrippingSettings. Usage_

Added:
>
>
 
Changed:
<
<
python collect_dict.py
>
>
python collect_dict.py
  IMPORTANT: when running tests, please pass the option "-T" to gaudirun.py so that one hase a production-like memory usage.
Line: 70 to 73
 IMPORTANT: when running tests, please pass the option "-T" to gaudirun.py so that one hase a production-like memory usage.

Prepare StrippingSettings database

Added:
>
>
 As anticipated, to propagate changes to the LineConfigs a simple recompilation is not sufficient, here are the steps to follow:
Changed:
<
<
  1. Modify some LineConfig
  2. Recompile (make purge & make)
  3. Setup the environment (./run bash)
  4. Go to $STRIPPINGSETTINGSROOT/python/StrippingSettings
  5. Issue the following commands (case sensitive):
>
>
  1. Modify some LineConfig
  2. Recompile (make purge & make)
  3. Setup the environment (./run bash)
  4. Go to $STRIPPINGSETTINGSROOT/python/StrippingSettings
  5. Issue the following commands (case sensitive):
 
   python makeDB.py StrippingXY
   mv stripping.tmp ../../dbase/strippingXY
   
Changed:
<
<
  1. run again TestMyWGfromSettings.py
>
>
  1. run again TestMyWGfromSettings.py
 

Usage of StrippingSettings

The good Samaritan rules

Revision 62015-09-14 - AndreaContu

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Line: 87 to 87
 
  • Run tests periodically, TestMyWGfromSelections.py every couple of days before the deadline for commits. Start using TestMyWGfromSettings.py when the LineConfig can be filled up (usually after the folder python/StrippingSettings/StrippingXY is created and announced by the coordinators)
  • Inform the coordinators about errors and suspicious warnings in the logfiles
  • When committing to any package also modify the doc/release.notes file and then put an entry in the tag collector as it helps in keeping track of the changes done.
\ No newline at end of file
Added:
>
>
  • Share the final LineConfig with your WG to make sure all the lines are there and properly configured
 \ No newline at end of file

Revision 52015-06-29 - EvelinaMarinova

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Line: 26 to 26
 
mkdir MyStrippingDir
cd MyStrippingDir
Changed:
<
<
lb-dev --nightlies lhcb-head DaVinci HEAD
>
>
lb-dev --nightly lhcb-head DaVinci HEAD
 cd DaVinciDev_HEAD getpack Phys/StrippingSelections head getpack Phys/StrippingSettings head

Revision 42015-06-04 - AndreaContu

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Line: 66 to 66
 
python collect_dict.py <your WG>
Added:
>
>
IMPORTANT: when running tests, please pass the option "-T" to gaudirun.py so that one hase a production-like memory usage.
 

Prepare StrippingSettings database

As anticipated, to propagate changes to the LineConfigs a simple recompilation is not sufficient, here are the steps to follow:
  1. Modify some LineConfig

Revision 32015-06-04 - AndreaContu

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

Line: 19 to 19
 
Changed:
<
<
Typically, the liaison acts only on (in order of frequence) StrippingSelections, StrippingSettings, StrippingArchive.
>
>
Typically, the liaison acts only on (in order of frequence) StrippingSelections, StrippingSettings. If you think a modification of some other package is needed, please discuss it first with the coordinators.
 

How to start

Create a directory where you have lots of space and set the DaVinci environment. Usually, during the stripping commissioning the nightly version of DaVinci and lhcb-head is needed.

Line: 29 to 29
 lb-dev --nightlies lhcb-head DaVinci HEAD cd DaVinciDev_HEAD getpack Phys/StrippingSelections head
Added:
>
>
getpack Phys/StrippingSettings head
 make ./run bash
Deleted:
<
<
 
Added:
>
>

StrippingSettings

StrippingSettings is the package where the configuration that is run in production is defined. Although the line configuration may be copied from the default_config in StrippingSelections, the two are independent. Therefore the default_config are ignored in production, all that matters is what is in StrippingSettings. During stripping campaigns it is therefore normal that some fine tuning is performed directly on this package although it is good practice to keep the settings in line with the default_config in StrippingSelections. For each XY Stripping, each liaison should take care of the WG configurations, stored at python/StrippingSettings/StrippingXY/LineConfigDictionaries_.py

IMPORTANT: Check carefully what enters in your LineConfig, usually not all what is in StrippingSelections has to run (this is the case for restrippings, where we usually have a reduced number of lines). Also it is good practice to add a short comment for each dictionary, explaining who is the responsible o the corresponding stripping line and for what type of channel is used.

 

Running tests

There are several test scripts to be run by the liaisons under the folder Phys/StrippingSelections/tests/liaisons/

Changed:
<
<
* TestMyWGfromSelections.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the default_conf present in all the builders.
>
>
* TestMyWGfromSelections.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the default_conf present in all the builders. To pick up changes to the lines (after you getpacked) one has still to do the usual "make purge" and "make" procedure.
 
Changed:
<
<
* TestMyWGfromSettings.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the StrippingSettings package.
>
>
* TestMyWGfromSettings.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the Lineconfig of your WG within the folder python/StrippingSettings/StrippingXY (XY is a given stripping, e.g. 22, 23...) in the StrippingSettings package. In this case, recompiling is not sufficient to include changes, but one has to create a database first, as it will be described in the next section.
  These tests produce:
  1. A (large) log file that needs to be inspected carefully.
Line: 49 to 55
  In the (m)DST all the information of the relevant lines should be present and readable.
Changed:
<
<
* analyseDaVinciLog.py: test the memory consumption of all the lines. It takes as input the log file produced by the step above.
>
>
* analyseDaVinciLog.py: test the memory consumption of all the lines. It takes as input the log file produced by the step above and returns a printout and an image with the memory usage vs events processed. Usage is
python analyseDaVinciLog.py mylogfile.txt
  * genericNtuple.py: produces and ntuple with the most common TupleTools to check that all the locations and information is stored properly. Liaisons with RelatedInfo and/or FlavourTagging information in their lines should control that the information is stored properly.
Changed:
<
<
* collect_dicts.py: collects all the information in the dictionaries of the modules present in init.py and save (also print) them. Useful to produce the dictionary of all the lines for StrippingSettings.
>
>
* collect_dicts.py: collects all the information in the dictionaries of the modules of your WG. Useful to produce the dictionary of all the lines for StrippingSettings. Usage_
python collect_dict.py <your WG>
 

Prepare StrippingSettings database

Added:
>
>
As anticipated, to propagate changes to the LineConfigs a simple recompilation is not sufficient, here are the steps to follow:
  1. Modify some LineConfig
  2. Recompile (make purge & make)
  3. Setup the environment (./run bash)
  4. Go to $STRIPPINGSETTINGSROOT/python/StrippingSettings
  5. Issue the following commands (case sensitive):
       python makeDB.py StrippingXY
       mv stripping.tmp ../../dbase/strippingXY
       
  6. run again TestMyWGfromSettings.py
 

Usage of StrippingSettings

The good Samaritan rules
Changed:
<
<
When committing to any package also modify the doc/release.notes file as it helps in keeping track of the changes done.
>
>
  • Run tests periodically, TestMyWGfromSelections.py every couple of days before the deadline for commits. Start using TestMyWGfromSettings.py when the LineConfig can be filled up (usually after the folder python/StrippingSettings/StrippingXY is created and announced by the coordinators)
  • Inform the coordinators about errors and suspicious warnings in the logfiles
  • When committing to any package also modify the doc/release.notes file and then put an entry in the tag collector as it helps in keeping track of the changes done.

Revision 22015-06-03 - RicardoVazquezGomez

Line: 1 to 1
 
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

The stripping project contains the following list of packages:

Changed:
<
<
  • CommonParticles
  • CommonParticlesArchive
  • DisplVertices
  • IncTopoVert
  • IsolationTools
  • StandardParticles
  • StrippingAlgs
  • StrippingArchive
  • StrippingConf
  • StrippingNeuroBayes
  • StrippingSelections
  • StrippingSettings
  • StrippingTCK
  • StrippingUtils
  • TMVASelections
>
>
Typically, the liaison acts only on (in order of frequence) StrippingSelections, StrippingSettings, StrippingArchive.
 

How to start

Create a directory where you have lots of space and set the DaVinci environment. Usually, during the stripping commissioning the nightly version of DaVinci and lhcb-head is needed.

Line: 28 to 29
 lb-dev --nightlies lhcb-head DaVinci HEAD cd DaVinciDev_HEAD getpack Phys/StrippingSelections head
Added:
>
>
make ./run bash
 
Added:
>
>

Running tests

 
Changed:
<
<
Modify the file in StrippingSelections that you want. Before committing make sure that the correspondign doc/release.notes file has been updated.
>
>
There are several test scripts to be run by the liaisons under the folder Phys/StrippingSelections/tests/liaisons/
 
Changed:
<
<


>
>
* TestMyWGfromSelections.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the default_conf present in all the builders.

* TestMyWGfromSettings.py: test all the lines from the corresponding Working Group. Before running, make sure that you have changed the name of the WG inside the script to the relevant one. The configuration of the stripping lines is taken from the StrippingSettings package.

These tests produce:

  1. A (large) log file that needs to be inspected carefully.
  2. DST and mDST files.

In the log file, all the errors related to the stripping should not exist. All the Warnings related to the stripping are potencial sources of problems, so should be treated carefully as well.

In the (m)DST all the information of the relevant lines should be present and readable.

* analyseDaVinciLog.py: test the memory consumption of all the lines. It takes as input the log file produced by the step above.

* genericNtuple.py: produces and ntuple with the most common TupleTools to check that all the locations and information is stored properly. Liaisons with RelatedInfo and/or FlavourTagging information in their lines should control that the information is stored properly.

* collect_dicts.py: collects all the information in the dictionaries of the modules present in init.py and save (also print) them. Useful to produce the dictionary of all the lines for StrippingSettings.

 

Prepare StrippingSettings database

Usage of StrippingSettings

Added:
>
>
The good Samaritan rules

When committing to any package also modify the doc/release.notes file as it helps in keeping track of the changes done.

Revision 12015-06-03 - RicardoVazquezGomez

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="LHCbStripping"
-- RicardoVazquezGomez - 2015-06-03

Stripping project description

The stripping project contains the following list of packages:

  • CommonParticles
  • CommonParticlesArchive
  • DisplVertices
  • IncTopoVert
  • IsolationTools
  • StandardParticles
  • StrippingAlgs
  • StrippingArchive
  • StrippingConf
  • StrippingNeuroBayes
  • StrippingSelections
  • StrippingSettings
  • StrippingTCK
  • StrippingUtils
  • TMVASelections

How to start

Create a directory where you have lots of space and set the DaVinci environment. Usually, during the stripping commissioning the nightly version of DaVinci and lhcb-head is needed.

mkdir MyStrippingDir
cd MyStrippingDir
lb-dev --nightlies lhcb-head DaVinci HEAD
cd DaVinciDev_HEAD
getpack Phys/StrippingSelections head

Modify the file in StrippingSelections that you want. Before committing make sure that the correspondign doc/release.notes file has been updated.



Prepare StrippingSettings database

Usage of StrippingSettings

 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback