cmstas / NtupleMaker

produces CMS3 Ntuples. See NtupleTools for auxiliary functions
1 stars 10 forks source link

NtupleMaker

Installing

  1. Copy the install.sh locally.
  2. Specify the CMSSW_release and CMS3Tag (branch name or tag name) you want to use at the top of install.sh.
  3. source install.sh will check out the CMSSW release and NtupleMaker repository, and build everything.

Running

  1. If you're not there already, cd $CMSSW_BASE/src/CMS3/NtupleMaker/test/.
  2. The main pset is, unsuprisingly, main_pset.py
  3. Input files, event counts, global tag, output file name, and others are specified as command line arguments
  4. Finally,
    • cmsRun main_pset.py data=True prompt=True to run on prompt data
    • cmsRun main_pset.py data=False year=2018 to run on FullSim MC; note the year is needed for genMaker to pick the right weights
    • cmsRun main_pset.py fastsim=True year=2018 to run on FastSim MC; note the year is needed for genMaker to pick the right weights
    • There are more options explained inside main_pset.py, and examples for different campaigns in the testing scripts.

Testing

With ./run_tests.sh (actually that's outdated, and you should use python py_run_tests.py), one can test the following campaigns:

When I wrote this sentence, all 14 campaigns worked -- though, with the caveat(s) in the GitHub issues page.

Also, the test script just runs the ntuples and checks that they don't crash. But you should still check branch outputs. Adding another function to diff two sets is a todo.

Finally, for your own mental safety, I highly recommend locally downloading files first, rather than using xrootd while testing, via this script.

Profiling

Details in here.

ProjectMetis details

To make a tarfile for use with Metis, the current command (for 10X+) to execute after setup is

mtarfile lib_CMS4_V10-02-03_1025.tar.xz --xz --xz_level 9 -x "ZZMatrixElement/MELA/data/Pdfdata" "*ZZMatrixElement/MELA/data/*.root"
# note, extract with `tar xf` to detect the compression algorithm automatically

...ignoring some files due to their filesize.

Misc notes