21x = ROOT.RooRealVar(
"x",
"x", 0, 10)
25mean = ROOT.RooRealVar(
"mean",
"mean of gaussians", 5)
26sigma1 = ROOT.RooRealVar(
"sigma1",
"width of gaussians", 0.5)
27sigma2 = ROOT.RooRealVar(
"sigma2",
"width of gaussians", 1)
29sig1 = ROOT.RooGaussian(
"sig1",
"Signal component 1", x, mean, sigma1)
30sig2 = ROOT.RooGaussian(
"sig2",
"Signal component 2", x, mean, sigma2)
33a0 = ROOT.RooRealVar(
"a0",
"a0", 0.5, 0.0, 1.0)
34a1 = ROOT.RooRealVar(
"a1",
"a1", -0.2, 0.0, 1.0)
35bkg = ROOT.RooChebychev(
"bkg",
"Background", x, [a0, a1])
43sig1frac = ROOT.RooRealVar(
"sig1frac",
"fraction of component 1 in signal", 0.8, 0.0, 1.0)
44sig = ROOT.RooAddPdf(
"sig",
"Signal", [sig1, sig2], [sig1frac])
50bkgfrac = ROOT.RooRealVar(
"bkgfrac",
"fraction of background", 0.5, 0.0, 1.0)
51model = ROOT.RooAddPdf(
"model",
"g1+g2+a", [bkg, sig], [bkgfrac])
57data = model.generate({x}, 1000)
63xframe = x.frame(Title=
"Example of composite pdf=(sig1+sig2)+bkg")
68model.plotOn(xframe, Components={bkg}, LineStyle=
"--")
71model.plotOn(xframe, Components={bkg, sig2}, LineStyle=
":")
83model2 = ROOT.RooAddPdf(
"model",
"g1+g2+a", [bkg, sig1, sig2], [bkgfrac, sig1frac],
True)
94model2.plotOn(xframe, LineColor=
"r", LineStyle=
"--")
95model2.plotOn(xframe, Components={bkg, sig2}, LineColor=
"r", LineStyle=
"--")
99c = ROOT.TCanvas(
"rf201_composite",
"rf201_composite", 600, 600)
100ROOT.gPad.SetLeftMargin(0.15)
101xframe.GetYaxis().SetTitleOffset(1.4)
104c.SaveAs(
"rf201_composite.png")