23x = ROOT.RooRealVar(
"x",
"x", 0, 10)
28mean = ROOT.RooRealVar(
"mean",
"mean of gaussians", 5, 0, 10)
29sigma1 = ROOT.RooRealVar(
"sigma1",
"width of gaussians", 0.5)
30sigma2 = ROOT.RooRealVar(
"sigma2",
"width of gaussians", 1)
32sig1 = ROOT.RooGaussian(
"sig1",
"Signal component 1", x, mean, sigma1)
33sig2 = ROOT.RooGaussian(
"sig2",
"Signal component 2", x, mean, sigma2)
36a0 = ROOT.RooRealVar(
"a0",
"a0", 0.5, 0., 1.)
37a1 = ROOT.RooRealVar(
"a1",
"a1", -0.2, -1, 1.)
38bkg = ROOT.RooChebychev(
"bkg",
"Background", x, ROOT.RooArgList(a0, a1))
41sig1frac = ROOT.RooRealVar(
42 "sig1frac",
"fraction of component 1 in signal", 0.8, 0., 1.)
44 "sig",
"Signal", ROOT.RooArgList(sig1, sig2), ROOT.RooArgList(sig1frac))
47nbkg = ROOT.RooRealVar(
48 "nbkg",
"number of background events, ", 150, 0, 1000)
49nsig = ROOT.RooRealVar(
"nsig",
"number of signal events", 150, 0, 1000)
50model = ROOT.RooAddPdf(
51 "model",
"g1+g2+a", ROOT.RooArgList(bkg, sig), ROOT.RooArgList(nbkg, nsig))
71mcstudy = ROOT.RooMCStudy(model, ROOT.RooArgSet(x), ROOT.RooFit.Binned(ROOT.kTRUE), ROOT.RooFit.Silence(), ROOT.RooFit.Extended(),
72 ROOT.RooFit.FitOptions(ROOT.RooFit.Save(ROOT.kTRUE), ROOT.RooFit.PrintEvalErrors(0)))
78mcstudy.generateAndFit(1000)
85frame1 = mcstudy.plotParam(mean, ROOT.RooFit.Bins(40))
86frame2 = mcstudy.plotError(mean, ROOT.RooFit.Bins(40))
87frame3 = mcstudy.plotPull(mean, ROOT.RooFit.Bins(
88 40), ROOT.RooFit.FitGauss(ROOT.kTRUE))
91frame4 = mcstudy.plotNLL(ROOT.RooFit.Bins(40))
94hh_cor_a0_s1f = ROOT.RooAbsData.createHistogram(mcstudy.fitParDataSet(),
95 "hh", a1, ROOT.RooFit.YVar(sig1frac))
96hh_cor_a0_a1 = ROOT.RooAbsData.createHistogram(mcstudy.fitParDataSet(),
97 "hh", a0, ROOT.RooFit.YVar(a1))
100corrHist000 = mcstudy.fitResult(0).correlationHist(
"c000")
101corrHist127 = mcstudy.fitResult(127).correlationHist(
"c127")
102corrHist953 = mcstudy.fitResult(953).correlationHist(
"c953")
105ROOT.gStyle.SetPalette(1)
106ROOT.gStyle.SetOptStat(0)
107c = ROOT.TCanvas(
"rf801_mcstudy",
"rf801_mcstudy", 900, 900)
110ROOT.gPad.SetLeftMargin(0.15)
111frame1.GetYaxis().SetTitleOffset(1.4)
114ROOT.gPad.SetLeftMargin(0.15)
115frame2.GetYaxis().SetTitleOffset(1.4)
118ROOT.gPad.SetLeftMargin(0.15)
119frame3.GetYaxis().SetTitleOffset(1.4)
122ROOT.gPad.SetLeftMargin(0.15)
123frame4.GetYaxis().SetTitleOffset(1.4)
126ROOT.gPad.SetLeftMargin(0.15)
127hh_cor_a0_s1f.GetYaxis().SetTitleOffset(1.4)
128hh_cor_a0_s1f.Draw(
"box")
130ROOT.gPad.SetLeftMargin(0.15)
131hh_cor_a0_a1.GetYaxis().SetTitleOffset(1.4)
132hh_cor_a0_a1.Draw(
"box")
134ROOT.gPad.SetLeftMargin(0.15)
135corrHist000.GetYaxis().SetTitleOffset(1.4)
136corrHist000.Draw(
"colz")
138ROOT.gPad.SetLeftMargin(0.15)
139corrHist127.GetYaxis().SetTitleOffset(1.4)
140corrHist127.Draw(
"colz")
142ROOT.gPad.SetLeftMargin(0.15)
143corrHist953.GetYaxis().SetTitleOffset(1.4)
144corrHist953.Draw(
"colz")
146c.SaveAs(
"rf801_mcstudy.png")
150ROOT.gDirectory.Add(mcstudy)