Exemple #1
0
    def preselection(self, row):
        ''' Preselection applied to events.

        Excludes FR object IDs and sign cut.
        '''
        #Z Selection
        if not selections.ZEESelection(row):
		return (False, 1)
        if not selections.looseMuonSelection(row,'m'):
		return (False, 2)
        if not selections.looseTauSelectionTESUp(row,'t'):
		return (False, 3)
        if not bool(row.tAntiMuonTight2):
		return (False, 3)
        if not bool(row.tAntiElectronLoose):
		return (False, 3)
        if not selections.generalCuts(row, 'e1','e2','m','t') :
		return (False, 4)
        if not row.eTightCountZH_0 == 2:
		return (False, 4)
        if row.muTightCountZH_0 > 1:
		return (False, 4)
        if (row.mPt + row.tPt < 45):
		return (False, 5)
        # Out homemade bJet Veto, bjetCSVVetoZHLikeNoJetId_2 counts total number of bJets, upper line removes those which overlapped with tight E/Mu
        removedBJets = selections.bJetOverlapElec(row, 'e1') + selections.bJetOverlapElec(row, 'e2') + selections.bJetOverlapMu(row, 'm')
        if (row.bjetCSVVetoZHLikeNoJetId_2 > removedBJets):
		return (False, 6)

        return (True, -1)
Exemple #2
0
    def zSelection(self, row):
        #if not selections.ZMuMuSelectionNoVetos(row): return False
        #if bool(row.muGlbIsoVetoPt10):  return False
        #if bool(row.bjetCSVVeto):       return False
        #if selections.overlap(row, 'm1','m2','m3','t') : return False 
        #if row.tPt < 5:                 return False
        ### if row.m3Pt < 10:              return False
        ### if row.m3AbsEta > 2.4:         return False
        ### if row.m3DZ > 0.1:             return False
        ### return True
        #return selections.signalMuonSelection(row,'m3')

        if not selections.ZMuMuSelection(row): return False
        if not selections.generalCuts(row, 'm1','m2','m3','t') : return False
        if not selections.looseTauSelection(row,'t'): return False
        if not bool(row.tAntiMuonTight2): return False
        if not selections.looseMuonSelection(row,'m3'): return False
        #if not bool(row.tAntiElectronLoose): return False
        # Out homemade bJet Veto, bjetCSVVetoZHLikeNoJetId_2 counts total number of bJets, upper line removes those which overlapped with tight E/Mu
        removedBJets = selections.bJetOverlapMu(row, 'm1') + selections.bJetOverlapMu(row, 'm2') + selections.bJetOverlapMu(row, 'm3')
        if (row.bjetCSVVetoZHLikeNoJetId_2 > removedBJets): return False

        # XXX Count Test
        if row.eTightCountZH_0 > 0: return False
        if row.muTightCountZH_0 > 3: return False

        return True
Exemple #3
0
    def preselection(self, row):
        ''' Preselection applied to events.

        Excludes FR object IDs and sign cut.
        '''
        if not selections.ZEESelection(row):
		return (False, 1)
        if not selections.looseElectronSelection(row,'e3'):
		return (False, 2)
        if not selections.looseMuonSelection(row,'m'):
		return (False, 3)
        if not selections.generalCuts(row, 'e1','e2','e3','m'):
		return (False, 4)
        # XXX Count Test - no requirements
        if row.muTightCountZH_0 > 1:
		return (False, 4)
        if row.eTightCountZH_0 > 3:
		return (False, 4)
        if (row.e3Pt + row.mPt < 25):
		return (False, 5)
        # Out homemade bJet Veto, bjetCSVVetoZHLikeNoJetId_2 counts total number of bJets, upper line removes those which overlapped with tight E/Mu
        removedBJets = selections.bJetOverlapElec(row, 'e1') + selections.bJetOverlapElec(row, 'e2') + selections.bJetOverlapElec(row, 'e3') + selections.bJetOverlapMu(row, 'm')
        if (row.bjetCSVVetoZHLikeNoJetId_2 > removedBJets):
		return (False, 6)

        return (True, -1)
    def preselection(self, row):
        ''' Preselection applied to events.

        Excludes FR object IDs and sign cut.
        '''
        if not selections.ZEESelection(row): return False
        if not selections.generalCuts(row, 'e1','e2','e3','m') : return False
        if not selections.looseMuonSelection(row,'m'): return False
        if not selections.looseElectronSelection(row,'e3'): return False
        if (row.e3Pt + row.mPt < 25): return False
        return True
    def preselection(self, row):
        ''' Preselection applied to events.

        Excludes FR object IDs and sign cut.
        '''
        if not selections.ZMuMuSelection(row): return False
        if not selections.generalCuts(row, 'm1','m2','m3','t') : return False
        if not selections.looseTauSelection(row,'t'): return False
        if not bool(row.tAntiMuonTight2): return False
        if not bool(row.tAntiElectronLoose): return False
        if (row.m3Pt + row.tPt < 45): return False
        return selections.looseMuonSelection(row,'m3')
