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.
- matplotlib for the plotting functions
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
- 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).