21x = ROOT.RooRealVar(
"x",
"The observable", 1, 30)
22tau = ROOT.RooRealVar(
"tau",
"The exponent", -0.1337, -10.0, -0.1)
23expo = ROOT.RooExponential(
"expo",
"A falling exponential function", x, tau)
26x.setRange(
"full", 1, 30)
27x.setRange(
"left", 1, 10)
28x.setRange(
"right", 20, 30)
31data = expo.generate(x, 1000)
32blindedData = data.reduce(CutRange=
"left,right")
39expo.fitTo(blindedData, Range=
"left,right")
45expo.removeStringAttribute(
"fitrange")
49canvas = ROOT.TCanvas(
"canvas",
"canvas", 800, 600)
59print(
"Now plotting with unique normalisation for each slice.\n")
61plotFrame = x.frame(Title=
"Wrong: Each slice normalised over its plotting range")
64blindedData.plotOn(plotFrame)
65expo.plotOn(plotFrame, LineColor=
"r", Range=
"full")
66expo.plotOn(plotFrame, LineColor=
"b", Range=
"left")
67expo.plotOn(plotFrame, LineColor=
"g", Range=
"right")
78print(
"\n\nNow plotting with correct norm ranges:\n")
80plotFrameWithNormRange = x.frame(Title=
"Right: All slices have common normalisation")
83blindedData.plotOn(plotFrameWithNormRange)
84expo.plotOn(plotFrameWithNormRange, LineColor=
"b", Range=
"left", NormRange=
"left,right")
85expo.plotOn(plotFrameWithNormRange, LineColor=
"g", Range=
"right", NormRange=
"left,right")
86expo.plotOn(plotFrameWithNormRange, LineColor=
"r", Range=
"full", NormRange=
"left,right", LineStyle=10)
88plotFrameWithNormRange.Draw()
92canvas.SaveAs(
"rf212_plottingInRanges_blinding.png")