21 using namespace RooFit;
23 void rf103_interprfuncs()
30 RooRealVar x(
"x",
"x", -20, 20);
38 RooRealVar alpha(
"alpha",
"alpha", 5, 0.1, 10);
39 RooGenericPdf genpdf(
"genpdf",
"genpdf",
"(1+0.1*abs(x)+sin(sqrt(abs(x*alpha+0.1))))", RooArgSet(x, alpha));
45 RooDataSet *data = genpdf.generate(x, 10000);
51 RooPlot *xframe = x.frame(Title(
"Interpreted expression pdf"));
53 genpdf.plotOn(xframe);
64 RooRealVar mean2(
"mean2",
"mean^2", 10, 0, 200);
65 RooRealVar sigma(
"sigma",
"sigma", 3, 0.1, 10);
68 RooFormulaVar mean(
"mean",
"mean",
"sqrt(mean2)", mean2);
71 RooGaussian g2(
"g2",
"h2", x, mean, sigma);
77 RooGaussian g1(
"g1",
"g1", x, RooConst(10), RooConst(3));
78 RooDataSet *data2 = g1.generate(x, 1000);
84 RooFitResult *r = g2.fitTo(*data2, Save());
88 RooPlot *xframe2 = x.frame(Title(
"Tailored Gaussian pdf"));
89 data2->plotOn(xframe2);
93 TCanvas *c =
new TCanvas(
"rf103_interprfuncs",
"rf103_interprfuncs", 800, 400);
96 gPad->SetLeftMargin(0.15);
97 xframe->GetYaxis()->SetTitleOffset(1.4);
100 gPad->SetLeftMargin(0.15);
101 xframe2->GetYaxis()->SetTitleOffset(1.4);