21 using namespace RooFit;
23 void rf201_composite()
29 RooRealVar x(
"x",
"x", 0, 10);
32 RooRealVar mean(
"mean",
"mean of gaussians", 5);
33 RooRealVar sigma1(
"sigma1",
"width of gaussians", 0.5);
34 RooRealVar sigma2(
"sigma2",
"width of gaussians", 1);
36 RooGaussian sig1(
"sig1",
"Signal component 1", x, mean, sigma1);
37 RooGaussian sig2(
"sig2",
"Signal component 2", x, mean, sigma2);
40 RooRealVar a0(
"a0",
"a0", 0.5, 0., 1.);
41 RooRealVar a1(
"a1",
"a1", 0.2, 0., 1.);
42 RooChebychev bkg(
"bkg",
"Background", x, RooArgSet(a0, a1));
52 RooRealVar sig1frac(
"sig1frac",
"fraction of component 1 in signal", 0.8, 0., 1.);
53 RooAddPdf sig(
"sig",
"Signal", RooArgList(sig1, sig2), sig1frac);
59 RooRealVar bkgfrac(
"bkgfrac",
"fraction of background", 0.5, 0., 1.);
60 RooAddPdf model(
"model",
"g1+g2+a", RooArgList(bkg, sig), bkgfrac);
66 RooDataSet *data = model.generate(x, 1000);
72 RooPlot *xframe = x.frame(Title(
"Example of composite pdf=(sig1+sig2)+bkg"));
77 model.plotOn(xframe, Components(bkg), LineStyle(kDashed));
80 model.plotOn(xframe, Components(RooArgSet(bkg, sig2)), LineStyle(kDotted));
93 RooAddPdf model2(
"model",
"g1+g2+a", RooArgList(bkg, sig1, sig2), RooArgList(bkgfrac, sig1frac), kTRUE);
104 model2.plotOn(xframe, LineColor(kRed), LineStyle(kDashed));
105 model2.plotOn(xframe, Components(RooArgSet(bkg, sig2)), LineColor(kRed), LineStyle(kDashed));
109 new TCanvas(
"rf201_composite",
"rf201_composite", 600, 600);
110 gPad->SetLeftMargin(0.15);
111 xframe->GetYaxis()->SetTitleOffset(1.4);