/fast-carpenter

Helping turn your trees into tables (ie. reads ROOT TTrees, writes summary Pandas DataFrames)

Primary LanguagePythonOtherNOASSERTION

FAST-HEP Carpenter

Turns your trees into tables (ie. reads ROOT TTrees, writes summary Pandas DataFrames)

Actions Status Documentation Status Code style: black

PyPI version PyPI platforms

What is it?

fast-carpenter can:

  • Be controlled using YAML-based config files
  • Define new variables
  • Cut out events or define phase-space "regions"
  • Produce histograms stored as CSV files using multiple weighting schemes
  • Make use of user-defined stages to manipulate the data

Powered by

  • uproot: to load ROOT Trees into memory as numpy arrays
  • fast-flow: to manage the processing config files
  • fast-curator: to orchestrate the lists of datasets to be processed

A tool from the FAST-HEP collaboration.

Installation and usage

Visit the documentation <https://fasthep-carpenter.readthedocs.io/>_ for full details.

Developing this package

This package is compatible with Python >= 3.10

Install the package and dependencies

pip install .[dev]

Running tests

Install the Graphviz exectuable. This can be installed via conda

conda install python-graphviz

Install test dependencies

pip install .[test]

Download test files via the FAST-HEP CLI

pip install "fasthep[dev]"
fasthep download --json tests/data/remote_data.json --destination tests/data/

Run the test suite

python -m pytest