from iminuit import Minuit from probfit import UnbinnedLH, gaussian, Extended from matplotlib import pyplot as plt from numpy.random import randn data = randn(1000) * 2 + 1 ulh = UnbinnedLH(gaussian, data) m = Minuit(ulh, mean=0., sigma=0.5) plt.figure(figsize=(8, 6)) plt.subplot(221) ulh.draw(m) plt.title('Unextended Before') m.migrad() # fit plt.subplot(222) ulh.draw(m) plt.title('Unextended After') #Extended data = randn(2000) * 2 + 1 egauss = Extended(gaussian) ulh = UnbinnedLH(egauss, data, extended=True, extended_bound=(-10., 10.)) m = Minuit(ulh, mean=0., sigma=0.5, N=1800.) plt.subplot(223) ulh.draw(m) plt.title('Extended Before')
# ###Fitting # <codecell> from iminuit import Minuit from probfit import UnbinnedLH, gaussian # <codecell> data = randn(10000) hist(data, bins=100, histtype='step') # <codecell> ulh = UnbinnedLH(gaussian, data) ulh.draw(args=dict(mean=1.2, sigma=0.7)) # <codecell> m = Minuit(ulh, mean=1.2, sigma=0.7) # <codecell> m.migrad() # <codecell> print m.values print m.errors ulh.draw(m)
# <codecell> seed(0) toydata = gen_toy(pdf, 1000,(-10,10), m0=-2, m1=2, s0=1, s1=1, f_0=0.3, quiet=False) # <codecell> inipars= dict(m0=0, m1=0, s0=1, s1=1, f_0=0.5, error_m0=0.1, error_m1=0.1, error_s0=0.1, error_s1=0.1, error_f_0=0.1) # <codecell> # Normal fit uh1= UnbinnedLH(pdf, toydata) m1= Minuit(uh1, print_level=1, **inipars) m1.migrad(); uh1.draw(); print m1.values # <codecell> # Blind one parameter uh2= UnbinnedLH( BlindFunc(pdf, toblind='m1', seedstring='some_random_stuff', width=0.5, signflip=False), toydata) m2= Minuit(uh2, print_level=1, **inipars) m2.migrad(); uh2.draw(); print m2.values # <codecell> # Blind more than one parameter. They will be shifted by the same amount uh3= UnbinnedLH( BlindFunc(pdf, ['m0','m1'], seedstring='some_random_stuff', width=0.5, signflip=False), toydata)
from iminuit import Minuit from probfit import UnbinnedLH, gaussian, Extended from matplotlib import pyplot as plt from numpy.random import randn data = randn(1000)*2 + 1 ulh = UnbinnedLH(gaussian, data) m = Minuit(ulh, mean=0., sigma=0.5) plt.figure(figsize=(8, 6)) plt.subplot(221) ulh.draw(m) plt.title('Unextended Before') m.migrad() # fit plt.subplot(222) ulh.draw(m) plt.title('Unextended After') #Extended data = randn(2000)*2 + 1 egauss = Extended(gaussian) ulh = UnbinnedLH(egauss, data, extended=True, extended_bound=(-10.,10.)) m = Minuit(ulh, mean=0., sigma=0.5, N=1800.) plt.subplot(223) ulh.draw(m) plt.title('Extended Before')