Skip to content

elaird/supy

Repository files navigation

Build Status

License

GPLv3

Quick Start

  1. Set up pyROOT:
  • use a CMSSW area: cd /somewhere/CMSSW_4_2_8/src && cmsenv
  1. Clone the repository: git clone git:https://github.com/elaird/supy.git # or, if you have forked it, git clone git:https://github.com/your_username/supy.git cd supy

  2. Add the directory containing supy/ to your PYTHONPATH; optionally

add the supy/bin directory to your PATH:

PYTHONPATH=$PYTHONPATH:`pwd`/.. PATH=$PATH:`pwd`/bin

  1. Run the tests and/or example : ./bin/supy-test ./bin/supy examples/one.py --loop 1

  2. Write your own configuration.py and analysis.

Brief Description

To be written.

Dependencies

ROOT (>=5.27.06) and python (2.x, x>=6) are required; CMSSW is not required.
These are useful pages for setting up and learning pyROOT: https://root.cern.ch/drupal/content/how-use-use-python-pyroot-interpreter https://wlav.web.cern.ch/wlav/pyroot/

Gotchas

  • TTrees with multiple leaves per branch are not yet supported.

  • TTrees with a leaf "weight" will have that weight applied automatically.

  • pyROOT does not support leaves whose names collide with the names of TChain member functions

  • Creating a Lorentz vector every event is slow. As a workaround, use utils.LorentzV (see calculables.Jet.SumP4 for an example).

  • Iterating through a std::map<string, bool> is slow. Consider using a cache (see steps.Trigger.Counts for an example).

Bugs

Please report problems at https://github.com/elaird/supy/issues

About

analyze events stored in TTrees in parallel

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages