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 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
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