23 using namespace RooFit;
25 void rf211_paramconv()
31 RooRealVar x(
"x",
"x", -10, 10);
32 RooRealVar mean(
"mean",
"mean", -3, 3);
33 RooRealVar sigma(
"sigma",
"sigma", 0.5, 0.1, 10);
34 RooGaussian modelx(
"gx",
"gx", x, mean, sigma);
37 RooRealVar a(
"a",
"a", 2, 1, 10);
38 RooGenericPdf model_mean(
"model_mean",
"abs(mean)<a", RooArgList(mean, a));
41 x.setBins(1000,
"cache");
42 mean.setBins(50,
"cache");
43 RooFFTConvPdf model(
"model",
"model", mean, modelx, model_mean);
48 model.setCacheObservables(x);
49 model.setBufferFraction(1.0);
52 RooAbsPdf *projModel = model.createProjection(mean);
55 RooDataHist *d = projModel->generateBinned(x, 1000);
58 projModel->fitTo(*d, Verbose());
61 RooPlot *frame = x.frame(Bins(25));
63 projModel->plotOn(frame);
66 TH1 *hh = model.createHistogram(
"hh", x, Binning(50), YVar(mean, Binning(50)), ConditionalObservables(mean));
67 hh->SetTitle(
"histogram of model(x|mean)");
68 hh->SetLineColor(kBlue);
71 TCanvas *c =
new TCanvas(
"rf211_paramconv",
"rf211_paramconv", 800, 400);
74 gPad->SetLeftMargin(0.15);
75 frame->GetYaxis()->SetTitleOffset(1.4);
78 gPad->SetLeftMargin(0.20);
79 hh->GetZaxis()->SetTitleOffset(2.5);