File indexing completed on 2024-04-06 12:06:47
0001 import FWCore.ParameterSet.Config as cms
0002
0003 import copy
0004 from HLTrigger.HLTfilters.hltHighLevel_cfi import *
0005 from PhysicsTools.PatAlgos.producersLayer1.genericParticleProducer_cfi import patGenericParticles
0006 from PhysicsTools.PatAlgos.producersLayer1.muonProducer_cfi import patMuons
0007
0008 ZMuHLTFilter = copy.deepcopy(hltHighLevel)
0009 ZMuHLTFilter.throw = cms.bool(False)
0010 ZMuHLTFilter.HLTPaths = ["HLT_Mu*","HLT_IsoMu*"]
0011
0012
0013
0014
0015
0016 looseMuonsForZMuSkim = cms.EDFilter("TrackSelector",
0017 src = cms.InputTag("generalTracks"),
0018 cut = cms.string('pt > 10 && abs(eta)<2.4 && (charge!=0)'),
0019 filter = cms.bool(True)
0020 )
0021
0022
0023
0024
0025 ConcretelooseMuonsForZMuSkim = cms.EDProducer("ConcreteChargedCandidateProducer",
0026 src = cms.InputTag("looseMuonsForZMuSkim"),
0027 particleType = cms.string("mu+")
0028 )
0029
0030
0031
0032
0033 tkIsoDepositTk = cms.EDProducer("CandIsoDepositProducer",
0034 src = cms.InputTag("ConcretelooseMuonsForZMuSkim"),
0035 MultipleDepositsFlag = cms.bool(False),
0036 trackType = cms.string('track'),
0037 ExtractorPSet = cms.PSet(
0038
0039 Diff_z = cms.double(0.2),
0040 inputTrackCollection = cms.InputTag("generalTracks"),
0041 BeamSpotLabel = cms.InputTag("offlineBeamSpot"),
0042 ComponentName = cms.string('TrackExtractor'),
0043 DR_Max = cms.double(0.5),
0044 Diff_r = cms.double(0.1),
0045 Chi2Prob_Min = cms.double(-1.0),
0046 DR_Veto = cms.double(0.01),
0047 NHits_Min = cms.uint32(0),
0048 Chi2Ndof_Max = cms.double(1e+64),
0049 Pt_Min = cms.double(-1.0),
0050 DepositLabel = cms.untracked.string('tracker'),
0051 BeamlineOption = cms.string('BeamSpotFromEvent')
0052 )
0053 )
0054
0055
0056 allPatTracks = patGenericParticles.clone(
0057 src = cms.InputTag("ConcretelooseMuonsForZMuSkim"),
0058
0059 userIsolation = cms.PSet(
0060 tracker = cms.PSet(
0061 veto = cms.double(0.015),
0062 src = cms.InputTag("tkIsoDepositTk"),
0063 deltaR = cms.double(0.3),
0064
0065 ),
0066 ),
0067 isoDeposits = cms.PSet(
0068 tracker = cms.InputTag("tkIsoDepositTk"),
0069 ),
0070 )
0071
0072
0073
0074
0075
0076 looseIsoMuonsForZMuSkim = cms.EDFilter("PATGenericParticleSelector",
0077 src = cms.InputTag("allPatTracks"),
0078 cut = cms.string("(userIsolation('pat::TrackIso')/pt)<0.4"),
0079 filter = cms.bool(True)
0080 )
0081
0082
0083
0084
0085 tightMuonsCandidateForZMuSkim = patMuons.clone(
0086 src = cms.InputTag("muons"),
0087 embedHighLevelSelection = cms.bool(True),
0088 )
0089
0090
0091 tightMuonsForZMuSkim = cms.EDFilter("PATMuonSelector",
0092 src = cms.InputTag("tightMuonsCandidateForZMuSkim"),
0093 cut = cms.string('(pt > 28) && (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) && (abs(dB)<0.2) && ((isolationR03().sumPt/pt)<0.1)'),
0094 filter = cms.bool(True)
0095 )
0096
0097
0098
0099 dimuonsZMuSkim = cms.EDProducer("CandViewShallowCloneCombiner",
0100 checkCharge = cms.bool(False),
0101 cut = cms.string('(mass > 60) && (charge=0) && (abs(daughter(0).vz - daughter(1).vz) < 0.1)'),
0102 decay = cms.string("tightMuonsForZMuSkim looseIsoMuonsForZMuSkim")
0103 )
0104
0105
0106
0107 dimuonsFilterZMuSkim = cms.EDFilter("CandViewCountFilter",
0108 src = cms.InputTag("dimuonsZMuSkim"),
0109 minNumber = cms.uint32(1)
0110 )
0111
0112
0113
0114 diMuonSelSeq = cms.Sequence(
0115 ZMuHLTFilter *
0116 looseMuonsForZMuSkim *
0117 ConcretelooseMuonsForZMuSkim *
0118 tkIsoDepositTk *
0119 allPatTracks *
0120 looseIsoMuonsForZMuSkim *
0121 tightMuonsCandidateForZMuSkim *
0122 tightMuonsForZMuSkim *
0123 dimuonsZMuSkim *
0124 dimuonsFilterZMuSkim
0125 )
0126
0127
0128
0129
0130
0131