Difference: DC06StrippingHowTo (1 vs. 28)

Revision 282008-11-13 - LesyaShchutska

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 104 to 104
 MainSeq.Members = { "CheckSelResult/CheckPreselXb2GammaX" , "PrintHeader/PrintOfficialPreselXb2GammaX" , "GaudiSequencer/SeqSelBs2PhiGamma" };
Added:
>
>
CheckPreselXb2GammaX.Algorithms = {"PreselXb2GammaX"};
 SeqSelBs2PhiGamma.Algorithms = { "SelBs2PhiGamma" }; // Run Bs to phi gamma selection #include "$RADIATIVEOPTS/options/DVSelBs2PhiGamma.opts"

Revision 272008-07-04 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 17 to 17
 

How the official stripping is done

Before using stripped data you need to understand a little bit of how it was done. A BB stripping job consists of
  1. A DaVinci step that runs on the output of Brunel, the rDST (reduced DST). It runs each of the released preselections and outputs an event-tag collection (ETC) containing for every event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
Changed:
<
<
  1. A Brunel v30 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
  2. A Brunel v31 step that takes the same FETC, does analogous job and saves yet another full DST and SETC, also available in the bookkeeping.
>
>
  1. A Brunel v30 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
  2. A Brunel v31 step that takes the same FETC, does analogous job and saves yet another full DST and SETC, also available in the bookkeeping.
  Unlike with DC04 there is no scaling of preselections. The working groups are responsible for the output of their preselections.
Line: 29 to 29
 
SETC, the stripped event-tag collection
This event-tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below. Because of a bug in DaVinci v19r7, the SETC does not contain the necessary information to recover the initial event. See a href="#How_to_run_on_re_stripped_DC06_d">here for more details.
FETC, the full event-tag collection
This event-tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
Added:
>
>

Which preselections are run?

The general procedure to find out what has been run:
  1. The Bookkeeping will tell you which version of DaVinci has been run for your particular data sample. Say, v19r7 (which is the most likely).
  2. On a machine where the releases are installed do SetupProject DaVinci v19r7 (or whichever version).
  3. Look at the actual stripping file $STRIPPINGROOT/options/Presel.opts.

In the case of DaVinci v19r7 the file is here.

 

Signal stripping and reprocessing

Signal will also be stripped using the same preselections as the BB stripping. It has not started yet. The procedure is explained in Thomas' talk at software week.
Line: 282 to 290
 
  • All preselections should be rewritten using the HLT syntax.

Changed:
<
<
-- PatrickKoppenburg - 18 Jul 2007 - 19 Jul 2007 - 08 Dec 2007
>
>
-- PatrickKoppenburg - 18 Jul 2007 - 19 Jul 2007 - 08 Dec 2007 - 04 Jul 2008
 
META FILEATTACHMENT attachment="dst_v30.xml" attr="" comment="File catalogue for v30r17 reconstructed DSTs" date="1207861588" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.dst_v30.xml" movedwhen="1208265964" movefrom="LHCb.DC06StrippingNewDST.dst_v30.xml" name="dst_v30.xml" path="dst_v30.xml" size="142853" stream="dst_v30.xml" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="dst_v31.xml" attr="" comment="File catalogue for v31r11 reconstructed DSTs" date="1207854809" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.dst_v31.xml" movedwhen="1208266030" movefrom="LHCb.DC06StrippingNewDST.dst_v31.xml" name="dst_v31.xml" path="dst_v31.xml" size="143819" stream="dst_v31.xml" user="Main.LesyaShchutska" version="1"

Revision 262008-06-18 - SposS

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 248 to 248
 

Tagging : Beware of the opposite B bug!

If you are doing B tagging make sure you read this first.
Added:
>
>

MC Association problem in Background Categorization tool !

There is a problem in the MC association causing a segmentation fault in the Background Categorization tool. This can be corrected just by adding
#include "$DAVINCIROOT/options/DaVinciMainSeqFixes.opts"
just after DaVinciCommon.opts.
 

Looking at events with Panoramix

NOT TESTED YET, but should work.

Revision 252008-06-16 - UlrikEgede

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 129 to 129
 #include "newDST_v30_lfn.opts" %ENDSYNTAX%
Added:
>
>
You will also need to add these two files to the input sandbox
<!-- SyntaxHighlightingPlugin -->
j.inputsandbox=[File('$DAVINCIROOT/options/dst_v30.xml'),File('$DAVINCIROOT/options/newDST_v30.xml')]
<!-- end SyntaxHighlightingPlugin -->
 It surely works for lxbatch i.e. LSF() backend but won't work for Dirac().

Run on stripped ETC for new stripped DSTs.

Revision 242008-04-28 - LesyaShchutska

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 49 to 49
 runs four times faster on newSETC than on SETC so that processing of the stripped events takes 1.5 hour.

Timing example for using different approaches with ${\mathrm{B^0_s}} \to \phi  \gamma$ selection:

Changed:
<
<
  • DST: 3310 s on ~36k events $\Rightarrow$ 10 hours for all data (note that here both PreselXb2GammaX and SelBs2PhiGamma ran in sequence )
>
>
  • DST: 3310 s on ~36k events $\Rightarrow$ 21 hours for all data (note that here both PreselXb2GammaX and SelBs2PhiGamma ran in sequence )
 
  • SETC: 1630 s on ~3.2k events selected by PreselXb2GammaX $\Leftrightarrow$ ~72k stripped events $\Rightarrow$ 5.1 hours for all data
  • newDST: 1120 s on ~72k events $\Rightarrow$ 3.5 hours for all data
  • newSETC: 460 s on ~3.2k events selected by PreselXb2GammaX $\Leftrightarrow$ ~72k stripped events $\Rightarrow$ 1.4 hours for all data

Revision 232008-04-28 - LesyaShchutska

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 49 to 49
 runs four times faster on newSETC than on SETC so that processing of the stripped events takes 1.5 hour.

Timing example for using different approaches with ${\mathrm{B^0_s}} \to \phi  \gamma$ selection:

Changed:
<
<
  • DST: 3310 s on ~36k events $\Rightarrow$ 21 hours for all data (note that here both PreselXb2GammaX and SelBs2PhiGamma ran in sequence )
>
>
  • DST: 3310 s on ~36k events $\Rightarrow$ 10 hours for all data (note that here both PreselXb2GammaX and SelBs2PhiGamma ran in sequence )
 
  • SETC: 1630 s on ~3.2k events selected by PreselXb2GammaX $\Leftrightarrow$ ~72k stripped events $\Rightarrow$ 5.1 hours for all data
  • newDST: 1120 s on ~72k events $\Rightarrow$ 3.5 hours for all data
  • newSETC: 460 s on ~3.2k events selected by PreselXb2GammaX $\Leftrightarrow$ ~72k stripped events $\Rightarrow$ 1.4 hours for all data

Revision 222008-04-21 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 8 to 8
 This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it! It supersedes the obsolete DC04 page.
Deleted:
<
<
The latest round is done with DaVinci v19r7. The latest status of included preselections can be found from here here. Because of the changes in reconstruction we reconstruct the stripped events both with Brunel 30r17 and Brunel v31r11. The corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2. All events should appear in both configurations and are thus duplicated. Don't add statistics blindly.

How to add a preselection

 All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.
Changed:
<
<
The stripping of the re-reconstructed BB data is due to start soon. The deadline for inclusion of new preselections is over.

Available data samples

We plan to run the stripping on the following samples. The bookkeeping configuration is given for each of them.
  • unbiased bb-inclusive at 2 1032 : DC06 - stripping-v30-lumi2 : 10000000 - incl_b and DC06 - stripping-v31-lumi2 : 10000000 - incl_b
  • biased bb-inclusive at 2 1032 : DC06 - stripping-v30-lumi2 : 10000010 - incl_b=Biased and DC06 - stripping-v31-lumi2 : 10000010 - incl_b=Biased
  • unbiased bb-inclusive at 5 1032 : not yet
  • biased bb-inclusive at 5 1032 : not yet
>
>
The last official round of stripping was done with DaVinci v19r7. The selected events were reconstructed with tow versions of Brunel, v30r17 and v31r11. Unfortunately because of a bug it was not possible to recover which selection selected a particular event. For this reason Lesya Shchutska has re-run the stripping on the stripped data and regenerated all files.
 
Changed:
<
<
We also started running L0 on minimum bias (MB): DC06 - L0-v1-lumi2
>
>
This page first explains how the official stripping worked, and then what Lesya did and from where to get to get the data.
 
Changed:
<
<

How the stripping is done

>
>

How the official stripping is done

 Before using stripped data you need to understand a little bit of how it was done. A BB stripping job consists of
  1. A DaVinci step that runs on the output of Brunel, the rDST (reduced DST). It runs each of the released preselections and outputs an event-tag collection (ETC) containing for every event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
  2. A Brunel v30 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
Line: 35 to 25
 

Output data

In the bookkeeping you will find the following data formats:
rDST, the reduced DST
This is the input data for the stripping. You probably don't want to look at this data except when you design a new preselection. There's no MC truth and not all tracks.
Changed:
<
<
DST, the full stripped DST
This is the main output of the stripping: the complete DST with all what you need in it. See below for examples how to use it.
SETC, the stripped event-tag collection
This event-tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below.
>
>
DST, the full stripped DST
This is the main output of the stripping: the complete DST with all what you need in it.
SETC, the stripped event-tag collection
This event-tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below. Because of a bug in DaVinci v19r7, the SETC does not contain the necessary information to recover the initial event. See a href="#How_to_run_on_re_stripped_DC06_d">here for more details.
 
FETC, the full event-tag collection
This event-tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
Deleted:
<
<

L0 stripping

The L0 stripping of minimum bias is done running L0 in Brunel v31r10 and writing out a DST. The configuration in the Bookkeeping is "DC06 - L0-v1-lumi2". Ignore the "0 events available".
 

Signal stripping and reprocessing

Signal will also be stripped using the same preselections as the BB stripping. It has not started yet. The procedure is explained in Thomas' talk at software week.
Deleted:
<
<

How to use stripped data

It's unlikely you want to look at all events. You only care about events selected by your preselections. There's two ways of achieving this and it's not clear which one is fastest.

Run on stripped DST

Use the stripped DST as input but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. Luckily you don't need to read the full file to do that and it should be quite fast.

What should work but doesn't

Ideally this would be achieved by putting all your analysis code in a sequencer starting with a CheckSelResult algorithm.
<!-- SyntaxHighlightingPlugin -->
#include "$DAVINCIROOT/options/DaVinciCommon.opts"
ApplicationMgr.TopAlg += { "GaudiSequencer/AnaHeavyDimuonSeq" };
AnaHeavyDimuonSeq.Members += { "CheckSelResult/CheckPreselHeavyDimuon"
                        , "PrintHeader/PrintOfficialPreselHeavyDimuon"
                        ,  "GaudiSequencer/SeqPreselHeavyDimuon" };
