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)