CMS 3D CMS Logo

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
globalValidation_cff.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 
49 
50 # filter/producer "pre-" sequence for globalValidation
51 globalPrevalidationTracking = cms.Sequence(
52  simHitTPAssocProducer
53  * tracksValidation
54  * vertexValidation
55 )
56 globalPrevalidation = cms.Sequence(
57  globalPrevalidationTracking
58  * photonPrevalidationSequence
59  #* produceDenoms
60  * prebTagSequenceMC
61 )
62 
63 # filter/producer "pre-" sequence for validation_preprod
64 preprodPrevalidation = cms.Sequence(
65  tracksPreValidation
66 )
67 
68 globalValidation = cms.Sequence( trackerHitsValidation
69  + trackerDigisValidation
70  + trackerRecHitsValidation
71  + trackingTruthValid
72  + trackingRecHitsValid
73  + ecalSimHitsValidationSequence
74  + ecalDigisValidationSequence
75  + ecalRecHitsValidationSequence
76  + ecalClustersValidationSequence
77  + hcalSimHitsValidationSequence
78  + hcaldigisValidationSequence
79  + hcalSimHitStudy
80  + validSimHit+muondtdigianalyzer
81  + cscDigiValidation
82  + validationMuonRPCDigis
83  + recoMuonValidation
84  + muIsoVal_seq
85  + muonIdValDQMSeq
86  + mixCollectionValidation
87  + JetValidation
88  + METValidation
89  + egammaValidation
90  + pfJetValidationSequence
91  + pfMETValidationSequence
92  + pfElectronValidationSequence
93  + pfJetResValidationSequence
94  + pfMuonValidationSequence
95  + pfClusterValidationSequence
96  + rpcRecHitValidation_step
97  + cscRecHitValidation
98  + dtLocalRecoValidation_no2D
99  + pfTauRunDQMValidation
100  + bTagPlotsMCbcl
101  + L1Validator
102  + bdHadronTrackValidationSeq
103 )
104 
105 from Configuration.Eras.Modifier_fastSim_cff import fastSim
106 fastSim.toReplaceWith(globalValidation, globalValidation.copyAndExclude([
107  # fastsim has no tracker digis and different tracker rechit and simhit structure => skipp
108  trackerHitsValidation, trackerDigisValidation, trackerRecHitsValidation, trackingRecHitsValid,
109  # the following depends on crossing frame of ecal simhits, which is a bit hard to implement in the fastsim workflow
110  # besides: is this cross frame doing something, or is it a relic from the past?
111  ecalDigisValidationSequence, ecalRecHitsValidationSequence
112 ]))
113 
114 #lite tracking validator to be used in the Validation matrix
115 #lite validation
116 globalValidationLiteTracking = cms.Sequence(globalValidation)
117 
118 #lite pre-validation
119 globalPrevalidationLiteTracking = cms.Sequence(globalPrevalidation)
120 globalPrevalidationLiteTracking.replace(tracksValidation, tracksValidationLite)
121 
124 
125 baseCommonPreValidation = cms.Sequence(cms.SequencePlaceholder("mix"))
126 baseCommonValidation = cms.Sequence()
127 
128 # Tracking-only validation
129 globalPrevalidationTrackingOnly = cms.Sequence(
130  simHitTPAssocProducer
131  + tracksValidationTrackingOnly
132  + vertexValidationTrackingOnly
133 )
134 globalValidationTrackingOnly = cms.Sequence()
135 
136 # Pixel tracking only validation
137 globalPrevalidationPixelTrackingOnly = cms.Sequence(
138  simHitTPAssocProducer
139  + tracksValidationPixelTrackingOnly
140  + vertexValidationPixelTrackingOnly
141 )
142 globalValidationPixelTrackingOnly = cms.Sequence()
143 
144 globalValidationJetMETonly = cms.Sequence(
145  JetValidation
146  + METValidation
147 )
148 
149 globalPrevalidationJetMETOnly = cms.Sequence(
150  jetPreValidSeq
151  + metPreValidSeq
152 )
153 
154 # ECAL local reconstruction
155 globalPrevalidationECAL = cms.Sequence()
156 globalPrevalidationECALOnly = cms.Sequence(
157  baseCommonPreValidation
158  + globalPrevalidationECAL
159 )
160 
161 globalValidationECAL = cms.Sequence(
162  ecalSimHitsValidationSequence
163  + ecalDigisValidationSequence
164  + ecalRecHitsValidationSequence
165  + ecalClustersValidationSequence
166 )
167 globalValidationECALOnly = cms.Sequence(
168  ecalSimHitsValidationSequence
169  + ecalDigisValidationSequence
170  + ecalRecHitsValidationSequence
171  + pfClusterCaloOnlyValidationSequence
172 )
173 from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel
174 phase2_ecal_devel.toReplaceWith(ecalRecHitsValidationSequence, ecalRecHitsValidationSequencePhase2)
175 
176 # HCAL local reconstruction
177 globalPrevalidationHCAL = cms.Sequence()
178 
179 globalPrevalidationHCALOnly = cms.Sequence(
180  baseCommonPreValidation
181  + globalPrevalidationHCAL
182 )
183 
184 hcalRecHitsOnlyValidationSequence = hcalRecHitsValidationSequence.copyAndExclude([NoiseRatesValidation])
185 
186 globalValidationHCAL = cms.Sequence(
187  hcalSimHitsValidationSequence
188  + hcaldigisValidationSequence
189  + hcalSimHitStudy
190 )
191 
192 globalValidationHCALOnly = cms.Sequence(
193  hcalSimHitsValidationSequence
194  + hcaldigisValidationSequence
195  + hcalSimHitStudy
196  + hcalRecHitsOnlyValidationSequence
197  + pfClusterCaloOnlyValidationSequence
198 )
199 
200 globalValidationHGCal = cms.Sequence(hgcalValidation)
201 globalPrevalidationHGCal = cms.Sequence(hgcalAssociators, ticlSimTrackstersTask)
202 
203 globalValidationMTD = cms.Sequence()
204 
205 globalPrevalidationMuons = cms.Sequence(
206  gemSimValid
207  + me0SimValid
208  + validSimHit
209  + muondtdigianalyzer
210  + cscDigiValidation
211  + validationMuonRPCDigis
212  + recoMuonValidation
213  + rpcRecHitValidation_step
214  + cscRecHitValidation
215  + dtLocalRecoValidation_no2D
216  + muonIdValDQMSeq
217 )
218 
219 globalValidationMuons = cms.Sequence()
220 
221 _phase_1_globalValidation = globalValidation.copy()
222 _phase_1_globalValidation += siPixelPhase1OfflineDQM_sourceV
223 
224 _phase_1_globalValidationPixelTrackingOnly = globalValidationPixelTrackingOnly.copy()
225 _phase_1_globalValidationPixelTrackingOnly += siPixelPhase1ValidationPixelTrackingOnly_sourceV
226 
227 from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
228 (phase1Pixel & ~fastSim).toReplaceWith( globalValidation, _phase_1_globalValidation ) #module siPixelPhase1OfflineDQM_sourceV can't run in FastSim since siPixelClusters of type edmNew::DetSetVector are not produced
229 (phase1Pixel & ~fastSim).toReplaceWith( globalValidationPixelTrackingOnly, _phase_1_globalValidationPixelTrackingOnly ) #module siPixelPhase1OfflineDQM_sourceV can't run in FastSim since siPixelClusters of type edmNew::DetSetVector are not produced
230 
231 _run3_globalValidation = globalValidation.copy()
232 _run3_globalValidation += gemSimValid
233 
234 _phase2_globalValidation = _run3_globalValidation.copy()
235 _phase2_globalValidation += trackerphase2ValidationSource
236 _phase2_globalValidation += me0SimValid
237 
238 _phase2_ge0_globalValidation = _run3_globalValidation.copy()
239 _phase2_ge0_globalValidation += trackerphase2ValidationSource
240 
241 from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017
242 run2_GEM_2017.toReplaceWith( globalValidation, _run3_globalValidation )
243 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
244 run3_GEM.toReplaceWith( globalValidation, _run3_globalValidation )
245 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
246 phase2_muon.toReplaceWith( globalValidation, _phase2_globalValidation )
247 from Configuration.Eras.Modifier_phase2_GE0_cff import phase2_GE0
248 phase2_GE0.toReplaceWith( globalValidation, _phase2_ge0_globalValidation )
249 phase2_GE0.toReplaceWith( globalPrevalidationMuons, globalPrevalidationMuons.copyAndExclude([me0SimValid]) )
250 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
251 pp_on_AA.toReplaceWith(globalValidation, globalValidation.copyAndExclude([pfTauRunDQMValidation]))
252 from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
253 phase2_timing_layer.toReplaceWith(globalValidationMTD, cms.Sequence(mtdSimValid+mtdDigiValid+mtdRecoValid))