def build_zee_selection(meta_tree): ''' Build the Zee selection ''' meta = meta_tree selection = And( # Trigger selection # FIXME!! meta.doubleEPass > 0.5, # Leading muon selection meta.e1_e2_SS < 0.5, meta.e1_e2_Mass < 111.2, meta.e1_e2_Mass > 71.2, meta.e1Pt > 20, meta.e2Pt > 10, # Apply Iso meta.e1RelPFIsoDB < 0.25, meta.e2RelPFIsoDB < 0.25, # Apply ID meta.e1CiCTight.bit(1), meta.e2CiCTight.bit(1), # Missing hits meta.e1MissingHits < 1.5, meta.e2MissingHits < 1.5, meta.e1AbsEta < 2.5, meta.e2AbsEta < 2.5, meta.bjetVeto < 1, ) return selection
def build_zmm_selection(meta_tree): ''' Build the Zmumu selection ''' meta = meta_tree selection = And( # Trigger selection meta.doubleMuPass > 0.5, # Leading muon selection meta.m1_m2_SS < 0.5, meta.m1_m2_Mass < 111.2, meta.m1_m2_Mass > 71.2, meta.m1Pt > 20, meta.m2Pt > 10, meta.m1RelPFIsoDB < 0.25, meta.m2RelPFIsoDB < 0.25, meta.m1AbsEta < 2.4, meta.m2AbsEta < 2.4, meta.m1IsGlobal > 0.5, meta.m1IsTracker > 0.5, meta.m1GlbTrkHits > 10.5, meta.m2IsGlobal > 0.5, meta.m2IsTracker > 0.5, meta.m2GlbTrkHits > 10.5, meta.bjetVeto < 1, ) return selection
''' Implementation of ZH search in the mu-mu-mu-tau channel ''' from Analyzer import Analyzer from FinalStateAnalysis.PlotTools.megautil import MetaTree, And, Or from zh_zmm_selection import build_zmm_selection meta = MetaTree() # Selection to ensure there is only one candidate per final state unique = And( # Pick the best Z candidate in the first two positions meta.m1_m2_Zcompat < meta.m1_m3_Zcompat, meta.m1_m2_Zcompat < meta.m2_m3_Zcompat, meta.m1Pt > meta.m2Pt) base_selections = And( # Build the leading ZMM selection build_zmm_selection(meta), # Subleading muon selection meta.m3Pt > 10, meta.m3AbsEta < 2.4, meta.tPt > 20, meta.tAbsEta < 2.3, meta.tDecayFinding > 0.5, # Vetoes
''' Implementation of ZH search in the e-e-e-tau channel ''' from Analyzer import Analyzer from FinalStateAnalysis.PlotTools.megautil import MetaTree, And, Or from zh_zee_selection import build_zee_selection meta = MetaTree() # Selection to ensure there is only one candidate per final state unique = And( # Pick the best Z candidate in the first two positions meta.e1_e2_Zcompat < meta.e1_e3_Zcompat, meta.e1_e2_Zcompat < meta.e2_e3_Zcompat, meta.e1Pt > meta.e2Pt) base_selections = And( # Build the leading zee selection build_zee_selection(meta), # Subleading muon selection meta.e3Pt > 10, meta.e3AbsEta < 2.4, meta.tPt > 20, meta.tAbsEta < 2.3, meta.tDecayFinding > 0.5, # Vetoes
''' Implementation of ZH search in the mu-mu-tau-tau channel ''' from Analyzer import Analyzer from FinalStateAnalysis.PlotTools.megautil import MetaTree, And, Or from zh_zmm_selection import build_zmm_selection meta = MetaTree() unique = And( meta.m1Pt > meta.m2Pt, meta.t1Pt > meta.t2Pt, ) base_selections = And( # Build the leading ZMM selection build_zmm_selection(meta), # Subleading Z selection meta.t1Pt > 20, meta.t1AbsEta < 2.3, meta.t1DecayFinding > 0.5, meta.t2Pt > 20, meta.t2AbsEta < 2.3, meta.t2DecayFinding > 0.5, # Vetoes meta.muGlbIsoVetoPt10 < 1,
base_selections = And( build_zmm_selection(meta), # Subleading muon selection meta.ePt > 10, meta.eAbsEta < 2.5, meta.tPt > 20, meta.tAbsEta < 2.3, meta.tDecayFinding > 0.5, # Vetoes meta.muGlbIsoVetoPt10 < 1, meta.eVetoCicTightIso < 1, #meta.bjetVeto < 1, meta.tauVetoPt20 < 1, # DZ cuts abs(meta.m1DZ - meta.m2DZ) < 0.1, abs(meta.m1DZ - meta.eDZ) < 0.1, abs(meta.m1DZ - meta.tDZ) < 0.1, # Tau cleaning meta.tAntiElectronMVA > 0.5, meta.tCiCTightElecOverlap < 0.5, meta.tAntiMuonLoose > 0.5, meta.tMuOverlap < 0.5, meta.eCiCTight.bit(1), meta.eMissingHits < 0.5, )
''' Implementation of ZH search in the mu-mu-mu-e channel ''' from Analyzer import Analyzer from FinalStateAnalysis.PlotTools.megautil import MetaTree, And, Or from zh_zee_selection import build_zee_selection meta = MetaTree() unique = And( # Pick the best Z candidate in the first two positions meta.e1_e2_Zcompat < meta.e1_e3_Zcompat, meta.e1_e2_Zcompat < meta.e2_e3_Zcompat, meta.e1Pt > meta.e2Pt ) base_selections = And( # Build the leading zee selection build_zee_selection(meta), # Subleading muon selection meta.e3Pt > 10, meta.e3AbsEta < 2.5, meta.mPt > 10, meta.mAbsEta < 2.4,
''' Implementation of ZH search in the mu-mu-mu-e channel ''' from Analyzer import Analyzer from FinalStateAnalysis.PlotTools.megautil import MetaTree, And, Or from zh_zmm_selection import build_zmm_selection meta = MetaTree() unique = And( # Pick the best Z candidate in the first two positions meta.m1_m2_Zcompat < meta.m1_m3_Zcompat, meta.m1_m2_Zcompat < meta.m2_m3_Zcompat, meta.m1Pt > meta.m2Pt ) base_selections = And( # Build the leading ZMM selection build_zmm_selection(meta), # Subleading muon selection meta.m3Pt > 10, meta.m3AbsEta < 2.4, meta.ePt > 10, meta.eAbsEta < 2.5,
base_selections = And( # Build the leading ZMM selection build_zee_selection(meta), # Subleading muon selection meta.mPt > 10, meta.mAbsEta < 2.4, meta.tPt > 20, meta.tAbsEta < 2.3, meta.tDecayFinding > 0.5, # Vetoes meta.muGlbIsoVetoPt10 < 1, meta.eVetoCicTightIso < 1, #meta.bjetVeto < 1, meta.tauVetoPt20 < 1, # DZ cuts abs(meta.e1DZ - meta.e2DZ) < 0.1, abs(meta.e1DZ - meta.mDZ) < 0.1, abs(meta.e1DZ - meta.tDZ) < 0.1, # Tau cleaning meta.tAntiElectronLoose > 0.5, meta.tCiCTightElecOverlap < 0.5, meta.tAntiMuonTight > 0.5, meta.tMuOverlap < 0.5, #meta.mVBTFID > 0.5, meta.mIsGlobal > 0.5, meta.mIsTracker > 0.5, meta.mGlbTrkHits > 10.5, )