def make_efficiency_plots_pls(names, outname, colors): if len(names) < 2: raise ValueError("I need 2 or more histograms!") if len(names) != len(colors): raise ValueError("I need a color for each histogram!") # First n = len(names) i = 1 hname = names[0] denom = histograms[hname] hname = names[i] numer = histograms[hname] hname = outname eff = Efficiency(numer, denom, name=hname) eff.SetStatisticOption(0) # kFCP eff.SetConfidenceLevel(0.682689492137) # one sigma eff.linecolor = colors[i] eff.linewidth = 2 eff.markercolor = colors[i] eff.markerstyle = 1 # frame = eff.GetCopyTotalHisto().Clone(hname + "_frame") frame.Reset() frame.SetMinimum(0) frame.SetMaximum(1.2) frame.GetYaxis().SetTitle("#varepsilon") frame.SetStats(0) frame.Draw() tline = TLine() tline.SetLineColor(1) xmin, xmax = frame.GetXaxis().GetXmin(), frame.GetXaxis().GetXmax() tline.DrawLine(xmin, 1.0, xmax, 1.0) # eff.Draw("same p") keepalive(gPad.func(), eff) gPad.Print(options.outdir + hname + ".png") # Second and on for i in xrange(2, n): hname = names[0] denom = histograms[hname] hname = names[i] numer = histograms[hname] hname = outname eff = Efficiency(numer, denom, name=hname) eff.SetStatisticOption(0) # kFCP eff.SetConfidenceLevel(0.682689492137) # one sigma eff.linecolor = colors[i] eff.linewidth = 2 eff.markercolor = colors[i] eff.markerstyle = 1 eff.Draw("same p") keepalive(gPad.func(), eff) gPad.Print(options.outdir + hname + ".png") return
linewidth=2, markerstyle=20, markercolor='green') frame = Hist(*binning) frame.SetMaximum(1) frame.SetMinimum(0) frame.axis().SetTitle("Number of vertices") frame.axis(2).SetTitle("Efficiency (w.r.t. reco. p_{T}>40 GeV)") canvas.SetLogy(False) canvas.SetLeftMargin(0.2) frame.Draw() l1_efficiency.Draw('pe same') uct_efficiency.Draw('pe same') uct_iso_efficiency.Draw('pe same') legend = Legend(3, topmargin=0.25, leftmargin=0.25) legend.AddEntry(l1_efficiency, 'lp', 'Current Tau44') legend.AddEntry(uct_efficiency, 'lp', 'Upgrade RlxTau25 Rel. Rate %0.2f' % (9488. / 9355)) legend.AddEntry(uct_iso_efficiency, 'lp', 'Upgrade IsoTau25 Rel. Rate %0.2f' % (6224. / 9355)) legend.SetBorderSize(0) legend.SetTextSize(0.03) legend.Draw() canvas.SaveAs("eff_vs_pu.png")
eff.markercolor = 'gray' eff.markerstyle = 1 # frame = eff.GetCopyTotalHisto().Clone(hname + "_frame") frame.Reset() frame.SetMinimum(0) frame.SetMaximum(1.2) frame.GetYaxis().SetTitle("#varepsilon") frame.SetStats(0) frame.Draw() tline = TLine() tline.SetLineColor(1) xmin, xmax = frame.GetXaxis().GetXmin(), frame.GetXaxis().GetXmax() tline.DrawLine(xmin, 1.0, xmax, 1.0) # eff.Draw("same p") gPad.Print(options.outdir + hname + ".png") # k = "denom" hname = "eff_vs_genpt_l1qual_l1pt20_%s" % k denom = histograms[hname] k = "numer" hname = "eff_vs_genpt_l1qual_l1pt20_%s" % k numer = histograms[hname] hname = "eff_vs_genpt_l1qual_l1pt20" eff0 = Efficiency(numer, denom, name=hname) eff0.SetStatisticOption(0) # kFCP eff0.SetConfidenceLevel(0.682689492137) # one sigma eff0.linecolor = 'black' eff0.linewidth = 2 eff0.markercolor = 'black'