CheckPreselHeavyDimuon.Algorithms = { "PreselHeavyDimuon" };
// Run diplepton preselection
#include "$CCBARROOT/options/DoPreselHeavyDimuon.opts"
<!-- end SyntaxHighlightingPlugin -->

Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).

But, unfortunately...

The SelResult container is not saved on the DST for the latest stripping. You thus have to re-run your preselection.
<!-- SyntaxHighlightingPlugin -->
#include "$DAVINCIROOT/options/DaVinciCommon.opts"
ApplicationMgr.TopAlg += { "GaudiSequencer/AnaHeavyDimuonSeq" };
AnaHeavyDimuonSeq.Members += { "GaudiSequencer/SeqPreselHeavyDimuon" };
// Run diplepton preselection
#include "$CCBARROOT/options/DoPreselHeavyDimuon.opts"
<!-- end SyntaxHighlightingPlugin -->

Always apply cuts on your B's

If you want to tighten your cuts, always start from the preselected candidate. Don't try to run a selection with tighter cuts from scratch:
  • You might have missed a cut, or made a mistake and actually apply looser cuts. This would result in applying looser cuts on your signal (where you don't have run the preselection) than on the stripped sample (where you did).
  • DaVinci evolving which affects the results, you might find some events that did pass the stripping, but not actually your selection.
In both cases you are likely to get a too optimistic result.

Always apply your cuts on the B candiadte from the preselection

<!-- SyntaxHighlightingPlugin -->
AnaHeavyDimuonSeq.Members += { "FilterDesktop/MyOfflineSelection" };
MyOfflineSelection.PhysDesktop.InputLocations = { "PreselHeavyDimuon" };
<!-- end SyntaxHighlightingPlugin -->

For L0 stripped MB

Ignore all the above. All events are L0-accepted and there's no further granularity.

Run on stripped ETC

Here's the recipe to get the same result from event tag collections. It's a little more complicated at the beginning, but may save time later.

Get the data

In the bookkeeping take the SETC data, copy the data cards to your options and add the name of your preselection as a SEL='PreselXXX>0' requirement. You can add as many selections as you like combined with && or ||. It's basically a root TCut. In our example that would be like
<!-- SyntaxHighlightingPlugin -->
EventSelector.Input   = {
"COLLECTION='TagCreator/1' 
DATAFILE='PFN:castor:/castor/cern.ch/grid/lhcb/production/DC06/phys-v3-lumi2/00001883/SETC/0000/SETC_00001883_00002264.root' 
    TYP='POOL_ROOT' SEL='(PreselHeavyDimuon>0)'",
[...]
};
ApplicationMgr.ExtSvc  += { "TagCollectionSvc/EvtTupleSvc" };
<!-- end SyntaxHighlightingPlugin -->
This last line tells DaVinci what to use to understand the ETC.

Make a file catalogue

Next you need to tell where to find the files the ETC points to. This is done declaring a file catalogue which you then have to create using genCatalog. If you're using PFNs, a little annoyance is that genCatalog cannot start from PFNs. You need the corresponding LFNs. Once you have them in file LFN.opts do (replace CERN and castor by what you like)
<!-- SyntaxHighlightingPlugin -->
genCatalog -o LFN.opts -p myCatalog.xml -s CERN -Pcastor
<!-- end SyntaxHighlightingPlugin -->
which will tell you to add this line to your options:
<!-- SyntaxHighlightingPlugin -->
PoolDbCacheSvc.Catalog = { "xmlcatalog_file:myCatalog.xml" } ;
<!-- end SyntaxHighlightingPlugin -->
(with the semicolon, unlike what genCatalog says).

The file catalogue contains blocks like these

<!-- SyntaxHighlightingPlugin -->
<File ID="A6769EF3-C426-DC11-AC8C-000E0C3F0CFC">
 <physical>
  <pfn name="castor:/castor/cern.ch/grid/lhcb/production/DC06/phys-v3-lumi2/00001883/DST/0000/00001883_00002264_2.dst" 
                   filetype="ROOT_All"/>
 </physical>
 <logical>
  <lfn name="/lhcb/production/DC06/phys-v3-lumi2/00001883/DST/0000/00001883_00002264_2.dst"/>
 </logical>
</File>
<!-- end SyntaxHighlightingPlugin -->
which describe the location of the file. The File ID is what is stored in the ETC. Hence if you forget to declare the file catalogue you wil get an error like
<!-- SyntaxHighlightingPlugin -->
PoolRootTreeEvtCnvSvc  ERROR Error: connectDatabase> Cannot connect to database: 
   PFN=gfal:guid:A6769EF3-C426-DC11-AC8C-000E0C3F0CFC
<!-- end SyntaxHighlightingPlugin -->

These options are released in in file DVExampleStrippingETC.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). They select the same events as the options for running on DSTs.

-- PatrickKoppenburg - 16 Aug 2007

Run it with ganga

Does this work with ganga? Would be nice if someone could make a working ganga example and paste it here.
 

How to run on re-stripped DC06 data with the new format DSTs

The stripping was rerun with DaVinci v19r11 on the stripped DSTs. Since there are two sets of DSTs corresponding to reconstruction with Brunel v30r17 or Brunel v31r11 ( the corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2) the two sets of SETC, newDSTs and newSETCs were produced. The difference between the reconstructions leads to the fact that efficiency of all preselections on v30r17 reconstructed stripped data is ~94% and on v31r11 only ~60%. These numbers can vary for the individual preselections. So the safe way is to use v30r17 reconstructed data and than make a check of your final selection on v31r11 data.
Line: 166 to 55
 
  • newSETC: 460 s on ~3.2k events selected by PreselXb2GammaX $\Leftrightarrow$ ~72k stripped events $\Rightarrow$ 1.4 hours for all data

How to use stripped data with the new files

Changed:
<
<
There are three ways to get access to the result of your preselection. The third one is the fastest.
>
>
It's unlikely you want to look at all events. You only care about events selected by your preselections. There are three ways to get access to the result of your preselection. The third one is the fastest.
 

Run on stripped ETC

Here's the recipe to get the result of your preselection and navigate to interesting events form DSTs.
Line: 260 to 149
 }; %ENDSYNTAX%
Added:
>
>

Always apply cuts on your B's

