Backend for columnar, fully orchestrated HEP analyses with pure Python, law and order.
This project is currently in a beta phase. The project setup, suggested workflows, definitions of particular tasks, and the signatures of various helper classes and functions are mostly frozen but could still be subject to changes in the near future. At this point (December 2022), four large-scale analyses based upon columnflow are being developed, and in the process, help test and verify various aspects of its core. The first released version is expected in early 2023. However, if you would like to join early on, contribute or just give it a spin, feel free to get in touch!
Modules, exported shell functions and environment variables might have a prefix CF
or cf
to express their connection to this project.
A couple test tasks are listed below. They might require a valid voms proxy for accessing input data.
For a better overview of the tasks that are triggered by the commands below, checkout the current (yet stylized) task graph.
# clone the project
git clone --recursive [email protected]:uhh-cms/columnflow.git
cd columnflow
# source the setup and store decisions in .setups/dev.sh (arbitrary name)
source setup.sh dev
# index existing tasks once to enable auto-completion for "law run"
law index --verbose
# run your first task
law run cf.ReduceEvents \
--version v1 \
--dataset st_tchannel_t \
--branch 0
# create a plot
# (if "imgcat" is installed for your shell, add ``--view-cmd imgcat``)
law run cf.PlotVariables1D \
--version v1 \
--datasets st_tchannel_t \
--producers example \
--variables jet1_pt \
--categories incl
# create a (test) datacard (CMS-style)
law run cf.CreateDatacards \
--version v1 \
--producers example \
--inference-model example \
--workers 3
- hh2bbtautau: HH → bb𝜏𝜏 analysis with CMS.
- hh2bbww: HH → bbWW analysis with CMS.
- topmass: Top quark mass measurement with CMS.
- mttbar: Search for heavy resonances in ttbar events with CMS.
- analysis playground: A testing playground for HEP analyses.
- Source hosted at GitHub
- Report issues, questions, feature requests on GitHub Issues