CMS 3D CMS Logo

PbPb_ZMuSkimMuonDPG_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
3 import copy
5 from PhysicsTools.PatAlgos.producersLayer1.genericParticleProducer_cfi import patGenericParticles
6 
7 
8 PbPbZMuHLTFilter = copy.deepcopy(hltHighLevel)
9 PbPbZMuHLTFilter.throw = cms.bool(False)
10 PbPbZMuHLTFilter.HLTPaths = ["HLT_HIL3Mu*"]
11 
12 
14 
15 
16 looseMuonsForPbPbZMuSkim = 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)
20  )
21 
22 
23 
24 
25 ConcretelooseMuonsForPbPbZMuSkim = cms.EDProducer("ConcreteChargedCandidateProducer",
26  src = cms.InputTag("looseMuonsForPbPbZMuSkim"),
27  particleType = cms.string("mu+")
28  )
29 
30 
31 
32 
33 tkIsoDepositTkForPbPbZMuSkim = cms.EDProducer("CandIsoDepositProducer",
34  src = cms.InputTag("ConcretelooseMuonsForPbPbZMuSkim"),
35  MultipleDepositsFlag = cms.bool(False),
36  trackType = cms.string('track'),
37  ExtractorPSet = cms.PSet(
38  #MIsoTrackExtractorBlock
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')
52  )
53  )
54 
55 
56 allPatTracksForPbPbZMuSkim = patGenericParticles.clone(
57  src = cms.InputTag("ConcretelooseMuonsForPbPbZMuSkim"),
58  # isolation configurables
59  userIsolation = cms.PSet(
60  tracker = cms.PSet(
61  veto = cms.double(0.015),
62  src = cms.InputTag("tkIsoDepositTkForPbPbZMuSkim"),
63  deltaR = cms.double(0.3),
64  #threshold = cms.double(1.5)
65  ),
66  ),
67  isoDeposits = cms.PSet(
68  tracker = cms.InputTag("tkIsoDepositTkForPbPbZMuSkim"),
69  ),
70  )
71 
72 
73 
74 
75 
76 looseIsoMuonsForPbPbZMuSkim = cms.EDFilter("PATGenericParticleSelector",
77  src = cms.InputTag("allPatTracksForPbPbZMuSkim"),
78  cut = cms.string("(userIsolation('pat::TrackIso')/pt)<0.4"),
79  filter = cms.bool(True)
80  )
81 
82 
83 
84 
85 
86 
87 tightMuonsForPbPbZMuSkim = cms.EDFilter("MuonSelector",
88  src = cms.InputTag("muons"),
89  cut = cms.string("(isGlobalMuon) && pt > 25. && (abs(eta)<2.4) && (isPFMuon>0) && (globalTrack().normalizedChi2() < 10) && (globalTrack().hitPattern().numberOfValidMuonHits()>0)&& (numberOfMatchedStations() > 1)&& (innerTrack().hitPattern().numberOfValidPixelHits() > 0)&& (innerTrack().hitPattern().trackerLayersWithMeasurement() > 5) && ((isolationR03().sumPt/pt)<0.1)"),
90  filter = cms.bool(True)
91  )
92 
93 
94 
95 
96 # build Z-> MuMu candidates
97 dimuonsForPbPbZMuSkim = cms.EDProducer("CandViewShallowCloneCombiner",
98  checkCharge = cms.bool(False),
99  cut = cms.string('(mass > 60) && (charge=0)'),
100  decay = cms.string("tightMuonsForPbPbZMuSkim looseIsoMuonsForPbPbZMuSkim")
101  )
102 
103 
104 # Z filter
105 dimuonsFilterForPbPbZMuSkim = cms.EDFilter("CandViewCountFilter",
106  src = cms.InputTag("dimuonsForPbPbZMuSkim"),
107  minNumber = cms.uint32(1)
108  )
109 
110 
111 
112 diMuonSelSeqForPbPbZMuSkim = cms.Sequence(
113  PbPbZMuHLTFilter *
114  looseMuonsForPbPbZMuSkim *
115  ConcretelooseMuonsForPbPbZMuSkim *
116  tkIsoDepositTkForPbPbZMuSkim *
117  allPatTracksForPbPbZMuSkim *
118  looseIsoMuonsForPbPbZMuSkim *
119  tightMuonsForPbPbZMuSkim *
120  dimuonsForPbPbZMuSkim *
121  dimuonsFilterForPbPbZMuSkim
122 )
123 
124 
125 
126 
127 
128