22 using namespace RooFit;
24 void rf105_funcbinding()
31 RooRealVar x(
"x",
"x", -3, 3);
32 RooAbsReal *errorFunc = bindFunction(
"erf", TMath::Erf, x);
38 RooPlot *frame1 = x.frame(Title(
"TMath::Erf bound as RooFit function"));
39 errorFunc->plotOn(frame1);
45 RooRealVar x2(
"x2",
"x2", 0, 0.999);
46 RooRealVar a(
"a",
"a", 5, 0, 10);
47 RooRealVar b(
"b",
"b", 2, 0, 10);
48 RooAbsPdf *beta = bindPdf(
"beta", ROOT::Math::beta_pdf, x2, a, b);
54 RooDataSet *data = beta->generate(x2, 10000);
58 RooPlot *frame2 = x2.frame(Title(
"ROOT::Math::Beta bound as RooFit pdf"));
66 TF1 *fa1 =
new TF1(
"fa1",
"sin(x)/x", 0, 10);
69 RooRealVar x3(
"x3",
"x3", 0.01, 20);
72 RooAbsReal *rfa1 = bindFunction(fa1, x3);
78 RooPlot *frame3 = x3.frame(Title(
"TF1 bound as RooFit function"));
81 TCanvas *c =
new TCanvas(
"rf105_funcbinding",
"rf105_funcbinding", 1200, 400);
84 gPad->SetLeftMargin(0.15);
85 frame1->GetYaxis()->SetTitleOffset(1.6);
88 gPad->SetLeftMargin(0.15);
89 frame2->GetYaxis()->SetTitleOffset(1.6);
92 gPad->SetLeftMargin(0.15);
93 frame3->GetYaxis()->SetTitleOffset(1.6);