cabinetry is a Python package to build and steer (profile likelihood) template fits.
It interfaces libraries developed within IRIS-HEP and the wider HEP Python ecosystem to make it easier for an analyzer to run their statistical inference pipeline.
The code can be found on GitHub: scikit-hep/cabinetry, while documentation is provided on readthedocs.
An example notebook runs through Binder to see
cabinetry in action.
Many analyses at the LHC use the
ROOT implementation of HistFactory or the newer pythonic implementation pyhf to construct their statistical model.
These models are built from template histograms.
It is the responsibility of the analyzers to define the event selection and variables of interest to fill the multitude of histograms required, including various systematic variations.
This task is well suited for automation, and tools like
TRExFitter have been developed to address this need.
Those tools were designed to work with the
ROOT implementation of HistFactory, and while they don’t have a shared declarative specification, there are many commonalities.
cabinetry effort is a point of convergence for projects in the Analysis Systems focus area, and brings together many of the tools IRIS-HEP is developing.
Analyzers can use the
cabinetry library to construct their statistical models and to perform inference with them.
Models are built from a declarative specification, which concisely summarizes the information needed to create all required template histograms and assemble them into a statistical model.
The execution of the required steps to construct a model is steered by
cabinetry and makes use of libraries such as
cabinetry also provides functionality to perform inference and study fit results, including common types of associated visualizations.
cabinetry is performed via pyhf.
cabinetry in the IRIS-HEP ecosystem
The following image shows the final stages of an analysis: processing of columnar data to construct a statistical model, inference, and possible re-use and preservation. It shows examples of connections to other packages developed in IRIS-HEP and the wider ecosystem.
The poster below provides another look at final stages of an analysis. It describes the steps involved in the chain, and how they connect to other IRIS-HEP focus areas.
- 6 Jul 2021 - "Binned template fits with cabinetry", Alexander Held, PyHEP 2021 Workshop
- 19 May 2021 - "Building and steering template fits with cabinetry", Alexander Held, 25th International Conference on Computing in High Energy & Nuclear Physics
- 25 Feb 2021 - "The cabinetry library", Alexander Held, ATLAS Statistics Forum Meeting
- 26 Oct 2020 - "Template-based Fitting: cabinetry", Alexander Held, IRIS-HEP Future Analysis Systems and Facilities Blueprint Workshop
- 27 May 2020 - "Cabinetry introduction", Alexander Held, 2020 IRIS-HEP Team Retreat
- 12 Mar 2020 - "pyhf and thoughts about analysis workflow", Alexander Held, ATLAS Statistics Committee Meeting
- 27 Feb 2020 - "Rethinking final analysis stages (poster)", Alexander Held, IRIS-HEP Poster Session
- 29 Oct 2019 - "Harmonizing statistics tools - ideas", Alexander Held, ATLAS Statistics Committee Meeting
- 19 Jun 2019 - "Template Fits: HistFitter / TRExFitter", Alexander Held, Analysis Systems Topical Meeting
- Publishing statistical models: Getting the most out of particle physics experiments, K. Cranmer et. al., arXiv 2109.04981 (10 Sep 2021) [1 citation].
- Building and steering template fits with cabinetry, K. Cranmer, A. Held DOI: 10.5281/zenodo.4627038 (22 Mar 2021).