11 using namespace RooFit;
13 void fillWorkspace(RooWorkspace &w);
15 void rf509_wsinteractive()
26 RooWorkspace *w1 =
new RooWorkspace(
"w", kTRUE);
46 RooAbsPdf *model = w1->pdf(
"model");
47 RooRealVar *x = w1->var(
"x");
49 RooDataSet *d = model->generate(*x, 1000);
50 RooFitResult *r = model->fitTo(*d);
55 RooPlot *frame = x->frame();
67 RooAbsPdf *bkg = w1->pdf(
"bkg");
69 model->plotOn(frame, Components(*bkg), LineStyle(kDashed));
72 new TCanvas(
"rf509_wsinteractive",
"rf509_wsinteractive", 600, 600);
73 gPad->SetLeftMargin(0.15);
74 frame->GetYaxis()->SetTitleOffset(1.4);
78 void fillWorkspace(RooWorkspace &w)
84 RooRealVar x(
"x",
"x", 0, 10);
87 RooRealVar mean(
"mean",
"mean of gaussians", 5, 0, 10);
88 RooRealVar sigma1(
"sigma1",
"width of gaussians", 0.5);
89 RooRealVar sigma2(
"sigma2",
"width of gaussians", 1);
91 RooGaussian sig1(
"sig1",
"Signal component 1", x, mean, sigma1);
92 RooGaussian sig2(
"sig2",
"Signal component 2", x, mean, sigma2);
95 RooRealVar a0(
"a0",
"a0", 0.5, 0., 1.);
96 RooRealVar a1(
"a1",
"a1", 0.2, 0., 1.);
97 RooChebychev bkg(
"bkg",
"Background", x, RooArgSet(a0, a1));
100 RooRealVar sig1frac(
"sig1frac",
"fraction of component 1 in signal", 0.8, 0., 1.);
101 RooAddPdf sig(
"sig",
"Signal", RooArgList(sig1, sig2), sig1frac);
104 RooRealVar bkgfrac(
"bkgfrac",
"fraction of background", 0.5, 0., 1.);
105 RooAddPdf model(
"model",
"g1+g2+a", RooArgList(bkg, sig), bkgfrac);