Esempio n. 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
Esempio n. 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
 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.muonID("POG_ID_Medium_Moriond"):
             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
         if not abs(pyl.dxy()) < 0.045:
             continue
         if not abs(pyl.dz()) < 0.2:
             continue
         leptons.append(pyl)
     return leptons