23x = ROOT.RooRealVar(
"x",
"x", -10, 10)
25m = ROOT.RooRealVar(
"m",
"m", 0, -10, 10)
26s = ROOT.RooRealVar(
"s",
"s", 2, 1, 50)
27sig = ROOT.RooGaussian(
"sig",
"sig", x, m, s)
29m2 = ROOT.RooRealVar(
"m2",
"m2", -1, -10, 10)
30s2 = ROOT.RooRealVar(
"s2",
"s2", 6, 1, 50)
31bkg = ROOT.RooGaussian(
"bkg",
"bkg", x, m2, s2)
33fsig = ROOT.RooRealVar(
"fsig",
"fsig", 0.33, 0, 1)
34model = ROOT.RooAddPdf(
"model",
"model", ROOT.RooArgList(
35 sig, bkg), ROOT.RooArgList(fsig))
39d = model.generateBinned(ROOT.RooArgSet(x), 1000)
42r = model.fitTo(d, ROOT.RooFit.Save())
48frame = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
49 "P.d.f with visualized 1-sigma error band"))
69model.plotOn(frame, ROOT.RooFit.VisualizeError(
70 r, 1), ROOT.RooFit.FillColor(ROOT.kOrange))
82model.plotOn(frame, ROOT.RooFit.VisualizeError(r, 1, ROOT.kFALSE), ROOT.RooFit.DrawOption(
83 "L"), ROOT.RooFit.LineWidth(2), ROOT.RooFit.LineColor(ROOT.kRed))
88model.plotOn(frame, ROOT.RooFit.VisualizeError(r, 1),
89 ROOT.RooFit.FillColor(ROOT.kOrange), ROOT.RooFit.Components(
"bkg"))
90model.plotOn(frame, ROOT.RooFit.VisualizeError(r, 1, ROOT.kFALSE), ROOT.RooFit.DrawOption(
"L"), ROOT.RooFit.LineWidth(
91 2), ROOT.RooFit.LineColor(ROOT.kRed), ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.LineStyle(ROOT.kDashed))
95model.plotOn(frame, ROOT.RooFit.Components(
"bkg"),
96 ROOT.RooFit.LineStyle(ROOT.kDashed))
104frame2 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
105 "Visualization of 2-sigma partial error from (m,m2)"))
119model.plotOn(frame2, ROOT.RooFit.VisualizeError(
120 r, ROOT.RooArgSet(m, m2), 2), ROOT.RooFit.FillColor(ROOT.kCyan))
121model.plotOn(frame2, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
122 r, ROOT.RooArgSet(m, m2), 2), ROOT.RooFit.FillColor(ROOT.kCyan))
125model.plotOn(frame2, ROOT.RooFit.Components(
"bkg"),
126 ROOT.RooFit.LineStyle(ROOT.kDashed))
130frame3 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
131 "Visualization of 2-sigma partial error from (s,s2)"))
135model.plotOn(frame3, ROOT.RooFit.VisualizeError(
136 r, ROOT.RooArgSet(s, s2), 2), ROOT.RooFit.FillColor(ROOT.kGreen))
137model.plotOn(frame3, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
138 r, ROOT.RooArgSet(s, s2), 2), ROOT.RooFit.FillColor(ROOT.kGreen))
141model.plotOn(frame3, ROOT.RooFit.Components(
"bkg"),
142 ROOT.RooFit.LineStyle(ROOT.kDashed))
146frame4 = x.frame(ROOT.RooFit.Bins(40), ROOT.RooFit.Title(
147 "Visualization of 2-sigma partial error from fsig"))
151model.plotOn(frame4, ROOT.RooFit.VisualizeError(
152 r, ROOT.RooArgSet(fsig), 2), ROOT.RooFit.FillColor(ROOT.kMagenta))
153model.plotOn(frame4, ROOT.RooFit.Components(
"bkg"), ROOT.RooFit.VisualizeError(
154 r, ROOT.RooArgSet(fsig), 2), ROOT.RooFit.FillColor(ROOT.kMagenta))
157model.plotOn(frame4, ROOT.RooFit.Components(
"bkg"),
158 ROOT.RooFit.LineStyle(ROOT.kDashed))
161c = ROOT.TCanvas(
"rf610_visualerror",
"rf610_visualerror", 800, 800)
164ROOT.gPad.SetLeftMargin(0.15)
165frame.GetYaxis().SetTitleOffset(1.4)
168ROOT.gPad.SetLeftMargin(0.15)
169frame2.GetYaxis().SetTitleOffset(1.6)
172ROOT.gPad.SetLeftMargin(0.15)
173frame3.GetYaxis().SetTitleOffset(1.6)
176ROOT.gPad.SetLeftMargin(0.15)
177frame4.GetYaxis().SetTitleOffset(1.6)
180c.SaveAs(
"rf610_visualerror.png")