umd-lhcb / MuonBDTPid

Muon PID with a uboost BDT (in ROOT 5). Also include code for PID efficiency studies
0 stars 0 forks source link

Questions about generating PIDCalib samples #3

Closed yipengsun closed 3 years ago

yipengsun commented 4 years ago
  1. Currently, Lucia is using Erasmus/v14r5, which is based on slc6-gcc49. This platform is very old. According to the official repo, Erasmus has been retired from cvmfs, so I don't think Lucia's instruction will work.

    What is the current state-of-art for producing PIDCalib samples? Using DaVinci directly?

    Why do we need to customize these software? Is it because we need to add isMuonTight?

    As a side note, both ErasmusDev_v14r5 and PIDCalib folder are for this step.

  2. I skimmed through Lucia's code, but I don't see code that are responsible for PID efficiency calculation. Do you have them? If so, do you have them in these 2 shared folders or somewhere else?

  3. I see a lot of DataType-201X_Y.py files. They seem to contain LFNs to the PIDCalib samples. Am I right? Also, does these files contain all related PIDCalib LFNs so that we don't need to go search them again via DIRAC book keeping?

FYI @manuelfs

yipengsun commented 4 years ago

Lucia's PIDCalib folder looks like this:

.
├── DataType-2015_0.py
├── DataType-2015_0.py~
├── DataType-2015_10.py
├── DataType-2015_10.py~
├── DataType-2015_11.py
├── DataType-2015_11.py~
├── DataType-2015_1.py
├── DataType-2015_1.py~
├── DataType-2015_2.py
├── DataType-2015_2.py~
├── DataType-2015_3.py
├── DataType-2015_3.py~
├── DataType-2015_4.py
├── DataType-2015_4.py~
├── DataType-2015_5.py
├── DataType-2015_5.py~
├── DataType-2015_6.py
├── DataType-2015_6.py~
├── DataType-2015_7.py
├── DataType-2015_7.py~
├── DataType-2015_8.py
├── DataType-2015_8.py~
├── DataType-2015_9.py
├── DataType-2015_9.py~
├── DataType-2015.py
├── DataType-2015.py~
├── DVTuple_PIDTest.root
├── ErasmusDev_v14r5
├── Grid
├── LHCb_Collision15_95100000_Beam6500GeVVeloClosedMagUp_Real\ Data_Reco15a_Turbo02_FULLTURBO.DST
├── makeTuples_pp_2015.py
├── makeTuples_pp_2015.py~
├── my_data_0.py
├── my_data_0.py~
├── my_data_10.py
├── my_data_10.py~
├── my_data_11.py
├── my_data_11.py~
├── my_data_1.py
├── my_data_1.py~
├── my_data_2.py
├── my_data_2.py~
├── my_data_3.py
├── my_data_3.py~
├── my_data_4.py
├── my_data_4.py~
├── my_data_5.py
├── my_data_5.py~
├── my_data_6.py
├── my_data_6.py~
├── my_data_7.py
├── my_data_7.py~
├── my_data_8.py
├── my_data_8.py~
├── my_data_9.py
├── my_data_9.py~
├── my_data.py
├── my_data.py~
├── PIDCalib
├── README.txt
├── README.txt~
├── SelPIDCALIB.mdst
├── Tables
├── test_catalog.xml
├── TupleConfigClasses.py
├── TupleConfig.py
└── TupleConfig.py~

4 directories, 63 files
yipengsun commented 4 years ago

Lucia's README, copied verbatim:

Production of PIDCalib sample with additional variables to use the Muon uBDT

TupleToolANNPIDTraining tool needed be added to the probe: I added it in the PIDCalib/PidCalibProduction
(changes in ErasmusDev_v14r5/PIDCalib/PidCalibProduction/python/PidCalibProduction/Run2/TupleConfig.py, 
ErasmusDev_v14r5/PIDCalib/PidCalibProduction/python/PidCalibProduction/Run2/parseTupleConfig.py)

*These instructions are     relative of what I did at the time, now necessary to update the versions etc*

To checkout the relevant application (Erasmus) and data package (PIDCalib) to make the modification above

$ lb-dev -c x86_64-slc6-gcc49-opt Erasmus/v14r5
$ cd ./ErasmusDev_v14r5
$ git lb-clone-pkg --debug WG/PIDCalib
$ make -j8
$ ./run echo '$PIDCALIBROOT' 

To run locally the tuple production for test [normally is a WG production].

lb-run -c x86_64-slc6-gcc49-opt --use WG/PIDCalib.v6r1 Erasmus/v14r5 gaudirun.py '$PIDCALIBROOT/scriptsR2/makeTuples_pp_2015.py' '$PIDCALIBROOT/scriptsR2/DataType-2015.py' my_data.py

Where my_data.py just does the usual IOHelper stuff to specify which file to run over