示例#1
0
 def buildLeptons(self, cmgLeptons, event):
   '''Build muons for veto, associate best vertex, select loose ID muons.
   The loose ID selection is done to ensure that the muon has an inner track.'''
   leptons = []
   for index, lep in enumerate(cmgLeptons):
     pyl = Muon(lep)
     pyl.associatedVertex = event.goodVertices[0]
     if not pyl.muonID('POG_ID_Medium')                     : continue
     if not pyl.relIso(dBetaFactor=0.5, allCharged=0) < 0.3 : continue
     if not self.testLegKine(pyl, ptcut=10, etacut=2.4)     : continue
     leptons.append( pyl )
   return leptons
示例#2
0
 def buildLeptons(self, cmgLeptons, event):
     '''Build muons for veto, associate best vertex, select loose ID muons.
 The loose ID selection is done to ensure that the muon has an inner track.'''
     leptons = []
     for index, lep in enumerate(cmgLeptons):
         pyl = Muon(lep)
         pyl.associatedVertex = event.goodVertices[0]
         if not pyl.muonID('POG_ID_Medium'): continue
         if not pyl.relIso(dBetaFactor=0.5, allCharged=0) < 0.3: continue
         if not self.testLegKine(pyl, ptcut=10, etacut=2.4): continue
         leptons.append(pyl)
     return leptons
示例#3
0
 def buildOtherLeptons(self, cmgLeptons, event):
     '''Build muons for veto, associate best vertex, select loose ID muons.
     The loose ID selection is done to ensure that the muon has an inner track.'''
     leptons = []
     for index, lep in enumerate(cmgLeptons):
         pyl = Muon(lep)
         pyl.associatedVertex = event.goodVertices[0]
         pyl.event = event.input.object()
         if not pyl.muonIDMoriond17():
             continue
         if not pyl.relIso(0.4, dbeta_factor=0.5, all_charged=0) < 0.3:
             continue
         if not self.testLegKine(pyl, ptcut=10, etacut=2.4):
             continue
         leptons.append(pyl)
     return leptons