Nowadays ROOT and PyROOT are de-facto standard tools for performing physics analysis. The Ostap project is a community-driven initiative aiming to provide more user friendly and more intuitive interface to ROOT and PyROOT and extending the existing functionality.
Project started in 2009 from the private collections of python functions used in Kali - framework for calibration of LHCb electromagnetic calorimeter. A lot of functionality is picked from Bender project - python based physics analysis environment used in LHCb experiemnt. Till Autumn 2016 the project was a part of LHCb software suit and with great success has been used for preparation of approximately 60 physics papers. A standalone, LHCb independent version, has appeared at start of 2017
Key features include:
- Very easy manipulations with ROOT and RooFit objects: histograms, trees, datasets, etc
- Very easy interface to RooFit machinery
- Extended set of
models.PDFs
for RooFit - Powerful, pickle-based persistency for object
- Interactive
ostap
analysis environment
- mandatory: ROOT version
<6.22
or>=6.24
, RooFit - highly desirable: numpy
- mandatory for Fast Fourier Transform, used in histogram/function parameterization;
- optional for some other issues, in particular for the prime number treatment;
- optional: scipy
- numerical integration (quadratures, cubatures), root finding, minimization;
ostap
offers home-made replacements, but the native methods fromscipy
are more efficient;
- optional: pathos, dill, multiprocess and ppt
- needed for parallel processing;
ostap
offers a multiprocessing-based replacement with reduced functionality;
- optional: terminaltables
- nice format of tables
- in particular for nice printout for
TTree
,TChain
,RooDataSet
, ... ; ostap
offers a home-made replacement with a bit reduced functionalty.
- nice format of tables
- in particular for nice printout for
- desirable: [more_itertoos]
chunked
stuff is used in parallelization for spliting jobs into chunksostap
offers a home-made replacement
- optional (only for python3,
3.6<=version
) : berkeleydb- python interface to Berkeley DB (
libdb
needs to be installed!)
- python interface to Berkeley DB (
- optional (only for python3,
3.3<=version<3.10
) : bsddb3- python interface to Berkeley DB (
libdb
needs to be installed!)
- python interface to Berkeley DB (
There are several possibilities to start working with Ostap, you can build Ostap on the Linux or lxplus/7, run the docker container and now the Ostap is available on conda and SWAN.
The possible setup options are described here