
Security News
NVD Concedes Inability to Keep Pace with Surging CVE Disclosures in 2025
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
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.
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:
python -m pip install cabinetry[contrib]
To run the following example, first generate the input files via the script utils/create_ntuples.py
.
import cabinetry
config = cabinetry.configuration.load("config_example.yml")
# create template histograms
cabinetry.templates.build(config)
# perform histogram post-processing
cabinetry.templates.postprocess(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
prediction_postfit = cabinetry.model_utils.prediction(model, fit_results=fit_results)
cabinetry.visualize.data_mc(prediction_postfit, data, config=config)
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]
.
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.
This work was supported by the U.S. National Science Foundation (NSF) cooperative agreement OAC-1836650 (IRIS-HEP).
FAQs
design and steer profile likelihood fits
We found that cabinetry demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Security experts warn that recent classification changes obscure the true scope of the NVD backlog as CVE volume hits all-time highs.
Security Fundamentals
Attackers use obfuscation to hide malware in open source packages. Learn how to spot these techniques across npm, PyPI, Maven, and more.
Security News
Join Socket for exclusive networking events, rooftop gatherings, and one-on-one meetings during BSidesSF and RSA 2025 in San Francisco.