Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:31:13

0001 #
0002 # This file contains the Top PAG reference selection for mu + jets analysis.
0003 #
0004 
0005 
0006 ### ------------------------- Reference selection -------------------------- ###
0007 
0008 
0009 ### Trigger selection
0010 
0011 # HLT selection
0012 triggerSelectionData  = 'HLT_IsoMu24_eta2p1_v*'
0013 triggerSelectionMC    = 'HLT_*' # not recommended
0014 
0015 ### Muon selection
0016 
0017 # Minimal selection for all muons, also basis for signal and veto muons
0018 # Muon ID ("loose")
0019 muonCut  =     'isPFMuon'                                                                      # general reconstruction property
0020 muonCut += ' && (isGlobalMuon || isTrackerMuon)'                                               # general reconstruction property
0021 # Kinematics
0022 muonCut += ' && pt > 10.'                                                                      # transverse momentum
0023 muonCut += ' && abs(eta) < 2.5'                                                                # pseudo-rapisity range
0024 # (Relative) isolation
0025 muonCut += ' && (chargedHadronIso+neutralHadronIso+photonIso-0.5*puChargedHadronIso)/pt < 0.2' # relative isolation w/ Delta beta corrections (factor 0.5)
0026 
0027 # Signal muon selection on top of 'muonCut'
0028 # Muon ID ("tight")
0029 signalMuonCut  =     'isPFMuon'                                                                               # general reconstruction property
0030 signalMuonCut += ' && isGlobalMuon'                                                                           # general reconstruction property
0031 signalMuonCut += ' && globalTrack.normalizedChi2 < 10.'                                                       # muon ID: 'isGlobalMuonPromptTight'
0032 signalMuonCut += ' && track.hitPattern.trackerLayersWithMeasurement > 5'                                      # muon ID: 'isGlobalMuonPromptTight'
0033 signalMuonCut += ' && globalTrack.hitPattern.numberOfValidMuonHits > 0'                                       # muon ID: 'isGlobalMuonPromptTight'
0034 signalMuonCut += ' && abs(dB) < 0.2'                                                                          # 2-dim impact parameter with respect to beam spot (s. "PAT muon configuration" above)
0035 signalMuonCut += ' && innerTrack.hitPattern.numberOfValidPixelHits > 0'                                       # tracker reconstruction
0036 signalMuonCut += ' && numberOfMatchedStations > 1'                                                            # muon chamber reconstruction
0037 # Kinematics
0038 signalMuonCut += ' && pt > 26.'                                                                               # transverse momentum
0039 signalMuonCut += ' && abs(eta) < 2.1'                                                                         # pseudo-rapisity range
0040 # (Relative) isolation
0041 signalMuonCut += ' && (chargedHadronIso+max(0.,neutralHadronIso+photonIso-0.5*puChargedHadronIso))/pt < 0.12' # relative isolation w/ Delta beta corrections (factor 0.5)
0042 
0043 muonVertexMaxDZ = 0.5 # DeltaZ between muon vertex and PV
0044 
0045 ### Jet selection
0046 
0047 # Signal jet selection
0048 # Jet ID
0049 jetCut  =     'numberOfDaughters > 1'                                 # PF jet ID:
0050 jetCut += ' && neutralHadronEnergyFraction < 0.99'                    # PF jet ID:
0051 jetCut += ' && neutralEmEnergyFraction < 0.99'                        # PF jet ID:
0052 jetCut += ' && (chargedEmEnergyFraction < 0.99 || abs(eta) >= 2.4)'   # PF jet ID:
0053 jetCut += ' && (chargedHadronEnergyFraction > 0. || abs(eta) >= 2.4)' # PF jet ID:
0054 jetCut += ' && (chargedMultiplicity > 0 || abs(eta) >= 2.4)'          # PF jet ID:
0055 # Kinematics
0056 jetCut  +' && abs(eta) < 2.5'                                        # pseudo-rapisity range
0057 # varying jet pt thresholds
0058 veryLooseJetCut = 'pt > 30.' # transverse momentum (4 jets)
0059 looseJetCut     = 'pt > 30.' # transverse momentum (3 jets)
0060 tightJetCut     = 'pt > 30.' # transverse momentum (2 jets)
0061 veryTightJetCut = 'pt > 30.' # transverse momentum (leading jet)
0062 
0063 ### Electron selection
0064 
0065 # Minimal selection for veto electrons
0066 # ... using GsfElectron kinematics
0067 # Electron ID
0068 electronGsfCut  =     'electronID("cutBasedElectronID-CSA14-50ns-V1-standalone-veto")'                                                  # electrons ID
0069 # Kinematics
0070 electronGsfCut += ' && ecalDrivenMomentum.pt > 20.'                                                                                     # transverse energy
0071 electronGsfCut += ' && abs(ecalDrivenMomentum.eta) < 2.5'                                                                               # pseudo-rapisity range
0072 # (Relative) isolation
0073 electronGsfCut += ' && (chargedHadronIso+max(0.,neutralHadronIso+photonIso-1.0*userIsolation("User1Iso")))/ecalDrivenMomentum.pt < 0.2' # relative isolation with Delta beta corrections
0074 # ... using re-calibrated (with regression energy) kinematics
0075 electronCalibCut = electronGsfCut.replace( 'ecalDrivenMomentum.', '' )
0076 electronCut = electronGsfCut
0077 ### ------------------------------------------------------------------------ ###
0078 
0079 ### Electron selection
0080 
0081 # Signal b-tagged jet selection
0082 bTagCut = 'bDiscriminator("combinedInclusiveSecondaryVertexV2BJetTags") > 0.679'
0083 
0084 
0085 ### Trigger matching
0086 
0087 # Trigger object selection
0088 triggerObjectSelectionData = 'type("TriggerMuon") && ( path("%s") )'%( triggerSelectionData )
0089 triggerObjectSelectionMC   = 'type("TriggerMuon") && ( path("%s") )'%( triggerSelectionMC )