File indexing completed on 2023-03-17 10:49:07
0001 import FWCore.ParameterSet.Config as cms
0002
0003
0004 MuonPOG_EventContent = cms.PSet(
0005 outputCommands = cms.untracked.vstring(
0006 'drop *',
0007 'keep *_TriggerResults_*_*',
0008 'keep *_gmtStage2Digis_Muon_*',
0009 'keep *_offlineSlimmedPrimaryVertices_*_*',
0010 'keep *_offlineBeamSpot_*_*',
0011 'keep *_slimmedMETs_*_*',
0012 'keep *Muons*_slimmedMuons_*_*',
0013 'keep *_isolatedTracks_*_*',
0014 'keep *_slimmedPatTrigger_*_*',
0015 'keep *_slimmedJets_*_*',
0016 )
0017 )
0018
0019
0020 import copy
0021 from HLTrigger.HLTfilters.hltHighLevel_cfi import *
0022
0023 MuonPOGSkimHLTFilter = copy.deepcopy(hltHighLevel)
0024 MuonPOGSkimHLTFilter.throw = cms.bool(False)
0025 MuonPOGSkimHLTFilter.HLTPaths = ["HLT_Mu*","HLT_IsoMu*"]
0026
0027
0028 MuonPOGJPsiSkimHLTFilter = copy.deepcopy(hltHighLevel)
0029 MuonPOGJPsiSkimHLTFilter.throw = cms.bool(False)
0030 MuonPOGJPsiSkimHLTFilter.HLTPaths = ["HLT_Mu*_Track*_Jpsi*","HLT_Mu*_L2Mu*_Jpsi*"]
0031
0032
0033 TAGMUON_CUT = '(pt > 25) && (abs(eta)<2.4) && (isPFMuon>0) && (isGlobalMuon = 1) && (globalTrack().normalizedChi2() < 10) && (globalTrack().hitPattern().numberOfValidMuonHits()>0)&& (numberOfMatchedStations() > 1)&& (innerTrack().hitPattern().numberOfValidPixelHits() > 0)&& (innerTrack().hitPattern().trackerLayersWithMeasurement() > 5) && (((pfIsolationR04.sumChargedHadronPt + max(0., pfIsolationR04.sumNeutralHadronEt + pfIsolationR04.sumPhotonEt - 0.5 * pfIsolationR04.sumPUPt) ) / pt)<0.2)'
0034 TAGMUON_JPSI_CUT = '(isGlobalMuon || numberOfMatchedStations > 1) && pt > 5'
0035
0036 PROBETRACK_CUT = 'pt > 10 && abs(eta)<2.4 && (charge!=0)'
0037 PROBETRACK_JPSI_CUT = 'pt > 2 && abs(eta)<2.4 && (charge!=0)'
0038
0039 PROBESTA_CUT = 'pt > 10 && abs(eta)<2.4 && isStandAloneMuon == 1'
0040 PROBESTA_JPSI_CUT = 'pt > 2 && abs(eta)<2.4 && isStandAloneMuon == 1'
0041
0042 DIMUON = 'mass > 40 || ((daughter(0).isStandAloneMuon) && ( ?daughter(0).masterClone.isStandAloneMuon?({dg0}.p+{dg1}.p)*({dg0}.p+{dg1}.p)-({dg0}.px+{dg1}.px)*({dg0}.px+{dg1}.px)-({dg0}.py+{dg1}.py)*({dg0}.py+{dg1}.py)-({dg0}.pz+{dg1}.pz)*({dg0}.pz+{dg1}.pz):2000) > 1600)'
0043
0044 DIMUON = DIMUON.format(dg0 = "daughter(0).masterClone.standAloneMuon()", dg1="daughter(1)")
0045
0046
0047
0048 GoodTagMuons = cms.EDFilter("PATMuonRefSelector",
0049 src = cms.InputTag("slimmedMuons"),
0050 cut = cms.string(TAGMUON_CUT)
0051 )
0052
0053
0054 GoodProbeTrackMuons = cms.EDFilter("IsoTrackSelector",
0055 src = cms.InputTag("isolatedTracks"),
0056 cut = cms.string(PROBETRACK_CUT),
0057 filter = cms.bool(True)
0058 )
0059
0060 GoodProbeStaMuons = cms.EDFilter("PATMuonRefSelector",
0061 src = cms.InputTag("slimmedMuons"),
0062 cut = cms.string(PROBESTA_CUT),
0063 )
0064
0065 GoodProbeStaMuonsCount = cms.EDFilter("MuonRefPatCount",
0066 src = cms.InputTag("slimmedMuons"),
0067 cut = cms.string(PROBESTA_CUT),
0068 minNumber = cms.uint32(2)
0069 )
0070
0071
0072
0073 DiMuonTrackPOGSkim = cms.EDProducer("CandViewShallowCloneCombiner",
0074 checkCharge = cms.bool(False),
0075 cut = cms.string(DIMUON),
0076 decay = cms.string("GoodTagMuons GoodProbeTrackMuons")
0077 )
0078
0079 DiMuonTrackPOGFilterSkim = cms.EDFilter("CandViewCountFilter",
0080 src = cms.InputTag("DiMuonTrackPOGSkim"),
0081 minNumber = cms.uint32(1)
0082 )
0083
0084
0085 DiMuonSTAPOGSkim = cms.EDProducer("CandViewShallowCloneCombiner",
0086 checkCharge = cms.bool(False),
0087 cut = cms.string(DIMUON),
0088 decay = cms.string("GoodTagMuons GoodProbeStaMuons")
0089 )
0090
0091 DiMuonSTAPOGFilterSkim = cms.EDFilter("CandViewCountFilter",
0092 src = cms.InputTag("DiMuonSTAPOGSkim"),
0093 minNumber = cms.uint32(1)
0094 )
0095
0096
0097
0098
0099
0100 MuonPOGSkimTrackSequence = cms.Sequence(
0101 MuonPOGSkimHLTFilter *
0102 GoodTagMuons *
0103 GoodProbeTrackMuons *
0104 DiMuonTrackPOGSkim *
0105 DiMuonTrackPOGFilterSkim
0106 )
0107
0108 MuonPOGSkimSTASequence = cms.Sequence(
0109 MuonPOGSkimHLTFilter *
0110 GoodTagMuons *
0111 GoodProbeStaMuons *
0112 GoodProbeStaMuonsCount *
0113 DiMuonSTAPOGSkim *
0114 DiMuonSTAPOGFilterSkim
0115 )
0116
0117
0118
0119
0120
0121
0122
0123 GoodJPsiTagMuons = cms.EDFilter("PATMuonRefSelector",
0124 src = cms.InputTag("slimmedMuons"),
0125 cut = cms.string(TAGMUON_JPSI_CUT)
0126 )
0127
0128
0129
0130
0131
0132
0133
0134 GoodJPsiProbeTracksMuons = cms.EDFilter("IsoTrackSelector",
0135 src = cms.InputTag("isolatedTracks"),
0136 cut = cms.string(PROBETRACK_JPSI_CUT),
0137 filter = cms.bool(True)
0138 )
0139
0140 GoodJPsiProbeStaMuons = cms.EDFilter("MuonRefPatCount",
0141 src = cms.InputTag("slimmedMuons"),
0142 cut = cms.string(PROBESTA_JPSI_CUT)
0143 )
0144
0145
0146
0147 GoodJPsiProbeStaMuonsCount = cms.EDFilter("MuonRefPatCount",
0148 src = cms.InputTag("slimmedMuons"),
0149 cut = cms.string(PROBESTA_JPSI_CUT),
0150 minNumber = cms.uint32(2)
0151 )
0152
0153
0154
0155 MuonPOGJPsiSkimTrackSequence = cms.Sequence(
0156 MuonPOGJPsiSkimHLTFilter *
0157 GoodJPsiTagMuons *
0158 GoodJPsiProbeTracksMuons
0159 )
0160
0161 MuonPOGJPsiSkimSTASequence = cms.Sequence(
0162 MuonPOGJPsiSkimHLTFilter *
0163 GoodJPsiTagMuons *
0164 GoodJPsiProbeStaMuons *
0165 GoodJPsiProbeStaMuonsCount
0166 )