1 import FWCore.ParameterSet.Config
as cms
5 from PhysicsTools.PatAlgos.producersLayer1.genericParticleProducer_cfi
import patGenericParticles
8 ZMuHLTFilter = copy.deepcopy(hltHighLevel)
9 ZMuHLTFilter.throw = cms.bool(
False)
10 ZMuHLTFilter.HLTPaths = [
"HLT_Mu*",
"HLT_IsoMu*"]
16 looseMuonsForZMuSkim = cms.EDFilter(
"TrackSelector",
17 src = cms.InputTag(
"generalTracks"),
18 cut = cms.string(
'pt > 10 && abs(eta)<2.4 && (charge!=0)'),
19 filter = cms.bool(
True)
25 ConcretelooseMuonsForZMuSkim = cms.EDProducer(
"ConcreteChargedCandidateProducer",
26 src = cms.InputTag(
"looseMuonsForZMuSkim"),
27 particleType = cms.string(
"mu+")
33 tkIsoDepositTk = cms.EDProducer(
"CandIsoDepositProducer",
34 src = cms.InputTag(
"ConcretelooseMuonsForZMuSkim"),
35 MultipleDepositsFlag = cms.bool(
False),
36 trackType = cms.string(
'track'),
37 ExtractorPSet = cms.PSet(
39 Diff_z = cms.double(0.2),
40 inputTrackCollection = cms.InputTag(
"generalTracks"),
41 BeamSpotLabel = cms.InputTag(
"offlineBeamSpot"),
42 ComponentName = cms.string(
'TrackExtractor'),
43 DR_Max = cms.double(0.5),
44 Diff_r = cms.double(0.1),
45 Chi2Prob_Min = cms.double(-1.0),
46 DR_Veto = cms.double(0.01),
47 NHits_Min = cms.uint32(0),
48 Chi2Ndof_Max = cms.double(1e+64),
49 Pt_Min = cms.double(-1.0),
50 DepositLabel = cms.untracked.string(
'tracker'),
51 BeamlineOption = cms.string(
'BeamSpotFromEvent')
56 allPatTracks = patGenericParticles.clone(
57 src = cms.InputTag(
"ConcretelooseMuonsForZMuSkim"),
59 userIsolation = cms.PSet(
61 veto = cms.double(0.015),
62 src = cms.InputTag(
"tkIsoDepositTk"),
63 deltaR = cms.double(0.3),
67 isoDeposits = cms.PSet(
68 tracker = cms.InputTag(
"tkIsoDepositTk"),
76 looseIsoMuonsForZMuSkim = cms.EDFilter(
"PATGenericParticleSelector",
77 src = cms.InputTag(
"allPatTracks"),
78 cut = cms.string(
"(userIsolation('pat::TrackIso')/pt)<0.4"),
79 filter = cms.bool(
True)
85 tightMuonsCandidateForZMuSkim = patMuons.clone(
86 src = cms.InputTag(
"muons"),
87 embedHighLevelSelection = cms.bool(
True),
91 tightMuonsForZMuSkim = cms.EDFilter(
"PATMuonSelector",
92 src = cms.InputTag(
"tightMuonsCandidateForZMuSkim"),
93 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)'),
94 filter = cms.bool(
True)
99 dimuonsZMuSkim = cms.EDProducer(
"CandViewShallowCloneCombiner",
100 checkCharge = cms.bool(
False),
101 cut = cms.string(
'(mass > 60) && (charge=0) && (abs(daughter(0).vz - daughter(1).vz) < 0.1)'),
102 decay = cms.string(
"tightMuonsForZMuSkim looseIsoMuonsForZMuSkim")
107 dimuonsFilterZMuSkim = cms.EDFilter(
"CandViewCountFilter",
108 src = cms.InputTag(
"dimuonsZMuSkim"),
109 minNumber = cms.uint32(1)
114 diMuonSelSeq = cms.Sequence(
116 looseMuonsForZMuSkim *
117 ConcretelooseMuonsForZMuSkim *
120 looseIsoMuonsForZMuSkim *
121 tightMuonsCandidateForZMuSkim *
122 tightMuonsForZMuSkim *