mod compare
This commit is contained in:
parent
1aeb8873c1
commit
9b52e31109
@ -120,7 +120,7 @@ def getTrackNames():
|
||||
|
||||
|
||||
def get_colors():
|
||||
return [kBlack, kAzure, kGreen + 2, kMagenta + 2, kRed, kCyan + 2, kGray + 3]
|
||||
return [kBlack, kAzure, kGreen + 2, kMagenta + 2, kRed, kCyan + 2, kGray + 1]
|
||||
|
||||
|
||||
def get_elec_colors():
|
||||
@ -129,10 +129,10 @@ def get_elec_colors():
|
||||
kBlue - 3,
|
||||
kRed + 1,
|
||||
kGreen + 1,
|
||||
kGray + 3, # kTeal - 1,
|
||||
kBlue - 7,
|
||||
kTeal - 1,
|
||||
kOrange + 8,
|
||||
kGray + 3,
|
||||
kGray + 1,
|
||||
]
|
||||
|
||||
|
||||
@ -261,11 +261,14 @@ def get_eff(eff, hist, tf, histoName, label, var):
|
||||
for i, lab in enumerate(label):
|
||||
numeratorName = histoName + "_reconstructed"
|
||||
denominatorName = histoName + "_reconstructible"
|
||||
denominator = findRootObjByName(tf[lab], denominatorName)
|
||||
try:
|
||||
numerator = findRootObjByName(tf[lab], numeratorName)
|
||||
denominator = findRootObjByName(tf[lab], denominatorName)
|
||||
try:
|
||||
numerator = findRootObjByName(tf[lab], numeratorName)
|
||||
except:
|
||||
numerator = denominator
|
||||
except:
|
||||
numerator = denominator
|
||||
continue
|
||||
|
||||
if numerator.GetEntries() == 0 or denominator.GetEntries() == 0:
|
||||
continue
|
||||
@ -297,9 +300,9 @@ def get_eff(eff, hist, tf, histoName, label, var):
|
||||
eff[lab].SetTitle(lab + " Match")
|
||||
if histoName.find("Seed") != -1:
|
||||
if histoName.find("electron") != -1:
|
||||
eff[lab].SetTitle(lab + " Seed, e^{-}")
|
||||
eff[lab].SetTitle("particle Seed, e^{-}")
|
||||
else:
|
||||
eff[lab].SetTitle(lab + " Seed")
|
||||
eff[lab].SetTitle("particle Seed")
|
||||
if histoName.find("BestLong") != -1:
|
||||
if histoName.find("electron") != -1:
|
||||
eff[lab].SetTitle(lab + " BestLong, e^{-}")
|
||||
@ -326,8 +329,11 @@ def get_ghost(eff, hist, tf, histoName, label):
|
||||
for i, lab in enumerate(label):
|
||||
numeratorName = histoName + "_Ghosts"
|
||||
denominatorName = histoName + "_Total"
|
||||
numerator = findRootObjByName(tf[lab], numeratorName)
|
||||
denominator = findRootObjByName(tf[lab], denominatorName)
|
||||
try:
|
||||
numerator = findRootObjByName(tf[lab], numeratorName)
|
||||
denominator = findRootObjByName(tf[lab], denominatorName)
|
||||
except:
|
||||
continue
|
||||
print("Numerator = " + numeratorName.replace(unique_name_ext_re(), ""))
|
||||
print("Denominator = " + denominatorName.replace(unique_name_ext_re(), ""))
|
||||
teff = TEfficiency(numerator, denominator)
|
||||
@ -395,303 +401,304 @@ def PrCheckerEfficiency(
|
||||
for f in checks_files:
|
||||
os.remove(f)
|
||||
|
||||
for tracker in trackers:
|
||||
outputfile.cd()
|
||||
trackerDir = outputfile.mkdir(tracker)
|
||||
trackerDir.cd()
|
||||
# for tracker in trackers:
|
||||
# outputfile.cd()
|
||||
# trackerDir = outputfile.mkdir(tracker)
|
||||
# trackerDir.cd()
|
||||
|
||||
for cut in cuts[tracker]:
|
||||
cutDir = trackerDir.mkdir(cut)
|
||||
cutDir.cd()
|
||||
folder = folders[tracker]["folder"]
|
||||
print("folder: " + folder.replace(unique_name_ext_re(), ""))
|
||||
histoBaseName = "Track/" + folder + tracker + "/" + cut + "_"
|
||||
# for cut in cuts[tracker]:
|
||||
# cutDir = trackerDir.mkdir(cut)
|
||||
# cutDir.cd()
|
||||
# folder = folders[tracker]["folder"]
|
||||
# print("folder: " + folder.replace(unique_name_ext_re(), ""))
|
||||
# histoBaseName = "Track/" + folder + tracker + "/" + cut + "_"
|
||||
|
||||
# calculate efficiency
|
||||
for histo in efficiencyHistos:
|
||||
canvastitle = (
|
||||
"efficiency_" + histo + ", " + categories[tracker][cut]["title"]
|
||||
)
|
||||
# get efficiency for not electrons category
|
||||
histoName = histoBaseName + "" + efficiencyHistoDict[histo]["variable"]
|
||||
print("not electrons: " + histoName.replace(unique_name_ext_re(), ""))
|
||||
eff = {}
|
||||
hist_den = {}
|
||||
eff, hist_den = get_eff(eff, hist_den, tf, histoName, label, histo)
|
||||
if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
histoNameElec = (
|
||||
"Track/"
|
||||
+ folder
|
||||
+ tracker
|
||||
+ "/"
|
||||
+ categories[tracker][cut]["Electrons"]
|
||||
)
|
||||
histoName_e = (
|
||||
histoNameElec + "_" + efficiencyHistoDict[histo]["variable"]
|
||||
)
|
||||
print("electrons: " + histoName_e.replace(unique_name_ext_re(), ""))
|
||||
eff_elec = {}
|
||||
hist_elec = {}
|
||||
eff_elec, hist_elec = get_eff(
|
||||
eff_elec,
|
||||
hist_elec,
|
||||
tf,
|
||||
histoName_e,
|
||||
label,
|
||||
histo,
|
||||
)
|
||||
if (
|
||||
categories[tracker][cut]["plotEndVelo"]
|
||||
and plot_velo
|
||||
and (histo == "p" or histo == "pt")
|
||||
):
|
||||
histoNameEndVelo = (
|
||||
"Track/"
|
||||
+ folder
|
||||
+ tracker
|
||||
+ "/"
|
||||
+ categories[tracker][cut]["EndVelo"]
|
||||
)
|
||||
histoName_v = (
|
||||
histoNameEndVelo
|
||||
+ "_"
|
||||
+ efficiencyHistoDict[histo]["variable"]
|
||||
)
|
||||
print(
|
||||
"EndVelo: " + histoName_v.replace(unique_name_ext_re(), "")
|
||||
)
|
||||
eff_velo = {}
|
||||
hist_velo = {}
|
||||
eff_velo, hist_velo = get_eff(
|
||||
eff_velo,
|
||||
hist_velo,
|
||||
tf,
|
||||
histoName_v,
|
||||
label,
|
||||
histo,
|
||||
)
|
||||
name = "efficiency_" + histo
|
||||
canvas = TCanvas(name, canvastitle)
|
||||
canvas.SetRightMargin(0.1)
|
||||
mg = TMultiGraph()
|
||||
for i, lab in enumerate(label):
|
||||
if not plot_electrons_only: # and not plot_velo_only:
|
||||
mg.Add(eff[lab])
|
||||
set_style(eff[lab], colors[i], markers[i], styles[i])
|
||||
if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
if not plot_velo_only or (
|
||||
histo == "phi" or histo == "eta" or histo == "nPV"
|
||||
):
|
||||
mg.Add(eff_elec[lab])
|
||||
set_style(
|
||||
eff_elec[lab], elec_colors[i], markers[i], styles[i]
|
||||
)
|
||||
if (
|
||||
categories[tracker][cut]["plotEndVelo"]
|
||||
and plot_velo
|
||||
and (histo == "p" or histo == "pt")
|
||||
):
|
||||
mg.Add(eff_velo[lab])
|
||||
set_style(eff_velo[lab], kBlue - 7, markers[i], styles[i])
|
||||
# # calculate efficiency
|
||||
# for histo in efficiencyHistos:
|
||||
# canvastitle = (
|
||||
# "efficiency_" + histo + ", " + categories[tracker][cut]["title"]
|
||||
# )
|
||||
# # get efficiency for not electrons category
|
||||
# histoName = histoBaseName + "" + efficiencyHistoDict[histo]["variable"]
|
||||
# print("not electrons: " + histoName.replace(unique_name_ext_re(), ""))
|
||||
# eff = {}
|
||||
# hist_den = {}
|
||||
# eff, hist_den = get_eff(eff, hist_den, tf, histoName, label, histo)
|
||||
# if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
# histoNameElec = (
|
||||
# "Track/"
|
||||
# + folder
|
||||
# + tracker
|
||||
# + "/"
|
||||
# + categories[tracker][cut]["Electrons"]
|
||||
# )
|
||||
# histoName_e = (
|
||||
# histoNameElec + "_" + efficiencyHistoDict[histo]["variable"]
|
||||
# )
|
||||
# print("electrons: " + histoName_e.replace(unique_name_ext_re(), ""))
|
||||
# eff_elec = {}
|
||||
# hist_elec = {}
|
||||
# eff_elec, hist_elec = get_eff(
|
||||
# eff_elec,
|
||||
# hist_elec,
|
||||
# tf,
|
||||
# histoName_e,
|
||||
# label,
|
||||
# histo,
|
||||
# )
|
||||
# if (
|
||||
# categories[tracker][cut]["plotEndVelo"]
|
||||
# and plot_velo
|
||||
# and (histo == "p" or histo == "pt")
|
||||
# ):
|
||||
# histoNameEndVelo = (
|
||||
# "Track/"
|
||||
# + folder
|
||||
# + tracker
|
||||
# + "/"
|
||||
# + categories[tracker][cut]["EndVelo"]
|
||||
# )
|
||||
# histoName_v = (
|
||||
# histoNameEndVelo
|
||||
# + "_"
|
||||
# + efficiencyHistoDict[histo]["variable"]
|
||||
# )
|
||||
# print(
|
||||
# "EndVelo: " + histoName_v.replace(unique_name_ext_re(), "")
|
||||
# )
|
||||
# eff_velo = {}
|
||||
# hist_velo = {}
|
||||
# eff_velo, hist_velo = get_eff(
|
||||
# eff_velo,
|
||||
# hist_velo,
|
||||
# tf,
|
||||
# histoName_v,
|
||||
# label,
|
||||
# histo,
|
||||
# )
|
||||
# name = "efficiency_" + histo
|
||||
# canvas = TCanvas(name, canvastitle)
|
||||
# canvas.SetRightMargin(0.1)
|
||||
# mg = TMultiGraph()
|
||||
# for i, lab in enumerate(label):
|
||||
# if not plot_electrons_only: # and not plot_velo_only:
|
||||
# mg.Add(eff[lab])
|
||||
# set_style(eff[lab], colors[i], markers[i], styles[i])
|
||||
# if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
# if not plot_velo_only or (
|
||||
# histo == "phi" or histo == "eta" or histo == "nPV"
|
||||
# ):
|
||||
# mg.Add(eff_elec[lab])
|
||||
# set_style(
|
||||
# eff_elec[lab], elec_colors[i], markers[i], styles[i]
|
||||
# )
|
||||
# if (
|
||||
# categories[tracker][cut]["plotEndVelo"]
|
||||
# and plot_velo
|
||||
# and (histo == "p" or histo == "pt")
|
||||
# ):
|
||||
# mg.Add(eff_velo[lab])
|
||||
# set_style(eff_velo[lab], kBlue - 7, markers[i], styles[i])
|
||||
|
||||
mg.Draw("AP")
|
||||
mg.GetYaxis().SetRangeUser(0, 1.05)
|
||||
xtitle = efficiencyHistoDict[histo]["xTitle"]
|
||||
unit_l = xtitle.split("[")
|
||||
if "]" in unit_l[-1]:
|
||||
unit = unit_l[-1].replace("]", "")
|
||||
else:
|
||||
unit = "a.u."
|
||||
print(unit)
|
||||
mg.GetXaxis().SetTitle(xtitle)
|
||||
mg.GetXaxis().SetTitleSize(0.06)
|
||||
mg.GetYaxis().SetTitle(
|
||||
"Efficiency of Long Tracks",
|
||||
) # (" + str(round(hist_den[label[0]].GetBinWidth(1), 2)) + f"{unit})"+"^{-1}")
|
||||
mg.GetYaxis().SetTitleSize(0.06)
|
||||
mg.GetYaxis().SetTitleOffset(1.1)
|
||||
mg.GetXaxis().SetRangeUser(*efficiencyHistoDict[histo]["range"])
|
||||
mg.GetXaxis().SetNdivisions(10, 5, 0)
|
||||
mygray = 18
|
||||
myblue = kBlue - 10
|
||||
mypurple = kMagenta - 10
|
||||
for i, lab in enumerate(label):
|
||||
rightmax = 1.05 * hist_den[lab].GetMaximum()
|
||||
scale = gPad.GetUymax() / rightmax
|
||||
hist_den[lab].Scale(scale)
|
||||
if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
rightmax = 1.05 * hist_elec[lab].GetMaximum()
|
||||
scale = gPad.GetUymax() / rightmax
|
||||
hist_elec[lab].Scale(scale)
|
||||
if (
|
||||
categories[tracker][cut]["plotEndVelo"]
|
||||
and plot_velo
|
||||
and (histo == "p" or histo == "pt")
|
||||
):
|
||||
rightmax = 1.05 * hist_velo[lab].GetMaximum()
|
||||
scale = gPad.GetUymax() / rightmax
|
||||
hist_velo[lab].Scale(scale)
|
||||
# mg.Draw("AP")
|
||||
# mg.GetYaxis().SetRangeUser(0, 1.05)
|
||||
# xtitle = efficiencyHistoDict[histo]["xTitle"]
|
||||
# unit_l = xtitle.split("[")
|
||||
# if "]" in unit_l[-1]:
|
||||
# unit = unit_l[-1].replace("]", "")
|
||||
# else:
|
||||
# unit = "a.u."
|
||||
# print(unit)
|
||||
# mg.GetXaxis().SetTitle(xtitle)
|
||||
# mg.GetXaxis().SetTitleSize(0.06)
|
||||
# mg.GetYaxis().SetTitle(
|
||||
# "Efficiency of Long Tracks",
|
||||
# ) # (" + str(round(hist_den[label[0]].GetBinWidth(1), 2)) + f"{unit})"+"^{-1}")
|
||||
# mg.GetYaxis().SetTitleSize(0.06)
|
||||
# mg.GetYaxis().SetTitleOffset(1.1)
|
||||
# mg.GetXaxis().SetRangeUser(*efficiencyHistoDict[histo]["range"])
|
||||
# mg.GetXaxis().SetNdivisions(10, 5, 0)
|
||||
# mygray = 18
|
||||
# myblue = kBlue - 10
|
||||
# mypurple = kMagenta - 10
|
||||
# for i, lab in enumerate(label):
|
||||
# rightmax = 1.05 * hist_den[lab].GetMaximum()
|
||||
# scale = gPad.GetUymax() / rightmax
|
||||
# hist_den[lab].Scale(scale)
|
||||
# if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
# rightmax = 1.05 * hist_elec[lab].GetMaximum()
|
||||
# scale = gPad.GetUymax() / rightmax
|
||||
# hist_elec[lab].Scale(scale)
|
||||
# if (
|
||||
# categories[tracker][cut]["plotEndVelo"]
|
||||
# and plot_velo
|
||||
# and (histo == "p" or histo == "pt")
|
||||
# ):
|
||||
# rightmax = 1.05 * hist_velo[lab].GetMaximum()
|
||||
# scale = gPad.GetUymax() / rightmax
|
||||
# hist_velo[lab].Scale(scale)
|
||||
|
||||
if i == 0:
|
||||
if not plot_electrons_only: # and not plot_velo_only:
|
||||
set_style(hist_den[lab], mygray, markers[i], styles[i])
|
||||
gStyle.SetPalette(2, array("i", [mygray - 1, myblue + 1]))
|
||||
hist_den[lab].Draw("HIST PLC SAME")
|
||||
if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
if not plot_velo_only or (
|
||||
histo == "phi" or histo == "eta" or histo == "nPV"
|
||||
):
|
||||
set_style(hist_elec[lab], myblue, markers[i], styles[i])
|
||||
hist_elec[lab].SetFillColorAlpha(myblue, 0.5)
|
||||
hist_elec[lab].Draw("HIST PLC SAME")
|
||||
if (
|
||||
categories[tracker][cut]["plotEndVelo"]
|
||||
and plot_velo
|
||||
and (histo == "p" or histo == "pt")
|
||||
):
|
||||
set_style(hist_velo[lab], myblue, markers[i], styles[i])
|
||||
hist_velo[lab].SetFillColorAlpha(myblue, 0.5)
|
||||
hist_velo[lab].Draw("HIST PLC SAME")
|
||||
# else:
|
||||
# print(
|
||||
# "No distribution plotted for other labels.",
|
||||
# "Can be added by uncommenting the code below this print statement.",
|
||||
# )
|
||||
# set_style(hist_den[lab], mygray, markers[i], styles[i])
|
||||
# gStyle.SetPalette(2, array("i", [mygray - 1, myblue + 1]))
|
||||
# hist_den[lab].Draw("HIST PLC SAME")
|
||||
# if i == 0:
|
||||
# if not plot_electrons_only: # and not plot_velo_only:
|
||||
# set_style(hist_den[lab], mygray, markers[i], styles[i])
|
||||
# gStyle.SetPalette(2, array("i", [mygray - 1, myblue + 1]))
|
||||
# hist_den[lab].Draw("HIST PLC SAME")
|
||||
# if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
# if not plot_velo_only or (
|
||||
# histo == "phi" or histo == "eta" or histo == "nPV"
|
||||
# ):
|
||||
# set_style(hist_elec[lab], myblue, markers[i], styles[i])
|
||||
# hist_elec[lab].SetFillColorAlpha(myblue, 0.5)
|
||||
# hist_elec[lab].Draw("HIST PLC SAME")
|
||||
# if (
|
||||
# categories[tracker][cut]["plotEndVelo"]
|
||||
# and plot_velo
|
||||
# and (histo == "p" or histo == "pt")
|
||||
# ):
|
||||
# set_style(hist_velo[lab], myblue, markers[i], styles[i])
|
||||
# hist_velo[lab].SetFillColorAlpha(myblue, 0.5)
|
||||
# hist_velo[lab].Draw("HIST PLC SAME")
|
||||
# # else:
|
||||
# # print(
|
||||
# # "No distribution plotted for other labels.",
|
||||
# # "Can be added by uncommenting the code below this print statement.",
|
||||
# # )
|
||||
# # set_style(hist_den[lab], mygray, markers[i], styles[i])
|
||||
# # gStyle.SetPalette(2, array("i", [mygray - 1, myblue + 1]))
|
||||
# # hist_den[lab].Draw("HIST PLC SAME")
|
||||
|
||||
if histo == "p":
|
||||
pos = [0.5, 0.3, 1.0, 0.5] # [0.53, 0.4, 1.01, 0.71]
|
||||
elif histo == "pt":
|
||||
pos = [0.5, 0.3, 0.99, 0.5] # [0.5, 0.4, 0.98, 0.71]
|
||||
elif histo == "phi":
|
||||
pos = [0.4, 0.3, 0.9, 0.5]
|
||||
elif histo == "eta":
|
||||
pos = [0.5, 0.25, 1.0, 0.45]
|
||||
else:
|
||||
pos = [0.35, 0.25, 0.85, 0.45]
|
||||
legend = place_legend(
|
||||
canvas, *pos, header="LHCb Simulation", option="LPE"
|
||||
)
|
||||
for le in legend.GetListOfPrimitives():
|
||||
if "distribution" in le.GetLabel():
|
||||
le.SetOption("LF")
|
||||
legend.SetTextFont(132)
|
||||
legend.SetTextSize(0.04)
|
||||
legend.Draw()
|
||||
for lab in label:
|
||||
if not plot_electrons_only: # and not plot_velo_only:
|
||||
eff[lab].Draw("P SAME")
|
||||
if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
if not plot_velo_only or (
|
||||
histo == "phi" or histo == "eta" or histo == "nPV"
|
||||
):
|
||||
eff_elec[lab].Draw("P SAME")
|
||||
if (
|
||||
categories[tracker][cut]["plotEndVelo"]
|
||||
and plot_velo
|
||||
and (histo == "p" or histo == "pt")
|
||||
):
|
||||
eff_velo[lab].Draw("P SAME")
|
||||
cutName = categories[tracker][cut]["title"]
|
||||
latex.DrawLatex(legend.GetX1() + 0.01, legend.GetY1() - 0.05, cutName)
|
||||
low = 0
|
||||
high = 1.05
|
||||
gPad.Update()
|
||||
axis = TGaxis(
|
||||
gPad.GetUxmax(),
|
||||
gPad.GetUymin(),
|
||||
gPad.GetUxmax(),
|
||||
gPad.GetUymax(),
|
||||
low,
|
||||
high,
|
||||
510,
|
||||
"+U",
|
||||
)
|
||||
axis.SetTitleFont(132)
|
||||
axis.SetTitleSize(0.06)
|
||||
axis.SetTitleOffset(0.55)
|
||||
axis.SetTitle(
|
||||
"# Tracks " + get_nicer_var_string(histo) + " distribution [a.u.]",
|
||||
)
|
||||
axis.SetLabelSize(0)
|
||||
axis.Draw()
|
||||
canvas.RedrawAxis()
|
||||
if savepdf and False:
|
||||
filestypes = ["pdf"] # , "png", "eps", "C", "ps", "tex"]
|
||||
for ftype in filestypes:
|
||||
if not plot_electrons_only:
|
||||
canvasName = tracker + "_" + cut + "_" + histo + "." + ftype
|
||||
else:
|
||||
canvasName = (
|
||||
tracker + "Electrons_" + cut + "_" + histo + "." + ftype
|
||||
)
|
||||
canvas.SaveAs("checks/" + canvasName)
|
||||
# canvas.SetRightMargin(0.05)
|
||||
canvas.Write()
|
||||
# if histo == "p":
|
||||
# pos = [0.5, 0.3, 1.0, 0.5] # [0.53, 0.4, 1.01, 0.71]
|
||||
# elif histo == "pt":
|
||||
# pos = [0.5, 0.3, 0.99, 0.5] # [0.5, 0.4, 0.98, 0.71]
|
||||
# elif histo == "phi":
|
||||
# pos = [0.4, 0.3, 0.9, 0.5]
|
||||
# elif histo == "eta":
|
||||
# pos = [0.5, 0.25, 1.0, 0.45]
|
||||
# else:
|
||||
# pos = [0.35, 0.25, 0.85, 0.45]
|
||||
# legend = place_legend(
|
||||
# canvas, *pos, header="LHCb Simulation", option="LPE"
|
||||
# )
|
||||
# for le in legend.GetListOfPrimitives():
|
||||
# if "distribution" in le.GetLabel():
|
||||
# le.SetOption("LF")
|
||||
# legend.SetTextFont(132)
|
||||
# legend.SetTextSize(0.04)
|
||||
# legend.Draw()
|
||||
# for lab in label:
|
||||
# if not plot_electrons_only: # and not plot_velo_only:
|
||||
# eff[lab].Draw("P SAME")
|
||||
# if categories[tracker][cut]["plotElectrons"] and plot_electrons:
|
||||
# if not plot_velo_only or (
|
||||
# histo == "phi" or histo == "eta" or histo == "nPV"
|
||||
# ):
|
||||
# eff_elec[lab].Draw("P SAME")
|
||||
# if (
|
||||
# categories[tracker][cut]["plotEndVelo"]
|
||||
# and plot_velo
|
||||
# and (histo == "p" or histo == "pt")
|
||||
# ):
|
||||
# eff_velo[lab].Draw("P SAME")
|
||||
# cutName = categories[tracker][cut]["title"]
|
||||
# latex.DrawLatex(legend.GetX1() + 0.01, legend.GetY1() - 0.05, cutName)
|
||||
# low = 0
|
||||
# high = 1.05
|
||||
# gPad.Update()
|
||||
# axis = TGaxis(
|
||||
# gPad.GetUxmax(),
|
||||
# gPad.GetUymin(),
|
||||
# gPad.GetUxmax(),
|
||||
# gPad.GetUymax(),
|
||||
# low,
|
||||
# high,
|
||||
# 510,
|
||||
# "+U",
|
||||
# )
|
||||
# axis.SetTitleFont(132)
|
||||
# axis.SetTitleSize(0.06)
|
||||
# axis.SetTitleOffset(0.55)
|
||||
# axis.SetTitle(
|
||||
# "# Tracks " + get_nicer_var_string(histo) + " distribution [a.u.]",
|
||||
# )
|
||||
# axis.SetLabelSize(0)
|
||||
# axis.Draw()
|
||||
# canvas.RedrawAxis()
|
||||
# if savepdf and False:
|
||||
# filestypes = ["pdf"] # , "png", "eps", "C", "ps", "tex"]
|
||||
# for ftype in filestypes:
|
||||
# if not plot_electrons_only:
|
||||
# canvasName = tracker + "_" + cut + "_" + histo + "." + ftype
|
||||
# else:
|
||||
# canvasName = (
|
||||
# tracker + "Electrons_" + cut + "_" + histo + "." + ftype
|
||||
# )
|
||||
# canvas.SaveAs("checks/" + canvasName)
|
||||
# # canvas.SetRightMargin(0.05)
|
||||
# canvas.Write()
|
||||
|
||||
# calculate ghost rate
|
||||
print("\ncalculate ghost rate: ")
|
||||
histoBaseName = "Track/" + folder + tracker + "/"
|
||||
for histo in ghostHistos[tracker]:
|
||||
trackerDir.cd()
|
||||
title = "ghost_rate_vs_" + histo
|
||||
# # calculate ghost rate
|
||||
# print("\ncalculate ghost rate: ")
|
||||
# histoBaseName = "Track/" + folder + tracker + "/"
|
||||
# for histo in ghostHistos[tracker]:
|
||||
# trackerDir.cd()
|
||||
# title = "ghost_rate_vs_" + histo
|
||||
|
||||
gPad.SetTicks()
|
||||
histoName = histoBaseName + ghostHistoDict[histo]["variable"]
|
||||
# gPad.SetTicks()
|
||||
# histoName = histoBaseName + ghostHistoDict[histo]["variable"]
|
||||
|
||||
ghost = {}
|
||||
hist_den = {}
|
||||
ghost = get_ghost(ghost, hist_den, tf, histoName, label)
|
||||
canvas = TCanvas(title, title)
|
||||
mg = TMultiGraph()
|
||||
for i, lab in enumerate(label):
|
||||
mg.Add(ghost[lab])
|
||||
set_style(ghost[lab], colors[i], markers[2 * i], styles[i])
|
||||
# ghost = {}
|
||||
# hist_den = {}
|
||||
# ghost = get_ghost(ghost, hist_den, tf, histoName, label)
|
||||
# canvas = TCanvas(title, title)
|
||||
# mg = TMultiGraph()
|
||||
# for i, lab in enumerate(label):
|
||||
# mg.Add(ghost[lab])
|
||||
# set_style(ghost[lab], colors[i], markers[2 * i], styles[i])
|
||||
|
||||
# xtitle = ghostHistoDict[histo]["xTitle"]
|
||||
# mg.GetXaxis().SetTitle(xtitle)
|
||||
# mg.GetYaxis().SetTitle("Fraction of fake tracks")
|
||||
# mg.Draw("ap")
|
||||
# mg.GetXaxis().SetTitleSize(0.06)
|
||||
# mg.GetYaxis().SetTitleSize(0.06)
|
||||
# mg.GetYaxis().SetTitleOffset(1.1)
|
||||
# mg.GetXaxis().SetRangeUser(*efficiencyHistoDict[histo]["range"])
|
||||
# mg.GetXaxis().SetNdivisions(10, 5, 0)
|
||||
# # for lab in label:
|
||||
# # ghost[lab].Draw("P SAME")
|
||||
# if histo == "p":
|
||||
# pos = [0.53, 0.4, 1.00, 0.71]
|
||||
# elif histo == "pt":
|
||||
# pos = [0.5, 0.4, 0.98, 0.71]
|
||||
# elif histo == "eta":
|
||||
# pos = [0.35, 0.6, 0.85, 0.9]
|
||||
# elif histo == "phi":
|
||||
# pos = [0.3, 0.3, 0.9, 0.6]
|
||||
# else:
|
||||
# pos = [0.4, 0.37, 0.80, 0.68]
|
||||
# legend = place_legend(canvas, *pos, header="LHCb Simulation", option="LPE")
|
||||
# legend.SetTextFont(132)
|
||||
# legend.SetTextSize(0.04)
|
||||
# legend.Draw()
|
||||
# # if histo != "nPV":
|
||||
# # latex.DrawLatex(0.7, 0.85, "LHCb simulation")
|
||||
# # else:
|
||||
# # latex.DrawLatex(0.2, 0.85, "LHCb simulation")
|
||||
# # mg.GetYaxis().SetRangeUser(0, 0.4)
|
||||
# if histo == "eta":
|
||||
# mg.GetYaxis().SetRangeUser(0, 0.4)
|
||||
# # track_name = names[tracker] + " tracks"
|
||||
# # latex.DrawLatex(0.7, 0.75, track_name)
|
||||
# # canvas.PlaceLegend()
|
||||
# if savepdf:
|
||||
# filestypes = ["pdf"] # , "png", "eps", "C", "ps", "tex"]
|
||||
# for ftype in filestypes:
|
||||
# canvas.SaveAs(
|
||||
# "checks/" + tracker + "ghost_rate_" + histo + "." + ftype,
|
||||
# )
|
||||
# canvas.Write()
|
||||
|
||||
xtitle = ghostHistoDict[histo]["xTitle"]
|
||||
mg.GetXaxis().SetTitle(xtitle)
|
||||
mg.GetYaxis().SetTitle("Fraction of fake tracks")
|
||||
mg.Draw("ap")
|
||||
mg.GetXaxis().SetTitleSize(0.06)
|
||||
mg.GetYaxis().SetTitleSize(0.06)
|
||||
mg.GetYaxis().SetTitleOffset(1.1)
|
||||
mg.GetXaxis().SetRangeUser(*efficiencyHistoDict[histo]["range"])
|
||||
mg.GetXaxis().SetNdivisions(10, 5, 0)
|
||||
# for lab in label:
|
||||
# ghost[lab].Draw("P SAME")
|
||||
if histo == "p":
|
||||
pos = [0.53, 0.4, 1.00, 0.71]
|
||||
elif histo == "pt":
|
||||
pos = [0.5, 0.4, 0.98, 0.71]
|
||||
elif histo == "eta":
|
||||
pos = [0.35, 0.6, 0.85, 0.9]
|
||||
elif histo == "phi":
|
||||
pos = [0.3, 0.3, 0.9, 0.6]
|
||||
else:
|
||||
pos = [0.4, 0.37, 0.80, 0.68]
|
||||
legend = place_legend(canvas, *pos, header="LHCb Simulation", option="LPE")
|
||||
legend.SetTextFont(132)
|
||||
legend.SetTextSize(0.04)
|
||||
legend.Draw()
|
||||
# if histo != "nPV":
|
||||
# latex.DrawLatex(0.7, 0.85, "LHCb simulation")
|
||||
# else:
|
||||
# latex.DrawLatex(0.2, 0.85, "LHCb simulation")
|
||||
# mg.GetYaxis().SetRangeUser(0, 0.4)
|
||||
if histo == "eta":
|
||||
mg.GetYaxis().SetRangeUser(0, 0.4)
|
||||
# track_name = names[tracker] + " tracks"
|
||||
# latex.DrawLatex(0.7, 0.75, track_name)
|
||||
# canvas.PlaceLegend()
|
||||
if savepdf:
|
||||
filestypes = ["pdf"] # , "png", "eps", "C", "ps", "tex"]
|
||||
for ftype in filestypes:
|
||||
canvas.SaveAs(
|
||||
"checks/" + tracker + "ghost_rate_" + histo + "." + ftype,
|
||||
)
|
||||
canvas.Write()
|
||||
#
|
||||
# Compare electron efficiencies of different trackers
|
||||
#
|
||||
@ -832,7 +839,7 @@ def PrCheckerEfficiency(
|
||||
set_style(
|
||||
eff_elec[lab],
|
||||
colors[jcolor],
|
||||
markers[i + markeritr],
|
||||
22, # markers[i + markeritr],
|
||||
styles[i],
|
||||
)
|
||||
else:
|
||||
@ -857,7 +864,7 @@ def PrCheckerEfficiency(
|
||||
set_style(
|
||||
eff_elec[lab],
|
||||
colors[jcolor],
|
||||
markers[i + markeritr],
|
||||
22, # markers[i + markeritr],
|
||||
styles[i],
|
||||
)
|
||||
else:
|
||||
|
Loading…
Reference in New Issue
Block a user