CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PDWG_EXOHSCP_cff.py
Go to the documentation of this file.
1 TRACK_PT = 20.0
2 import FWCore.ParameterSet.Config as cms
3 import Alignment.CommonAlignmentProducer.AlignmentTrackSelector_cfi
4 
5 nEventsBefSkim = cms.EDProducer("EventCountProducer")
6 beginSeq = cms.Sequence(nEventsBefSkim)
7 
9 HSCPTrigger = hltHighLevel.clone()
10 HSCPTrigger.andOr = cms.bool( True ) #OR
11 HSCPTrigger.throw = cms.bool( False )
12 HSCPTrigger.HLTPaths = [
13  "HLT_*_dEdx*",
14  "HLT_Mu40_eta2p1*",
15  "HLT_Mu50_eta2p1*",
16  "HLT_HT650_*",
17  "HLT_MET80_*",
18  "HLT_PFMET*",
19  "HLT_*L2Mu*_NoBPTX*",
20  "HLT_L2Mu*_eta2p1_PFMET*",
21  "HLT_Mu17_Mu8_v*",
22  ]
23 hltSeq = cms.Sequence(HSCPTrigger)
24 
25 HSCPdEdxTrigger = HSCPTrigger.clone()
26 HSCPdEdxTrigger.HLTPaths = [
27  "HLT_*_dEdx*"]
28 hltdEdxSeq = cms.Sequence(HSCPdEdxTrigger)
29 
30 #REFIT THE TRACK COLLECTION --> THIS IS NEEDED TO COMPUTE DEDX
33 TrackRefitterSkim = TrackRefitter.clone()
34 TrackRefitterSkim.src = "generalTracks"
35 
36 #COMPUTE DEDX ON THE TRACK COLLECTION (NO PIXEL NO CLUSTER CLEANING HERE)
37 dedxSkimNPHarm2 = cms.EDProducer("DeDxEstimatorProducer",
38  tracks = cms.InputTag("TrackRefitterSkim"),
39  trajectoryTrackAssociation = cms.InputTag("TrackRefitterSkim"),
40 
41  estimator = cms.string('generic'),
42  exponent = cms.double(-2.0),
43 
44  UseStrip = cms.bool(True),
45  UsePixel = cms.bool(False),
46  MeVperADCStrip = cms.double(3.61e-06*265),
47  MeVperADCPixel = cms.double(3.61e-06),
48 
49  MisCalib_Mean = cms.untracked.double(1.0),
50  MisCalib_Sigma = cms.untracked.double(0.00),
51 
52  UseCalibration = cms.bool(False),
53  calibrationPath = cms.string(""),
54  ShapeTest = cms.bool(False),
55 )
56 
57 #CHECK IF THE EVENT SHOULD BE KEPT OR NOT FOR HSCP
58 #THREE CASES
59 #1) Events with HighPT+HighDEdx Tracks are kept
60 #2) Events with HighPT SA Muon are kept
61 #3) Events with DoubleMu are kept
62 HSCPEventFilter = cms.EDFilter("HSCPEventFilter",
63  inputMuonCollection = cms.InputTag("muons"),
64  inputTrackCollection = cms.InputTag("TrackRefitterSkim"),
65  inputDedxCollection = cms.InputTag("dedxSkimNPHarm2"),
66 
67  #USED ONLY FOR HIGH SA MUON SELECTION
68  SAMuPtMin = cms.double(70),
69 
70  #USED ONLY FOR DIMUON SELECTION
71  Mu1PtMin = cms.double(TRACK_PT),
72  Mu2PtMin = cms.double(20),
73 
74  #USED ONLY FOR HIGH PT AND HIGH DEDX TRACK SELECTION
75  trkPtMin = cms.double(TRACK_PT),
76  dedxMin =cms.double(3.0),
77  dedxMaxLeft =cms.double(2.8),
78  ndedxHits = cms.int32(4),
79  etaMin= cms.double(-2.4),
80  etaMax= cms.double(2.4),
81  chi2nMax = cms.double(99999),
82  dxyMax = cms.double(99999),
83  dzMax = cms.double(99999),
84  filter = cms.bool(True)
85 )
86 
87 eventSelSeq = cms.Sequence(TrackRefitterSkim + dedxSkimNPHarm2 + HSCPEventFilter)
88 
89 # AFTER THIS POINT... WE DONT SELECT EVENT ANYMORE... WE ONLY CLEAN OBJECT COLLECTION TO KEEP ONLY THE OBJECTS WE ARE GOING TO USE OFFLINE (REDUCE EVENT SIZE)
90 
91 
92 
93 #NOW APPLY TIGHT TRACK CLEANING
94 #FOR INNER TRACKS NOT MATCHING A MUON INNER TRACK: APPLY PT CUT(40GeV) AND DEDX CUT
95 #FOR INNER TRACKS MATCHING A MUON INNER TRACK: DON'T APPLY ANY MORE CUTS (than what was already applied by loose selection)
96 #THE FILTER IS ENABLED WHICH MEANS THAT IF NO TRACKS ARE PASSING THIS LOOSE CLEANING, THE EVENT IS SKIPPED
97 #OUTPUT OF THIS COLLECTION IS HIGHLY COMPACT AND MUST BE STORE TO THE .ROOT FILE
98 generalTracksSkim = cms.EDFilter("HSCPTrackSelectorModule",
99  src = cms.InputTag("TrackRefitterSkim"),
100  filter = cms.bool(False),
101 
102  #Keep all muon tracks what ever it's pT
103  muonSource = cms.InputTag("muons"),
104 
105  #Keep all inner tracks with pt>TRACK_PT whatever it's dEdx
106  trackerTrackPtMin = cms.double(TRACK_PT),
107  usededx = cms.bool(False),
108  InputDedx = cms.InputTag("dedxSkimNPHarm2"),
109  InnerTrackdEdxRightMin = cms.double(-99999.0),
110  InnerTrackdEdxLeftMax = cms.double(99999.0),
111  InnerMuondEdxRightMin = cms.double(-99999.0),
112  InnerMuondEdxLeftMax = cms.double(99999.0),
113  dEdxMeasurementsMinForMuonTrack = cms.uint32(0),
114  dEdxMeasurementsMinForInnerTrack = cms.uint32(4),
115  )
116 
117 trackerSeq = cms.Sequence(generalTracksSkim)
118 
119 
122 
123 muonEcalDetIdsHSCP = cms.EDProducer("InterestingEcalDetIdProducer",
124  inputCollection = cms.InputTag("muons")
125  )
126 highPtTrackEcalDetIds = cms.EDProducer("HighPtTrackEcalDetIdProducer",
127  #TrackAssociatorParameterBlock
128  TrackAssociatorParameters=TrackAssociatorParameterBlock.TrackAssociatorParameters,
129  inputCollection = cms.InputTag("generalTracksSkim"),
130  TrackPt=cms.double(TRACK_PT)
131  )
132 
133 detIdProduceSeq = cms.Sequence(muonEcalDetIdsHSCP+highPtTrackEcalDetIds)
134 
135 reducedHSCPEcalRecHitsEB = cms.EDProducer("ReducedRecHitCollectionProducer",
136  recHitsLabel = cms.InputTag("ecalRecHit","EcalRecHitsEB"),
137  interestingDetIdCollections = cms.VInputTag(
138  #high p_t tracker track ids
139  cms.InputTag("highPtTrackEcalDetIds"),
140  #muons
141  cms.InputTag("muonEcalDetIdsHSCP")
142  ),
143  reducedHitsCollection = cms.string('')
144 )
145 reducedHSCPEcalRecHitsEE = cms.EDProducer("ReducedRecHitCollectionProducer",
146  recHitsLabel = cms.InputTag("ecalRecHit","EcalRecHitsEE"),
147  interestingDetIdCollections = cms.VInputTag(
148  #high p_t tracker track ids
149  cms.InputTag("highPtTrackEcalDetIds"),
150  #muons
151  cms.InputTag("muonEcalDetIdsHSCP")
152  ),
153  reducedHitsCollection = cms.string('')
154 )
155 
156 
157 ecalSeq = cms.Sequence(detIdProduceSeq+reducedHSCPEcalRecHitsEB+reducedHSCPEcalRecHitsEE)
158 
159 
160 reducedHSCPhbhereco = cms.EDProducer("ReduceHcalRecHitCollectionProducer",
161  recHitsLabel = cms.InputTag("hbhereco",""),
162  TrackAssociatorParameters=TrackAssociatorParameterBlock.TrackAssociatorParameters,
163  inputCollection = cms.InputTag("generalTracksSkim"),
164  TrackPt=cms.double(TRACK_PT),
165  reducedHitsCollection = cms.string('')
166 )
167 
168 hcalSeq = cms.Sequence(reducedHSCPhbhereco)
169 
170 muonsSkim = cms.EDProducer("UpdatedMuonInnerTrackRef",
171  MuonTag = cms.untracked.InputTag("muons"),
172  OldTrackTag = cms.untracked.InputTag("generalTracks"),
173  NewTrackTag = cms.untracked.InputTag("generalTracksSkim"),
174  maxInvPtDiff = cms.untracked.double(0.005),
175  minDR = cms.untracked.double(0.01),
176 )
177 muonSeq = cms.Sequence(muonsSkim)
178 
179 
180 
181 TrackAssociatorParametersForHSCPIsol = TrackAssociatorParameterBlock.TrackAssociatorParameters.clone()
182 TrackAssociatorParametersForHSCPIsol.useHO = cms.bool(False)
183 TrackAssociatorParametersForHSCPIsol.CSCSegmentCollectionLabel = cms.InputTag("cscSegments")
184 TrackAssociatorParametersForHSCPIsol.DTRecSegment4DCollectionLabel = cms.InputTag("dt4DSegments")
185 TrackAssociatorParametersForHSCPIsol.EERecHitCollectionLabel = cms.InputTag("ecalRecHit","EcalRecHitsEE")
186 TrackAssociatorParametersForHSCPIsol.EBRecHitCollectionLabel = cms.InputTag("ecalRecHit","EcalRecHitsEB")
187 TrackAssociatorParametersForHSCPIsol.HBHERecHitCollectionLabel = cms.InputTag("hbhereco")
188 
189 
190 HSCPIsolation01 = cms.EDProducer("ProduceIsolationMap",
191  inputCollection = cms.InputTag("generalTracksSkim"),
192  IsolationConeDR = cms.double(0.1),
193  TkIsolationPtCut = cms.double(10),
194  TKLabel = cms.InputTag("generalTracks"),
195  TrackAssociatorParameters=TrackAssociatorParametersForHSCPIsol,
196 )
197 
198 HSCPIsolation03 = HSCPIsolation01.clone()
199 HSCPIsolation03.IsolationConeDR = cms.double(0.3)
200 
201 HSCPIsolation05 = HSCPIsolation01.clone()
202 HSCPIsolation05.IsolationConeDR = cms.double(0.5)
203 
204 #final sequence
205 exoticaHSCPSeq = cms.Sequence(beginSeq+hltSeq+eventSelSeq+trackerSeq+ecalSeq+hcalSeq+muonSeq+HSCPIsolation01+HSCPIsolation03+HSCPIsolation05)
206 exoticaHSCPdEdxSeq = cms.Sequence(beginSeq+hltdEdxSeq+trackerSeq+ecalSeq+hcalSeq+muonSeq+HSCPIsolation01+HSCPIsolation03+HSCPIsolation05)
207 
208 EXOHSCPSkim_EventContent=cms.PSet(
209  outputCommands = cms.untracked.vstring(
210  "drop *",
211  "keep EventAux_*_*_*",
212  'keep LumiSummary_*_*_*',
213  'keep edmMergeableCounter_*_*_*',
214  "keep GenEventInfoProduct_generator_*_*",
215  "keep L1GlobalTriggerReadoutRecord_*_*_*",
216  "keep recoVertexs_offlinePrimaryVertices_*_*",
217  "keep recoMuons_muonsSkim_*_*",
218  "keep SiStripClusteredmNewDetSetVector_generalTracksSkim_*_*",
219  "keep SiPixelClusteredmNewDetSetVector_generalTracksSkim_*_*",
220  "keep recoTracks_generalTracksSkim_*_*",
221  "keep recoTrackExtras_generalTracksSkim_*_*",
222  "keep TrackingRecHitsOwned_generalTracksSkim_*_*",
223  'keep *_dt1DRecHits_*_*',
224  'keep *_dt4DSegments_*_*',
225  'keep *_csc2DRecHits_*_*',
226  'keep *_cscSegments_*_*',
227  'keep *_rpcRecHits_*_*',
228  'keep recoTracks_standAloneMuons_*_*',
229  'keep recoTrackExtras_standAloneMuons_*_*',
230  'keep TrackingRecHitsOwned_standAloneMuons_*_*',
231  'keep recoTracks_globalMuons_*_*',
232  'keep recoTrackExtras_globalMuons_*_*',
233  'keep TrackingRecHitsOwned_globalMuons_*_*',
234  'keep EcalRecHitsSorted_reducedHSCPEcalRecHitsEB_*_*',
235  'keep EcalRecHitsSorted_reducedHSCPEcalRecHitsEE_*_*',
236  'keep HBHERecHitsSorted_reducedHSCPhbhereco__*',
237  'keep edmTriggerResults_TriggerResults__*',
238  'keep *_hltTriggerSummaryAOD_*_*',
239  'keep *_HSCPIsolation01__*',
240  'keep *_HSCPIsolation03__*',
241  'keep *_HSCPIsolation05__*',
242  'keep *_ak5PFJets_*_*',
243  'keep recoPFMETs_pfMet__*',
244  #'keep recoCaloJets_ak5CaloJets__*', #not needed for data
245  #'keep recoCaloMETs_met__*', #not needed for data
246  'keep recoBeamSpot_offlineBeamSpot__*',
247  )
248  )