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 estimator, \chi^2 regression, Binned \chi^2 estimator and Simultaneous fit estimator. Various functors for manipulating PDF such as Normalization and Convolution(with caching) and various builtin functions normally used in B physics is also provided.
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)
- MIT license (open source)
- 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.
- Dependencies:
- iminuit
- numpy
- matplotlib (optional, for plotting)