21 using namespace RooFit;
23 void rf207_comptools()
30 RooRealVar x(
"x",
"x", 0, 10);
33 RooRealVar mean(
"mean",
"mean of gaussians", 5);
34 RooRealVar sigma(
"sigma",
"width of gaussians", 0.5);
35 RooGaussian sig(
"sig",
"Signal component 1", x, mean, sigma);
38 RooRealVar a0(
"a0",
"a0", 0.5, 0., 1.);
39 RooRealVar a1(
"a1",
"a1", 0.2, 0., 1.);
40 RooChebychev bkg1(
"bkg1",
"Background 1", x, RooArgSet(a0, a1));
43 RooRealVar alpha(
"alpha",
"alpha", -1);
44 RooExponential bkg2(
"bkg2",
"Background 2", x, alpha);
47 RooRealVar bkg1frac(
"bkg1frac",
"fraction of component 1 in background", 0.2, 0., 1.);
48 RooAddPdf bkg(
"bkg",
"Signal", RooArgList(bkg1, bkg2), bkg1frac);
51 RooRealVar bkgfrac(
"bkgfrac",
"fraction of background", 0.5, 0., 1.);
52 RooAddPdf model(
"model",
"g1+g2+a", RooArgList(bkg, sig), bkgfrac);
55 RooRealVar y(
"y",
"y", -10, 10);
56 RooDataSet data(
"data",
"data", RooArgSet(x, y));
71 RooArgSet *model_obs = model.getObservables(data);
72 model_obs->Print(
"v");
78 RooArgSet *model_params = model.getParameters(x);
79 model_params->Print(
"v");
83 RooArgSet *model_params2 = model.getParameters(data);
84 model_params2->Print();
90 RooArgSet *model_comps = model.getComponents();
91 model_comps->Print(
"v");
98 RooRealVar sigma2(
"sigma2",
"width of gaussians", 1);
99 RooGaussian sig2(
"sig2",
"Signal component 1", x, mean, sigma2);
102 RooRealVar sig1frac(
"sig1frac",
"fraction of component 1 in signal", 0.8, 0., 1.);
103 RooAddPdf sigsum(
"sigsum",
"sig+sig2", RooArgList(sig, sig2), sig1frac);
106 RooCustomizer cust(model,
"cust");
109 cust.replaceArg(sig, sigsum);
119 RooAbsPdf *cust_clone = (RooAbsPdf *)cust.build(kTRUE);
122 cust_clone->Print(
"t");