19x = ROOT.RooRealVar(
"x",
"x", 0, 10)
23mean = ROOT.RooRealVar(
"mean",
"mean of gaussians", 5)
24sigma1 = ROOT.RooRealVar(
"sigma1",
"width of gaussians", 0.5)
25sigma2 = ROOT.RooRealVar(
"sigma2",
"width of gaussians", 1)
26sig1 = ROOT.RooGaussian(
"sig1",
"Signal component 1", x, mean, sigma1)
27sig2 = ROOT.RooGaussian(
"sig2",
"Signal component 2", x, mean, sigma2)
30sig1frac = ROOT.RooRealVar(
31 "sig1frac",
"fraction of component 1 in signal", 0.8, 0., 1.)
33 "sig",
"Signal", ROOT.RooArgList(sig1, sig2), ROOT.RooArgList(sig1frac))
36a0 = ROOT.RooRealVar(
"a0",
"a0", 0.5, 0., 1.)
37a1 = ROOT.RooRealVar(
"a1",
"a1", -0.2, 0., 1.)
38bkg1 = ROOT.RooChebychev(
"bkg1",
"Background 1",
39 x, ROOT.RooArgList(a0, a1))
42alpha = ROOT.RooRealVar(
"alpha",
"alpha", -1)
43bkg2 = ROOT.RooExponential(
"bkg2",
"Background 2", x, alpha)
46bkg1frac = ROOT.RooRealVar(
47 "sig1frac",
"fraction of component 1 in background", 0.2, 0., 1.)
49 "bkg",
"Signal", ROOT.RooArgList(bkg1, bkg2), ROOT.RooArgList(sig1frac))
52bkgfrac = ROOT.RooRealVar(
"bkgfrac",
"fraction of background", 0.5, 0., 1.)
53model = ROOT.RooAddPdf(
54 "model",
"g1+g2+a", ROOT.RooArgList(bkg, sig), ROOT.RooArgList(bkgfrac))
60data = model.generate(ROOT.RooArgSet(x), 1000)
63xframe = x.frame(ROOT.RooFit.Title(
64 "Component plotting of pdf=(sig1+sig2)+(bkg1+bkg2)"))
69xframe2 = xframe.Clone(
"xframe2")
75ras_bkg = ROOT.RooArgSet(bkg)
76model.plotOn(xframe, ROOT.RooFit.Components(
77 ras_bkg), ROOT.RooFit.LineColor(ROOT.kRed))
80ras_bkg2 = ROOT.RooArgSet(bkg2)
81model.plotOn(xframe, ROOT.RooFit.Components(ras_bkg2), ROOT.RooFit.LineStyle(
82 ROOT.kDashed), ROOT.RooFit.LineColor(ROOT.kRed))
87ras_bkg_sig2 = ROOT.RooArgSet(bkg, sig2)
88model.plotOn(xframe, ROOT.RooFit.Components(ras_bkg_sig2),
89 ROOT.RooFit.LineStyle(ROOT.kDotted))
95model.plotOn(xframe2, ROOT.RooFit.Components(
96 "bkg"), ROOT.RooFit.LineColor(ROOT.kCyan))
99model.plotOn(xframe2, ROOT.RooFit.Components(
"bkg1,sig2"), ROOT.RooFit.LineStyle(
100 ROOT.kDotted), ROOT.RooFit.LineColor(ROOT.kCyan))
104model.plotOn(xframe2, ROOT.RooFit.Components(
105 "sig*"), ROOT.RooFit.LineStyle(ROOT.kDashed), ROOT.RooFit.LineColor(ROOT.kCyan))
109model.plotOn(xframe2, ROOT.RooFit.Components(
"bkg1,sig*"), ROOT.RooFit.LineStyle(
110 ROOT.kDashed), ROOT.RooFit.LineColor(ROOT.kYellow), ROOT.RooFit.Invisible())
113c = ROOT.TCanvas(
"rf205_compplot",
"rf205_compplot", 800, 400)
116ROOT.gPad.SetLeftMargin(0.15)
117xframe.GetYaxis().SetTitleOffset(1.4)
120ROOT.gPad.SetLeftMargin(0.15)
121xframe2.GetYaxis().SetTitleOffset(1.4)
124c.SaveAs(
"rf205_compplot.png")