20 using namespace RooFit;
22 void rf605_profilell()
28 RooRealVar x(
"x",
"x", -20, 20);
31 RooRealVar mean(
"mean",
"mean of g1 and g2", 0, -10, 10);
32 RooRealVar sigma_g1(
"sigma_g1",
"width of g1", 3);
33 RooGaussian g1(
"g1",
"g1", x, mean, sigma_g1);
35 RooRealVar sigma_g2(
"sigma_g2",
"width of g2", 4, 3.0, 6.0);
36 RooGaussian g2(
"g2",
"g2", x, mean, sigma_g2);
38 RooRealVar frac(
"frac",
"frac", 0.5, 0.0, 1.0);
39 RooAddPdf model(
"model",
"model", RooArgList(g1, g2), frac);
42 RooDataSet *data = model.generate(x, 1000);
48 RooAbsReal *nll = model.createNLL(*data, NumCPU(2));
51 RooMinimizer(*nll).migrad();
54 RooPlot *frame1 = frac.frame(Bins(10), Range(0.01, 0.95), Title(
"LL and profileLL in frac"));
55 nll->plotOn(frame1, ShiftToZero());
58 RooPlot *frame2 = sigma_g2.frame(Bins(10), Range(3.3, 5.0), Title(
"LL and profileLL in sigma_g2"));
59 nll->plotOn(frame2, ShiftToZero());
67 RooAbsReal *pll_frac = nll->createProfile(frac);
70 pll_frac->plotOn(frame1, LineColor(kRed));
73 frame1->SetMinimum(0);
74 frame1->SetMaximum(3);
81 RooAbsReal *pll_sigmag2 = nll->createProfile(sigma_g2);
84 pll_sigmag2->plotOn(frame2, LineColor(kRed));
87 frame2->SetMinimum(0);
88 frame2->SetMaximum(3);
91 TCanvas *c =
new TCanvas(
"rf605_profilell",
"rf605_profilell", 800, 400);
94 gPad->SetLeftMargin(0.15);
95 frame1->GetYaxis()->SetTitleOffset(1.4);
98 gPad->SetLeftMargin(0.15);
99 frame2->GetYaxis()->SetTitleOffset(1.4);