import csv
import numpy as np
import ROOT
ROOT.RooMsgService.instance().setGlobalKillBelow(5)
%jsroot on
infile = ROOT.TFile.Open("output/HistFactoryWorkspace.root")
w = infile.Get("HistFactoryWorkspace")
mc = w.obj("ModelConfig")
data = w.data("obsData")
x = w.var("obs_x_SR")
hist_factory_nav = ROOT.RooStats.HistFactory.HistFactoryNavigation(mc)
Channel = "SR"
stack = hist_factory_nav.GetChannelStack(Channel)
SR_data = hist_factory_nav.GetDataHist(data,Channel,"data")
c1 = ROOT.TCanvas()
stack.Draw()
leg = ROOT.TLegend(0.65, 0.65, 0.9, 0.9)
for hist in stack.GetHists():
samplename = hist.GetName().rsplit('_')[0]
leg.AddEntry(hist, samplename,"f")
leg.Draw()
c1.Draw()
pl = ROOT.RooStats.ProfileLikelihoodCalculator(data,mc)
pl.SetConfidenceLevel(0.99)
interval = pl.GetInterval()
plot = ROOT.RooStats.LikelihoodIntervalPlot(interval)
plot.SetNPoints(50)
plot.SetMaximum(5)
c = ROOT.TCanvas()
plot.Draw()
c.Draw()