14from __future__
import print_function
22x = ROOT.RooRealVar(
"x",
"x", 0, 10)
26mean = ROOT.RooRealVar(
"mean",
"mean of gaussians", 5)
27sigma1 = ROOT.RooRealVar(
"sigma1",
"width of gaussians", 0.5)
28sigma2 = ROOT.RooRealVar(
"sigma2",
"width of gaussians", 1)
30sig1 = ROOT.RooGaussian(
"sig1",
"Signal component 1", x, mean, sigma1)
31sig2 = ROOT.RooGaussian(
"sig2",
"Signal component 2", x, mean, sigma2)
34a0 = ROOT.RooRealVar(
"a0",
"a0", 0.5, 0.0, 1.0)
35a1 = ROOT.RooRealVar(
"a1",
"a1", 0.2, 0.0, 1.0)
36bkg = ROOT.RooChebychev(
"bkg",
"Background", x, [a0, a1])
39sig1frac = ROOT.RooRealVar(
"sig1frac",
"fraction of component 1 in signal", 0.8, 0.0, 1.0)
40sig = ROOT.RooAddPdf(
"sig",
"Signal", [sig1, sig2], [sig1frac])
43bkgfrac = ROOT.RooRealVar(
"bkgfrac",
"fraction of background", 0.5, 0.0, 1.0)
44model = ROOT.RooAddPdf(
"model",
"g1+g2+a", [bkg, sig], [bkgfrac])
49d = model.generate({x}, 10000)
57ll = ROOT.RooLinkedList()
58model.chi2FitTo(dh, ll)
66dsmall = d.reduce(ROOT.RooFit.EventRange(1, 100))
67dhsmall = dsmall.binnedClone()
68chi2_lowstat = model.createChi2(dhsmall)
69print(chi2_lowstat.getVal())