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 from Configuration.Eras.Modifier_fastSim_cff import fastSim
107 fastSim.toReplaceWith(globalValidation, globalValidation.copyAndExclude([
108  # fastsim has no tracker digis and different tracker rechit and simhit structure => skipp
109  trackerHitsValidation, trackerDigisValidation, trackerRecHitsValidation, trackingRecHitsValid,
110  # the following depends on crossing frame of ecal simhits, which is a bit hard to implement in the fastsim workflow
111  # besides: is this cross frame doing something, or is it a relic from the past?
112  ecalDigisValidationSequence, ecalRecHitsValidationSequence
113 ]))
114 
115 #lite tracking validator to be used in the Validation matrix
116 #lite validation
117 globalValidationLiteTracking = cms.Sequence(globalValidation)
118 
119 #lite pre-validation
120 globalPrevalidationLiteTracking = cms.Sequence(globalPrevalidation)
121 globalPrevalidationLiteTracking.replace(tracksValidation, tracksValidationLite)
122 
125 
126 baseCommonPreValidation = cms.Sequence(cms.SequencePlaceholder("mix"))
127 baseCommonValidation = cms.Sequence()
128 
129 # Tracking-only validation
130 globalPrevalidationTrackingOnly = cms.Sequence(
131  simHitTPAssocProducer
132  + tracksValidationTrackingOnly
133  + vertexValidationTrackingOnly
134 )
135 globalValidationTrackingOnly = cms.Sequence()
136 
137 # Pixel tracking only validation
138 globalPrevalidationPixelTrackingOnly = cms.Sequence(
139  simHitTPAssocProducer
140  + tracksValidationPixelTrackingOnly
141  + vertexValidationPixelTrackingOnly
142 )
143 globalValidationPixelTrackingOnly = cms.Sequence()
144 
145 globalValidationJetMETonly = cms.Sequence(
146  JetValidation
147  + METValidation
148 )
149 
150 globalPrevalidationJetMETOnly = cms.Sequence(
151  jetPreValidSeq
152  + metPreValidSeq
153 )
154 
155 # ECAL local reconstruction
156 globalPrevalidationECAL = cms.Sequence()
157 globalPrevalidationECALOnly = cms.Sequence(
158  baseCommonPreValidation
159  + globalPrevalidationECAL
160 )
161 
162 globalValidationECAL = cms.Sequence(
163  ecalSimHitsValidationSequence
164  + ecalDigisValidationSequence
165  + ecalRecHitsValidationSequence
166  + ecalClustersValidationSequence
167 )
168 globalValidationECALOnly = cms.Sequence(
169  ecalSimHitsValidationSequence
170  + ecalDigisValidationSequence
171  + ecalRecHitsValidationSequence
172  + pfClusterCaloOnlyValidationSequence
173 )
174 from Configuration.Eras.Modifier_phase2_ecal_devel_cff import phase2_ecal_devel
175 phase2_ecal_devel.toReplaceWith(ecalRecHitsValidationSequence, ecalRecHitsValidationSequencePhase2)
176 
177 # HCAL local reconstruction
178 globalPrevalidationHCAL = cms.Sequence()
179 
180 globalPrevalidationHCALOnly = cms.Sequence(
181  baseCommonPreValidation
182  + globalPrevalidationHCAL
183 )
184 
185 hcalRecHitsOnlyValidationSequence = hcalRecHitsValidationSequence.copyAndExclude([NoiseRatesValidation])
186 
187 globalValidationHCAL = cms.Sequence(
188  hcalSimHitsValidationSequence
189  + hcaldigisValidationSequence
190  + hcalSimHitStudy
191 )
192 
193 globalValidationHCALOnly = cms.Sequence(
194  hcalSimHitsValidationSequence
195  + hcaldigisValidationSequence
196  + hcalSimHitStudy
197  + hcalRecHitsOnlyValidationSequence
198  + pfClusterCaloOnlyValidationSequence
199 )
200 
201 globalValidationHGCal = cms.Sequence(hgcalValidation)
202 globalPrevalidationHGCal = cms.Sequence(hgcalAssociators, ticlSimTrackstersTask)
203 
204 globalValidationMTD = cms.Sequence()
205 
206 globalValidationOuterTracker = cms.Sequence(OuterTrackerSourceV)
207 
208 globalPrevalidationMuons = cms.Sequence(
209  gemSimValid
210  + me0SimValid
211  + validSimHit
212  + muondtdigianalyzer
213  + cscDigiValidation
214  + validationMuonRPCDigis
215  + recoMuonValidation
216  + rpcRecHitValidation_step
217  + cscRecHitValidation
218  + dtLocalRecoValidation_no2D
219  + muonIdValDQMSeq
220 )
221 
222 globalValidationMuons = cms.Sequence()
223 
224 _phase_1_globalValidation = globalValidation.copy()
225 _phase_1_globalValidation += siPixelPhase1OfflineDQM_sourceV
226 
227 _phase_1_globalValidationPixelTrackingOnly = globalValidationPixelTrackingOnly.copy()
228 _phase_1_globalValidationPixelTrackingOnly += siPixelPhase1ValidationPixelTrackingOnly_sourceV
229 
230 from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
231 (phase1Pixel & ~fastSim).toReplaceWith( globalValidation, _phase_1_globalValidation ) #module siPixelPhase1OfflineDQM_sourceV can't run in FastSim since siPixelClusters of type edmNew::DetSetVector are not produced
232 (phase1Pixel & ~fastSim).toReplaceWith( globalValidationPixelTrackingOnly, _phase_1_globalValidationPixelTrackingOnly ) #module siPixelPhase1OfflineDQM_sourceV can't run in FastSim since siPixelClusters of type edmNew::DetSetVector are not produced
233 
234 _run3_globalValidation = globalValidation.copy()
235 _run3_globalValidation += gemSimValid
236 
237 _phase2_globalValidation = _run3_globalValidation.copy()
238 _phase2_globalValidation += trackerphase2ValidationSource
239 _phase2_globalValidation += me0SimValid
240 
241 _phase2_ge0_globalValidation = _run3_globalValidation.copy()
242 _phase2_ge0_globalValidation += trackerphase2ValidationSource
243 
244 from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017
245 run2_GEM_2017.toReplaceWith( globalValidation, _run3_globalValidation )
246 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
247 run3_GEM.toReplaceWith( globalValidation, _run3_globalValidation )
248 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
249 phase2_muon.toReplaceWith( globalValidation, _phase2_globalValidation )
250 from Configuration.Eras.Modifier_phase2_GE0_cff import phase2_GE0
251 phase2_GE0.toReplaceWith( globalValidation, _phase2_ge0_globalValidation )
252 phase2_GE0.toReplaceWith( globalPrevalidationMuons, globalPrevalidationMuons.copyAndExclude([me0SimValid]) )
253 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
254 pp_on_AA.toReplaceWith(globalValidation, globalValidation.copyAndExclude([pfTauRunDQMValidation]))
255 from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
256 phase2_timing_layer.toReplaceWith(globalValidationMTD, cms.Sequence(mtdSimValid+mtdDigiValid+mtdRecoValid))