install.sh
.source install.sh
will check out the CMSSW release and NtupleMaker repository, and build everything.cd $CMSSW_BASE/src/CMS3/NtupleMaker/test/
.main_pset.py
cmsRun main_pset.py data=True prompt=True
to run on prompt datacmsRun main_pset.py data=False year=2018
to run on FullSim MC; note the year is needed for genMaker to pick the right weightscmsRun main_pset.py fastsim=True year=2018
to run on FastSim MC; note the year is needed for genMaker to pick the right weightsmain_pset.py
, and examples for different campaigns in the testing scripts.With ./run_tests.sh
(actually that's outdated, and you should
use python py_run_tests.py
), one can test the following campaigns:
/*/*03Feb2017*/MINIAOD
)/*/*RunIISummer16MiniAODv2*/MINIAODSIM
)/*/*Spring16Fast*/MINIAODSIM
)/*/*17Jul2018*/MINIAOD
)/*/*RunIISummer16MiniAODv3*/MINIAODSIM
)/*/*Summer16v3Fast*/MINIAODSIM
)/*/*31Mar2018*/MINIAOD
)/*/*09May2018*/MINIAOD
)/*/*RunIIFall17MiniAODv2*/MINIAODSIM
)/*/*Fall17Fast*/MINIAODSIM
)/*/Run2018D-PromptReco-v2/MINIAOD
)/*/*17Sep2018*/MINIAOD
)/*/*RunIIAutumn18MiniAOD*/MINIAODSIM
)/*/*Fall18Fast*/MINIAODSIM
)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.
Details in here.
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.
cmsRun
options (cmsRun -h
) must be put before the pset or else the VarParsing library intercepts it and crashescmsRun -n 4 main_pset.py ...
) gives best results, but be wary that this can sometimes cause crashes in the subJetMaker (deep tagger stuff)