Skip to main content
Join the official Python Developers Survey 2018 and win valuable prizes: Start the survey!

Improving PyROOT for better productivity.

Project description


package version pipeline status coverage report License: GPL v3 Documentation Status python version

Improving PyROOT for better productivity.

Collection of utilities are organized into subpackages::

  • mathutils:

    • asymvar: class for variable with asymmetric-error, inspired from uncertainties.ufloat.
    • Eff, EffU, EffU_unguard: functions to compute efficiencies with Clopper-Pearson uncertainty.
    • weighted_average, weighted_harmonic_average: when a simple average is not enough.
    • combine_fully_correlated, combine_uncorrelated, combine_BLUE: for combining multiple observables with uncertainty into one, given choices of correlation. For BLUE (Best Linear Unbiased Estimator), see Valassi, 2013.
  • iouils

    • import_tree to quickly load TTree from (multiple) TFile overloaded for different source types (local, ganga, eos, xrootd, ...).
  • tmvautils

    • TMVA_Adapter to help setup TMVA.Reader variables, and return TTree of mva-response weights.

As well as miscellaneous monkey-patching on ROOT and uncertainties for more methods::

  • ROOT:

    • Misc conversion to/from ROOT (TH,TGraph,RooWorkspace,RooFitResult,...) and pandas (Series, DataFrame).
    • TFile.slice_tree to extract TTree into smaller one.
    • TTree.drop to make index-unique TTree.
    • TH1.vlookup, TH2.vlookup: like in Microsoft Excel, to retrive value in a bin given point(s) on the axis.
    • TMultiGraph.brazillian: for the upper limits plot.
  • uncertainties:

    • class var, based on ufloat but ready-made for statistical (Poisson) error.
    • Additional methods on ufloat: rerr, upperlim, low, high, interval, rounding_PDG
    • More methods involving error tag: tags, get_error, get_rerr

See the docstring from module index for more details.


It's available on pip: pip install pyrootck

Dependency: uncertainties, pandas, root_numpy, pyroot_zen, PythonCK


This packacge was written and used during my PhD in 2013-2017 at EPFL (Lausanne) and LHCb collaboration (CERN), for the work in Z->tau tau cross-section measurement and H->mu tau searches at LHCb (8TeV).

I hope it can be of a good use for future analysis...

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
PyrootCK-1.0.1-py2.py3-none-any.whl (54.6 kB) Copy SHA256 hash SHA256 Wheel py2.py3 Apr 14, 2018
PyrootCK-1.0.1.tar.gz (1.2 MB) Copy SHA256 hash SHA256 Source None Apr 14, 2018

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page