An even safer way of making sure you don't get anything wrong is to start your offline selection from your preselected candiadte:
  • You might have missed a cut, or made a mistake and actually apply looser cuts. This would result in applying looser cuts on your signal (where you don't have run the preselection) than on the stripped sample (where you did).
  • DaVinci evolving which affects the results, you might find some events that did pass the stripping, but not actually your selection.
In both cases you are likely to get a too optimistic result.

Always apply your cuts on the B candiadte from the preselection

<!-- SyntaxHighlightingPlugin -->
AnaHeavyDimuonSeq.Members += { "FilterDesktop/MyOfflineSelection" };
MyOfflineSelection.PhysDesktop.InputLocations = { "PreselHeavyDimuon" };
<!-- end SyntaxHighlightingPlugin -->

For L0 stripped MB

Ignore all the above. All events are L0-accepted and there's no further granularity.
 

Get the files with new SETC

You can find the file to be included to your options here: setc_newdst_v30.opts or setc_newdst_v31.opts. Add the name of your preselection as a SEL='PreselXXX>0' requirement at the end of each line. You can add as many selections as you like combined with && or ||. In our example that would be like
Line: 337 to 242
 

Tagging : Beware of the opposite B bug!

If you are doing B tagging make sure you read this first.
Deleted:
<
<

How much BB is that?

If you get your data samples in the bookkeeping it will tell you something like
<!-- SyntaxHighlightingPlugin -->
//-- 4 dataset(s) - NbEvents = 2626
<!-- end SyntaxHighlightingPlugin -->
for DST meaning there are 2626 events saved after stripping. From the SETC you should get the same number. But if you do this for the FETC you'll see
<!-- SyntaxHighlightingPlugin -->
//-- 4 dataset(s) selected containing 79009 events selected from 0 events.
<!-- end SyntaxHighlightingPlugin -->
which means 79009 events have been used as input.

From the 2626 saved events, PreselHeavyDimuon selects 344, srating from a sample of 79009. That's a 4.3 per mille accept rate.

More Efficiencies and Correlations

You can also get your preselection efficiency using the full event-tag collection FETC. It's the only that remembers how many input events have been used. You can open it with root
<!-- SyntaxHighlightingPlugin -->
TFile * f = TFile::Open("rfio:/castor/....root"); 
<!-- end SyntaxHighlightingPlugin -->
to look for efficiencies, correlations...
 

Looking at events with Panoramix

NOT TESTED YET, but should work.

Revision 212008-04-15 - LesyaShchutska

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 143 to 143
 

Run it with ganga

Does this work with ganga? Would be nice if someone could make a working ganga example and paste it here.
Added:
>
>

How to run on re-stripped DC06 data with the new format DSTs

The stripping was rerun with DaVinci v19r11 on the stripped DSTs. Since there are two sets of DSTs corresponding to reconstruction with Brunel v30r17 or Brunel v31r11 ( the corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2) the two sets of SETC, newDSTs and newSETCs were produced. The difference between the reconstructions leads to the fact that efficiency of all preselections on v30r17 reconstructed stripped data is ~94% and on v31r11 only ~60%. These numbers can vary for the individual preselections. So the safe way is to use v30r17 reconstructed data and than make a check of your final selection on v31r11 data.

Output data of the re-stripping

Now it is possible to use the following data formats:
SETC, the stripped event-tag collection
This event-tag was produced since the SETC in the bookkeping does not contain the results of preselections. Examples are given below.
newDST, the new stripped DST
This is the output data of the re-stripping. It contains MC truth information, /Event/Phys containers with the all intermediate particles and B-candidates selected by preselections, protoparticles, selection result and links to the DSTs in case the other information is needed. Examples of using are given below.
newSETC, the stripped event-tag collection for newDST
This event-tag collection allows you to navigate to the new DSTs containing events selected by your preselections. Examples are given below.

Why were the new DSTs produced.

When analyzing stripped events it often appears that one should rerun the preselection/selection algorithm in order to include some new features that were absent in the previous version. So waiting the output makes the analysis really time consuming. The new concept of stripped DSTs provides a faster access to the stripped events and for the result of preselections. It was checked that e.g. selection algorithm for ${\mathrm{B^0_s}} \to \phi  \gamma$ runs four times faster on newSETC than on SETC so that processing of the stripped events takes 1.5 hour.

Timing example for using different approaches with ${\mathrm{B^0_s}} \to \phi  \gamma$ selection:

  • DST: 3310 s on ~36k events $\Rightarrow$ 21 hours for all data (note that here both PreselXb2GammaX and SelBs2PhiGamma ran in sequence )
  • SETC: 1630 s on ~3.2k events selected by PreselXb2GammaX $\Leftrightarrow$ ~72k stripped events $\Rightarrow$ 5.1 hours for all data
  • newDST: 1120 s on ~72k events $\Rightarrow$ 3.5 hours for all data
  • newSETC: 460 s on ~3.2k events selected by PreselXb2GammaX $\Leftrightarrow$ ~72k stripped events $\Rightarrow$ 1.4 hours for all data

How to use stripped data with the new files

There are three ways to get access to the result of your preselection. The third one is the fastest.

Run on stripped ETC

Here's the recipe to get the result of your preselection and navigate to interesting events form DSTs.

Get the files with SETC

You can find the file to be included to your options here: setc_v30.opts or setc_v31.opts. Add the name of your preselection as a SEL='PreselXXX>0' requirement at the end of each line. You can add as many selections as you like combined with && or ||. It's basically a root TCut. For example that would be like
<!-- SyntaxHighlightingPlugin -->
EventSelector.Input   = {
"COLLECTION='TagCreator/1' 
DATAFILE='PFN:castor:/castor/cern.ch/user/l/lshchuts/stripping/SETC_v30/1.root' TYP='POOL_ROOT' 
SEL='(PreselXb2GammaX>0)'",
[...]
};
ApplicationMgr.ExtSvc  += { "TagCollectionSvc/EvtTupleSvc" };
<!-- end SyntaxHighlightingPlugin -->
This last line tells DaVinci what to use to understand the ETC.

Include a file catalogue for DSTs to your options

Next you need to tell where to find the files the ETC points to. This is done declaring a file catalogue which you can copy from here: dst_v30.xml or dst_v31.xml and then add this line to your options:
<!-- SyntaxHighlightingPlugin -->
FileCatalog.Catalogs  = { "xmlcatalog_file:dst_v30.xml" } ;
<!-- end SyntaxHighlightingPlugin -->

Run on new re-stripped DST

Use the new re-stripped DST as input but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. This way is faster than running on SETC that navigate you to the full stripped DSTs.

Get the files with new DSTs

You can find the file to be included to your options here: newDST_v30.opts or newDST_v31.opts.

Using CheckSelResult algorithm

You should put all your analysis code in a sequencer starting with a CheckSelResult algorithm.
<!-- SyntaxHighlightingPlugin -->
#include "$DAVINCIROOT/options/DaVinciCommon.opts"
ApplicationMgr.TopAlg = { "GaudiSequencer/MainSeq" };
MainSeq.Members = { "CheckSelResult/CheckPreselXb2GammaX"
                        , "PrintHeader/PrintOfficialPreselXb2GammaX"
                        , "GaudiSequencer/SeqSelBs2PhiGamma" };
SeqSelBs2PhiGamma.Algorithms = { "SelBs2PhiGamma" };
// Run Bs to phi gamma selection
#include "$RADIATIVEOPTS/options/DVSelBs2PhiGamma.opts"
SelBs2PhiGamma.PhysDesktop.InputLocations ={
  "Phys/StdLooseAllPhotons", 
  "Phys/StdLooseKaons" ,
  "Phys/StdLoosePhi2KK",
  "Phys/PreselXb2GammaX"    
};
<!-- end SyntaxHighlightingPlugin -->

Here for example you look for events having passed the PreselXb2GammaX preselection and run the selection only for those. Be aware of absence any + signs in the sequence declarations. You don't have to make all the standard particles again since they are already stored in the corresponding containers. Also you can select the B-candidate from the "Phys/PreselXXX" container. So there is no need to re-run your preselection you can directly apply the selection algorithm.

Include a file catalogue to your options

These new DSTs also have links to the full stripped DSTs. In order to tell where these DSTs can be find you should add the same file catalogue as when using SETC (dst_v30.xml or dst_v31.xml):
<!-- SyntaxHighlightingPlugin -->
FileCatalog.Catalogs  = { "xmlcatalog_file:dst_v30.xml" } ;
#include "newDST_v30.opts"
<!-- end SyntaxHighlightingPlugin -->

Run on new DSTs with ganga

In order to run it with ganga you need logical file names (LFN) as the input: newDST_v30_lfn.opts or newDST_v31_lfn.opts and file catalogue that contain IDs for the newDST files: newDST_v30.xml or newDST_v31.xml

<!-- SyntaxHighlightingPlugin -->
FileCatalog.Catalogs  = { "xmlcatalog_file:dst_v30.xml" } ;
FileCatalog.Catalogs += { "xmlcatalog_file:newDST_v30.xml" } ;
#include "newDST_v30_lfn.opts"
<!-- end SyntaxHighlightingPlugin -->

It surely works for lxbatch i.e. LSF() backend but won't work for Dirac().

Run on stripped ETC for new stripped DSTs.

This way is the fastest one and depending on the selection algorithm one even can run through the all stripped $b\bar{b}$-data interactively. Here's the recipe to get the result of your preselection and navigate to interesting events form the new stripped DSTs. Again one doesn't need to make the standard particles and can put only the selection algorithm in the sequence:

<!-- SyntaxHighlightingPlugin -->
ApplicationMgr.TopAlg = { "GaudiSequencer/SeqBs2PhiGamma" } ;
/// the selection sequence itself
SeqBs2PhiGamma.Members = {
  "SelBs2PhiGamma"    // the selection algo
} ;
SelBs2PhiGamma.PhysDesktop.InputLocations ={
  "Phys/StdLooseAllPhotons", 
  "Phys/StdLooseKaons" ,
  "Phys/StdLoosePhi2KK",     
  "Phys/PreselXb2GammaX"
};
<!-- end SyntaxHighlightingPlugin -->

Get the files with new SETC

You can find the file to be included to your options here: setc_newdst_v30.opts or setc_newdst_v31.opts. Add the name of your preselection as a SEL='PreselXXX>0' requirement at the end of each line. You can add as many selections as you like combined with && or ||. In our example that would be like
<!-- SyntaxHighlightingPlugin -->
EventSelector.Input   = {
"COLLECTION='TagCreator/1' 
DATAFILE='PFN:castor:/castor/cern.ch/user/l/lshchuts/stripping/SETC_newDST_v30/1.root' TYP='POOL_ROOT' SEL='(PreselXb2GammaX>0)'",
[...]
};
ApplicationMgr.ExtSvc  += { "TagCollectionSvc/EvtTupleSvc" };
<!-- end SyntaxHighlightingPlugin -->
This last line tells DaVinci what to use to understand the ETC.

Include a file catalogues for new DSTs and DSTs to your options

Next you need to tell where to find the files the SETC points to and where to find files where newDSTs point to. This is done declaring a file catalogue which you can take from the corresponding directory: dst_v30.xml or dst_v31.xml and newDST_v30.xml or newDST_v31.xml an then add this line to your options:
<!-- SyntaxHighlightingPlugin -->
FileCatalog.Catalogs  = { "xmlcatalog_file:dst_v30.xml" } ;
FileCatalog.Catalogs += { "xmlcatalog_file:newDST_v30.xml" } ;
#include "setc_newdst_v30.opts"
<!-- end SyntaxHighlightingPlugin -->

The correspondent $b\bar{b}$-statistics

All the data sets were produced from the DC06 - Stripping-v30-lumi2 and the DC06 - Stripping-v31-lumi2 stripped DST data available in the bookkeping. This means that new files correspond to 804584 stripped events and 22085009 $b\bar{b}$ inclusive events. So this number should be used for the final evaluation. However it's worth to emphasize once more that the safe way is to use v30r17 configuration since it reproduces the original stripping in a correct way. But with the gain in time which the new DSTs provide it is not a problem to run on both sets of events and check the consistency of results.

-- LesyaShchutska - 15 Apr 2008

  • setc_v30.xml: File catalogue for SETC for v30r17 reconstructed DSTs

  • dst_v30.xml: File catalogue for v30r17 reconstructed DSTs

  • newDST_v30.xml: File catalogue for new DSTs made from v30r17 reconstructed DSTs

  • setc_newdst_v30.xml: File catalogue for SETC for new DSTs made from v30r17 reconstructed DSTs

  • setc_v31.xml: File catalogue for SETC for v31r11 reconstructed DSTs

  • dst_v31.xml: File catalogue for v31r11 reconstructed DSTs

  • newDST_v31.xml: File catalogue for new DSTs made from v31r11 reconstructed DSTs

  • setc_newdst_v31.xml: File catalogue for SETC for new DSTs made from v31r11 reconstructed DSTs
 

Tagging : Beware of the opposite B bug!

If you are doing B tagging make sure you read this first.
Line: 194 to 385
 

-- PatrickKoppenburg - 18 Jul 2007 - 19 Jul 2007 - 08 Dec 2007

Added:
>
>
META FILEATTACHMENT attachment="dst_v30.xml" attr="" comment="File catalogue for v30r17 reconstructed DSTs" date="1207861588" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.dst_v30.xml" movedwhen="1208265964" movefrom="LHCb.DC06StrippingNewDST.dst_v30.xml" name="dst_v30.xml" path="dst_v30.xml" size="142853" stream="dst_v30.xml" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="dst_v31.xml" attr="" comment="File catalogue for v31r11 reconstructed DSTs" date="1207854809" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.dst_v31.xml" movedwhen="1208266030" movefrom="LHCb.DC06StrippingNewDST.dst_v31.xml" name="dst_v31.xml" path="dst_v31.xml" size="143819" stream="dst_v31.xml" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="newDST_v30.opts" attr="" comment="New DSTs made from v30r17 reconstructed DSTs" date="1207861716" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.newDST_v30.opts" movedwhen="1208266053" movefrom="LHCb.DC06StrippingNewDST.newDST_v30.opts" name="newDST_v30.opts" path="newDST_v30.opts" size="26394" stream="newDST_v30.opts" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="newDST_v30.xml" attr="" comment="File catalogue for new DSTs made from v30r17 reconstructed DSTs" date="1207861761" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.newDST_v30.xml" movedwhen="1208266091" movefrom="LHCb.DC06StrippingNewDST.newDST_v30.xml" name="newDST_v30.xml" path="newDST_v30.xml" size="65436" stream="newDST_v30.xml" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="newDST_v30_lfn.opts" attr="" comment="List of LFNs for new DSTs made from v30r17 reconstructed DSTs" date="1207861783" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.newDST_v30_lfn.opts" movedwhen="1208266147" movefrom="LHCb.DC06StrippingNewDST.newDST_v30_lfn.opts" name="newDST_v30_lfn.opts" path="newDST_v30_lfn.opts" size="22617" stream="newDST_v30_lfn.opts" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="newDST_v31.opts" attr="" comment="New DSTs made from v31r11 reconstructed DSTs" date="1207854841" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.newDST_v31.opts" movedwhen="1208266187" movefrom="LHCb.DC06StrippingNewDST.newDST_v31.opts" name="newDST_v31.opts" path="newDST_v31.opts" size="26637" stream="newDST_v31.opts" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="newDST_v31.xml" attr="" comment="File catalogue for new DSTs made from v31r11 reconstructed DSTs" date="1207854890" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.newDST_v31.xml" movedwhen="1208266217" movefrom="LHCb.DC06StrippingNewDST.newDST_v31.xml" name="newDST_v31.xml" path="newDST_v31.xml" size="66026" stream="newDST_v31.xml" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="newDST_v31_lfn.opts" attr="" comment="List of LFNs for new DSTs made from v31r11 reconstructed DSTs" date="1207854866" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.newDST_v31_lfn.opts" movedwhen="1208266258" movefrom="LHCb.DC06StrippingNewDST.newDST_v31_lfn.opts" name="newDST_v31_lfn.opts" path="newDST_v31_lfn.opts" size="22822" stream="newDST_v31_lfn.opts" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_newdst_v30.opts" attr="" comment="SETC for new DSTs made from v30r17 reconstructed DSTs" date="1207861806" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_newdst_v30.opts" movedwhen="1208266285" movefrom="LHCb.DC06StrippingNewDST.setc_newdst_v30.opts" name="setc_newdst_v30.opts" path="setc_newdst_v30.opts" size="2145" stream="setc_newdst_v30.opts" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_newdst_v30.xml" attr="" comment="File catalogue for SETC for new DSTs made from v30r17 reconstructed DSTs" date="1207861835" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_newdst_v30.xml" movedwhen="1208266318" movefrom="LHCb.DC06StrippingNewDST.setc_newdst_v30.xml" name="setc_newdst_v30.xml" path="setc_newdst_v30.xml" size="3804" stream="setc_newdst_v30.xml" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="setc_newdst_v30_lfn.opts" attr="" comment="List of LFNs for SETC for new DSTs made from v30r17 reconstructed DSTs" date="1207861864" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_newdst_v30_lfn.opts" movedwhen="1208266372" movefrom="LHCb.DC06StrippingNewDST.setc_newdst_v30_lfn.opts" name="setc_newdst_v30_lfn.opts" path="setc_newdst_v30_lfn.opts" size="1942" stream="setc_newdst_v30_lfn.opts" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_newdst_v31.opts" attr="" comment="SETC for new DSTs made from v31r11 reconstructed DSTs" date="1207854927" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_newdst_v31.opts" movedwhen="1208266396" movefrom="LHCb.DC06StrippingNewDST.setc_newdst_v31.opts" name="setc_newdst_v31.opts" path="setc_newdst_v31.opts" size="2146" stream="setc_newdst_v31.opts" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_newdst_v31.xml" attr="" comment="File catalogue for SETC for new DSTs made from v31r11 reconstructed DSTs" date="1207855006" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_newdst_v31.xml" movedwhen="1208266426" movefrom="LHCb.DC06StrippingNewDST.setc_newdst_v31.xml" name="setc_newdst_v31.xml" path="setc_newdst_v31.xml" size="3804" stream="setc_newdst_v31.xml" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_newdst_v31_lfn.opts" attr="" comment="List of LFNs for SETC for new DSTs made from v31r11 reconstructed DSTs" date="1207854956" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_newdst_v31_lfn.opts" movedwhen="1208266463" movefrom="LHCb.DC06StrippingNewDST.setc_newdst_v31_lfn.opts" name="setc_newdst_v31_lfn.opts" path="setc_newdst_v31_lfn.opts" size="1942" stream="setc_newdst_v31_lfn.opts" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_v30.opts" attr="" comment="SETC for v30r17 reconstructed DSTs" date="1207861893" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_v30.opts" movedwhen="1208266493" movefrom="LHCb.DC06StrippingNewDST.setc_v30.opts" name="setc_v30.opts" path="setc_v30.opts" size="28615" stream="setc_v30.opts" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="setc_v30.xml" attr="" comment="File catalogue for SETC for v30r17 reconstructed DSTs" date="1207861936" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_v30.xml" movedwhen="1208266519" movefrom="LHCb.DC06StrippingNewDST.setc_v30.xml" name="setc_v30.xml" path="setc_v30.xml" size="64992" stream="setc_v30.xml" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="setc_v30_lfn.opts" attr="" comment="List of LFNs for SETC for v30r17 reconstructed DSTs" date="1207861964" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_v30_lfn.opts" movedwhen="1208266544" movefrom="LHCb.DC06StrippingNewDST.setc_v30_lfn.opts" name="setc_v30_lfn.opts" path="setc_v30_lfn.opts" size="24841" stream="setc_v30_lfn.opts" user="Main.LesyaShchutska" version="2"
META FILEATTACHMENT attachment="setc_v31.opts" attr="" comment="SETC for v31r11 reconstructed DSTs" date="1207854712" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_v31.opts" movedwhen="1208266569" movefrom="LHCb.DC06StrippingNewDST.setc_v31.opts" name="setc_v31.opts" path="setc_v31.opts" size="28864" stream="setc_v31.opts" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_v31.xml" attr="" comment="File catalogue for SETC for v31r11 reconstructed DSTs" date="1207854778" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_v31.xml" movedwhen="1208266599" movefrom="LHCb.DC06StrippingNewDST.setc_v31.xml" name="setc_v31.xml" path="setc_v31.xml" size="65578" stream="setc_v31.xml" user="Main.LesyaShchutska" version="1"
META FILEATTACHMENT attachment="setc_v31_lfn.opts" attr="" comment="List of LFNs for SETC for v31r11 reconstructed DSTs" date="1207854744" moveby="Main.LesyaShchutska" movedto="LHCb.DC06StrippingHowTo.setc_v31_lfn.opts" movedwhen="1208266625" movefrom="LHCb.DC06StrippingNewDST.setc_v31_lfn.opts" name="setc_v31_lfn.opts" path="setc_v31_lfn.opts" size="25046" stream="setc_v31_lfn.opts" user="Main.LesyaShchutska" version="1"

Revision 202008-03-26 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 143 to 143
 

Run it with ganga

Does this work with ganga? Would be nice if someone could make a working ganga example and paste it here.
Changed:
<
<

Beware of the opposite B bug!

If you are doing B tagging make sure you read this first.
>
>

Tagging : Beware of the opposite B bug!

If you are doing B tagging make sure you read this first.
 

How much BB is that?

If you get your data samples in the bookkeeping it will tell you something like

Revision 192008-03-26 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 143 to 143
 

Run it with ganga

Does this work with ganga? Would be nice if someone could make a working ganga example and paste it here.
Added:
>
>

Beware of the opposite B bug!

If you are doing B tagging make sure you read this first.
 

How much BB is that?

If you get your data samples in the bookkeeping it will tell you something like %SYNTAX{ syntax="cpp"}%

Revision 182008-03-11 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 48 to 48
 

How to use stripped data

It's unlikely you want to look at all events. You only care about events selected by your preselections. There's two ways of achieving this and it's not clear which one is fastest.
Changed:
<
<

Run on stripped DST OBSOLETE

>
>

Run on stripped DST

 Use the stripped DST as input but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. Luckily you don't need to read the full file to do that and it should be quite fast.
Added:
>
>

What should work but doesn't

 Ideally this would be achieved by putting all your analysis code in a sequencer starting with a CheckSelResult algorithm.
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 #include "$DAVINCIROOT/options/DaVinciCommon.opts" TopAlg += { "GaudiSequencer/AnaHeavyDimuonSeq" }; AnaHeavyDimuonSeq.Members += { "CheckSelResult/CheckPreselHeavyDimuon"
Line: 61 to 62
 CheckPreselHeavyDimuon.Algorithms = { "PreselHeavyDimuon" }; // Run diplepton preselection #include "$CCBARROOT/options/DoPreselHeavyDimuon.opts"
Changed:
<
<
>
>
%ENDSYNTAX%
  Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).

