1 import FWCore.ParameterSet.Config
as cms
5 from PhysicsTools.PatAlgos.producersLayer1.genericParticleProducer_cfi
import patGenericParticles
8 PbPbZMuHLTFilter = copy.deepcopy(hltHighLevel)
9 PbPbZMuHLTFilter.throw = cms.bool(
False)
10 PbPbZMuHLTFilter.HLTPaths = [
"HLT_HIL2SingleMu*",
"HLT_HIL3SingleMu*"]
13 primaryVertexFilterForPbPbZMuSkim = cms.EDFilter(
"VertexSelector",
14 src = cms.InputTag(
"offlinePrimaryVertices"),
15 cut = cms.string(
"!isFake && abs(z) <= 25 && position.Rho <= 2"),
16 filter = cms.bool(
True),
23 looseMuonsForPbPbZMuSkim = cms.EDFilter(
"TrackSelector",
24 src = cms.InputTag(
"generalTracks"),
25 cut = cms.string(
'pt > 10 && abs(eta)<2.4 && (charge!=0)'),
26 filter = cms.bool(
True)
32 concreteLooseMuonsForPbPbZMuSkim = cms.EDProducer(
"ConcreteChargedCandidateProducer",
33 src = cms.InputTag(
"looseMuonsForPbPbZMuSkim"),
34 particleType = cms.string(
"mu+")
40 tkIsoDepositTkForPbPbZMuSkim = cms.EDProducer(
"CandIsoDepositProducer",
41 src = cms.InputTag(
"ConcretelooseMuonsForPbPbZMuSkim"),
42 MultipleDepositsFlag = cms.bool(
False),
43 trackType = cms.string(
'track'),
44 ExtractorPSet = cms.PSet(
46 Diff_z = cms.double(0.2),
47 inputTrackCollection = cms.InputTag(
"generalTracks"),
48 BeamSpotLabel = cms.InputTag(
"offlineBeamSpot"),
49 ComponentName = cms.string(
'TrackExtractor'),
50 DR_Max = cms.double(0.5),
51 Diff_r = cms.double(0.1),
52 Chi2Prob_Min = cms.double(-1.0),
53 DR_Veto = cms.double(0.01),
54 NHits_Min = cms.uint32(0),
55 Chi2Ndof_Max = cms.double(1e+64),
56 Pt_Min = cms.double(-1.0),
57 DepositLabel = cms.untracked.string(
'tracker'),
58 BeamlineOption = cms.string(
'BeamSpotFromEvent')
63 allPatTracksForPbPbZMuSkim = patGenericParticles.clone(
64 src = cms.InputTag(
"ConcretelooseMuonsForPbPbZMuSkim"),
66 userIsolation = cms.PSet(
68 veto = cms.double(0.015),
69 src = cms.InputTag(
"tkIsoDepositTkForPbPbZMuSkim"),
70 deltaR = cms.double(0.3),
74 isoDeposits = cms.PSet(
75 tracker = cms.InputTag(
"tkIsoDepositTkForPbPbZMuSkim"),
83 looseIsoMuonsForPbPbZMuSkim = cms.EDFilter(
"PATGenericParticleSelector",
84 src = cms.InputTag(
"allPatTracksForPbPbZMuSkim"),
85 cut = cms.string(
"(userIsolation('pat::TrackIso')/pt)<0.4"),
86 filter = cms.bool(
True)
94 tightMuonsForPbPbZMuSkim = cms.EDFilter(
"MuonSelector",
95 src = cms.InputTag(
"muons"),
96 cut = cms.string(
"(isGlobalMuon) && pt > 15. && (abs(eta)<2.4) && (isPFMuon>0) && (globalTrack().normalizedChi2() < 10) && (globalTrack().hitPattern().numberOfValidMuonHits()>0) && (numberOfMatchedStations() > 1) && (innerTrack().hitPattern().numberOfValidPixelHits() > 0) && (innerTrack().hitPattern().trackerLayersWithMeasurement() > 5)"),
97 filter = cms.bool(
True)
104 dimuonsForPbPbZMuSkim = cms.EDProducer(
"CandViewShallowCloneCombiner",
105 checkCharge = cms.bool(
False),
106 cut = cms.string(
'(mass > 60)'),
107 decay = cms.string(
"tightMuonsForPbPbZMuSkim concreteLooseMuonsForPbPbZMuSkim")
112 dimuonsFilterForPbPbZMuSkim = cms.EDFilter(
"CandViewCountFilter",
113 src = cms.InputTag(
"dimuonsForPbPbZMuSkim"),
114 minNumber = cms.uint32(1)
119 diMuonSelSeqForPbPbZMuSkim = cms.Sequence(
121 primaryVertexFilterForPbPbZMuSkim *
122 looseMuonsForPbPbZMuSkim *
123 concreteLooseMuonsForPbPbZMuSkim *
127 tightMuonsForPbPbZMuSkim *
128 dimuonsForPbPbZMuSkim *
129 dimuonsFilterForPbPbZMuSkim