Skip to main content

design and steer profile likelihood fits

Project description

cabinetry logo

CI status Documentation Status codecov PyPI version python version Code style: black

DOI

cabinetry is a Python library for building and steering binned template fits. It is written with applications in High Energy Physics in mind. cabinetry interfaces many other powerful libraries to make it easy for an analyzer to run their statistical inference pipeline.

Statistical models in HistFactory format can be built by cabinetry from instructions in a declarative configuration. cabinetry makes heavy use of pyhf for statistical inference, and provides additional utilities to help study and disseminate fit results. This includes commonly used visualizations. Due to its modular approach, analyzers are free to use all of cabinetry's functionality or only some pieces. cabinetry can be used for inference and visualization with any pyhf-compatible model, whether it was built with cabinetry or not.

Installation

cabinetry can be installed with pip:

python -m pip install cabinetry

This will only install the minimum requirements for the core part of cabinetry. The following will install additional optional dependencies needed for ROOT file reading and visualization:

python -m pip install cabinetry[contrib]

Hello world

To run the following example, first generate the input files via the script util/create_ntuples.py.

import cabinetry

config = cabinetry.configuration.load("config_example.yml")

# create template histograms
cabinetry.template_builder.create_histograms(config)

# perform histogram post-processing
cabinetry.template_postprocessor.run(config)

# build a workspace
ws = cabinetry.workspace.build(config)

# run a fit
model, data = cabinetry.model_utils.model_and_data(ws)
fit_results = cabinetry.fit.fit(model, data)

# visualize the post-fit model prediction and data
cabinetry.visualize.data_MC(model, data, config=config, fit_results=fit_results)

The above is an abbreviated version of an example included in example.py, which shows how to use cabinetry. It requires additional dependencies obtained with pip install cabinetry[contrib].

Documentation

Find more information in the documentation and tutorial material in the cabinetry-tutorials repository. cabinetry is also described in a paper submitted to vCHEP 2021: 10.5281/zenodo.4627037.

Acknowledgements

NSF-1836650

This work was supported by the U.S. National Science Foundation (NSF) cooperative agreement OAC-1836650 (IRIS-HEP).

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

cabinetry-0.2.3.tar.gz (163.8 kB view details)

Uploaded Source

Built Distribution

cabinetry-0.2.3-py3-none-any.whl (57.6 kB view details)

Uploaded Python 3

File details

Details for the file cabinetry-0.2.3.tar.gz.

File metadata

  • Download URL: cabinetry-0.2.3.tar.gz
  • Upload date:
  • Size: 163.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for cabinetry-0.2.3.tar.gz
Algorithm Hash digest
SHA256 32176ff5fa5f702537f91d2d9c76522ebe93ff51627ea2d6952f4675e99f7fbd
MD5 27375bc796e4e30e433f12b24c9cfedf
BLAKE2b-256 ca318dcf26b63ded82d3590ecbb71d26a800cded93543389d5b312cc67b92b7e

See more details on using hashes here.

File details

Details for the file cabinetry-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: cabinetry-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 57.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.6.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.8.10

File hashes

Hashes for cabinetry-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f1dabe0caaf61e3fadd10a9aca4f6f23edcf1f076599ecea179bb7080d8e538a
MD5 6aab39f878a4211f3dbee8a191cd9834
BLAKE2b-256 292c1213ce7b689af8d92af2664a6b001862f659843540bea7fdc323e417a2a2

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