import ROOT
import rootnotes
from DataFormats.FWLite import Events, Handle
import math
handleGen = Handle('std::vector<reco::GenParticle>')
labelGen = ("genParticles")
handleL2Muons = Handle('std::vector<reco::Track>')
labelL2Muons = ("hltL2Muons")
handleL1Muons = Handle('vector<l1extra::L1MuonParticle>')
labelL1Muons = ("l1extraParticles")
histoD0 = ROOT.TH1F("histoD0", "d_0 distribution", 100, 0, 100)
histoD0Pass = ROOT.TH1F("histoD0Pass", "d_0 distribution for L2Muons passing cuts", 100, 0, 100)
events = Events("/afs/cern.ch/user/d/demattia/work/29.0_ZEE+ZEE+DIGI+RECO+ALCAELE/step3.root")
for event in events:
event.getByLabel(labelGen, handleGen)
genMuons = handleGen.product()
# print "gen d0 =", genMuons[0].vertex().x()
# print "gen pt =", genMuons[0].pt()
try:
# L1Muons
event.getByLabel(labelL1Muons, handleL1Muons)
L1Muons = handleL1Muons.product()
# L2Muons
event.getByLabel(labelL2Muons, handleL2Muons)
L2Muons = handleL2Muons.product()
# print len(L2Muons)
for L2Muon in L2Muons:
# print "reco pt =", L2Muon.pt()
histoD0.Fill(L2Muon.d0())
if L2Muon.hitPattern().dtStationsWithValidHits() + L2Muon.hitPattern().cscStationsWithValidHits() >= 2:
histoD0Pass.Fill(L2Muon.d0())
# print L2Muons[0].d0()
except:
# print "L2Muons not found"
pass
# print ""
inverted inverted inverted inverted inverted not inverted inverted inverted not inverted inverted not inverted not inverted not inverted not inverted not inverted not inverted inverted inverted not inverted inverted not inverted not inverted inverted not inverted inverted not inverted not inverted not inverted not inverted not inverted inverted not inverted not inverted inverted inverted not inverted inverted not inverted inverted inverted inverted inverted not inverted inverted not inverted not inverted not inverted inverted inverted not inverted inverted inverted not inverted inverted inverted inverted not inverted inverted inverted not inverted not inverted inverted inverted inverted inverted not inverted not inverted not inverted not inverted inverted inverted inverted not inverted inverted not inverted inverted not inverted inverted inverted inverted inverted not inverted inverted not inverted not inverted not inverted not inverted inverted not inverted not inverted
canvasPt = ROOT.TCanvas("canvasPt")
canvasPt = rootnotes.canvas("canvasPt", (400, 400))
histoD0.Draw()
histoD0Pass.Draw("same")
histoD0Pass.SetLineColor(2)
canvasPt
TCanvas::Constructor:0: RuntimeWarning: Deleting canvas with same name: canvasPt