Giter Club home page Giter Club logo

cms3ntupletools's Introduction

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:

  • 2016
    • 80X MiniAODv2 Re-reco Data (/*/*03Feb2017*/MINIAOD)
    • 80X MiniAODv2 MC (/*/*RunIISummer16MiniAODv2*/MINIAODSIM)
    • 80X FastSim MC (/*/*Spring16Fast*/MINIAODSIM)
    • 94X MiniAODv3 Re-reco Data (/*/*17Jul2018*/MINIAOD)
    • 94X MiniAODv3 MC (/*/*RunIISummer16MiniAODv3*/MINIAODSIM)
    • 94X MiniAODv3 FastSim MC (/*/*Summer16v3Fast*/MINIAODSIM)
  • 2017
    • Re-reco Data (/*/*31Mar2018*/MINIAOD)
    • Re-reco Data EraF (/*/*09May2018*/MINIAOD)
    • MiniAODv2 MC (/*/*RunIIFall17MiniAODv2*/MINIAODSIM)
    • MiniAODv2 FastSim MC (/*/*Fall17Fast*/MINIAODSIM)
  • 2018
    • Prompt-reco Data (/*/Run2018D-PromptReco-v2/MINIAOD)
    • Re-reco Data (/*/*17Sep2018*/MINIAOD)
    • MiniAODv1 MC (/*/*RunIIAutumn18MiniAOD*/MINIAODSIM)
    • MiniAODv1 FastSim MC (/*/*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.

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 "JHUGenMELA/MELA/data/Pdfdata" "*JHUGenMELA/MELA/data/*.root"
# note, extract with `tar xf` to detect the compression algorithm automatically

...ignoring some files due to their filesize.

Misc notes

  • cmsRun options (cmsRun -h) must be put before the pset or else the VarParsing library intercepts it and crashes
  • Don't be alarmed if it takes a while to finish processing the first event (see notes in here)
  • Locally, 4 threads (cmsRun -n 4 main_pset.py ...) gives best results, but be wary that this can sometimes cause crashes in the subJetMaker (deep tagger stuff)

cms3ntupletools's People

Contributors

aminnj avatar bjmarsh avatar bsathian avatar cerati avatar cwelke avatar dpgilbert avatar fgolf avatar gzevi avatar haweber avatar jgran avatar kelleyrw avatar mderdzinski avatar mialiu149 avatar olivito avatar rafaellopesdesa avatar sergojin avatar usarica avatar vimartin avatar wsicheng avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.