Skip to content

Basic tools and wrappers for enabling not-too-alien syntax when running columnar Collider HEP analysis.

License

Notifications You must be signed in to change notification settings

mat-adamec/coffea

 
 

coffea

https://travis-ci.com/CoffeaTeam/coffea.svg?branch=master https://ci.appveyor.com/api/projects/status/co4wg4074jal3klq/branch/master?svg=true

Basic tools and wrappers for enabling not-too-alien syntax when running columnar Collider HEP analysis.

coffea is currently organized into several sub-modules with specific purposes.

  1. analysis_objects - This package contains definitions of physics objects casted in the language of JaggedArrays
  2. arrays - Another take on making analysis objects with directly decorated LorentzVector objects instead of wrapped LorentzVectors.
  3. hist - A well-featured histogramming and plotting sub-package.
  4. jetmet_tools - CMS-specific tools for correcting Jets and Missing Energy
  5. lookup_tools - This package manages importing corrections and scale factors, and provides a unified interface for evaluating those corrections on physics objects.
  6. lumi tools - A CMS-specific package for parsing luminosity database files to derive integrated luminosity and good run lists.
  7. processor - An interface for defining and running analyses in a portable way across a variety of scale-out mechanisms.
  8. striped - This package defines transformations from the raw striped database into JaggedArrays and JaggedCandidateArrays, but is somewhat deprecated.

For further information please see the complete package index in our documentation.

Installation

Install coffea like any other Python package:

pip install coffea

or similar (use sudo, --user, virtualenv, or pip-in-conda if you wish).

Strict dependencies:

The following are installed automatically when you install uproot with pip:

  • numpy (1.15+)
  • awkward-array to manipulate data from non-flat TTrees, such as jagged arrays (part of Scikit-HEP)
  • uproot-methods to allow expressions of things as lorentz vectors
  • numba just-in-time compilation of python functions
  • scipy for statistical functions
  • matplitlib as a plotting backend
  • uproot for interacting with ROOT files
  • tqdm

Tutorial

This library is installed by people doing collider HEP analysis in the FNAL CMS group (so far).

Reference documentation

Please read our documentation at: https://coffeateam.github.io/coffea/

About

Basic tools and wrappers for enabling not-too-alien syntax when running columnar Collider HEP analysis.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 81.9%
  • Jupyter Notebook 18.1%