But, unfortunately...

The SelResult container is not saved on the DST for the latest stripping. You thus have to re-run your preselection.
Added:
>
>
<!-- SyntaxHighlightingPlugin -->
#include "$DAVINCIROOT/options/DaVinciCommon.opts"
ApplicationMgr.TopAlg += { "GaudiSequencer/AnaHeavyDimuonSeq" };
AnaHeavyDimuonSeq.Members += { "GaudiSequencer/SeqPreselHeavyDimuon" };
// Run diplepton preselection
#include "$CCBARROOT/options/DoPreselHeavyDimuon.opts"
<!-- end SyntaxHighlightingPlugin -->

Always apply cuts on your B's

If you want to tighten your cuts, always start from the preselected candidate. Don't try to run a selection with tighter cuts from scratch:
  • You might have missed a cut, or made a mistake and actually apply looser cuts. This would result in applying looser cuts on your signal (where you don't have run the preselection) than on the stripped sample (where you did).
  • DaVinci evolving which affects the results, you might find some events that did pass the stripping, but not actually your selection.
In both cases you are likely to get a too optimistic result.

Always apply your cuts on the B candiadte from the preselection

<!-- SyntaxHighlightingPlugin -->
AnaHeavyDimuonSeq.Members += { "FilterDesktop/MyOfflineSelection" };
MyOfflineSelection.PhysDesktop.InputLocations = { "PreselHeavyDimuon" };
<!-- end SyntaxHighlightingPlugin -->
 

For L0 stripped MB

Ignore all the above. All events are L0-accepted and there's no further granularity.
Line: 76 to 96
 

Get the data

In the bookkeeping take the SETC data, copy the data cards to your options and add the name of your preselection as a SEL='PreselXXX>0' requirement. You can add as many selections as you like combined with && or ||. It's basically a root TCut. In our example that would be like
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 EventSelector.Input = { "COLLECTION='TagCreator/1' DATAFILE='PFN:castor:/castor/cern.ch/grid/lhcb/production/DC06/phys-v3-lumi2/00001883/SETC/0000/SETC_00001883_00002264.root'
Line: 84 to 104
 [...] }; ExtSvc += { "TagCollectionSvc/EvtTupleSvc" };
Changed:
<
<
>
>
%ENDSYNTAX%
 This last line tells DaVinci what to use to understand the ETC.

Make a file catalogue

Next you need to tell where to find the files the ETC points to. This is done declaring a file catalogue which you then have to create using genCatalog. If you're using PFNs, a little annoyance is that genCatalog cannot start from PFNs. You need the corresponding LFNs. Once you have them in file LFN.opts do (replace CERN and castor by what you like)
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 genCatalog -o LFN.opts -p myCatalog.xml -s CERN -Pcastor
Changed:
<
<
>
>
%ENDSYNTAX%
 which will tell you to add this line to your options:
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 PoolDbCacheSvc.Catalog = { "xmlcatalog_file:myCatalog.xml" } ;
Changed:
<
<
>
>
%ENDSYNTAX%
 (with the semicolon, unlike what genCatalog says).

The file catalogue contains blocks like these

Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
  <pfn name="castor:/castor/cern.ch/grid/lhcb/production/DC06/phys-v3-lumi2/00001883/DST/0000/00001883_00002264_2.dst"
Line: 109 to 129
 
Changed:
<
<
>
>
%ENDSYNTAX%
 which describe the location of the file. The File ID is what is stored in the ETC. Hence if you forget to declare the file catalogue you wil get an error like
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 PoolRootTreeEvtCnvSvc ERROR Error: connectDatabase> Cannot connect to database: PFN=gfal:guid:A6769EF3-C426-DC11-AC8C-000E0C3F0CFC
Changed:
<
<
>
>
%ENDSYNTAX%
  These options are released in in file DVExampleStrippingETC.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). They select the same events as the options for running on DSTs.
Line: 125 to 145
 

How much BB is that?

If you get your data samples in the bookkeeping it will tell you something like
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 //-- 4 dataset(s) - NbEvents = 2626
Changed:
<
<
>
>
%ENDSYNTAX%
 for DST meaning there are 2626 events saved after stripping. From the SETC you should get the same number. But if you do this for the FETC you'll see
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 //-- 4 dataset(s) selected containing 79009 events selected from 0 events.
Changed:
<
<
>
>
%ENDSYNTAX%
 which means 79009 events have been used as input.

From the 2626 saved events, PreselHeavyDimuon selects 344, srating from a sample of 79009. That's a 4.3 per mille accept rate.

More Efficiencies and Correlations

You can also get your preselection efficiency using the full event-tag collection FETC. It's the only that remembers how many input events have been used. You can open it with root
Changed:
<
<
>
>
%SYNTAX{ syntax="cpp"}%
 TFile * f = TFile::Open("rfio:/castor/....root");
Changed:
<
<
>
>
%ENDSYNTAX%
 to look for efficiencies, correlations...

Looking at events with Panoramix

Line: 149 to 169
 The preparation of the user specific option files is as explained above. It is recommended to start Panoramix with python. The SetupProject Panoramix script will define an environment variable myPanoramix pointing to the Panoramix startup script. Panoramix is then launched by python $myPanoramix (linux) or python %myPanoramix% (windows).

Run on stripped DST with Panoramix, not recommended way

Assume the name of the user option file is mySel.opts with the options explained above, BUT without DaVinciCommon.opts. Then the event display can be launched with:
Changed:
<
<
 python  $myPanoramix -f none -u mySel.opts
>
>
<!-- SyntaxHighlightingPlugin -->
python  $myPanoramix -f none -u mySel.opts
<!-- end SyntaxHighlightingPlugin -->
 The -f none option is necessary if the event selector is specified in mySel.opts. In the next version of Panoramix, v15r6, the logic will change. If there is a user option file and no input file specified on the command line, it is assumed that the input file is specified by the user options. Default file can still be used with option -f default. Also, next version of Panoramix v15r6 will have a command Event/Loop over events to allow to go to the next selected event. Currently, next event will be next event on the file.

Run on stripped ETC with Panoramix, recommended way

Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternatively, you could specify the file catalogue separately (only for future version v15r6):
Changed:
<
<
 python  $myPanoramix -u mySelETC.opts -x myFileCatalog.xml
>
>
<!-- SyntaxHighlightingPlugin -->
python  $myPanoramix -u mySelETC.opts -x myFileCatalog.xml
<!-- end SyntaxHighlightingPlugin -->
 When using an ETC as input, next event will go automatically to the next event selected with the SEL string in definition of the ETC.

User Experience

Revision 172008-03-11 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 8 to 8
 This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it! It supersedes the obsolete DC04 page.
Changed:
<
<
The latest round is done with DaVinci v19r6. The latest status of included preselections can be found from here here. Because of the changes in reconstruction we reconstruct the stripped events both with Brunel 30r17 and Brunel v31r11. The corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2. All events should appear in both configurations and are thus duplicated. Don't add statistics blindly.
>
>
The latest round is done with DaVinci v19r7. The latest status of included preselections can be found from here here. Because of the changes in reconstruction we reconstruct the stripped events both with Brunel 30r17 and Brunel v31r11. The corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2. All events should appear in both configurations and are thus duplicated. Don't add statistics blindly.
 

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.
Line: 64 to 65
  Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).
Changed:
<
<
BUT: For reasons to be understood the SelResult container is not saved on the DST for the latest stripping. You thus have to re-run your preselection or use the ETC.
>
>

But, unfortunately...

The SelResult container is not saved on the DST for the latest stripping. You thus have to re-run your preselection.
 

For L0 stripped MB

Ignore all the above. All events are L0-accepted and there's no further granularity.

Revision 162008-02-28 - AnatolySolomin

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 26 to 26
 

How the stripping is done

Before using stripped data you need to understand a little bit of how it was done. A BB stripping job consists of
Changed:
<
<
  1. A DaVinci step that runs on the output of Brunel, the rDST (reduced DST). It runs each of the released preselections and outputs an event-tag collection (ETC) containing for every event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
>
>
  1. A DaVinci step that runs on the output of Brunel, the rDST (reduced DST). It runs each of the released preselections and outputs an event-tag collection (ETC) containing for every event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
 
  1. A Brunel v30 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
  2. A Brunel v31 step that takes the same FETC, does analogous job and saves yet another full DST and SETC, also available in the bookkeeping.
Line: 37 to 37
 
rDST, the reduced DST
This is the input data for the stripping. You probably don't want to look at this data except when you design a new preselection. There's no MC truth and not all tracks.
DST, the full stripped DST
This is the main output of the stripping: the complete DST with all what you need in it. See below for examples how to use it.
SETC, the stripped event-tag collection
This event-tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below.
Changed:
<
<
FETC, the full event-tag collection
This event-tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
>
>
FETC, the full event-tag collection
This event-tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
 

L0 stripping

The L0 stripping of minimum bias is done running L0 in Brunel v31r10 and writing out a DST. The configuration in the Bookkeeping is "DC06 - L0-v1-lumi2". Ignore the "0 events available".
Line: 62 to 62
 #include "$CCBARROOT/options/DoPreselHeavyDimuon.opts"
Changed:
<
<
Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).
>
>
Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).
  BUT: For reasons to be understood the SelResult container is not saved on the DST for the latest stripping. You thus have to re-run your preselection or use the ETC.
Line: 83 to 83
 }; ExtSvc += { "TagCollectionSvc/EvtTupleSvc" };
Changed:
<
<
This last line tells DaVinci what to use to understand the ETC.
>
>
This last line tells DaVinci what to use to understand the ETC.
 

Make a file catalogue

Next you need to tell where to find the files the ETC points to. This is done declaring a file catalogue which you then have to create using genCatalog. If you're using PFNs, a little annoyance is that genCatalog cannot start from PFNs. You need the corresponding LFNs. Once you have them in file LFN.opts do (replace CERN and castor by what you like)
Line: 114 to 114
  PFN=gfal:guid:A6769EF3-C426-DC11-AC8C-000E0C3F0CFC
Changed:
<
<
These options are released in in file DVExampleStrippingETC.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). They select the same events as the options for running on DSTs.
>
>
These options are released in in file DVExampleStrippingETC.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). They select the same events as the options for running on DSTs.
  -- PatrickKoppenburg - 16 Aug 2007
Line: 146 to 146
  The preparation of the user specific option files is as explained above. It is recommended to start Panoramix with python. The SetupProject Panoramix script will define an environment variable myPanoramix pointing to the Panoramix startup script. Panoramix is then launched by python $myPanoramix (linux) or python %myPanoramix% (windows).

Run on stripped DST with Panoramix, not recommended way

Changed:
<
<
Assume the name of the user option file is mySel.opts with the options explained above, BUT without DaVinciCommon.opts. Then the event display can be launched with:
>
>
Assume the name of the user option file is mySel.opts with the options explained above, BUT without DaVinciCommon.opts. Then the event display can be launched with:
 
 python  $myPanoramix -f none -u mySel.opts
The -f none option is necessary if the event selector is specified in mySel.opts. In the next version of Panoramix, v15r6, the logic will change. If there is a user option file and no input file specified on the command line, it is assumed that the input file is specified by the user options. Default file can still be used with option -f default. Also, next version of Panoramix v15r6 will have a command Event/Loop over events to allow to go to the next selected event. Currently, next event will be next event on the file.

Run on stripped ETC with Panoramix, recommended way

Changed:
<
<
Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternative, you could specify the file catalogue separately (only for future version v15r6):
>
>
Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternatively, you could specify the file catalogue separately (only for future version v15r6):
 
 python  $myPanoramix -u mySelETC.opts -x myFileCatalog.xml
When using an ETC as input, next event will go automatically to the next event selected with the SEL string in definition of the ETC.

Revision 152008-02-25 - AnatolySolomin

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 163 to 163
 

To do list for next stripping, and some ideas

  • The SelResults container is now created from the ETC and some information, like the decay descriptor is lost.
    • Maybe the preselections should be declared to the DataOnDemandSvc so that the preselection is triggered by a call to the SelResult object (?)
Changed:
<
<
  • The StreamingTaskForce would like the B candidates to be stored on the DST. This can be done rerunning the selection(s) on the DST after the Bunel step (simple), or by storing the necessary information in a format the could be similar to what is proposed to save the trigger candidates (needs more work).
>
>
  • The StreamingTaskForce would like the B candidates to be stored on the DST. This can be done rerunning the selection(s) on the DST after the Brunel step (simple), or by storing the necessary information in a format that could be similar to what is proposed to save the trigger candidates (needs more work).
 

Revision 142008-02-25 - AnatolySolomin

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 22 to 22
 
  • unbiased bb-inclusive at 5 1032 : not yet
  • biased bb-inclusive at 5 1032 : not yet

Changed:
<
<
We also started running L0 on minimum bias: DC06 - L0-v1-lumi2
>
>
We also started running L0 on minimum bias (MB): DC06 - L0-v1-lumi2
 

How the stripping is done

Before using stripped data you need to understand a little bit of how it was done. A BB stripping job consists of
Changed:
<
<
  1. A DaVinci step that runs on the output of Brunel, the rETC. It runs each of the released preselections and outputs and event-tag collection containing for each event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
>
>
  1. A DaVinci step that runs on the output of Brunel, the rDST (reduced DST). It runs each of the released preselections and outputs an event-tag collection (ETC) containing for every event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
 
  1. A Brunel v30 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
Changed:
<
<
  1. A Brunel v31 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
>
>
  1. A Brunel v31 step that takes the same FETC, does analogous job and saves yet another full DST and SETC, also available in the bookkeeping.
  Unlike with DC04 there is no scaling of preselections. The working groups are responsible for the output of their preselections.
Line: 36 to 36
 In the bookkeeping you will find the following data formats:
