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