CMS 3D CMS Logo

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  + hcalRecHitsValidationSequence
81  + calotowersValidationSequence
82  + validSimHit+muondtdigianalyzer
83  + cscDigiValidation
84  + validationMuonRPCDigis
85  + recoMuonValidation
86  + muIsoVal_seq
87  + muonIdValDQMSeq
88  + mixCollectionValidation
89  + JetValidation
90  + METValidation
91  + egammaValidation
92  + pfJetValidationSequence
93  + pfMETValidationSequence
94  + pfElectronValidationSequence
95  + pfJetResValidationSequence
96  + pfMuonValidationSequence
97  + pfClusterValidationSequence
98  + rpcRecHitValidation_step
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 # 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 globalPrevalidationHCAL = cms.Sequence()
156 
157 globalValidationHCAL = cms.Sequence(
158  hcalSimHitsValidationSequence
159  + hcaldigisValidationSequence
160  + hcalSimHitStudy
161  + hcalRecHitsValidationSequence
162  + calotowersValidationSequence
163 )
164 
165 globalValidationHGCal = cms.Sequence(hgcalValidation)
166 
167 globalValidationMTD = cms.Sequence()
168 
169 globalValidationOuterTracker = cms.Sequence(OuterTrackerSourceV)
170 
171 globalPrevalidationMuons = cms.Sequence(
172  gemSimValid
173  + me0SimValid
174  + validSimHit
175  + muondtdigianalyzer
176  + cscDigiValidation
177  + validationMuonRPCDigis
178  + recoMuonValidation
179  + rpcRecHitValidation_step
180  + dtLocalRecoValidation_no2D
181  + muonIdValDQMSeq
182 )
183 
184 globalValidationMuons = cms.Sequence()
185 
186 _phase_1_globalValidation = globalValidation.copy()
187 _phase_1_globalValidation += siPixelPhase1OfflineDQM_sourceV
188 from Configuration.Eras.Modifier_phase1Pixel_cff import phase1Pixel
189 (phase1Pixel & ~fastSim).toReplaceWith( globalValidation, _phase_1_globalValidation ) #module siPixelPhase1OfflineDQM_sourceV can't run in FastSim since siPixelClusters of type edmNew::DetSetVector are not produced
190 
191 _run3_globalValidation = globalValidation.copy()
192 _run3_globalValidation += gemSimValid
193 
194 _phase2_globalValidation = _run3_globalValidation.copy()
195 _phase2_globalValidation += trackerphase2ValidationSource
196 _phase2_globalValidation += me0SimValid
197 
198 
199 from Configuration.Eras.Modifier_run2_GEM_2017_cff import run2_GEM_2017
200 run2_GEM_2017.toReplaceWith( globalValidation, _run3_globalValidation )
201 from Configuration.Eras.Modifier_run3_GEM_cff import run3_GEM
202 run3_GEM.toReplaceWith( globalValidation, _run3_globalValidation )
203 from Configuration.Eras.Modifier_phase2_muon_cff import phase2_muon
204 phase2_muon.toReplaceWith( globalValidation, _phase2_globalValidation )
205 from Configuration.Eras.Modifier_pp_on_AA_2018_cff import pp_on_AA_2018
206 pp_on_AA_2018.toReplaceWith(globalValidation, globalValidation.copyAndExclude([pfTauRunDQMValidation]))
207 from Configuration.Eras.Modifier_phase2_timing_layer_cff import phase2_timing_layer
208 phase2_timing_layer.toReplaceWith(globalValidationMTD, cms.Sequence(mtdSimValid+mtdDigiValid+mtdRecoValid))