19 x = ROOT.RooRealVar(
"x",
"x", -5, 5)
20 y = ROOT.RooRealVar(
"y",
"y", -5, 5)
21 z = ROOT.RooRealVar(
"z",
"z", -5, 5)
24 gx = ROOT.RooGaussian(
25 "gx",
"gx", x, ROOT.RooFit.RooConst(0), ROOT.RooFit.RooConst(1))
26 gy = ROOT.RooGaussian(
27 "gy",
"gy", y, ROOT.RooFit.RooConst(0), ROOT.RooFit.RooConst(1))
28 gz = ROOT.RooGaussian(
29 "gz",
"gz", z, ROOT.RooFit.RooConst(0), ROOT.RooFit.RooConst(1))
30 sig = ROOT.RooProdPdf(
"sig",
"sig", ROOT.RooArgList(gx, gy, gz))
33 px = ROOT.RooPolynomial(
"px",
"px", x, ROOT.RooArgList(
34 ROOT.RooFit.RooConst(-0.1), ROOT.RooFit.RooConst(0.004)))
35 py = ROOT.RooPolynomial(
"py",
"py", y, ROOT.RooArgList(
36 ROOT.RooFit.RooConst(0.1), ROOT.RooFit.RooConst(-0.004)))
37 pz = ROOT.RooPolynomial(
"pz",
"pz", z)
38 bkg = ROOT.RooProdPdf(
"bkg",
"bkg", ROOT.RooArgList(px, py, pz))
41 fsig = ROOT.RooRealVar(
"fsig",
"signal fraction", 0.1, 0., 1.)
42 model = ROOT.RooAddPdf(
43 "model",
"model", ROOT.RooArgList(
44 sig, bkg), ROOT.RooArgList(fsig))
46 data = model.generate(ROOT.RooArgSet(x, y, z), 20000)
52 frame = x.frame(ROOT.RooFit.Title(
53 "Projection of 3D data and pdf on X"), ROOT.RooFit.Bins(40))
62 sigyz = sig.createProjection(ROOT.RooArgSet(x))
63 totyz = model.createProjection(ROOT.RooArgSet(x))
66 llratio_func = ROOT.RooFormulaVar(
67 "llratio",
"log10(@0)-log10(@1)", ROOT.RooArgList(sigyz, totyz))
73 data.addColumn(llratio_func)
76 dataSel = data.reduce(ROOT.RooFit.Cut(
"llratio>0.7"))
79 frame2 = x.frame(ROOT.RooFit.Title(
80 "Same projection on X with LLratio(y,z)>0.7"), ROOT.RooFit.Bins(40))
83 dataSel.plotOn(frame2)
89 mcprojData = model.generate(ROOT.RooArgSet(x, y, z), 10000)
93 mcprojData.addColumn(llratio_func)
94 mcprojDataSel = mcprojData.reduce(ROOT.RooFit.Cut(
"llratio>0.7"))
98 model.plotOn(frame2, ROOT.RooFit.ProjWData(mcprojDataSel))
100 c = ROOT.TCanvas(
"rf316_llratioplot",
"rf316_llratioplot", 800, 400)
103 ROOT.gPad.SetLeftMargin(0.15)
104 frame.GetYaxis().SetTitleOffset(1.4)
107 ROOT.gPad.SetLeftMargin(0.15)
108 frame2.GetYaxis().SetTitleOffset(1.4)
110 c.SaveAs(
"rf316_llratioplot.png")