示例#1
0
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")
示例#2
0
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")
示例#3
0
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")
示例#4
0
    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]")
示例#5
0
    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]")
示例#6
0
    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,
示例#7
0
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],
示例#8
0
    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]")
示例#10
0
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,
示例#11
0
#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)
示例#12
0
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]")
示例#13
0
    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]")
示例#14
0
#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)