1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/usr/bin/env python
import sys,os
sys.argv.append("-b")
import ROOT as rt
ifile = sys.argv[1]
odir = sys.argv[2]
os.system("mkdir -p " + odir)
tfile = rt.TFile(ifile)
observed = tfile.Get("observed")
predicted = tfile.Get("prediction")
for key in observed.GetListOfKeys():
name = key.GetName()
h_observed = observed.Get(name)
h_predicted = predicted.Get(name)
_max = max(1,h_observed.GetMaximum())
nbins = h_observed.GetNbinsX()
h_observed.SetMarkerStyle(rt.kCircle)
h_observed.SetMarkerColor(rt.kBlue)
h_observed.SetLineColor(rt.kBlue)
l = rt.TLegend(0.15,0.75,0.5,0.89)
l.SetFillStyle(0)
l.SetLineWidth(1)
l.AddEntry(h_observed,"observed","l,p")
if not h_predicted == None:
_max = max(_max,h_predicted.GetMaximum())*1.3
h_predicted.Scale(h_observed.Integral(0,nbins+1)/h_predicted.Integral(0,nbins+1))
h_predicted.SetLineColor(rt.kRed)
l.AddEntry(h_predicted,"predicted","l")
h_observed.SetMaximum(_max);
_max = _max*1.3
h_observed.Draw("E")
if not h_predicted == None:
h_predicted.Draw("same")
l.Draw()
rt.gPad.Print(odir + "/" + name + ".png")
|