CMS 3D CMS Logo

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