Skip to main content

A high-level HEP analysis library for ROOT::RDataFrame

Project description

Bamboo: A high-level HEP analysis library for ROOT::RDataFrame

Documentation Status

The ROOT::RDataFrame class provides an efficient and flexible way to process per-event information (stored in a TTree) and e.g. aggregate it into histograms. With the typical pattern of storing object arrays as a structure of arrays (variable-sized branches with a common prefix in the names and length), the expressions that are typically needed for a complete analysis quickly become cumbersome to write, with indices to match, repeated sub-expressions etc. -

Bamboo attempts to solve this problem by automatically constructing lightweight python wrappers based on the structure of the TTree, which allow to construct such expression with high-level code, similar to the language that is commonly used to discuss and describe them. By constructing an object representation of the expression, a few powerful operations can be used to compose complex expressions.

Building selections, plots etc. with such expressions is analysis-specific, but the mechanics of loading data samples, processing them locally or on a batch system, combining the outputs for different samples in an overview etc. is very similar over a broad range of use cases. Therefore a common implementation of these is provided, such that the analyst only needs to provide a subclass with their selection and plot definitions, and a configuration file with a list of samples, and instructions how to display them.

Documentation

The HTML documentation (with a longer introduction, installation instructions, recipes for common tasks and an API reference of the classes and methdos) is available here or can be generated from the source code repository with

python setup.py build
python setup.py build_sphinx

(the output will be placed in doc/build/html).

Development

Bamboo is currently at the beta stage, which means that a first version of most of the planned features is there and it starts to be usable, but some things are missing, incomplete, or buggy - your feedback is essential for fixing those, so please watch out, check, feel free to add tests if something is not covered yet, and do not hesitate to open an issue or ask in the mattermost channel at CP3 or CERN/CMS in case of doubt.

Project details


Download files

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

Source Distribution

bamboo-hep-1.0.0rc1.tar.gz (1.8 MB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page