rDST, the reduced DST
This is the input data for the stripping. You probably don't want to look at this data except when you design a new preselection. There's no MC truth and not all tracks.
DST, the full stripped DST
This is the main output of the stripping: the complete DST with all what you need in it. See below for examples how to use it.
Changed:
<
<
SETC, the stripped event-tag collection
This event tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below.
FETC, the full event-tag collection
This event tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
>
>
SETC, the stripped event-tag collection
This event-tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below.
FETC, the full event-tag collection
This event-tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
 

L0 stripping

Changed:
<
<
The L0 stripping of minimum is done running L0 in Brunel v31r10 and writing out a DST. The configuration in the Bookkeeping is "DC06 - L0-v1-lumi2". Ignore the "0 events available".
>
>
The L0 stripping of minimum bias is done running L0 in Brunel v31r10 and writing out a DST. The configuration in the Bookkeeping is "DC06 - L0-v1-lumi2". Ignore the "0 events available".
 

Signal stripping and reprocessing

Signal will also be stripped using the same preselections as the BB stripping. It has not started yet. The procedure is explained in Thomas' talk at software week.

Revision 132008-02-25 - AnatolySolomin

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 8 to 8
 This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it! It supersedes the obsolete DC04 page.
Changed:
<
<
The latest round is done with DaVinci v19r6. The latest status of included preselections can be found from here here. Because of the changes in reconstruction we reconstruct the stripped events both with Brunel 30r17 and Brunel v31r11. The corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2. All events should appear in bothy configurations are are thus duplicated. Don't add statistics blindly.
>
>
The latest round is done with DaVinci v19r6. The latest status of included preselections can be found from here here. Because of the changes in reconstruction we reconstruct the stripped events both with Brunel 30r17 and Brunel v31r11. The corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2. All events should appear in both configurations and are thus duplicated. Don't add statistics blindly.
 

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.
Line: 85 to 85
  This last line tells DaVinci what to use to understand the ETC.
Changed:
<
<

Make a file cataogue

>
>

Make a file catalogue

 Next you need to tell where to find the files the ETC points to. This is done declaring a file catalogue which you then have to create using genCatalog. If you're using PFNs, a little annoyance is that genCatalog cannot start from PFNs. You need the corresponding LFNs. Once you have them in file LFN.opts do (replace CERN and castor by what you like)
genCatalog -o LFN.opts -p myCatalog.xml -s CERN -Pcastor

Revision 122007-12-08 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 8 to 8
 This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it! It supersedes the obsolete DC04 page.
Changed:
<
<
The DC06 stripping is presently interrupted because of a bug found in the reconstruction. See Philippe's mail. A new stripping is due to start soon.

The first round of BB stripping used DaVinci v19r1. The list of preselections used can be found in here.

The next round will be done with DaVinci v19r6, to be released in the week of Oct 29th. The latest status of included preselections can be found from here here.

>
>
The latest round is done with DaVinci v19r6. The latest status of included preselections can be found from here here. Because of the changes in reconstruction we reconstruct the stripped events both with Brunel 30r17 and Brunel v31r11. The corresponding configurations are DC06 - stripping-v30-lumi2 and DC06 - stripping-v31-lumi2. All events should appear in bothy configurations are are thus duplicated. Don't add statistics blindly.
 

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.
Line: 21 to 17
 

Available data samples

We plan to run the stripping on the following samples. The bookkeeping configuration is given for each of them.
Changed:
<
<
  • unbiased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000000 - incl_b
  • biased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000010 - incl_b=Biased
  • unbiased bb-inclusive at 5 1032 : DC06 - phys-v3-lumi-5 : 10000000 - incl_b
  • biased bb-inclusive at 5 1032 : DC06 - phys-v3-lumi-5 : 10000010 - incl_b=Biased
>
>
  • unbiased bb-inclusive at 2 1032 : DC06 - stripping-v30-lumi2 : 10000000 - incl_b and DC06 - stripping-v31-lumi2 : 10000000 - incl_b
  • biased bb-inclusive at 2 1032 : DC06 - stripping-v30-lumi2 : 10000010 - incl_b=Biased and DC06 - stripping-v31-lumi2 : 10000010 - incl_b=Biased
  • unbiased bb-inclusive at 5 1032 : not yet
  • biased bb-inclusive at 5 1032 : not yet
 
Changed:
<
<
We also started running L0 on minimum bias.
>
>
We also started running L0 on minimum bias: DC06 - L0-v1-lumi2
 

How the stripping is done

Before using stripped data you need to understand a little bit of how it was done. A BB stripping job consists of
  1. A DaVinci step that runs on the output of Brunel, the rETC. It runs each of the released preselections and outputs and event-tag collection containing for each event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
Changed:
<
<
  1. A Brunel setp that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
>
>
  1. A Brunel v30 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
  2. A Brunel v31 step that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
  Unlike with DC04 there is no scaling of preselections. The working groups are responsible for the output of their preselections.
Line: 50 to 47
 

How to use stripped data

It's unlikely you want to look at all events. You only care about events selected by your preselections. There's two ways of achieving this and it's not clear which one is fastest.
Changed:
<
<

Run on stripped DST

>
>

Run on stripped DST OBSOLETE

 Use the stripped DST as input but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. Luckily you don't need to read the full file to do that and it should be quite fast.
Changed:
<
<
Put all you analysis code in a sequencer starting with a CheckSelResult algorithm.
>
>
Ideally this would be achieved by putting all your analysis code in a sequencer starting with a CheckSelResult algorithm.
 
#include "$DAVINCIROOT/options/DaVinciCommon.opts"
ApplicationMgr.TopAlg += { "GaudiSequencer/AnaHeavyDimuonSeq" };
Line: 67 to 64
  Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).
Added:
>
>
BUT: For reasons to be understood the SelResult container is not saved on the DST for the latest stripping. You thus have to re-run your preselection or use the ETC.
 

For L0 stripped MB

Ignore all the above. All events are L0-accepted and there's no further granularity.
Line: 169 to 168
 
  • All preselections should be rewritten using the HLT syntax.

Changed:
<
<
-- PatrickKoppenburg - 18 Jul 2007 - 19 Jul 2007
>
>
-- PatrickKoppenburg - 18 Jul 2007 - 19 Jul 2007 - 08 Dec 2007

Revision 112007-10-29 - StephenWotton

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Revision 102007-10-28 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 12 to 12
  The first round of BB stripping used DaVinci v19r1. The list of preselections used can be found in here.
Changed:
<
<
The next round will be done with DaVinci v19r5, or even 6. It is not yet decided. The latest status of included preselections can be found from here here.
>
>
The next round will be done with DaVinci v19r6, to be released in the week of Oct 29th. The latest status of included preselections can be found from here here.
 

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.
Changed:
<
<
The stripping of the re-reconstructed BB data is due to start soon. The deadline for inclusion of new preselections is Tuesday 11 September 2007. This means preselections should have been committed to cvs by then.
>
>
The stripping of the re-reconstructed BB data is due to start soon. The deadline for inclusion of new preselections is over.
 

Available data samples

We plan to run the stripping on the following samples. The bookkeeping configuration is given for each of them.
Line: 26 to 26
 
  • unbiased bb-inclusive at 5 1032 : DC06 - phys-v3-lumi-5 : 10000000 - incl_b
  • biased bb-inclusive at 5 1032 : DC06 - phys-v3-lumi-5 : 10000010 - incl_b=Biased

Changed:
<
<
The present stripping is done with DaVinci v19r1 and Brunel v30r17. Check the bookkeeping for available data. There's more coming all the time.

We also plan to run L0 on minimum bias.

>
>
We also started running L0 on minimum bias.
 

How the stripping is done

Changed:
<
<
Before using stripped data you need to understand a little bit of how it was done. A stripping job consists of
>
>
Before using stripped data you need to understand a little bit of how it was done. A BB stripping job consists of
 
  1. A DaVinci step that runs on the output of Brunel, the rETC. It runs each of the released preselections and outputs and event-tag collection containing for each event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
  2. A Brunel setp that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
Line: 44 to 42
 
SETC, the stripped event-tag collection
This event tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below.
FETC, the full event-tag collection
This event tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
Added:
>
>

L0 stripping

The L0 stripping of minimum is done running L0 in Brunel v31r10 and writing out a DST. The configuration in the Bookkeeping is "DC06 - L0-v1-lumi2". Ignore the "0 events available".

Signal stripping and reprocessing

Signal will also be stripped using the same preselections as the BB stripping. It has not started yet. The procedure is explained in Thomas' talk at software week.
 

How to use stripped data

It's unlikely you want to look at all events. You only care about events selected by your preselections. There's two ways of achieving this and it's not clear which one is fastest.

Run on stripped DST

Line: 63 to 67
  Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).
Added:
>
>

For L0 stripped MB

Ignore all the above. All events are L0-accepted and there's no further granularity.
 

Run on stripped ETC

Here's the recipe to get the same result from event tag collections. It's a little more complicated at the beginning, but may save time later.

Revision 92007-09-19 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 10 to 10
  The DC06 stripping is presently interrupted because of a bug found in the reconstruction. See Philippe's mail. A new stripping is due to start soon.
Added:
>
>
The first round of BB stripping used DaVinci v19r1. The list of preselections used can be found in here.

The next round will be done with DaVinci v19r5, or even 6. It is not yet decided. The latest status of included preselections can be found from here here.

 

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.

Revision 82007-08-16 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 13 to 13
 

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.
Changed:
<
<
The stripping of the re-reconstructed BB data is due to start soon. A deadline for new preselections to be added is not yet defined but will be tight.
>
>
The stripping of the re-reconstructed BB data is due to start soon. The deadline for inclusion of new preselections is Tuesday 11 September 2007. This means preselections should have been committed to cvs by then.
 

Available data samples

We plan to run the stripping on the following samples. The bookkeeping configuration is given for each of them.

Revision 72007-08-16 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 6 to 6
 

Introduction

This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it!
Changed:
<
<
It supercedes the obsolete DC04 page.
>
>
It supersedes the obsolete DC04 page.

The DC06 stripping is presently interrupted because of a bug found in the reconstruction. See Philippe's mail. A new stripping is due to start soon.

 

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.
Changed:
<
<
Note that there is no other stripping of the DC06 data scheduled yet.
>
>
The stripping of the re-reconstructed BB data is due to start soon. A deadline for new preselections to be added is not yet defined but will be tight.
 

Available data samples

Changed:
<
<
We plan to run the stripping on the following samples. The bookeeping configuration is given for each of them.
>
>
We plan to run the stripping on the following samples. The bookkeeping configuration is given for each of them.
 
  • unbiased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000000 - incl_b
  • biased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000010 - incl_b=Biased
  • unbiased bb-inclusive at 5 1032 : DC06 - phys-v3-lumi-5 : 10000000 - incl_b
Line: 104 to 106
  These options are released in in file DVExampleStrippingETC.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). They select the same events as the options for running on DSTs.
