22x = ROOT.RooRealVar(
"x",
"x", -10, 10)
23mean = ROOT.RooRealVar(
"mean",
"mean", -3, 3)
24sigma = ROOT.RooRealVar(
"sigma",
"sigma", 0.5, 0.1, 10)
25modelx = ROOT.RooGaussian(
"gx",
"gx", x, mean, sigma)
28a = ROOT.RooRealVar(
"a",
"a", 2, 1, 10)
29model_mean = ROOT.RooGenericPdf(
"model_mean",
"abs(mean)<a", [mean, a])
32x.setBins(1000,
"cache")
33mean.setBins(50,
"cache")
34model = ROOT.RooFFTConvPdf(
"model",
"model", mean, modelx, model_mean)
39model.setCacheObservables({x})
40model.setBufferFraction(1.0)
43projModel = model.createProjection({mean})
46d = projModel.generateBinned({x}, 1000)
49projModel.fitTo(d, Verbose=
True)
52frame = x.frame(Bins=25)
54projModel.plotOn(frame)
57hh = model.createHistogram(
61 YVar=dict(var=mean, Binning=50),
62 ConditionalObservables={mean},
64hh.SetTitle(
"histogram of model(x|mean)")
65hh.SetLineColor(ROOT.kBlue)
68c = ROOT.TCanvas(
"rf211_paramconv",
"rf211_paramconv", 800, 400)
71ROOT.gPad.SetLeftMargin(0.15)
72frame.GetYaxis().SetTitleOffset(1.4)
75ROOT.gPad.SetLeftMargin(0.20)
76hh.GetZaxis().SetTitleOffset(2.5)
79c.SaveAs(
"rf211_paramconv.png")