Skip to content

Latest commit

 

History

History
91 lines (55 loc) · 3.47 KB

README.rst

File metadata and controls

91 lines (55 loc) · 3.47 KB

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 coffea 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/