Added:
>
>
-- PatrickKoppenburg - 16 Aug 2007
 

Run it with ganga

Does this work with ganga? Would be nice if someone could make a working ganga example and paste it here.

Revision 62007-08-01 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 8 to 8
 This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it! It supercedes the obsolete DC04 page.
Added:
>
>

How to add a preselection

All below assumes you, or someone else, has provided a preselection which is suitable to select your favourite signal. If this is not the case the stripped data is useless for you and you have to provide a preselection for the next stripping. The procedure is explained here.

Note that there is no other stripping of the DC06 data scheduled yet.

 

Available data samples

We plan to run the stripping on the following samples. The bookeeping configuration is given for each of them.
  • unbiased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000000 - incl_b

Revision 52007-07-26 - ThomasRuf

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 126 to 126
 NOT TESTED YET, but should work.

The preparation of the user specific option files is as explained above. It is recommended to start Panoramix with python. The SetupProject Panoramix script will define an environment variable myPanoramix pointing to the Panoramix startup script. Panoramix is then launched by python $myPanoramix (linux) or python %myPanoramix% (windows).

Changed:
<
<

Run on stripped DST with Panoramix

>
>

Run on stripped DST with Panoramix, not recommended way

 Assume the name of the user option file is mySel.opts with the options explained above, BUT without DaVinciCommon.opts. Then the event display can be launched with:
 python  $myPanoramix -f none -u mySel.opts
Changed:
<
<
The -f none option is necessary if the event selector is specified in mySel.opts.

Run on stripped ETC with Panoramix

Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternative, you could specify the file catalogue separately:
 python  $myPanoramix -f none -u mySel.opts -x myFileCatalog.xml
>
>
The -f none option is necessary if the event selector is specified in mySel.opts. In the next version of Panoramix, v15r6, the logic will change. If there is a user option file and no input file specified on the command line, it is assumed that the input file is specified by the user options. Default file can still be used with option -f default. Also, next version of Panoramix v15r6 will have a command Event/Loop over events to allow to go to the next selected event. Currently, next event will be next event on the file.

Run on stripped ETC with Panoramix, recommended way

Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternative, you could specify the file catalogue separately (only for future version v15r6):
 python  $myPanoramix -u mySelETC.opts -x myFileCatalog.xml
 
Added:
>
>
When using an ETC as input, next event will go automatically to the next event selected with the SEL string in definition of the ETC.
 

User Experience

Nothing yet.

Revision 42007-07-19 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Changed:
<
<

Introduction

>
>

Introduction

 This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it! It supercedes the obsolete DC04 page.
Changed:
<
<

Available data samples

>
>

Available data samples

 We plan to run the stripping on the following samples. The bookeeping configuration is given for each of them.
  • unbiased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000000 - incl_b
  • biased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000010 - incl_b=Biased
Line: 19 to 19
  We also plan to run L0 on minimum bias.
Changed:
<
<

How the stripping is done

>
>

How the stripping is done

 Before using stripped data you need to understand a little bit of how it was done. A stripping job consists of
  1. A DaVinci step that runs on the output of Brunel, the rETC. It runs each of the released preselections and outputs and event-tag collection containing for each event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
  2. A Brunel setp that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.

Unlike with DC04 there is no scaling of preselections. The working groups are responsible for the output of their preselections.

Changed:
<
<

Output data

>
>

Output data

 In the bookkeeping you will find the following data formats:
rDST, the reduced DST
This is the input data for the stripping. You probably don't want to look at this data except when you design a new preselection. There's no MC truth and not all tracks.
DST, the full stripped DST
This is the main output of the stripping: the complete DST with all what you need in it. See below for examples how to use it.
SETC, the stripped event-tag collection
This event tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below.
FETC, the full event-tag collection
This event tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.
Changed:
<
<

How to use stripped data

>
>

How to use stripped data

 It's unlikely you want to look at all events. You only care about events selected by your preselections. There's two ways of achieving this and it's not clear which one is fastest.
Changed:
<
<

Run on stripped DST

>
>

Run on stripped DST

 Use the stripped DST as input but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. Luckily you don't need to read the full file to do that and it should be quite fast.

Put all you analysis code in a sequencer starting with a CheckSelResult algorithm.

Line: 52 to 52
  Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).
Changed:
<
<

Run on stripped ETC

>
>

Run on stripped ETC

 Here's the recipe to get the same result from event tag collections. It's a little more complicated at the beginning, but may save time later.
Changed:
<
<

Get the data

>
>

Get the data

 In the bookkeeping take the SETC data, copy the data cards to your options and add the name of your preselection as a SEL='PreselXXX>0' requirement. You can add as many selections as you like combined with && or ||. It's basically a root TCut. In our example that would be like
EventSelector.Input   = {
Line: 68 to 68
  This last line tells DaVinci what to use to understand the ETC.
Changed:
<
<

Make a file cataogue

>
>

Make a file cataogue

 Next you need to tell where to find the files the ETC points to. This is done declaring a file catalogue which you then have to create using genCatalog. If you're using PFNs, a little annoyance is that genCatalog cannot start from PFNs. You need the corresponding LFNs. Once you have them in file LFN.opts do (replace CERN and castor by what you like)
genCatalog -o LFN.opts -p myCatalog.xml -s CERN -Pcastor
Line: 99 to 99
  These options are released in in file DVExampleStrippingETC.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). They select the same events as the options for running on DSTs.
Changed:
<
<

Run it with ganga

>
>

Run it with ganga

 Does this work with ganga? Would be nice if someone could make a working ganga example and paste it here.
Changed:
<
<

How much BB is that?

>
>

How much BB is that?

 If you get your data samples in the bookkeeping it will tell you something like
//-- 4 dataset(s) - NbEvents = 2626
Line: 115 to 115
  From the 2626 saved events, PreselHeavyDimuon selects 344, srating from a sample of 79009. That's a 4.3 per mille accept rate.
Changed:
<
<

More Efficiencies and Correlations

>
>

More Efficiencies and Correlations

 You can also get your preselection efficiency using the full event-tag collection FETC. It's the only that remembers how many input events have been used. You can open it with root
TFile * f = TFile::Open("rfio:/castor/....root"); 
to look for efficiencies, correlations...
Changed:
<
<

Looking at events with Panoramix

>
>

Looking at events with Panoramix

 NOT TESTED YET, but should work.
Changed:
<
<
The preparation of the user specific option files is as explained above. It is recommended to start Panoramix with python. The SetupProject Panoramix script will define an environment variable myPanoramix pointing to the Panoramix startup script. Panoramix is then launched by python $myPanoramix (linux) or python %myPanoramix% (windows).

Run on stripped DST with Panoramix

Assume the name of the user option file is mySel.opts with the options explained above, BUT without DaVinciCommon.opts. Then the event display can be launched with:
>
>
The preparation of the user specific option files is as explained above. It is recommended to start Panoramix with python. The SetupProject Panoramix script will define an environment variable myPanoramix pointing to the Panoramix startup script. Panoramix is then launched by python $myPanoramix (linux) or python %myPanoramix% (windows).

Run on stripped DST with Panoramix

Assume the name of the user option file is mySel.opts with the options explained above, BUT without DaVinciCommon.opts. Then the event display can be launched with:
 
 python  $myPanoramix -f none -u mySel.opts
Changed:
<
<
The -f none option is necessary if the event selector is specified in mySel.opts

Run on stripped ETC with Panoramix

Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternative, you could specifiy the file catalague separately:
>
>
The -f none option is necessary if the event selector is specified in mySel.opts.

Run on stripped ETC with Panoramix

Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternative, you could specify the file catalogue separately:
 
 python  $myPanoramix -f none -u mySel.opts -x myFileCatalog.xml
Changed:
<
<

User Experience

>
>

User Experience

 Nothing yet.
Changed:
<
<
-- PatrickKoppenburg - 18 Jul 2007
>
>

To do list for next stripping, and some ideas

  • The SelResults container is now created from the ETC and some information, like the decay descriptor is lost.
    • Maybe the preselections should be declared to the DataOnDemandSvc so that the preselection is triggered by a call to the SelResult object (?)
  • The StreamingTaskForce would like the B candidates to be stored on the DST. This can be done rerunning the selection(s) on the DST after the Bunel step (simple), or by storing the necessary information in a format the could be similar to what is proposed to save the trigger candidates (needs more work).
  • One should also not forget the procedure to include preselections in the stripping suggested by this task force.
  • All preselections should be rewritten using the HLT syntax.

-- PatrickKoppenburg - 18 Jul 2007 - 19 Jul 2007

Revision 32007-07-19 - ThomasRuf

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 123 to 123
 to look for efficiencies, correlations...

Looking at events with Panoramix

Changed:
<
<
Nothing yet.
>
>
NOT TESTED YET, but should work.

The preparation of the user specific option files is as explained above. It is recommended to start Panoramix with python. The SetupProject Panoramix script will define an environment variable myPanoramix pointing to the Panoramix startup script. Panoramix is then launched by python $myPanoramix (linux) or python %myPanoramix% (windows).

Run on stripped DST with Panoramix

Assume the name of the user option file is mySel.opts with the options explained above, BUT without DaVinciCommon.opts. Then the event display can be launched with:
 python  $myPanoramix -f none -u mySel.opts
The -f none option is necessary if the event selector is specified in mySel.opts

Run on stripped ETC with Panoramix

Take again the same option file as for running DaVinci, BUT without DaVinciCommon.opts. Alternative, you could specifiy the file catalague separately:
 python  $myPanoramix -f none -u mySel.opts -x myFileCatalog.xml
 

User Experience

Nothing yet.

Revision 22007-07-18 - unknown

Line: 1 to 1
 
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Line: 6 to 6
 

Introduction

This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it!
Changed:
<
<
This page supercedes the obsolete DC04 page.
>
>
It supercedes the obsolete DC04 page.
 

Available data samples

We plan to run the stripping on the following samples. The bookeeping configuration is given for each of them.
Line: 22 to 21
 

How the stripping is done

Before using stripped data you need to understand a little bit of how it was done. A stripping job consists of
Changed:
<
<
  1. A DaVinci job that runs on the output of Brunel, the rETC. It runs each of the released preselections and outputs and event-tag collection containing for each event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
  2. A Brunel job that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Bothe these files are available in the bookkeeping.
>
>
  1. A DaVinci step that runs on the output of Brunel, the rETC. It runs each of the released preselections and outputs and event-tag collection containing for each event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
  2. A Brunel setp that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Both these files are available in the bookkeeping.
  Unlike with DC04 there is no scaling of preselections. The working groups are responsible for the output of their preselections.
Line: 35 to 34
 
FETC, the full event-tag collection
This event tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.

How to use stripped data

