예제 #1
0
def mtrack(V, jet): #Inv. mass using all tracks in iso and core region, assuming each with pi0 mass
   mpi0=0.139
   jetsum = LParticle()
   for i in range(len(V)):
      if (track_check(V[i])):
         r = delR(V[i], jet)
         if (r < 0.4):
            E = sqrt(mpi0**2 + V[i].x()**2 + V[i].y()**2 + V[i].z()**2)
            W = LParticle(V[i].x(), V[i].y(), V[i].z(), E)
            jetsum.add(W)
###            print jetsum.calcMass()
   return jetsum.calcMass()
예제 #2
0
      l = len(tau_d)
      if (l > 1): #when tau starts decaying
         for jj in range(len(tau_d)):
             daughter = tau_d[jj].getPDG()
             if ((abs(daughter)==15)): 
                photorecoil=True
 #               print "photon recoil"
                break # tau just emits photon
             if ((abs(daughter)>=11) and (abs(daughter)<=14)):
                flaglep=True #looking for lepton decay
                tau_lepdk = tau_lepdk + 1
                break      
         if ((photorecoil==False)):
            taucount=taucount+1
         if ((flaglep==False)and(photorecoil==False)):
            leptau=LParticle('tauhad-dir')
            leptau.setPxPyPz(par.getMomentum()[0], par.getMomentum()[1], par.getMomentum()[2])
            truejet=[]
            for aa in range(len(tau_d)):
               daughtau=tau_d[aa]
               if ((abs(daughtau.getPDG()))!=16):
                  if (((abs(daughtau.getPDG()))!=113) and ((abs(daughtau.getPDG()))!=213) and ((abs(daughtau.getPDG()))!=323) and ((abs(daughtau.getPDG()))!=313)):
                     truejetmem=LParticle(str(daughtau.getPDG()))
                     truejetmem.setPxPyPzE(daughtau.getMomentum()[0], daughtau.getMomentum()[1], daughtau.getMomentum()[2], daughtau.getEnergy())
                     truejetmem.setCharge(daughtau.getCharge())
                     truejet.append(truejetmem)
                  else:
                     for reso in daughtau.getDaughters():
                        truejetmem=LParticle(str(reso.getPDG()))
                        truejetmem.setPxPyPzE(reso.getMomentum()[0], reso.getMomentum()[1], reso.getMomentum()[2], reso.getEnergy())
                        truejetmem.setCharge(reso.getCharge())
예제 #3
0
             tau_d = par.getDaughters()
             l = len(tau_d)
             if (l > 1): #when tau starts decaying
                for jj in range(len(tau_d)):
                    daughter = tau_d[jj].getPDG()
                    if ((abs(daughter)==15)): 
                       photorecoil=True
        #               print "photon recoil"
                       break # tau just emits photon
                    if ((abs(daughter)>=11) and (abs(daughter)<=14)):
                       flaglep=True #looking for lepton decay
                       break      
        #            else: print "D: ", daughter
                if ((flaglep==False)and(photorecoil==False)):
#                   print par.getMomentum()[0], par.getMomentum()[1], par.getMomentum()[2]
                   leptau=LParticle('tauhad-dir')
                   leptau.setPxPyPz(par.getMomentum()[0], par.getMomentum()[1], par.getMomentum()[2])
                   truejet=[]
                   for aa in range(len(tau_d)):
                      daughtau=tau_d[aa]
                      if ((abs(daughtau.getPDG()))!=16):
                         truejetmem=LParticle(str(daughtau.getPDG()))
                         truejetmem.setPxPyPzE(daughtau.getMomentum()[0], daughtau.getMomentum()[1], daughtau.getMomentum()[2], daughtau.getEnergy())
                         truejetmem.setCharge(daughtau.getCharge())
                         truejet.append(truejetmem)
#                   print leptau
                   if ((PTCUT(truejet)) and (prong(truejet)==N)):
                      FCENT_t = fcent(truejet, leptau)
                      FTRACK_t = ftrack(truejet, leptau)
                      RTRACK_t = Rtrack(truejet, leptau)
                      NISO_t = Niso_track(truejet, leptau)