Metadata-Version: 2.1
Name: cabinetry
Version: 0.2.3
Summary: design and steer profile likelihood fits
Home-page: https://github.com/alexander-held/cabinetry
Author: Alexander Held
License: BSD 3-Clause
Description: <div align="center"><img src="https://raw.githubusercontent.com/alexander-held/cabinetry/master/docs/_static/cabinetry_logo_small.png" alt="cabinetry logo"></div>
        
        [![CI status](https://github.com/alexander-held/cabinetry/workflows/CI/badge.svg)](https://github.com/alexander-held/cabinetry/actions?query=workflow%3ACI)
        [![Documentation Status](https://readthedocs.org/projects/cabinetry/badge/?version=latest)](https://cabinetry.readthedocs.io/en/latest/?badge=latest)
        [![codecov](https://codecov.io/gh/alexander-held/cabinetry/branch/master/graph/badge.svg)](https://codecov.io/gh/alexander-held/cabinetry)
        [![PyPI version](https://badge.fury.io/py/cabinetry.svg)](https://badge.fury.io/py/cabinetry)
        [![python version](https://img.shields.io/pypi/pyversions/cabinetry.svg)](https://pypi.org/project/cabinetry/)
        [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
        
        [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.4742752.svg)](https://doi.org/10.5281/zenodo.4742752)
        
        `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](https://cds.cern.ch/record/1456844) format can be built by `cabinetry` from instructions in a declarative configuration.
        `cabinetry` makes heavy use of [`pyhf`](https://pyhf.readthedocs.io/) 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`:
        
        ```bash
        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`](https://root.cern/) file reading and visualization:
        
        ```bash
        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`.
        
        ```python
        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](https://cabinetry.readthedocs.io/) and tutorial material in the [cabinetry-tutorials](https://github.com/cabinetry/cabinetry-tutorials) repository.
        `cabinetry` is also described in a paper submitted to vCHEP 2021: [10.5281/zenodo.4627037](https://doi.org/10.5281/zenodo.4627037).
        
        
        ## Acknowledgements
        
        [![NSF-1836650](https://img.shields.io/badge/NSF-1836650-blue.svg)](https://nsf.gov/awardsearch/showAward?AWD_ID=1836650)
        
        This work was supported by the U.S. National Science Foundation (NSF) cooperative agreement [OAC-1836650 (IRIS-HEP)](https://nsf.gov/awardsearch/showAward?AWD_ID=1836650).
        
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: License :: OSI Approved :: BSD License
Classifier: Topic :: Scientific/Engineering
Classifier: Topic :: Scientific/Engineering :: Physics
Requires-Python: >=3.7
Description-Content-Type: text/markdown
Provides-Extra: contrib
Provides-Extra: test
Provides-Extra: docs
Provides-Extra: develop
Provides-Extra: complete
