18x = ROOT.RooRealVar(
"x",
"x", -10, 10)
20m = ROOT.RooRealVar(
"m",
"m", 0, -10, 10)
21s = ROOT.RooRealVar(
"s",
"s", 2, 1, 50)
22sig = ROOT.RooGaussian(
"sig",
"sig", x, m, s)
24m2 = ROOT.RooRealVar(
"m2",
"m2", -1, -10, 10)
25s2 = ROOT.RooRealVar(
"s2",
"s2", 6, 1, 50)
26bkg = ROOT.RooGaussian(
"bkg",
"bkg", x, m2, s2)
28fsig = ROOT.RooRealVar(
"fsig",
"fsig", 0.33, 0, 1)
29model = ROOT.RooAddPdf(
"model",
"model", ROOT.RooArgList(
30 sig, bkg), ROOT.RooArgList(fsig))
34d = model.generateBinned(ROOT.RooArgSet(x), 1000)
37r = model.fitTo(d, ROOT.RooFit.Save())
43frame = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
44 "P.d.f with visualized 1-sigma error band"))
64model.plotOn(frame, ROOT.RooFit.VisualizeError(
65 r, 1), ROOT.RooFit.FillColor(ROOT.kOrange))
79 ROOT.RooFit.VisualizeError(
83 ROOT.RooFit.DrawOption(
"L"),
84 ROOT.RooFit.LineWidth(2),
85 ROOT.RooFit.LineColor(
92 frame, ROOT.RooFit.VisualizeError(
93 r, 1), ROOT.RooFit.FillColor(
94 ROOT.kOrange), ROOT.RooFit.Components(
"bkg"))
97 ROOT.RooFit.VisualizeError(
101 ROOT.RooFit.DrawOption(
"L"),
102 ROOT.RooFit.LineWidth(2),
103 ROOT.RooFit.LineColor(
105 ROOT.RooFit.Components(
"bkg"),
106 ROOT.RooFit.LineStyle(
111model.plotOn(frame, ROOT.RooFit.Components(
"bkg"),
112 ROOT.RooFit.LineStyle(ROOT.kDashed))
120frame2 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
121 "Visualization of 2-sigma partial error from (m,m2)"))
135model.plotOn(frame2, ROOT.RooFit.VisualizeError(
136 r, ROOT.RooArgSet(m, m2), 2), ROOT.RooFit.FillColor(ROOT.kCyan))
137model.plotOn(frame2, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
138 r, ROOT.RooArgSet(m, m2), 2), ROOT.RooFit.FillColor(ROOT.kCyan))
141model.plotOn(frame2, ROOT.RooFit.Components(
"bkg"),
142 ROOT.RooFit.LineStyle(ROOT.kDashed))
146frame3 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
147 "Visualization of 2-sigma partial error from (s,s2)"))
151model.plotOn(frame3, ROOT.RooFit.VisualizeError(
152 r, ROOT.RooArgSet(s, s2), 2), ROOT.RooFit.FillColor(ROOT.kGreen))
153model.plotOn(frame3, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
154 r, ROOT.RooArgSet(s, s2), 2), ROOT.RooFit.FillColor(ROOT.kGreen))
157model.plotOn(frame3, ROOT.RooFit.Components(
"bkg"),
158 ROOT.RooFit.LineStyle(ROOT.kDashed))
162frame4 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
163 "Visualization of 2-sigma partial error from fsig"))
167model.plotOn(frame4, ROOT.RooFit.VisualizeError(
168 r, ROOT.RooArgSet(fsig), 2), ROOT.RooFit.FillColor(ROOT.kMagenta))
169model.plotOn(frame4, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
170 r, ROOT.RooArgSet(fsig), 2), ROOT.RooFit.FillColor(ROOT.kMagenta))
173model.plotOn(frame4, ROOT.RooFit.Components(
"bkg"),
174 ROOT.RooFit.LineStyle(ROOT.kDashed))
177c = ROOT.TCanvas(
"rf610_visualerror",
"rf610_visualerror", 800, 800)
180ROOT.gPad.SetLeftMargin(0.15)
181frame.GetYaxis().SetTitleOffset(1.4)
184ROOT.gPad.SetLeftMargin(0.15)
185frame2.GetYaxis().SetTitleOffset(1.6)
188ROOT.gPad.SetLeftMargin(0.15)
189frame3.GetYaxis().SetTitleOffset(1.6)
192ROOT.gPad.SetLeftMargin(0.15)
193frame4.GetYaxis().SetTitleOffset(1.6)
196c.SaveAs(
"rf610_visualerror.png")