59 integral1 =
sum([
sum(dict1[cat].
values())
for cat
in dict1])
60 integral2 =
sum([
sum(dict2[cat].
values())
for cat
in dict2])
61 print(NCats,
" ",integral1,
" ",integral2)
62 sorted1 =
sorted(dict1.items(), key=
lambda kv:
sum(kv[1].
values()), reverse=
True)
63 uniqueName = name + sorted1[0][0]
69 leg = ROOT.TLegend(0.7,0.89-0.07*len(particles),0.92,0.89)
77 h1 = ROOT.TH1F(uniqueName+
"1"+p,uniqueName+
"1"+p,2*len(sorted1),0,2*len(sorted1))
78 h2 = ROOT.TH1F(uniqueName+
"2"+p,uniqueName+
"2"+p,2*len(sorted1),0,2*len(sorted1))
80 for i,a
in enumerate(sorted1):
85 fillHisto(h2,dict2,2*i_adjusted+1+1,p,cat)
87 if not xaxis ==
"Processes":
88 fillHisto(h1,dict1,2*len(sorted1)-1,p,
"other")
89 fillHisto(h2,dict2,2*len(sorted1),p,
"other")
96 hmap1[p].
Scale(1./nevents)
97 hmap2[p].
Scale(1./nevents)
102 for p
in reversed(particles):
103 if p
in translate.keys()
and p !=
'other':
104 leg.AddEntry(hmap1[p],
"#font[42]{%s}"%translate[p],
"f")
106 leg.AddEntry(hmap1[p],
"#font[42]{%s}"%p,
"f")
108 canv, pad1, pad2 = summary.getCanvas(uniqueName)
114 hs1.SetMaximum(hs1.GetStack().Last().GetBinContent(1)*1.2)
116 hs2.Draw(
"hist same")
117 if xaxis ==
"Processes":
118 hs1.GetXaxis().SetRangeUser(0,40)
119 hs2.GetXaxis().SetRangeUser(0,40)
121 hs1.GetYaxis().SetTitleOffset(0.7)
124 ROOT.ATLASLabel(0.3,0.84,
"Simulation Preliminary",1,0.06)
125 ROOT.myText(0.3,0.77,1,
"#sqrt{s}=13 TeV, 10k t#bar{t} events",0.06)
126 ROOT.myText(0.3,0.70,1,
"NRR (E = 1 MeV, w = 10)",0.06)
127 ROOT.myText(0.3,0.63,1,
"#oplus EM Range Cuts",0.06)
129 summary.configureUpperPad(hs1)
132 ymax = ROOT.gPad.GetUymax()*0.55
133 ymin = ROOT.gPad.GetUymin()
134 l1 = ROOT.TLine(6,ymin,6,ymax)
137 l2 = ROOT.TLine(7,ymin,7,ymax)
140 l3 = ROOT.TLine(8,ymin,8,ymax)
143 ROOT.myTextAbs(6.1, 0.8*ymax, 1,
"Non optimized", 0.055)
144 ROOT.myTextAbs(7.1, 0.6*ymax, 1,
"Optimized", 0.055)
150 if xaxis ==
"Processes":
151 h2.GetXaxis().SetRangeUser(0,20)
152 summary.configureLowerPad(h2, 0.5, 0.1, xaxis, v2+
" / "+v1)
154 canv.Print(os.path.join(directory,(
"%s.pdf" % xaxis)))
155 canv.Print(os.path.join(directory,(
"%s.png" % xaxis)))