26x = ROOT.RooRealVar(
"x",
"", 1, 0, 50)
27mu = ROOT.RooRealVar(
"mu",
"", 2.5, 0, 15)
28b = ROOT.RooConstVar(
"b",
"", 3.0)
29mean = ROOT.RooAddition(
"mean",
"", [mu, b])
30pois = ROOT.RooPoisson(
"pois",
"", x, mean)
34data = pois.generate({x}, 1)
37dataCanvas = ROOT.TCanvas(
"dataCanvas")
43w = ROOT.RooWorkspace()
44modelConfig = ROOT.RooStats.ModelConfig(
"poissonProblem", w)
45modelConfig.SetPdf(pois)
46modelConfig.SetParametersOfInterest(parameters)
47modelConfig.SetObservables({x})
51fc = ROOT.RooStats.FeldmanCousins(data, modelConfig)
53fc.UseAdaptiveSampling(
True)
54fc.FluctuateNumDataEntries(
False)
58interval = fc.GetInterval()
61intervalCanvas = ROOT.TCanvas(
"intervalCanvas")
63print(
"is this point in the interval? ", interval.IsInInterval(parameters))
64print(
"interval is [{}, {}]".format(interval.LowerLimit(mu), interval.UpperLimit(mu)))
72parameterScan = fc.GetPointsToScan()
73hist = parameterScan.createHistogram(
"mu", ROOT.RooFit.Binning(30))
78for i
in range(parameterScan.numEntries()):
80 tmpPoint = parameterScan.get(i).clone(
"temp")
82 mark = ROOT.TMarker(tmpPoint.getRealValue(
"mu"), 1, 25)
83 if interval.IsInInterval(tmpPoint):
84 mark.SetMarkerColor(
"kBlue")
86 mark.SetMarkerColor(
"kRed")
94dataCanvas.SaveAs(
"rs401c_FeldmanCousins_data.png")
95intervalCanvas.SaveAs(
"rs401c_FeldmanCousins_hist.png")