def buildDiLeptonsSingle(self, leptons, event): ''' ''' # RIC: patch to adapt it to the di-tau case. Need to talk to Jan di_objects = [] if hasattr(event, 'calibratedTaus'): taus = event.calibratedTaus else: taus = self.handles['taus'].product() if hasattr(event, 'calibratedPfMet'): met = event.calibratedPfMet else: met = self.handles['pfMET'].product()[0] for leg1 in taus: for leg2 in taus: if leg1 != leg2: di_tau = DirectDiTau(Tau(leg1), Tau(leg2), met) di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().associatedVertex = event.goodVertices[0] di_tau.mvaMetSig = None di_objects.append(di_tau) return di_objects
def buildDiLeptonsSingle(self, leptons, event): di_leptons = [] met = self.handles['pfMET'].product()[0] for pat_mu in leptons: muon = self.__class__.LeptonClass(pat_mu) for i_jet, pat_jet in enumerate(self.handles['jets'].product()): for pat_tau in self.handles['taus'].product(): # Get highest-pt tau in jet cone, if any if deltaR2(pat_jet.eta(), pat_jet.phi(), pat_tau.eta(), pat_tau.phi()) < 0.25: pat_jet.tau = Tau(pat_tau) pat_jet.tau.associatedVertex = event.goodVertices[0] break di_tau = DirectDiTau(muon, pat_jet, met) di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg2().nth_jet = i_jet di_tau.leg1().associatedVertex = event.goodVertices[0] di_tau.leg1().event = event.input.object() di_tau.leg2().event = event.input.object() if not self.testLeg1(di_tau.leg1(), 99999): continue di_tau.mvaMetSig = None di_leptons.append(di_tau) return di_leptons
def buildDiLeptonsSingle(self, leptons, event): di_leptons = [] met = self.handles['met'].product()[0] for pat_ele in leptons: ele = self.__class__.LeptonClass(pat_ele) for pat_tau in self.handles['taus'].product(): tau = Tau(pat_tau) di_tau = DirectDiTau(ele, tau, met) di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().associatedVertex = event.goodVertices[0] di_tau.leg1().rho = event.rho di_tau.mvaMetSig = None di_leptons.append(di_tau) return di_leptons
def buildDiLeptonsSingle(self, leptons, event): di_leptons = [] met = self.handles['pfMET'].product()[0] for pat_mu in leptons: muon = self.__class__.LeptonClass(pat_mu) for pat_tau in self.handles['taus'].product(): tau = Tau(pat_tau) di_tau = DirectDiTau(muon, tau, met) di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().associatedVertex = event.goodVertices[0] if not self.testLeg1(di_tau.leg1(), 99999): continue di_tau.mvaMetSig = None di_leptons.append(di_tau) return di_leptons
def buildDiLeptonsSingle(self, leptons, event): ''' ''' # RIC: patch to adapt it to the di-tau case. Need to talk to Jan di_objects = [] taus = self.handles['taus'].product() met = self.handles['met' ].product()[0] for leg1 in taus: for leg2 in taus: if leg1 != leg2: di_tau = DirectDiTau(Tau(leg1), Tau(leg2), met) di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().associatedVertex = event.goodVertices[0] di_tau.mvaMetSig = None di_objects.append(di_tau) return di_objects
def buildDiLeptonsSingle(self, leptons, event): di_leptons = [] met = self.handles['met'].product()[0] for pat_mu in leptons: muon = self.__class__.LeptonClass(pat_mu) for pat_tau in self.handles['taus'].product(): tau = Tau(pat_tau) di_tau = DirectDiTau(muon, tau, met) di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().associatedVertex = event.goodVertices[0] if not self.testLeg1(di_tau.leg1(), 99999): continue di_tau.mvaMetSig = None di_leptons.append(di_tau) return di_leptons
def buildDiLeptonsSingle(self, leptons, event): di_leptons = [] met = self.handles['met'].product()[0] for i_1, pat_muon1 in enumerate(leptons): muon1 = self.__class__.LeptonClass(pat_muon1) for i_2, pat_muon2 in enumerate(leptons): # Keep only pairs with pT(muon1) > pT(muon2) if i_2 <= i_1: continue muon2 = self.__class__.LeptonClass(pat_muon2) di_tau = DirectDiTau(muon1, muon2, met) di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().associatedVertex = event.goodVertices[0] if not self.testLeg1(di_tau.leg1(), 99999): continue di_tau.mvaMetSig = None di_leptons.append(di_tau) return di_leptons
def buildDiLeptonsSingle(self, leptons, event): di_leptons = [] met = self.handles['met'].product()[0] # import pdb; pdb.set_trace() for pat_e in leptons: electron = self.__class__.LeptonClass(pat_e) for pat_mu in self.handles['otherLeptons'].product(): muon = self.__class__.OtherLeptonClass(pat_mu) di_tau = DirectDiTau(electron, muon, met) di_tau.leg1().associatedVertex = event.goodVertices[0] di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().rho = event.rho if not self.testLeg1(di_tau.leg1(), 99999): continue di_tau.mvaMetSig = None di_leptons.append(di_tau) return di_leptons
def buildDiLeptonsSingle(self, leptons, event): di_leptons = [] met = self.handles["met"].product()[0] # import pdb; pdb.set_trace() for pat_e in leptons: electron = self.__class__.LeptonClass(pat_e) for pat_mu in self.handles["otherLeptons"].product(): muon = self.__class__.OtherLeptonClass(pat_mu) di_tau = DirectDiTau(electron, muon, met) di_tau.leg1().associatedVertex = event.goodVertices[0] di_tau.leg2().associatedVertex = event.goodVertices[0] di_tau.leg1().rho = event.rho if not self.testLeg1(di_tau.leg1(), 99999): continue di_tau.mvaMetSig = None di_leptons.append(di_tau) return di_leptons