Beispiel #1
0
    def makeZ(self, leptonList):
        output = []
        for l1, l2 in combinations(leptonList, 2):
            if (l1.pdgId() == -l2.pdgId()):
                pair = Pair(l1, l2, 23)
                m = pair.p4().mass()
                isMU = abs(l1.pdgId()) == 13
                if l1.pt() > l2.pt():
                    leading = l1
                    subleading = l2
                else:
                    leading = l2
                    subleading = l1
                if isMU:
                    ID = (l1.highPtID and l2.highPtID) or (
                        l1.highPtID
                        and l2.highPtTrackID) or (l2.highPtID
                                                  and l1.highPtTrackID)
                else:
                    ID = True

                if m > 70.0 and m < 110.0 and ID and self.ZIsolation(
                        pair) and pair.p4().pt() > 200.0 and (
                            (isMU and leading.pt() > 50
                             and abs(leading.eta()) < 2.1) or
                            ((not isMU) and leading.pt() > 115)):
                    output.append(pair)
        return output
 def makeW(self,leptonList,MET):
     output=[]
     for l1 in leptonList:
         pair = Pair(l1,MET,l1.charge()*24)
         self.reconstructLeptonicW(pair)
         if  pair.pt()>200.0 and ((abs(l1.pdgId())==13 and MET.pt()>40) or (abs(l1.pdgId())==11 and MET.pt()>80)) :
             output.append(pair)
     return output
Beispiel #3
0
 def makeW(self, leptonList, MET):
     output = []
     for l1 in leptonList:
         pair = Pair(l1, MET, l1.charge() * 24)
         self.defaultWKinematicFit(pair)
         if pair.pt() > 200.0 and (
             (abs(l1.pdgId()) == 13 and MET.pt() > 40) or
             (abs(l1.pdgId()) == 11 and MET.pt() > 80)):
             output.append(pair)
     return output
Beispiel #4
0
    def makeLeptonsMET(self, leptonList, MET):
        output = []
        for l1 in leptonList:
            pair = Pair(l1, MET, l1.charge() * 24)
            mt = pair.mt()
            if mt > self.wMTLimits[0] and mt < self.wMTLimits[1]:
                #                    print 'New W with mt ',mt

                output.append(pair)
        return output
Beispiel #5
0
 def makeDiLeptons(self, leptonList):
     output = []
     for l1, l2 in combinations(leptonList, 2):
         if (l1.pdgId() == -l2.pdgId()):
             pair = Pair(l1, l2, 23)
             m = pair.p4().mass()
             if m > self.zMassLimits[0] and m < self.zMassLimits[1]:
                 #                    print 'New Z with mass ',m
                 output.append(pair)
     return output
Beispiel #6
0
    def makeLeptonsMET(self,leptonList,MET):
        output=[]
        for l1 in leptonList:
            pair = Pair(l1,MET,l1.charge()*24)
            mt=pair.mt()
            if abs(l1.pdgId())==11:
                self.eIsolationFootPrint(pair)
            elif     abs(l1.pdgId())==13:
                self.muIsolationFootPrint(pair)
            if self.selectLNuPair(pair):
#                self.defaultWKinematicFit(pair)
                self.simpleWKinematicFit(pair)
                output.append(pair)
        return output            
Beispiel #7
0
    def makeDiLeptons(self,leptonList):
        output=[]
        for l1,l2 in combinations(leptonList,2):
            if  (l1.pdgId() == -l2.pdgId()):
                pair = Pair(l1,l2,23)
                if abs(l1.pdgId())==11:                  
                    self.eeIsolationFootPrint(pair)
                elif abs(l1.pdgId())==13:                      
                    self.mumuIsolationFootPrint(pair)
                m=pair.p4().mass()
                if self.selectLLPair(pair):
#                    print 'New Z with mass ',m
                    output.append(pair)
        return output