19 x = ROOT.RooRealVar(
"x",
"x", 0, 10)
24 mean = ROOT.RooRealVar(
"mean",
"mean of gaussians", 5, 0, 10)
25 sigma1 = ROOT.RooRealVar(
"sigma1",
"width of gaussians", 0.5)
26 sigma2 = ROOT.RooRealVar(
"sigma2",
"width of gaussians", 1)
28 sig1 = ROOT.RooGaussian(
"sig1",
"Signal component 1", x, mean, sigma1)
29 sig2 = ROOT.RooGaussian(
"sig2",
"Signal component 2", x, mean, sigma2)
32 a0 = ROOT.RooRealVar(
"a0",
"a0", 0.5, 0., 1.)
33 a1 = ROOT.RooRealVar(
"a1",
"a1", -0.2, -1, 1.)
34 bkg = ROOT.RooChebychev(
"bkg",
"Background", x, ROOT.RooArgList(a0, a1))
37 sig1frac = ROOT.RooRealVar(
38 "sig1frac",
"fraction of component 1 in signal", 0.8, 0., 1.)
40 "sig",
"Signal", ROOT.RooArgList(sig1, sig2), ROOT.RooArgList(sig1frac))
43 nbkg = ROOT.RooRealVar(
44 "nbkg",
"number of background events, ", 150, 0, 1000)
45 nsig = ROOT.RooRealVar(
"nsig",
"number of signal events", 150, 0, 1000)
46 model = ROOT.RooAddPdf(
47 "model",
"g1+g2+a", ROOT.RooArgList(bkg, sig), ROOT.RooArgList(nbkg, nsig))
67 mcstudy = ROOT.RooMCStudy(
72 ROOT.RooFit.Silence(),
73 ROOT.RooFit.Extended(),
74 ROOT.RooFit.FitOptions(
77 ROOT.RooFit.PrintEvalErrors(0)))
83 mcstudy.generateAndFit(1000)
90 frame1 = mcstudy.plotParam(mean, ROOT.RooFit.Bins(40))
91 frame2 = mcstudy.plotError(mean, ROOT.RooFit.Bins(40))
92 frame3 = mcstudy.plotPull(mean, ROOT.RooFit.Bins(
93 40), ROOT.RooFit.FitGauss(ROOT.kTRUE))
96 frame4 = mcstudy.plotNLL(ROOT.RooFit.Bins(40))
99 hh_cor_a0_s1f = ROOT.RooAbsData.createHistogram(
100 mcstudy.fitParDataSet(),
"hh", a1, ROOT.RooFit.YVar(sig1frac))
101 hh_cor_a0_a1 = ROOT.RooAbsData.createHistogram(mcstudy.fitParDataSet(),
102 "hh", a0, ROOT.RooFit.YVar(a1))
105 corrHist000 = mcstudy.fitResult(0).correlationHist(
"c000")
106 corrHist127 = mcstudy.fitResult(127).correlationHist(
"c127")
107 corrHist953 = mcstudy.fitResult(953).correlationHist(
"c953")
110 ROOT.gStyle.SetPalette(1)
111 ROOT.gStyle.SetOptStat(0)
112 c = ROOT.TCanvas(
"rf801_mcstudy",
"rf801_mcstudy", 900, 900)
115 ROOT.gPad.SetLeftMargin(0.15)
116 frame1.GetYaxis().SetTitleOffset(1.4)
119 ROOT.gPad.SetLeftMargin(0.15)
120 frame2.GetYaxis().SetTitleOffset(1.4)
123 ROOT.gPad.SetLeftMargin(0.15)
124 frame3.GetYaxis().SetTitleOffset(1.4)
127 ROOT.gPad.SetLeftMargin(0.15)
128 frame4.GetYaxis().SetTitleOffset(1.4)
131 ROOT.gPad.SetLeftMargin(0.15)
132 hh_cor_a0_s1f.GetYaxis().SetTitleOffset(1.4)
133 hh_cor_a0_s1f.Draw(
"box")
135 ROOT.gPad.SetLeftMargin(0.15)
136 hh_cor_a0_a1.GetYaxis().SetTitleOffset(1.4)
137 hh_cor_a0_a1.Draw(
"box")
139 ROOT.gPad.SetLeftMargin(0.15)
140 corrHist000.GetYaxis().SetTitleOffset(1.4)
141 corrHist000.Draw(
"colz")
143 ROOT.gPad.SetLeftMargin(0.15)
144 corrHist127.GetYaxis().SetTitleOffset(1.4)
145 corrHist127.Draw(
"colz")
147 ROOT.gPad.SetLeftMargin(0.15)
148 corrHist953.GetYaxis().SetTitleOffset(1.4)
149 corrHist953.Draw(
"colz")
151 c.SaveAs(
"rf801_mcstudy.png")
155 ROOT.gDirectory.Add(mcstudy)