Skip to content
Cost function builder. For fitting distributions.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Merge pull request #98 from marinang/mm_add_exponential Nov 19, 2018
probfit Fix integrate method in johnsonSU pdf (#100) Mar 5, 2019
tests Fix integrate method in johnsonSU pdf (#100) Mar 5, 2019
tutorial Fix ndof in chisq fit; allow blinding more than one parameter in Blin… Dec 24, 2013
.gitignore Remove C files built from Cython source. Nov 10, 2016
.travis.yml Fix tests Mar 5, 2019
AUTHORS add author list Mar 22, 2013
CHANGELOG update change log for couple previous changes Apr 10, 2013
LICENSE pypi ready repo Dec 27, 2012
MANIFEST prevent compiler optimization on log1p and up the version Sep 14, 2013
README.rst Make matplotlib really only used in plotting functions, so not an ins… Nov 6, 2018



probfit is a set of functions that helps you construct a complex fit. It's intended to be used with iminuit. The tool includes Binned/Unbinned Likelihood estimators, \chi^2 regression, Binned \chi^2 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

Optional dependencies

Getting started

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)

Documentation and Tutorial

  • Documentation
  • The tutorial is an IPython notebook that you can view online here. To run it locally: cd tutorial; ipython notebook --pylab=inline tutorial.ipynb.
  • Developing probfit: see the development page


The package is licensed under the MIT license (open source).

You can’t perform that action at this time.