Skip to main content

F.A.S.T. package for summarizing ROOT TTrees

Project description

pypi package pipeline status coverage report

fast-carpenter

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

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:

  • AlphaTwirl (presently): to run the dataset splitting
  • Atuproot: to adapt AlphaTwirl to use uproot
  • 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
  • coffee: to help the developer(s) write code

Installation

Can be installed from pypi:

pip install --user fast-carpenter

or if you want to be able to edit code in this repo:

pip install --user -e git+https://gitlab.cern.ch/fast-hep/public/fast-carpenter.git#egg=fast_carpenter --src .

Note that to use this repository and the main fast_carpenter command, you normally shouldn't need to be able to edit this codebase; in most instances the full analysis should be describable with just a config file, and in some cases custom, analysis-specific stages to create more tricky variables for example.

Also note that if you install this with pip, the main executable, fast_carpenter, will only be available everywhere if include the directory ~/.local/bin in your PATH variable.

Documentation

Basic usage:

  1. Build a description of the datasets you wish to process using the fast_curator command from the fast-curator package.
  2. Write a description of what you want to do with your data (see documentation below).
  3. Run things:
fast_carpenter datasets.yaml processing.yaml

You can use the built-in help as well for more info:

fast_carpenter --help

Talk:

which partially act as documentation:

  1. IRIS-HEP 4th March 2019

Example analysis

The fast_cms_public_tutorial shows an example analysis that uses this package.

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

fast-carpenter-0.7.2.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

fast_carpenter-0.7.2-py2.py3-none-any.whl (18.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file fast-carpenter-0.7.2.tar.gz.

File metadata

  • Download URL: fast-carpenter-0.7.2.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for fast-carpenter-0.7.2.tar.gz
Algorithm Hash digest
SHA256 b7e218de9a35d17ff649bc129f423ee22309aaa086498c003c66266ab2370efa
MD5 42f4a1f0cc1fd342d9dc8b21a9807d10
BLAKE2b-256 913ad1fa2fa6a3806789511cc0d74a8cabb3e5cf2d0f7746aca125548a8a01e2

See more details on using hashes here.

File details

Details for the file fast_carpenter-0.7.2-py2.py3-none-any.whl.

File metadata

  • Download URL: fast_carpenter-0.7.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 18.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2

File hashes

Hashes for fast_carpenter-0.7.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c63c3b5e626e213f76ef87f48057124b8c96d8c9afe62f49e2f9a1d72bbfd153
MD5 6f38be96f495ecc02004d416a01dfcb2
BLAKE2b-256 7f035bb0a584be7de908e2fff24814eab5664a282aa32517c24f9eadd9d82f9c

See more details on using hashes here.

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