Pythonic class collection that helps you structure external data from LHC / HEP experiments.
Project description
If you're designing a high-energy physics analysis (e.g. with data recorded by an LHC experiment at CERN, manual bookkeeping of external data can get complicated quite fast. order provides a pythonic class collection that helps you structuring
- analyses,
- MC campaigns,
- datasets,
- physics process and cross sections,
- channels,
- categories,
- variables, and
- systematic shifts.
Getting started
See the intro.ipynb notebook for an introduction to the most important classes and an example setup of a small analysis. You can also run the notebook interactively on colab or binder:
You can find the full API documentation on readthedocs.
Projects using order
- uhh-cms/cmsdb
- tba
Installation and dependencies
Install order via pip:
pip install order
The only dependencies are scinum and six (Python 2 support that will be dropped soon), which are installed with the above command.
Contributing and testing
If you like to contribute, feel free to open a pull request 🎉. Just make sure to add new test cases and run them via:
python -m unittest tests
In general, tests should be run for Python 2.7, 3.6 - 3.11. To run tests in a docker container, do
# run the tests
./tests/docker.sh python:3.9
# or interactively by adding a flag "1" to the command
./tests/docker.sh python:3.9 1
> pip install -r requirements.txt
> python -m unittest tests
In addition, PEP 8 compatibility should be checked with flake8:
flake8 order tests setup.py
Development
- Source hosted at GitHub
- Report issues, questions, feature requests on GitHub Issues
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.