Changed:
<
<
It's unlikely you want to look at all events. You only care about the events selected by your preselections. There's two ways of achieving this and it's not clear which one is best.
>
>
It's unlikely you want to look at all events. You only care about events selected by your preselections. There's two ways of achieving this and it's not clear which one is fastest.
 

Run on stripped DST

Changed:
<
<
Use you stripped DST as input, but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. Luckily you don't need to read the full file to do that and it should be quite fast.
>
>
Use the stripped DST as input but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. Luckily you don't need to read the full file to do that and it should be quite fast.
  Put all you analysis code in a sequencer starting with a CheckSelResult algorithm.
Line: 51 to 50
 #include "$CCBARROOT/options/DoPreselHeavyDimuon.opts"
Changed:
<
<
Here for instance you check events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the Preselection options after your sequencer. These options are released in DaVinci from v19r4 (or head if you read this before v19r4 is release) in file DVExampleStripping.opts. 1 out of 8 preselected events are selected by this preselection in unbiased BB at lumi 2.
>
>
Here for instance you look for events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the preselection options after your sequencer. These options are released in in file DVExampleStripping.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). Running this on DaVinciTestData.opts one gets 344 events preselected from 2626 stripped events (unbiased lumi 2).
 

Run on stripped ETC

Here's the recipe to get the same result from event tag collections. It's a little more complicated at the beginning, but may save time later.

Get the data

Changed:
<
<
In the bookkeeping take the SETC data, copy the data cards to your options and add the name of your preselection as SEL='PreselXXX>0' requirement. You can add as many selections as you like combined with && or ||. It's basically a root TCut. In our example that would be like
>
>
In the bookkeeping take the SETC data, copy the data cards to your options and add the name of your preselection as a SEL='PreselXXX>0' requirement. You can add as many selections as you like combined with && or ||. It's basically a root TCut. In our example that would be like
 
EventSelector.Input   = {
"COLLECTION='TagCreator/1' 
Line: 78 to 77
 
PoolDbCacheSvc.Catalog = { "xmlcatalog_file:myCatalog.xml" } ;
Changed:
<
<
(with the semicolon, unlike what genCatalog says).
>
>
(with the semicolon, unlike what genCatalog says).
  The file catalogue contains blocks like these
Line: 98 to 97
  PFN=gfal:guid:A6769EF3-C426-DC11-AC8C-000E0C3F0CFC
Changed:
<
<
These options are released in DaVinci from v19r4 (or head if you read this before v19r4 is release) in file DVExampleStrippingETC.opts. They select the same events as the ones running on DST.
>
>
These options are released in in file DVExampleStrippingETC.opts in the DaVinci package from version v19r4 (or head if you read this before v19r4 is released). They select the same events as the options for running on DSTs.
 

Run it with ganga

Changed:
<
<
Would be nice if someone could make a working ganga example and paste it here.
>
>
Does this work with ganga? Would be nice if someone could make a working ganga example and paste it here.
 

How much BB is that?

Changed:
<
<
To find out what your preselection efficiency is you need to look at the full event-tag collection FETC. It's the only that remembers ho many input events have been used. But you don't even need to look at the files. If you get your data samples in the bookkeeping it will tell you something like
>
>
If you get your data samples in the bookkeeping it will tell you something like
 
//-- 4 dataset(s) - NbEvents = 2626
Line: 114 to 113
  which means 79009 events have been used as input.
Changed:
<
<
From the 2626 saved events, PreselHeavyDimuon selects 344, srating from a sample of 79009. That's 4.3
    +
0.2 per mille accept rate.
>
>
From the 2626 saved events, PreselHeavyDimuon selects 344, srating from a sample of 79009. That's a 4.3 per mille accept rate.

More Efficiencies and Correlations

You can also get your preselection efficiency using the full event-tag collection FETC. It's the only that remembers how many input events have been used. You can open it with root
TFile * f = TFile::Open("rfio:/castor/....root"); 
to look for efficiencies, correlations...

Looking at events with Panoramix

Nothing yet.
 
Added:
>
>

User Experience

Nothing yet.
  -- PatrickKoppenburg - 18 Jul 2007

Revision 12007-07-18 - unknown

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="DaVinci"

How to run on stripped DC06 data

Introduction

This page explains all you need to know to run on DC06 stripped data. If there's something missing, just add it!

This page supercedes the obsolete DC04 page.

Available data samples

We plan to run the stripping on the following samples. The bookeeping configuration is given for each of them.
  • unbiased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000000 - incl_b
  • biased bb-inclusive at 2 1032 : DC06 - phys-v3-lumi-2 : 10000010 - incl_b=Biased
  • unbiased bb-inclusive at 5 1032 : DC06 - phys-v3-lumi-5 : 10000000 - incl_b
  • biased bb-inclusive at 5 1032 : DC06 - phys-v3-lumi-5 : 10000010 - incl_b=Biased

The present stripping is done with DaVinci v19r1 and Brunel v30r17. Check the bookkeeping for available data. There's more coming all the time.

We also plan to run L0 on minimum bias.

How the stripping is done

Before using stripped data you need to understand a little bit of how it was done. A stripping job consists of
  1. A DaVinci job that runs on the output of Brunel, the rETC. It runs each of the released preselections and outputs and event-tag collection containing for each event the result of each preselection. This file is the full ETC (FETC) which is available in the bookkeeping.
  2. A Brunel job that takes the FETC as input and reconstructs all events which are accepted by at least one preselection. It saves a full DST and another event-tag collection, the stripped ETC (SETC). Bothe these files are available in the bookkeeping.

Unlike with DC04 there is no scaling of preselections. The working groups are responsible for the output of their preselections.

Output data

In the bookkeeping you will find the following data formats:
rDST, the reduced DST
This is the input data for the stripping. You probably don't want to look at this data except when you design a new preselection. There's no MC truth and not all tracks.
DST, the full stripped DST
This is the main output of the stripping: the complete DST with all what you need in it. See below for examples how to use it.
SETC, the stripped event-tag collection
This event tag collection allows you to navigate directly to the events selected by your preselections. Examples are given below.
FETC, the full event-tag collection
This event tag collection points back to the rDST. You should hence not use it as input to DaVinci jobs as you would have to stage in the world. But you can read it as a root file to find out what the accept rate of your preselection was.

How to use stripped data

It's unlikely you want to look at all events. You only care about the events selected by your preselections. There's two ways of achieving this and it's not clear which one is best.

Run on stripped DST

Use you stripped DST as input, but look only at events that have passed your preselection. To achieve this you have to read the SelResult tag of each event to find the ones relevant for you. Luckily you don't need to read the full file to do that and it should be quite fast.

Put all you analysis code in a sequencer starting with a CheckSelResult algorithm.

#include "$DAVINCIROOT/options/DaVinciCommon.opts"
ApplicationMgr.TopAlg += { "GaudiSequencer/AnaHeavyDimuonSeq" };
AnaHeavyDimuonSeq.Members += { "CheckSelResult/CheckPreselHeavyDimuon"
                        , "PrintHeader/PrintOfficialPreselHeavyDimuon"
                        ,  "GaudiSequencer/SeqPreselHeavyDimuon" };
CheckPreselHeavyDimuon.Algorithms = { "PreselHeavyDimuon" };
// Run diplepton preselection
#include "$CCBARROOT/options/DoPreselHeavyDimuon.opts"

Here for instance you check events having passed the PreselHeavyDimuon preselection and re-run it only for those. Make sure you include the Preselection options after your sequencer. These options are released in DaVinci from v19r4 (or head if you read this before v19r4 is release) in file DVExampleStripping.opts. 1 out of 8 preselected events are selected by this preselection in unbiased BB at lumi 2.

Run on stripped ETC

Here's the recipe to get the same result from event tag collections. It's a little more complicated at the beginning, but may save time later.

Get the data

In the bookkeeping take the SETC data, copy the data cards to your options and add the name of your preselection as SEL='PreselXXX>0' requirement. You can add as many selections as you like combined with && or ||. It's basically a root TCut. In our example that would be like
EventSelector.Input   = {
"COLLECTION='TagCreator/1' 
DATAFILE='PFN:castor:/castor/cern.ch/grid/lhcb/production/DC06/phys-v3-lumi2/00001883/SETC/0000/SETC_00001883_00002264.root' 
    TYP='POOL_ROOT' SEL='(PreselHeavyDimuon>0)'",
[...]
};
ApplicationMgr.ExtSvc  += { "TagCollectionSvc/EvtTupleSvc" };
This last line tells DaVinci what to use to understand the ETC.

Make a file cataogue

Next you need to tell where to find the files the ETC points to. This is done declaring a file catalogue which you then have to create using genCatalog. If you're using PFNs, a little annoyance is that genCatalog cannot start from PFNs. You need the corresponding LFNs. Once you have them in file LFN.opts do (replace CERN and castor by what you like)
genCatalog -o LFN.opts -p myCatalog.xml -s CERN -Pcastor
which will tell you to add this line to your options:
PoolDbCacheSvc.Catalog = { "xmlcatalog_file:myCatalog.xml" } ;
(with the semicolon, unlike what genCatalog says).

The file catalogue contains blocks like these

<File ID="A6769EF3-C426-DC11-AC8C-000E0C3F0CFC">
 <physical>
  <pfn name="castor:/castor/cern.ch/grid/lhcb/production/DC06/phys-v3-lumi2/00001883/DST/0000/00001883_00002264_2.dst" 
                   filetype="ROOT_All"/>
 </physical>
 <logical>
  <lfn name="/lhcb/production/DC06/phys-v3-lumi2/00001883/DST/0000/00001883_00002264_2.dst"/>
 </logical>
</File>
which describe the location of the file. The File ID is what is stored in the ETC. Hence if you forget to declare the file catalogue you wil get an error like
PoolRootTreeEvtCnvSvc  ERROR Error: connectDatabase> Cannot connect to database: 
   PFN=gfal:guid:A6769EF3-C426-DC11-AC8C-000E0C3F0CFC

These options are released in DaVinci from v19r4 (or head if you read this before v19r4 is release) in file DVExampleStrippingETC.opts. They select the same events as the ones running on DST.

Run it with ganga

Would be nice if someone could make a working ganga example and paste it here.

How much BB is that?

To find out what your preselection efficiency is you need to look at the full event-tag collection FETC. It's the only that remembers ho many input events have been used. But you don't even need to look at the files. If you get your data samples in the bookkeeping it will tell you something like
//-- 4 dataset(s) - NbEvents = 2626
for DST meaning there are 2626 events saved after stripping. From the SETC you should get the same number. But if you do this for the FETC you'll see
//-- 4 dataset(s) selected containing 79009 events selected from 0 events.
which means 79009 events have been used as input.

From the 2626 saved events, PreselHeavyDimuon selects 344, srating from a sample of 79009. That's 4.3

    +
0.2 per mille accept rate.

-- PatrickKoppenburg - 18 Jul 2007

 
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