Skip to content
/ order Public

Pythonic class collection that helps you structure external data from LHC / HEP experiments.

License

Notifications You must be signed in to change notification settings

riga/order

Repository files navigation

Documentation status Lint and test Code coverge Package version License PyPI downloads Open in colab Open in binder

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:

Open in colab Open in binder

You can find the full API documentation on readthedocs.

Projects using order

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

About

Pythonic class collection that helps you structure external data from LHC / HEP experiments.

Resources

License

Stars

Watchers

Forks