def plotstuff3(cuts,cutname): leg = TLegend(0.6,0.75,0.9,0.9) events.Draw("uncVZ>>h1(150,-50,100)",makeCutString(cuts[0:2]),"colz") leg.AddEntry(gDirectory.Get("h1"),"after base cuts") gDirectory.Get("h1").SetLineColor(1) gDirectory.Get("h1").SetTitle("Effect of "+cutname+" cut") for i in range(2,len(cuts)): events.Draw("uncVZ>>h{0}(150,-50,100)".format(i),makeCutString(cuts[0:i+1]),"colz,same") leg.AddEntry(gDirectory.Get("h{0}".format(i)),"after {0} cut".format(cutnames[i])) gDirectory.Get("h{0}".format(i)).SetLineColor(i) leg.Draw() gDirectory.Get("h1").SetTitle(cutname) gDirectory.Get("h1").GetXaxis().SetTitle("vertex Z [mm]") gDirectory.Get("h1").GetYaxis().SetTitle("events/mm") c.Print(sys.argv[1]+".pdf")
def plotstuff3(cuts, cutname): leg = TLegend(0.6, 0.75, 0.9, 0.9) events.Draw("uncVZ>>h1(150,-50,100)", makeCutString(cuts[0:2]), "colz") leg.AddEntry(gDirectory.Get("h1"), "after base cuts") gDirectory.Get("h1").SetLineColor(1) gDirectory.Get("h1").SetTitle("Effect of " + cutname + " cut") for i in range(2, len(cuts)): events.Draw("uncVZ>>h{0}(150,-50,100)".format(i), makeCutString(cuts[0:i + 1]), "colz,same") leg.AddEntry(gDirectory.Get("h{0}".format(i)), "after {0} cut".format(cutnames[i])) gDirectory.Get("h{0}".format(i)).SetLineColor(i) leg.Draw() gDirectory.Get("h1").SetTitle(cutname) gDirectory.Get("h1").GetXaxis().SetTitle("vertex Z [mm]") gDirectory.Get("h1").GetYaxis().SetTitle("events/mm") c.Print(sys.argv[1] + ".pdf")
def plotstuff3(cuts,cutname): hs = THStack("hs",cutname); hs.Add(gDirectory.Get("h1")) leg = TLegend(0.6,0.75,0.9,0.9) events.Draw("eleClT-posClT>>h0(200,-10,10)",cuts[0],"goff") leg.AddEntry(gDirectory.Get("h0"),"after base cuts") hs.Add(gDirectory.Get("h0")) gDirectory.Get("h0").SetLineColor(1) #gDirectory.Get("h1").SetTitle(cutname) for i in range(1,len(cuts)): events.Draw("eleClT-posClT>>h{0}(100,-10,10)".format(i),makeCutString(cuts[0:i+1]),"goff") leg.AddEntry(gDirectory.Get("h{0}".format(i)),"after {0} cut".format(cutnames[i])) hs.Add(gDirectory.Get("h{0}".format(i))) gDirectory.Get("h{0}".format(i)).SetLineColor(i+1) hs.Draw("nostack") leg.Draw() hs.GetXaxis().SetTitle("tEle-tPos [ns]") hs.GetYaxis().SetTitle("events/(0.1 ns)") c.Print(sys.argv[1]+".pdf")
c.Print(sys.argv[1]+".pdf") def plotstuff3(cuts,cutname): leg = TLegend(0.6,0.75,0.9,0.9) events.Draw("uncVZ>>h1(150,-50,100)",makeCutString(cuts[0:2]),"colz") leg.AddEntry(gDirectory.Get("h1"),"after base cuts") gDirectory.Get("h1").SetLineColor(1) gDirectory.Get("h1").SetTitle("Effect of "+cutname+" cut") for i in range(2,len(cuts)): events.Draw("uncVZ>>h{0}(150,-50,100)".format(i),makeCutString(cuts[0:i+1]),"colz,same") leg.AddEntry(gDirectory.Get("h{0}".format(i)),"after {0} cut".format(cutnames[i])) gDirectory.Get("h{0}".format(i)).SetLineColor(i) leg.Draw() gDirectory.Get("h1").SetTitle(cutname) gDirectory.Get("h1").GetXaxis().SetTitle("vertex Z [mm]") gDirectory.Get("h1").GetYaxis().SetTitle("events/mm") c.Print(sys.argv[1]+".pdf") c.SetLogy(1) plotstuff2(makeCutString(cuts[0:2]),makeCutString(cuts),"vertex Z, |m(e+e-)-0.03|<0.0026 GeV") #plotstuff(makeCutString(cuts),"allcuts") plotstuff3(cuts,"vertex Z, |m(e+e-)-0.03|<0.0026 GeV") for i in range(2,len(cuts)): cutstring = flipCut(cuts,i) cutname = cutnames[i] plotstuff(makeCutString(cuts,i),makeCutString(cuts),flipCut(cuts,i),cutname) c.Print(sys.argv[1]+".pdf]")
hs.Add(gDirectory.Get("h1")) leg = TLegend(0.6,0.75,0.9,0.9) events.Draw("eleClT-posClT>>h0(200,-10,10)",cuts[0],"goff") leg.AddEntry(gDirectory.Get("h0"),"after base cuts") hs.Add(gDirectory.Get("h0")) gDirectory.Get("h0").SetLineColor(1) #gDirectory.Get("h1").SetTitle(cutname) for i in range(1,len(cuts)): events.Draw("eleClT-posClT>>h{0}(100,-10,10)".format(i),makeCutString(cuts[0:i+1]),"goff") leg.AddEntry(gDirectory.Get("h{0}".format(i)),"after {0} cut".format(cutnames[i])) hs.Add(gDirectory.Get("h{0}".format(i))) gDirectory.Get("h{0}".format(i)).SetLineColor(i+1) hs.Draw("nostack") leg.Draw() hs.GetXaxis().SetTitle("tEle-tPos [ns]") hs.GetYaxis().SetTitle("events/(0.1 ns)") c.Print(sys.argv[1]+".pdf") c.SetLogy(1) plotstuff2(cuts[0],makeCutString(cuts),"Effect of cuts") #plotstuff(makeCutString(cuts),"allcuts") plotstuff3(cuts,"Effect of cuts") for i in range(1,len(cuts)): cutstring = flipCut(cuts,i) cutname = cutnames[i] plotstuff(makeCutString(cuts,i),makeCutString(cuts),flipCut(cuts,i),cutname) c.Print(sys.argv[1]+".pdf]")
rocGraph.GetXaxis().SetRangeUser(0, 1) rocGraph.GetYaxis().SetRangeUser(0, 1) c.cd(4) rocGraph.Draw("ALP") c.Modified() c.Print(sys.argv[1] + ".pdf".format(name), "Title:" + name) cuts = [ "uncP>0.85", "uncP<1.2", "tarChisq<50", "max(topTrkChisq,botTrkChisq)<50", "abs(topTrkT-botTrkT)<4", "abs(tarPX)/tarP<0.005", "abs(tarPY)/tarP<0.003" ] c.Print(sys.argv[1] + ".pdf[") makePlots("uncP", "uncP", 100, 0.5, 1.5, makeCutString(cuts[2:]), True) makePlots("tarP", "tarP", 100, 0.5, 1.5, makeCutString(cuts[2:]), True) makePlots("abs(uncP)", "abs(uncP-1.056)", 100, 0, 1, makeCutString(cuts[2:]), True) makePlots("abs(vzcP)", "abs(vzcP-1.056)", 100, 0, 1, makeCutString(cuts[2:]), True) makePlots("abs(tarP)", "abs(tarP-1.056)", 100, 0, 1, makeCutString(cuts[2:]), True) makePlots("tarChisq", "tarChisq", 200, 0, 200, makeCutString(cuts, 2), True) makePlots("bscChisq", "bscChisq", 200, 0, 200, makeCutString(cuts, 2), True) makePlots("vzcChisq", "vzcChisq", 200, 0, 100, makeCutString(cuts, 2), True) makePlots("uncChisq", "uncChisq", 200, 0, 100, makeCutString(cuts, 2), True) makePlots("tar-uncChisq", "tarChisq-uncChisq", 200, 0, 200, makeCutString(cuts, 2), True) makePlots("tar-bscChisq", "tarChisq-bscChisq", 200, 0, 100,
cuts = [ "bscChisq<10", "max(eleTrkChisq,posTrkChisq)<30", #"minPositiveIso-0.02*bscChisq>-10", "eleP<0.8", #"abs(eleFirstHitX-posFirstHitX+2)<700", "abs(eleP-posP)/(eleP+posP)<0.4", "posTrkD0-5*posPX/posP<1.5", "min(eleMinPositiveIso+0.5*(eleTrkZ0-5*elePY/eleP)*sign(elePY),posMinPositiveIso+0.5*(posTrkZ0-5*posPY/posP)*sign(posPY))>0", "bscChisq-uncChisq<5" ] c.Print(sys.argv[1] + ".pdf[") makePlots(c, goodEvents, badEvents, sys.argv[1], "bscChisq", "bscChisq", 100, 0, 50, makeCutString(cuts, 0), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "bsc-uncChisq", "bscChisq-uncChisq", 200, 0, 50, makeCutString(cuts, 6), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "uncChisq", "uncChisq", 100, 0, 50, makeCutString(cuts), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "trkChisq", "max(eleTrkChisq,posTrkChisq)", 100, 0, 50, makeCutString(cuts, 1), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "minPosIso", "minPositiveIso", 200, 0, 5, makeCutString(cuts), False) makePlots(c, goodEvents, badEvents, sys.argv[1], "minPosIso_sloped", "minPositiveIso-0.02*bscChisq", 200, 0, 5, makeCutString(cuts), False) makePlots(c, goodEvents, badEvents, sys.argv[1],
rocGraph.Draw("ALP") c.Modified() c.Print(sys.argv[1]+".pdf".format(name),"Title:"+name) cuts=["uncP>0.85", "uncP<1.2", "tarChisq<50", "max(topTrkChisq,botTrkChisq)<50", "abs(topTrkT-botTrkT)<4", "abs(tarPX)/tarP<0.005", "abs(tarPY)/tarP<0.003"] c.Print(sys.argv[1]+".pdf[") makePlots("uncP","uncP",100,0.5,1.5,makeCutString(cuts[2:]),True) makePlots("tarP","tarP",100,0.5,1.5,makeCutString(cuts[2:]),True) makePlots("abs(uncP)","abs(uncP-1.056)",100,0,1,makeCutString(cuts[2:]),True) makePlots("abs(vzcP)","abs(vzcP-1.056)",100,0,1,makeCutString(cuts[2:]),True) makePlots("abs(tarP)","abs(tarP-1.056)",100,0,1,makeCutString(cuts[2:]),True) makePlots("tarChisq","tarChisq",200,0,200,makeCutString(cuts,2),True) makePlots("bscChisq","bscChisq",200,0,200,makeCutString(cuts,2),True) makePlots("vzcChisq","vzcChisq",200,0,100,makeCutString(cuts,2),True) makePlots("uncChisq","uncChisq",200,0,100,makeCutString(cuts,2),True) makePlots("tar-uncChisq","tarChisq-uncChisq",200,0,200,makeCutString(cuts,2),True) makePlots("tar-bscChisq","tarChisq-bscChisq",200,0,100,makeCutString(cuts,2),True) makePlots("trkChisq","max(topTrkChisq,botTrkChisq)",100,0,100,makeCutString(cuts,3),True)
c.Print(sys.argv[1]+".pdf[") events.Draw("triEndZ>>base1d(100,-5,100)",cuts[0],"colz,goff") base1d = gDirectory.Get("base1d") def plotstuff(cutstring,cutname): c.Clear() c.Divide(1,3) c.cd(1) events.Draw("uncVZ:triEndZ>>plot2d(100,-5,100,100,-50,100)",cutstring,"colz") c.cd(2) events.Draw("triEndZ>>plot1d(100,-5,100)",cutstring,"colz") eff=gDirectory.Get("plot1d").Clone("effloss") eff.Sumw2() eff.Divide(base1d) c.cd(3) eff.Draw() c.Modified() c.Print(sys.argv[1]+".pdf","Title:"+cutname) plotstuff(cuts[0],"basecuts") plotstuff(makeCutString(cuts),"allcuts") for i in range(1,len(cuts)): cutstring = flipCut(cuts,i) cutname = cuts[i] plotstuff(cutstring,cutname) c.Print(sys.argv[1]+".pdf]")
outFile = TFile(sys.argv[1] + ".root", "RECREATE") cuts = [ "bscChisq<10", "max(eleTrkChisq,posTrkChisq)<30", # "minPositiveIso-0.02*bscChisq>-10", "eleP<0.8", # "abs(eleFirstHitX-posFirstHitX+2)<700", "abs(eleP-posP)/(eleP+posP)<0.4", "posTrkD0-5*posPX/posP<1.5", "min(eleMinPositiveIso+0.5*(eleTrkZ0-5*elePY/eleP)*sign(elePY),posMinPositiveIso+0.5*(posTrkZ0-5*posPY/posP)*sign(posPY))>0", "bscChisq-uncChisq<5", ] c.Print(sys.argv[1] + ".pdf[") makePlots(c, goodEvents, badEvents, sys.argv[1], "bscChisq", "bscChisq", 100, 0, 50, makeCutString(cuts, 0), True) makePlots( c, goodEvents, badEvents, sys.argv[1], "bsc-uncChisq", "bscChisq-uncChisq", 200, 0, 50, makeCutString(cuts, 6), True ) makePlots(c, goodEvents, badEvents, sys.argv[1], "uncChisq", "uncChisq", 100, 0, 50, makeCutString(cuts), True) makePlots( c, goodEvents, badEvents, sys.argv[1], "trkChisq", "max(eleTrkChisq,posTrkChisq)", 100, 0, 50,
#badEvents = events.CopyTree("uncVZ*uncM>0.5") outFile = TFile(sys.argv[1]+".root","RECREATE") cuts=["max(abs(eleClT-eleTrkT-43),abs(posClT-posTrkT-43))<4", "max(eleMatchChisq,posMatchChisq)<5", "tarChisq<50", "max(eleTrkChisq,posTrkChisq)<50", "eleP<0.8", "tarP<1.2", "abs(tarPX)/tarP<0.025", "abs(tarPY)/tarP<0.015"] c.Print(sys.argv[1]+".pdf[") makePlots(c,goodEvents,badEvents,sys.argv[1],"matchDt","max(abs(eleClT-eleTrkT-43),abs(posClT-posTrkT-43))",100,0,20,makeCutString(cuts,0),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"eleMatchDt","abs(eleClT-eleTrkT-43)",100,0,20,makeCutString(cuts,0),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"posMatchDt","abs(posClT-posTrkT-43)",100,0,20,makeCutString(cuts,0),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"matchChisq","max(eleMatchChisq,posMatchChisq)",100,0,20,makeCutString(cuts,1),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"eleMatchChisq","eleMatchChisq",100,0,20,makeCutString(cuts,1),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"posMatchChisq","posMatchChisq",100,0,20,makeCutString(cuts,1),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"tarChisq","tarChisq",200,0,200,makeCutString(cuts,2),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"bscChisq","bscChisq",200,0,200,makeCutString(cuts,2),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"vzcChisq","vzcChisq",200,0,100,makeCutString(cuts,2),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"uncChisq","uncChisq",200,0,100,makeCutString(cuts,2),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"tar-uncChisq","tarChisq-uncChisq",200,0,200,makeCutString(cuts,2),True) makePlots(c,goodEvents,badEvents,sys.argv[1],"tar-bscChisq","tarChisq-bscChisq",200,0,100,makeCutString(cuts,2),True) #makePlots(c,goodEvents,badEvents,sys.argv[1],"vzc-uncChisq","vzcChisq-uncChisq",200,0,100,makeCutString(cuts,2),True)
events.Draw("triEndZ>>base1d(100,-5,100)", cuts[0], "colz,goff") base1d = gDirectory.Get("base1d") def plotstuff(cutstring, cutname): c.Clear() c.Divide(1, 3) c.cd(1) events.Draw("uncVZ:triEndZ>>plot2d(100,-5,100,100,-50,100)", cutstring, "colz") c.cd(2) events.Draw("triEndZ>>plot1d(100,-5,100)", cutstring, "colz") eff = gDirectory.Get("plot1d").Clone("effloss") eff.Sumw2() eff.Divide(base1d) c.cd(3) eff.Draw() c.Modified() c.Print(sys.argv[1] + ".pdf", "Title:" + cutname) plotstuff(cuts[0], "basecuts") plotstuff(makeCutString(cuts), "allcuts") for i in range(1, len(cuts)): cutstring = flipCut(cuts, i) cutname = cuts[i] plotstuff(cutstring, cutname) c.Print(sys.argv[1] + ".pdf]")
leg.AddEntry(gDirectory.Get("h1"), "after base cuts") gDirectory.Get("h1").SetLineColor(1) gDirectory.Get("h1").SetTitle("Effect of " + cutname + " cut") for i in range(2, len(cuts)): events.Draw("uncVZ>>h{0}(150,-50,100)".format(i), makeCutString(cuts[0:i + 1]), "colz,same") leg.AddEntry(gDirectory.Get("h{0}".format(i)), "after {0} cut".format(cutnames[i])) gDirectory.Get("h{0}".format(i)).SetLineColor(i) leg.Draw() gDirectory.Get("h1").SetTitle(cutname) gDirectory.Get("h1").GetXaxis().SetTitle("vertex Z [mm]") gDirectory.Get("h1").GetYaxis().SetTitle("events/mm") c.Print(sys.argv[1] + ".pdf") c.SetLogy(1) plotstuff2(makeCutString(cuts[0:2]), makeCutString(cuts), "vertex Z, |m(e+e-)-0.03|<0.0026 GeV") #plotstuff(makeCutString(cuts),"allcuts") plotstuff3(cuts, "vertex Z, |m(e+e-)-0.03|<0.0026 GeV") for i in range(2, len(cuts)): cutstring = flipCut(cuts, i) cutname = cutnames[i] plotstuff(makeCutString(cuts, i), makeCutString(cuts), flipCut(cuts, i), cutname) c.Print(sys.argv[1] + ".pdf]")
#goodEvents = events.CopyTree("abs(uncVZ)*uncM<0.1") #badEvents = events.CopyTree("uncVZ*uncM>0.5") outFile = TFile(sys.argv[1] + ".root", "RECREATE") cuts = [ "max(abs(eleClT-eleTrkT-43),abs(posClT-posTrkT-43))<4", "max(eleMatchChisq,posMatchChisq)<5", "tarChisq<50", "max(eleTrkChisq,posTrkChisq)<50", "eleP<0.8", "tarP<1.2", "abs(tarPX)/tarP<0.025", "abs(tarPY)/tarP<0.015" ] c.Print(sys.argv[1] + ".pdf[") makePlots(c, goodEvents, badEvents, sys.argv[1], "matchDt", "max(abs(eleClT-eleTrkT-43),abs(posClT-posTrkT-43))", 100, 0, 20, makeCutString(cuts, 0), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "eleMatchDt", "abs(eleClT-eleTrkT-43)", 100, 0, 20, makeCutString(cuts, 0), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "posMatchDt", "abs(posClT-posTrkT-43)", 100, 0, 20, makeCutString(cuts, 0), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "matchChisq", "max(eleMatchChisq,posMatchChisq)", 100, 0, 20, makeCutString(cuts, 1), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "eleMatchChisq", "eleMatchChisq", 100, 0, 20, makeCutString(cuts, 1), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "posMatchChisq", "posMatchChisq", 100, 0, 20, makeCutString(cuts, 1), True) makePlots(c, goodEvents, badEvents, sys.argv[1], "tarChisq", "tarChisq", 200, 0, 200, makeCutString(cuts, 2), True)