Exemple #6
0
    def zSelection(self, row):
        if not selections.ZEESelection(row): return False
        if not selections.generalCuts(row, 'e1','e2','m','t'): return False
        if not selections.looseTauSelection(row, 't'): return False
        if not bool(row.tAntiMuonTight2): return False
        if not bool(row.tAntiElectronLoose): return False
        if not selections.looseMuonSelection(row, 'm'): return False
        # Out homemade bJet Veto, bjetCSVVetoZHLikeNoJetId_2 counts total number of bJets, upper line removes those which overlapped with tight E/Mu
        removedBJets = selections.bJetOverlapElec(row, 'e1') + selections.bJetOverlapElec(row, 'e2') + selections.bJetOverlapMu(row, 'm')
        if (row.bjetCSVVetoZHLikeNoJetId_2 > removedBJets): return False

        #XXX Count Test
        if not row.eTightCountZH_0 == 2: return False
        if row.muTightCountZH_0 > 1: return False

        return True
    def preselection(self, row):
          
        if not selections.generalCuts(row, 'm1','m2','e','m3') : return False
        if not selections.ZMuMuSelection(row): return False
        if not selections.looseElectronSelection(row, 'e'): return False
        if not selections.looseMuonSelection(row, 'm3'): return False
        if (row.ePt + row.m3Pt < 25): return False

        #if not selections.ZMuMuSelection(row): return False
        #if selections.overlap(row, 'm1','m2','e','m3') : return False
        #if not selections.signalMuonSelection(row,'m3'): return False
        #if not selections.signalElectronSelection(row,'e'): return False
        #if row.LT < 25: return False
        #if (row.ePt + row.m3Pt < 25): return False
        #if row.eMissingHits > 1: return False
        #if (row.e_m3_SVfitMass < 100 or row.e_m3_SVfitMass > 150): return False # for MSSM
        return True
    def zSelection(self, row):
        #if not selections.ZEESelectionNoVetos(row): return False
        #if bool(row.muGlbIsoVetoPt10):  return False
        #if bool(row.bjetCSVVeto):       return False
        #if selections.overlap(row, 'e1','e2','m','t') : return False
        #if row.tPt < 5:                 return False
        ## if row.mPt < 10:              return False
        ## if row.mAbsEta > 2.4:         return False
        ## if row.mDZ > 0.1:             return False
        ## return True
        #return selections.signalMuonSelection(row,'m')

        if not selections.ZEESelection(row): return False
        if not selections.generalCuts(row, 'e1','e2','m','t') : return False
        if not selections.looseTauSelection(row,'t',5): return False
        if not bool(row.tAntiMuonTight2): return False
        if not bool(row.tAntiElectronLoose): return False
        return selections.looseMuonSelection(row,'m')
Exemple #9
0
    def preselection(self, row):
        if not selections.ZMuMuSelection(row):
		return (False, 1)
        if not selections.looseElectronSelection(row, 'e'):
		return (False, 2)
        if not selections.looseMuonSelection(row, 'm3'):
		return (False, 3)
        if not selections.generalCuts(row, 'm1','m2','e','m3'):
		return (False, 4)
        if row.muTightCountZH_0 > 3:
		return (False, 4)
        if row.eTightCountZH_0 > 1 and row.eMuOverlapZHTight == 0:
		return (False, 4)
        if (row.ePt + row.m3Pt < 25):
		return (False, 5)
        # Out homemade bJet Veto, bjetCSVVetoZHLikeNoJetId_2 counts total number of bJets, upper line removes those which overlapped with tight E/Mu
        removedBJets = selections.bJetOverlapMu(row, 'm1') + selections.bJetOverlapMu(row, 'm2') + selections.bJetOverlapElec(row, 'e') + selections.bJetOverlapMu(row, 'm3')
        if (row.bjetCSVVetoZHLikeNoJetId_2 > removedBJets):
		return (False, 6)

        return (True, -1)