SkillAgentSearch skills...

Probfit

Cost function builder. For fitting distributions.

Install / Use

/learn @scikit-hep/Probfit
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

.. -- mode: rst --

probfit

.. image:: https://img.shields.io/pypi/v/probfit.svg :target: https://pypi.python.org/pypi/probfit

.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.1477852.svg :target: https://doi.org/10.5281/zenodo.1477852

.. image:: https://github.com/scikit-hep/probfit/actions/workflows/main.yml/badge.svg :target: https://github.com/scikit-hep/probfit/actions/workflows/main.yml

probfit is a set of functions that helps you construct a complex fit. It's intended to be used with iminuit <http://iminuit.readthedocs.org/>_. The tool includes Binned/Unbinned Likelihood estimators, 𝝌² regression, Binned 𝝌² estimator and Simultaneous fit estimator. Various functors for manipulating PDFs such as Normalization and Convolution (with caching) and various built-in functions normally used in B physics are also provided.

Strict dependencies

  • Python <http://docs.python-guide.org/en/latest/starting/installation/>__ (2.7+, 3.5+)
  • NumPy <https://scipy.org/install.html>__
  • iminuit <http://iminuit.readthedocs.org/>_ (<2)

Optional dependencies

  • matplotlib <http://matplotlib.org/>_ for the plotting functions

Getting started

.. code-block:: python

import numpy as np
from iminuit import Minuit
from probfit import UnbinnedLH, gaussian
data = np.random.randn(10000)
unbinned_likelihood = UnbinnedLH(gaussian, data)
minuit = Minuit(unbinned_likelihood, mean=0.1, sigma=1.1)
minuit.migrad()
unbinned_likelihood.draw(minuit)

Documentation and Tutorial

  • Documentation <http://probfit.readthedocs.org/>_
  • The tutorial is an IPython notebook that you can view online here <http://nbviewer.ipython.org/urls/raw.github.com/scikit-hep/probfit/master/tutorial/tutorial.ipynb>_. To run it locally: cd tutorial; ipython notebook --pylab=inline tutorial.ipynb.
  • Developing probfit: see the development page <http://probfit.readthedocs.io/en/latest/development.html>_

License

The package is licensed under the MIT <http://opensource.org/licenses/MIT>_ license (open source).

View on GitHub
GitHub Stars50
CategoryDevelopment
Updated1mo ago
Forks30

Languages

Jupyter Notebook

Security Score

95/100

Audited on Feb 8, 2026

No findings