19 x = ROOT.RooRealVar(
"x",
"x", -10, 10)
21 m = ROOT.RooRealVar(
"m",
"m", 0, -10, 10)
22 s = ROOT.RooRealVar(
"s",
"s", 2, 1, 50)
23 sig = ROOT.RooGaussian(
"sig",
"sig", x, m, s)
25 m2 = ROOT.RooRealVar(
"m2",
"m2", -1, -10, 10)
26 s2 = ROOT.RooRealVar(
"s2",
"s2", 6, 1, 50)
27 bkg = ROOT.RooGaussian(
"bkg",
"bkg", x, m2, s2)
29 fsig = ROOT.RooRealVar(
"fsig",
"fsig", 0.33, 0, 1)
30 model = ROOT.RooAddPdf(
"model",
"model", ROOT.RooArgList(
31 sig, bkg), ROOT.RooArgList(fsig))
35 d = model.generateBinned(ROOT.RooArgSet(x), 1000)
38 r = model.fitTo(d, ROOT.RooFit.Save())
44 frame = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
45 "P.d.f with visualized 1-sigma error band"))
65 model.plotOn(frame, ROOT.RooFit.VisualizeError(
66 r, 1), ROOT.RooFit.FillColor(ROOT.kOrange))
80 ROOT.RooFit.VisualizeError(
84 ROOT.RooFit.DrawOption(
"L"),
85 ROOT.RooFit.LineWidth(2),
86 ROOT.RooFit.LineColor(
93 frame, ROOT.RooFit.VisualizeError(
94 r, 1), ROOT.RooFit.FillColor(
95 ROOT.kOrange), ROOT.RooFit.Components(
"bkg"))
98 ROOT.RooFit.VisualizeError(
102 ROOT.RooFit.DrawOption(
"L"),
103 ROOT.RooFit.LineWidth(2),
104 ROOT.RooFit.LineColor(
106 ROOT.RooFit.Components(
"bkg"),
107 ROOT.RooFit.LineStyle(
112 model.plotOn(frame, ROOT.RooFit.Components(
"bkg"),
113 ROOT.RooFit.LineStyle(ROOT.kDashed))
121 frame2 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
122 "Visualization of 2-sigma partial error from (m,m2)"))
136 model.plotOn(frame2, ROOT.RooFit.VisualizeError(
137 r, ROOT.RooArgSet(m, m2), 2), ROOT.RooFit.FillColor(ROOT.kCyan))
138 model.plotOn(frame2, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
139 r, ROOT.RooArgSet(m, m2), 2), ROOT.RooFit.FillColor(ROOT.kCyan))
142 model.plotOn(frame2, ROOT.RooFit.Components(
"bkg"),
143 ROOT.RooFit.LineStyle(ROOT.kDashed))
147 frame3 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
148 "Visualization of 2-sigma partial error from (s,s2)"))
152 model.plotOn(frame3, ROOT.RooFit.VisualizeError(
153 r, ROOT.RooArgSet(s, s2), 2), ROOT.RooFit.FillColor(ROOT.kGreen))
154 model.plotOn(frame3, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
155 r, ROOT.RooArgSet(s, s2), 2), ROOT.RooFit.FillColor(ROOT.kGreen))
158 model.plotOn(frame3, ROOT.RooFit.Components(
"bkg"),
159 ROOT.RooFit.LineStyle(ROOT.kDashed))
163 frame4 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
164 "Visualization of 2-sigma partial error from fsig"))
168 model.plotOn(frame4, ROOT.RooFit.VisualizeError(
169 r, ROOT.RooArgSet(fsig), 2), ROOT.RooFit.FillColor(ROOT.kMagenta))
170 model.plotOn(frame4, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
171 r, ROOT.RooArgSet(fsig), 2), ROOT.RooFit.FillColor(ROOT.kMagenta))
174 model.plotOn(frame4, ROOT.RooFit.Components(
"bkg"),
175 ROOT.RooFit.LineStyle(ROOT.kDashed))
178 c = ROOT.TCanvas(
"rf610_visualerror",
"rf610_visualerror", 800, 800)
181 ROOT.gPad.SetLeftMargin(0.15)
182 frame.GetYaxis().SetTitleOffset(1.4)
185 ROOT.gPad.SetLeftMargin(0.15)
186 frame2.GetYaxis().SetTitleOffset(1.6)
189 ROOT.gPad.SetLeftMargin(0.15)
190 frame3.GetYaxis().SetTitleOffset(1.6)
193 ROOT.gPad.SetLeftMargin(0.15)
194 frame4.GetYaxis().SetTitleOffset(1.6)
197 c.SaveAs(
"rf610_visualerror.png")