1 import FWCore.ParameterSet.Config
as cms
5 from FWCore.ParameterSet.MassReplace
import massReplaceInputTag
11 '''Customization to introduce Particle Flow Reconstruction in Alpaka 14 if not hasattr(process,
'hltParticleFlowClusterHBHE'):
20 process.hltESSPFRecHitHCALParamsRecord = cms.ESSource(
'EmptyESSource',
21 recordName = cms.string(
'PFRecHitHCALParamsRecord'),
22 iovIsRunNotTime = cms.bool(
True),
23 firstValid = cms.vuint32(1)
26 process.hltESSPFRecHitHCALTopologyRecord = cms.ESSource(
'EmptyESSource',
27 recordName = cms.string(
'PFRecHitHCALTopologyRecord'),
28 iovIsRunNotTime = cms.bool(
True),
29 firstValid = cms.vuint32(1)
32 process.hltESSJobConfigurationGPURecord = cms.ESSource(
'EmptyESSource',
33 recordName = cms.string(
'JobConfigurationGPURecord'),
34 iovIsRunNotTime = cms.bool(
True),
35 firstValid = cms.vuint32(1)
38 process.hltHbheRecHitSoA = cms.EDProducer(
"HCALRecHitSoAProducer@alpaka",
39 src = cms.InputTag(
"hltHbhereco"),
40 synchronise = cms.untracked.bool(
False),
42 alpaka = cms.untracked.PSet(
43 backend = cms.untracked.string(
'')
47 process.hltESPPFRecHitHCALTopology = cms.ESProducer(
'PFRecHitHCALTopologyESProducer@alpaka',
48 usePFThresholdsFromDB = cms.bool(
True),
49 appendToDataLabel = cms.string(
''),
51 alpaka = cms.untracked.PSet(
52 backend = cms.untracked.string(
'')
56 process.hltESPPFRecHitHCALParams = cms.ESProducer(
'PFRecHitHCALParamsESProducer@alpaka',
57 energyThresholdsHB = cms.vdouble(0.1, 0.2, 0.3, 0.3),
58 energyThresholdsHE = cms.vdouble(0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2),
59 appendToDataLabel = cms.string(
''),
61 alpaka = cms.untracked.PSet(
62 backend = cms.untracked.string(
'')
66 process.hltParticleFlowRecHitHBHESoA = cms.EDProducer(
"PFRecHitSoAProducerHCAL@alpaka",
67 producers = cms.VPSet(
69 src = cms.InputTag(
"hltHbheRecHitSoA"),
70 params = cms.ESInputTag(
"hltESPPFRecHitHCALParams:"),
73 topology = cms.ESInputTag(
"hltESPPFRecHitHCALTopology:"),
74 synchronise = cms.untracked.bool(
False),
76 alpaka = cms.untracked.PSet(
77 backend = cms.untracked.string(
'')
81 process.hltParticleFlowRecHitHBHE = cms.EDProducer(
"LegacyPFRecHitProducer",
82 src = cms.InputTag(
"hltParticleFlowRecHitHBHESoA")
85 process.hltESPPFClusterParams = cms.ESProducer(
"PFClusterParamsESProducer@alpaka",
86 seedFinder = cms.PSet(
87 nNeighbours = cms.int32(4),
88 thresholdsByDetector = cms.VPSet(
90 detector = cms.string(
'HCAL_BARREL1'),
91 seedingThreshold = cms.vdouble(0.125, 0.25, 0.35, 0.35),
92 seedingThresholdPt = cms.double(0)
95 detector = cms.string(
'HCAL_ENDCAP'),
96 seedingThreshold = cms.vdouble(0.1375, 0.275, 0.275, 0.275, 0.275, 0.275, 0.275),
97 seedingThresholdPt = cms.double(0)
101 initialClusteringStep = cms.PSet(
102 thresholdsByDetector = cms.VPSet(
104 detector = cms.string(
'HCAL_BARREL1'),
105 gatheringThreshold = cms.vdouble(0.1, 0.2, 0.3, 0.3)
108 detector = cms.string(
'HCAL_ENDCAP'),
109 gatheringThreshold = cms.vdouble(0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2)
113 pfClusterBuilder = cms.PSet(
114 maxIterations = cms.uint32(5),
115 minFracTot = cms.double(1e-20),
116 minFractionToKeep = cms.double(1e-07),
117 excludeOtherSeeds = cms.bool(
True),
118 showerSigma = cms.double(10),
119 stoppingTolerance = cms.double(1e-08),
120 recHitEnergyNorms = cms.VPSet(
122 detector = cms.string(
'HCAL_BARREL1'),
123 recHitEnergyNorm = cms.vdouble(0.1, 0.2, 0.3, 0.3)
126 detector = cms.string(
'HCAL_ENDCAP'),
127 recHitEnergyNorm = cms.vdouble(0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2)
130 positionCalc = cms.PSet(
131 minFractionInCalc = cms.double(1e-09),
132 minAllowedNormalization = cms.double(1e-09)
134 timeResolutionCalcBarrel = cms.PSet(
135 corrTermLowE = cms.double(0),
136 threshLowE = cms.double(6),
137 noiseTerm = cms.double(21.86),
138 constantTermLowE = cms.double(4.24),
139 noiseTermLowE = cms.double(8),
140 threshHighE = cms.double(15),
141 constantTerm = cms.double(2.82)
143 timeResolutionCalcEndcap = cms.PSet(
144 corrTermLowE = cms.double(0),
145 threshLowE = cms.double(6),
146 noiseTerm = cms.double(21.86),
147 constantTermLowE = cms.double(4.24),
148 noiseTermLowE = cms.double(8),
149 threshHighE = cms.double(15),
150 constantTerm = cms.double(2.82)
154 alpaka = cms.untracked.PSet(
155 backend = cms.untracked.string(
'')
159 process.hltParticleFlowClusterHBHESoA = cms.EDProducer(
"PFClusterSoAProducer@alpaka",
160 pfRecHits = cms.InputTag(
"hltParticleFlowRecHitHBHESoA"),
161 topology = cms.ESInputTag(
"hltESPPFRecHitHCALTopology:"),
162 pfClusterParams = cms.ESInputTag(
"hltESPPFClusterParams:"),
163 synchronise = cms.bool(
False),
165 alpaka = cms.untracked.PSet(
166 backend = cms.untracked.string(
'')
170 process.hltParticleFlowClusterHBHE = cms.EDProducer(
"LegacyPFClusterProducer",
171 src = cms.InputTag(
"hltParticleFlowClusterHBHESoA"),
172 pfClusterBuilder = process.hltParticleFlowClusterHBHE.pfClusterBuilder,
173 usePFThresholdsFromDB = cms.bool(
True),
174 recHitsSource = cms.InputTag(
"hltParticleFlowRecHitHBHE"),
175 PFRecHitsLabelIn = cms.InputTag(
"hltParticleFlowRecHitHBHESoA")
178 process.HLTPFHcalClustering = cms.Sequence(
179 process.hltHbheRecHitSoA +
180 process.hltParticleFlowRecHitHBHESoA +
181 process.hltParticleFlowRecHitHBHE +
182 process.hltParticleFlowClusterHBHESoA +
183 process.hltParticleFlowClusterHBHE +
184 process.hltParticleFlowClusterHCAL
189 def replaceItemsInSequence(process, seqNames, itemsToReplace, replacingSequence):
190 for seqName
in seqNames:
191 if not hasattr(process, seqName):
193 seq = getattr(process, seqName)
194 for item
in itemsToReplace:
196 if (item != itemsToReplace[-1]):
200 seq.replace(item, replacingSequence)
203 process = replaceItemsInSequence(
205 'HLTParticleFlowSequence',
206 'HLTParticleFlowSequenceForTaus',
207 'HLTParticleFlowSequenceForDisplTaus',
208 'HLTParticleFlowSequencePPOnAA',
209 'HLTPixelOnlyParticleFlowSequence',
211 process.hltParticleFlowRecHitHBHE,
212 process.hltParticleFlowClusterHBHE,
213 process.hltParticleFlowClusterHCAL
215 process.HLTPFHcalClustering
218 process.hltHbheRecHitSoACPUSerial =
makeSerialClone(process.hltHbheRecHitSoA)
220 process.hltParticleFlowRecHitHBHESoACPUSerial =
makeSerialClone(process.hltParticleFlowRecHitHBHESoA)
221 process.hltParticleFlowRecHitHBHESoACPUSerial.producers[0].src =
'hltHbheRecHitSoACPUSerial' 223 process.hltParticleFlowRecHitHBHECPUOnly = process.hltParticleFlowRecHitHBHE.clone(
224 src =
'hltParticleFlowRecHitHBHESoACPUSerial',
227 process.hltParticleFlowClusterHBHESoACPUSerial =
makeSerialClone(process.hltParticleFlowClusterHBHESoA,
228 pfRecHits =
'hltParticleFlowRecHitHBHESoACPUSerial',
231 process.hltParticleFlowClusterHBHECPUOnly = process.hltParticleFlowClusterHBHE.clone(
232 src =
'hltParticleFlowClusterHBHESoACPUSerial',
233 recHitsSource =
'hltParticleFlowRecHitHBHECPUOnly',
234 PFRecHitsLabelIn =
'hltParticleFlowRecHitHBHESoACPUSerial',
237 process.HLTPFHcalClusteringCPUOnly = cms.Sequence(
238 process.hltHbheRecHitSoACPUSerial +
239 process.hltParticleFlowRecHitHBHESoACPUSerial +
240 process.hltParticleFlowRecHitHBHECPUOnly +
241 process.hltParticleFlowClusterHBHESoACPUSerial +
242 process.hltParticleFlowClusterHBHECPUOnly +
243 process.hltParticleFlowClusterHCALCPUOnly
246 process = replaceItemsInSequence(process, [
'HLTParticleFlowCPUOnlySequence'],
247 [process.hltParticleFlowRecHitHBHECPUOnly, process.hltParticleFlowClusterHBHECPUOnly, process.hltParticleFlowClusterHCALCPUOnly],
248 process.HLTPFHcalClusteringCPUOnly)
251 for hltOutModMatch
in [
'hltOutputDQMGPUvsCPU',
'hltOutputHIDQMGPUvsCPU']:
252 if hasattr(process, hltOutModMatch):
253 outMod = getattr(process, hltOutModMatch)
254 outMod.outputCommands.extend([
255 'keep *_hltParticleFlowClusterHBHESoA_*_*',
256 'keep *_hltParticleFlowClusterHBHESoACPUSerial_*_*',
260 for pathNameMatch
in [
'DQM_HcalReconstruction_v',
'DQM_HIHcalReconstruction_v']:
261 dqmHcalRecoPathName =
None 262 for pathName
in process.paths_():
263 if pathName.startswith(pathNameMatch):
264 dqmHcalRecoPathName = pathName
266 if dqmHcalRecoPathName ==
None:
268 dqmHcalPath = getattr(process, dqmHcalRecoPathName)
269 dqmHcalRecoPathIndex = dqmHcalPath.index(process.hltHcalConsumerGPU) + 1
270 dqmHcalPath.insert(dqmHcalRecoPathIndex, process.HLTPFHcalClusteringCPUOnly)
271 dqmHcalPath.insert(dqmHcalRecoPathIndex, process.HLTPFHcalClustering)
278 process.hltParticleFlowRecHitHBHESoA.producers[0].src =
'hltHbheRecoSoA' 279 process.hltParticleFlowRecHitHBHESoASerialSync.producers[0].src =
'hltHbheRecoSoASerialSync' 281 del process.hltHbheRecHitSoA
282 del process.hltHbheRecHitSoASerialSync
288 '''Ad-hoc changes to test HLT config containing only DQM_PixelReconstruction_v and DQMGPUvsCPU stream 289 only up to the Pixel Local Reconstruction 291 dqmPixelRecoPathName =
None 292 for pathName
in process.paths_():
293 if pathName.startswith(
'DQM_PixelReconstruction_v'):
294 dqmPixelRecoPathName = pathName
297 if dqmPixelRecoPathName ==
None:
305 outCmds_new = [foo
for foo
in process.hltOutputDQMGPUvsCPU.outputCommands
if 'Pixel' not in foo]
307 'keep *Cluster*_hltSiPixelClusters_*_*',
308 'keep *Cluster*_hltSiPixelClustersSerialSync_*_*',
309 'keep *_hltSiPixelDigiErrors_*_*',
310 'keep *_hltSiPixelDigiErrorsSerialSync_*_*',
311 'keep *RecHit*_hltSiPixelRecHits_*_*',
312 'keep *RecHit*_hltSiPixelRecHitsSerialSync_*_*',
313 'keep *_hltPixelTracks_*_*',
314 'keep *_hltPixelTracksSerialSync_*_*',
315 'keep *_hltPixelVertices_*_*',
316 'keep *_hltPixelVerticesSerialSync_*_*',
318 process.hltOutputDQMGPUvsCPU.outputCommands = outCmds_new[:]
323 process.hltPixelRecHitsSoAMonitorCPU = cms.EDProducer(
'SiPixelPhase1MonitorRecHitsSoAAlpaka',
324 pixelHitsSrc = cms.InputTag(
'hltSiPixelRecHitsSoASerialSync'),
325 TopFolderName = cms.string(
'SiPixelHeterogeneous/PixelRecHitsCPU')
329 process.hltPixelRecHitsSoAMonitorGPU = cms.EDProducer(
'SiPixelPhase1MonitorRecHitsSoAAlpaka',
330 pixelHitsSrc = cms.InputTag(
'hltSiPixelRecHitsSoA'),
331 TopFolderName = cms.string(
'SiPixelHeterogeneous/PixelRecHitsGPU')
335 process.hltPixelRecHitsSoACompareGPUvsCPU = cms.EDProducer(
'SiPixelPhase1CompareRecHits',
336 pixelHitsReferenceSoA = cms.InputTag(
'hltSiPixelRecHitsSoASerialSync'),
337 pixelHitsTargetSoA = cms.InputTag(
'hltSiPixelRecHitsSoA'),
338 topFolderName = cms.string(
'SiPixelHeterogeneous/PixelRecHitsCompareGPUvsCPU'),
339 minD2cut = cms.double(1.0e-4)
342 process.hltPixelTracksSoAMonitorCPU = cms.EDProducer(
"SiPixelPhase1MonitorTrackSoAAlpaka",
343 minQuality = cms.string(
'loose'),
344 pixelTrackSrc = cms.InputTag(
'hltPixelTracksSoASerialSync'),
345 topFolderName = cms.string(
'SiPixelHeterogeneous/PixelTrackCPU'),
346 useQualityCut = cms.bool(
True)
349 process.hltPixelTracksSoAMonitorGPU = cms.EDProducer(
"SiPixelPhase1MonitorTrackSoAAlpaka",
350 minQuality = cms.string(
'loose'),
351 pixelTrackSrc = cms.InputTag(
'hltPixelTracksSoA'),
352 topFolderName = cms.string(
'SiPixelHeterogeneous/PixelTrackGPU'),
353 useQualityCut = cms.bool(
True)
356 process.hltPixelTracksSoACompareGPUvsCPU = cms.EDProducer(
"SiPixelPhase1CompareTracks",
357 deltaR2cut = cms.double(0.04),
358 minQuality = cms.string(
'loose'),
359 pixelTrackReferenceSoA = cms.InputTag(
"hltPixelTracksSoASerialSync"),
360 pixelTrackTargetSoA = cms.InputTag(
"hltPixelTracksSoA"),
361 topFolderName = cms.string(
'SiPixelHeterogeneous/PixelTrackCompareGPUvsCPU'),
362 useQualityCut = cms.bool(
True)
365 process.hltPixelVertexSoAMonitorCPU = cms.EDProducer(
"SiPixelMonitorVertexSoAAlpaka",
366 beamSpotSrc = cms.InputTag(
"hltOnlineBeamSpot"),
367 pixelVertexSrc = cms.InputTag(
"hltPixelVerticesSoASerialSync"),
368 topFolderName = cms.string(
'SiPixelHeterogeneous/PixelVertexCPU')
371 process.hltPixelVertexSoAMonitorGPU = cms.EDProducer(
"SiPixelMonitorVertexSoAAlpaka",
372 beamSpotSrc = cms.InputTag(
"hltOnlineBeamSpot"),
373 pixelVertexSrc = cms.InputTag(
"hltPixelVerticesSoA"),
374 topFolderName = cms.string(
'SiPixelHeterogeneous/PixelVertexGPU')
377 process.hltPixelVertexSoACompareGPUvsCPU = cms.EDProducer(
"SiPixelCompareVertices",
378 beamSpotSrc = cms.InputTag(
"hltOnlineBeamSpot"),
379 dzCut = cms.double(1),
380 pixelVertexReferenceSoA = cms.InputTag(
"hltPixelVerticesSoASerialSync"),
381 pixelVertexTargetSoA = cms.InputTag(
"hltPixelVerticesSoA"),
382 topFolderName = cms.string(
'SiPixelHeterogeneous/PixelVertexCompareGPUvsCPU')
385 process.HLTDQMPixelReconstruction = cms.Sequence(
386 process.hltPixelRecHitsSoAMonitorCPU
387 + process.hltPixelRecHitsSoAMonitorGPU
388 + process.hltPixelRecHitsSoACompareGPUvsCPU
389 + process.hltPixelTracksSoAMonitorCPU
390 + process.hltPixelTracksSoAMonitorGPU
391 + process.hltPixelTracksSoACompareGPUvsCPU
392 + process.hltPixelVertexSoAMonitorCPU
393 + process.hltPixelVertexSoAMonitorGPU
394 + process.hltPixelVertexSoACompareGPUvsCPU
397 for delMod
in [
'hltPixelConsumerCPU',
'hltPixelConsumerGPU']:
398 if hasattr(process, delMod):
399 process.__delattr__(delMod)
405 '''Customisation to introduce the Local Pixel Reconstruction in Alpaka 408 if not hasattr(process,
'HLTDoLocalPixelSequence'):
414 process.hltESPSiPixelCablingSoA = cms.ESProducer(
'SiPixelCablingSoAESProducer@alpaka',
415 CablingMapLabel = cms.string(
''),
416 UseQualityInfo = cms.bool(
False),
417 appendToDataLabel = cms.string(
''),
418 alpaka = cms.untracked.PSet(
419 backend = cms.untracked.string(
'')
423 process.hltESPSiPixelGainCalibrationForHLTSoA = cms.ESProducer(
'SiPixelGainCalibrationForHLTSoAESProducer@alpaka',
424 appendToDataLabel = cms.string(
''),
425 alpaka = cms.untracked.PSet(
426 backend = cms.untracked.string(
'')
430 process.hltESPPixelCPEFastParamsPhase1 = cms.ESProducer(
'PixelCPEFastParamsESProducerAlpakaPhase1@alpaka',
431 appendToDataLabel = cms.string(
''),
432 alpaka = cms.untracked.PSet(
433 backend = cms.untracked.string(
'')
437 if hasattr(process,
'hltESPPixelCPEFast'):
438 del process.hltESPPixelCPEFast
445 process.hltOnlineBeamSpotDevice = cms.EDProducer(
'BeamSpotDeviceProducer@alpaka',
446 src = cms.InputTag(
'hltOnlineBeamSpot'),
447 alpaka = cms.untracked.PSet(
448 backend = cms.untracked.string(
'')
452 if hasattr(process,
'hltOnlineBeamSpotToGPU'):
456 if not (hasattr(process,
'HLTDoLocalPixelPPOnAATask')
and process.HLTDoLocalPixelPPOnAATask.contains(process.hltOnlineBeamSpotToGPU)):
457 del process.hltOnlineBeamSpotToGPU
467 process.hltSiPixelClustersSoA = cms.EDProducer(
'SiPixelRawToClusterPhase1@alpaka',
468 IncludeErrors = cms.bool(
True),
469 UseQualityInfo = cms.bool(
False),
470 clusterThreshold_layer1 = cms.int32(4000),
471 clusterThreshold_otherLayers = cms.int32(4000),
472 VCaltoElectronGain = cms.double(1),
473 VCaltoElectronGain_L1 = cms.double(1),
474 VCaltoElectronOffset = cms.double(0),
475 VCaltoElectronOffset_L1 = cms.double(0),
476 InputLabel = cms.InputTag(
'rawDataCollector'),
477 Regions = cms.PSet(),
478 CablingMapLabel = cms.string(
''),
480 alpaka = cms.untracked.PSet(
481 backend = cms.untracked.string(
'')
485 if hasattr(process,
'hltSiPixelClustersGPU'):
486 del process.hltSiPixelClustersGPU
488 process.hltSiPixelClusters = cms.EDProducer(
'SiPixelDigisClustersFromSoAAlpakaPhase1',
489 src = cms.InputTag(
'hltSiPixelClustersSoA'),
490 clusterThreshold_layer1 = cms.int32(4000),
491 clusterThreshold_otherLayers = cms.int32(4000),
492 produceDigis = cms.bool(
False),
493 storeDigis = cms.bool(
False)
497 process.hltSiPixelClustersCache = cms.EDProducer(
'SiPixelClusterShapeCacheProducer',
498 src = cms.InputTag(
'hltSiPixelClusters'),
499 onDemand = cms.bool(
False)
511 process.hltSiPixelDigiErrors = cms.EDProducer(
'SiPixelDigiErrorsFromSoAAlpaka',
512 digiErrorSoASrc = cms.InputTag(
'hltSiPixelClustersSoA'),
513 fmtErrorsSoASrc = cms.InputTag(
'hltSiPixelClustersSoA'),
514 CablingMapLabel = cms.string(
''),
515 UsePhase1 = cms.bool(
True),
516 ErrorList = cms.vint32(29),
517 UserErrorList = cms.vint32(40)
520 if hasattr(process,
'hltSiPixelDigisSoA'):
521 del process.hltSiPixelDigisSoA
522 if hasattr(process,
'hltSiPixelDigiErrorsSoA'):
523 del process.hltSiPixelDigiErrorsSoA
532 process.hltSiPixelRecHitsSoA = cms.EDProducer(
'SiPixelRecHitAlpakaPhase1@alpaka',
533 beamSpot = cms.InputTag(
'hltOnlineBeamSpotDevice'),
534 src = cms.InputTag(
'hltSiPixelClustersSoA'),
535 CPE = cms.string(
'PixelCPEFastParams'),
537 alpaka = cms.untracked.PSet(
538 backend = cms.untracked.string(
'')
542 if hasattr(process,
'hltSiPixelRecHitsGPU'):
543 del process.hltSiPixelRecHitsGPU
544 if hasattr(process,
'hltSiPixelRecHitsFromGPU'):
545 del process.hltSiPixelRecHitsFromGPU
546 if hasattr(process,
'hltSiPixelRecHitsSoAFromGPU'):
547 del process.hltSiPixelRecHitsSoAFromGPU
549 process.hltSiPixelRecHits = cms.EDProducer(
'SiPixelRecHitFromSoAAlpakaPhase1',
550 pixelRecHitSrc = cms.InputTag(
'hltSiPixelRecHitsSoA'),
551 src = cms.InputTag(
'hltSiPixelClusters'),
557 process.HLTDoLocalPixelSequence = cms.Sequence(
558 process.hltOnlineBeamSpotDevice +
559 process.hltSiPixelClustersSoA +
560 process.hltSiPixelClusters +
561 process.hltSiPixelDigiErrors +
562 process.hltSiPixelRecHitsSoA +
563 process.hltSiPixelRecHits
578 if hasattr(process,
'HLTPixelClusterSplittingForPFPPRefForDmeson') \
579 and not hasattr(process,
'HLTDoLocalPixelSequenceForPFPPRefForDmeson') \
580 and process.HLTPixelClusterSplittingForPFPPRefForDmeson.contains(process.HLTDoLocalPixelSequence):
582 process.HLTDoLocalPixelSequenceForPFPPRefForDmeson = cms.Sequence(
583 process.HLTDoLocalPixelSequence +
584 process.hltSiPixelClustersCache
587 process.HLTPixelClusterSplittingForPFPPRefForDmeson.insert(
588 process.HLTPixelClusterSplittingForPFPPRefForDmeson.index(process.HLTDoLocalPixelSequence),
589 process.HLTDoLocalPixelSequenceForPFPPRefForDmeson
593 if hasattr(process,
'HLTDoLocalPixelTask'):
594 del process.HLTDoLocalPixelTask
599 process.hltOnlineBeamSpotDeviceSerialSync =
makeSerialClone(process.hltOnlineBeamSpotDevice)
601 process.hltSiPixelClustersSoASerialSync =
makeSerialClone(process.hltSiPixelClustersSoA)
603 process.hltSiPixelClustersSerialSync = process.hltSiPixelClusters.clone(
604 src =
'hltSiPixelClustersSoASerialSync' 607 process.hltSiPixelDigiErrorsSerialSync = process.hltSiPixelDigiErrors.clone(
608 digiErrorSoASrc =
'hltSiPixelClustersSoASerialSync',
609 fmtErrorsSoASrc =
'hltSiPixelClustersSoASerialSync',
612 process.hltSiPixelRecHitsSoASerialSync =
makeSerialClone(process.hltSiPixelRecHitsSoA,
613 beamSpot =
'hltOnlineBeamSpotDeviceSerialSync',
614 src =
'hltSiPixelClustersSoASerialSync',
617 process.hltSiPixelRecHitsSerialSync = process.hltSiPixelRecHits.clone(
618 pixelRecHitSrc =
'hltSiPixelRecHitsSoASerialSync',
619 src =
'hltSiPixelClustersSerialSync',
622 process.HLTDoLocalPixelCPUOnlySequence = cms.Sequence(
623 process.hltOnlineBeamSpotDeviceSerialSync +
624 process.hltSiPixelClustersSoASerialSync +
625 process.hltSiPixelClustersSerialSync +
626 process.hltSiPixelDigiErrorsSerialSync +
627 process.hltSiPixelRecHitsSoASerialSync +
628 process.hltSiPixelRecHitsSerialSync
631 if hasattr(process,
'HLTDoLocalPixelCPUOnlyTask'):
632 del process.HLTDoLocalPixelCPUOnlyTask
634 if hasattr(process,
'hltMeasurementTrackerEventCPUOnly'):
635 process.hltMeasurementTrackerEventCPUOnly.pixelClusterProducer =
"hltSiPixelClustersSerialSync" 636 process.hltMeasurementTrackerEventCPUOnly.inactivePixelDetectorLabels = [
"hltSiPixelDigiErrorsSerialSync"]
637 process.hltMeasurementTrackerEventCPUOnly.badPixelFEDChannelCollectionLabels = [
"hltSiPixelDigiErrorsSerialSync"]
639 if hasattr(process,
'hltDoubletRecoveryClustersRefRemovalCPUOnly'):
640 process.hltDoubletRecoveryClustersRefRemovalCPUOnly.pixelClusters =
"hltSiPixelClustersSerialSync" 642 if hasattr(process,
'hltDoubletRecoveryPFlowPixelClusterCheckCPUOnly'):
643 process.hltDoubletRecoveryPFlowPixelClusterCheckCPUOnly.PixelClusterCollectionLabel =
"hltSiPixelClustersSerialSync" 645 if hasattr(process,
'hltDoubletRecoveryPixelLayersAndRegionsCPUOnly'):
646 process.hltDoubletRecoveryPixelLayersAndRegionsCPUOnly.inactivePixelDetectorLabels = [
'hltSiPixelDigiErrorsSerialSync']
647 process.hltDoubletRecoveryPixelLayersAndRegionsCPUOnly.badPixelFEDChannelCollectionLabels = [
'hltSiPixelDigiErrorsSerialSync']
648 process.hltDoubletRecoveryPixelLayersAndRegionsCPUOnly.BPix.HitProducer =
"hltSiPixelRecHitsSerialSync" 649 process.hltDoubletRecoveryPixelLayersAndRegionsCPUOnly.FPix.HitProducer =
"hltSiPixelRecHitsSerialSync" 651 if hasattr(process,
'hltIter3IterL3FromL1MuonClustersRefRemovalCPUOnly'):
652 process.hltIter3IterL3FromL1MuonClustersRefRemovalCPUOnly.pixelClusters =
"hltSiPixelClustersSerialSync" 654 if hasattr(process,
'hltIter3IterL3FromL1MuonPixelClusterCheckCPUOnly'):
655 process.hltIter3IterL3FromL1MuonPixelClusterCheckCPUOnly.PixelClusterCollectionLabel =
"hltSiPixelClustersSerialSync" 657 if hasattr(process,
'hltIter3IterL3FromL1MuonPixelLayersAndRegionsCPUOnly'):
658 process.hltIter3IterL3FromL1MuonPixelLayersAndRegionsCPUOnly.inactivePixelDetectorLabels = [
'hltSiPixelDigiErrorsSerialSync']
659 process.hltIter3IterL3FromL1MuonPixelLayersAndRegionsCPUOnly.badPixelFEDChannelCollectionLabels = [
'hltSiPixelDigiErrorsSerialSync']
660 process.hltIter3IterL3FromL1MuonPixelLayersAndRegionsCPUOnly.BPix.HitProducer =
"hltSiPixelRecHitsSerialSync" 661 process.hltIter3IterL3FromL1MuonPixelLayersAndRegionsCPUOnly.FPix.HitProducer =
"hltSiPixelRecHitsSerialSync" 664 'hltDoubletRecoveryPixelLayersAndRegions',
665 'hltFullIter6PixelTrackingRegionSeedLayersBPPRef',
666 'hltIter3IterL3FromL1MuonPixelLayersAndRegions',
667 'hltMeasurementTrackerEvent',
669 if hasattr(process, modLabel):
670 mod = getattr(process, modLabel)
671 mod.inactivePixelDetectorLabels = [
'hltSiPixelDigiErrors']
672 mod.badPixelFEDChannelCollectionLabels = [
'hltSiPixelDigiErrors']
678 '''Customisation to introduce the Pixel-Track Reconstruction in Alpaka 681 if not hasattr(process,
'HLTRecoPixelTracksSequence'):
692 process.hltPixelTracksSoA = cms.EDProducer(
'CAHitNtupletAlpakaPhase1@alpaka',
693 pixelRecHitSrc = cms.InputTag(
'hltSiPixelRecHitsSoA'),
694 CPE = cms.string(
'PixelCPEFastParams'),
695 ptmin = cms.double(0.9),
696 CAThetaCutBarrel = cms.double(0.002),
697 CAThetaCutForward = cms.double(0.003),
698 hardCurvCut = cms.double(0.0328407225),
699 dcaCutInnerTriplet = cms.double(0.15),
700 dcaCutOuterTriplet = cms.double(0.25),
701 earlyFishbone = cms.bool(
True),
702 lateFishbone = cms.bool(
False),
703 fillStatistics = cms.bool(
False),
704 minHitsPerNtuplet = cms.uint32(3),
705 phiCuts = cms.vint32(
706 522, 730, 730, 522, 626,
707 626, 522, 522, 626, 626,
708 626, 522, 522, 522, 522,
711 maxNumberOfDoublets = cms.uint32(524288),
712 minHitsForSharingCut = cms.uint32(10),
713 fitNas4 = cms.bool(
False),
714 doClusterCut = cms.bool(
True),
715 doZ0Cut = cms.bool(
True),
716 doPtCut = cms.bool(
True),
717 useRiemannFit = cms.bool(
False),
718 doSharedHitCut = cms.bool(
True),
719 dupPassThrough = cms.bool(
False),
720 useSimpleTripletCleaner = cms.bool(
True),
721 idealConditions = cms.bool(
False),
722 includeJumpingForwardDoublets = cms.bool(
True),
723 trackQualityCuts = cms.PSet(
724 chi2MaxPt = cms.double(10),
725 chi2Coeff = cms.vdouble(0.9, 1.8),
726 chi2Scale = cms.double(8),
727 tripletMinPt = cms.double(0.5),
728 tripletMaxTip = cms.double(0.3),
729 tripletMaxZip = cms.double(12),
730 quadrupletMinPt = cms.double(0.3),
731 quadrupletMaxTip = cms.double(0.5),
732 quadrupletMaxZip = cms.double(12)
735 alpaka = cms.untracked.PSet(
736 backend = cms.untracked.string(
'')
740 if hasattr(process,
'hltL2TauTagNNProducer'):
741 process.hltL2TauTagNNProducer = cms.EDProducer(
"L2TauNNProducerAlpaka", **process.hltL2TauTagNNProducer.parameters_())
743 process.hltPixelTracksSoASerialSync =
makeSerialClone(process.hltPixelTracksSoA,
744 pixelRecHitSrc =
'hltSiPixelRecHitsSoASerialSync' 747 process.hltPixelTracks = cms.EDProducer(
"PixelTrackProducerFromSoAAlpakaPhase1",
748 beamSpot = cms.InputTag(
"hltOnlineBeamSpot"),
749 minNumberOfHits = cms.int32(0),
750 minQuality = cms.string(
'loose'),
751 pixelRecHitLegacySrc = cms.InputTag(
"hltSiPixelRecHits"),
752 trackSrc = cms.InputTag(
"hltPixelTracksSoA")
755 if hasattr(process,
'hltPixelTracksCPU'):
756 del process.hltPixelTracksCPU
757 if hasattr(process,
'hltPixelTracksCPUOnly'):
758 del process.hltPixelTracksCPUOnly
759 if hasattr(process,
'hltPixelTracksFromGPU'):
760 del process.hltPixelTracksFromGPU
761 if hasattr(process,
'hltPixelTracksGPU'):
762 del process.hltPixelTracksGPU
764 process.hltPixelTracksSerialSync = process.hltPixelTracks.clone(
765 pixelRecHitLegacySrc = cms.InputTag(
"hltSiPixelRecHitsSerialSync"),
766 trackSrc = cms.InputTag(
"hltPixelTracksSoASerialSync")
769 process.HLTRecoPixelTracksSequence = cms.Sequence(
770 process.hltPixelTracksSoA +
771 process.hltPixelTracks
774 if hasattr(process,
'HLTRecoPixelTracksTask'):
775 del process.HLTRecoPixelTracksTask
777 process.HLTRecoPixelTracksSerialSyncSequence = cms.Sequence(
778 process.hltPixelTracksSoASerialSync +
779 process.hltPixelTracksSerialSync
782 if hasattr(process,
'HLTRecoPixelTracksCPUOnlyTask'):
783 del process.HLTRecoPixelTracksCPUOnlyTask
785 process.hltPixelTracksInRegionL2CPUOnly.tracks =
"hltPixelTracksSerialSync" 787 process.hltPixelTracksInRegionL1CPUOnly.tracks =
"hltPixelTracksSerialSync" 789 process.hltIter0PFLowPixelSeedsFromPixelTracksCPUOnly.InputCollection =
"hltPixelTracksSerialSync" 795 '''Customisation to introduce the Pixel-Vertex Reconstruction in Alpaka 798 if not hasattr(process,
'HLTRecopixelvertexingSequence'):
802 for prod
in producers_by_type(process,
'PixelVertexProducerAlpakaPhase1@alpaka'):
810 process.hltPixelVerticesSoA = cms.EDProducer(
'PixelVertexProducerAlpakaPhase1@alpaka',
811 oneKernel = cms.bool(
True),
812 useDensity = cms.bool(
True),
813 useDBSCAN = cms.bool(
False),
814 useIterative = cms.bool(
False),
816 eps = cms.double(0.07),
817 errmax = cms.double(0.01),
818 chi2max = cms.double(9),
819 PtMin = cms.double(0.5),
820 PtMax = cms.double(75),
821 pixelTrackSrc = cms.InputTag(
'hltPixelTracksSoA'),
823 alpaka = cms.untracked.PSet(
824 backend = cms.untracked.string(
'')
828 process.hltPixelVerticesSoASerialSync =
makeSerialClone(process.hltPixelVerticesSoA,
829 pixelTrackSrc =
'hltPixelTracksSoASerialSync' 832 process.hltPixelVertices = cms.EDProducer(
"PixelVertexProducerFromSoAAlpaka",
833 TrackCollection = cms.InputTag(
"hltPixelTracks"),
834 beamSpot = cms.InputTag(
"hltOnlineBeamSpot"),
835 src = cms.InputTag(
"hltPixelVerticesSoA")
838 process.hltPixelVerticesSerialSync = process.hltPixelVertices.clone(
839 TrackCollection = cms.InputTag(
"hltPixelTracksSerialSync"),
840 src = cms.InputTag(
"hltPixelVerticesSoASerialSync")
843 if hasattr(process,
'hltPixelVerticesCPU'):
844 del process.hltPixelVerticesCPU
845 if hasattr(process,
'hltPixelVerticesCPUOnly'):
846 del process.hltPixelVerticesCPUOnly
847 if hasattr(process,
'hltPixelVerticesFromGPU'):
848 del process.hltPixelVerticesFromGPU
849 if hasattr(process,
'hltPixelVerticesGPU'):
850 del process.hltPixelVerticesGPU
853 if not hasattr(process,
'hltTrimmedPixelVertices'):
856 process.HLTRecopixelvertexingSequence = cms.Sequence(
857 process.HLTRecoPixelTracksSequence +
858 process.hltPixelVerticesSoA +
859 process.hltPixelVertices +
860 process.hltTrimmedPixelVertices
863 if hasattr(process,
'HLTRecopixelvertexingTask'):
864 del process.HLTRecopixelvertexingTask
866 process.HLTRecopixelvertexingCPUOnlySequence = cms.Sequence(
867 process.HLTRecoPixelTracksSerialSyncSequence +
868 process.hltPixelVerticesSoASerialSync +
869 process.hltPixelVerticesSerialSync +
870 process.hltTrimmedPixelVerticesCPUOnly
873 if hasattr(process,
'HLTRecopixelvertexingCPUOnlyTask'):
874 del process.HLTRecopixelvertexingCPUOnlyTask
876 process.hltTrimmedPixelVerticesCPUOnly.src =
'hltPixelVerticesSerialSync' 877 process.hltParticleFlowCPUOnly.vertexCollection =
'hltPixelVerticesSerialSync' 878 process.hltAK4PFJetsCPUOnly.srcPVs =
'hltPixelVerticesSerialSync' 884 '''Customisation to introduce the Pixel Local+Track+Vertex Reconstruction in Alpaka 897 if not hasattr(process,
'hltEcalDigisGPU'):
904 for foo
in [foo
for foo
in process.es_producers_()
if (
'ecal' in foo
and 'GPU' in foo)]:
905 process.__delattr__(foo)
907 for foo
in [foo
for foo
in process.es_sources_()
if (
'ecal' in foo
and 'GPU' in foo)]:
908 process.__delattr__(foo)
911 process.hltEcalDigisPortableSoA = cms.EDProducer(
"EcalRawToDigiPortable@alpaka",
912 FEDs = process.hltEcalDigisGPU.FEDs,
913 InputLabel = process.hltEcalDigisGPU.InputLabel,
914 digisLabelEB = process.hltEcalDigisGPU.digisLabelEB,
915 digisLabelEE = process.hltEcalDigisGPU.digisLabelEE,
916 maxChannelsEB = process.hltEcalDigisGPU.maxChannelsEB,
917 maxChannelsEE = process.hltEcalDigisGPU.maxChannelsEE,
919 alpaka = cms.untracked.PSet(
920 backend = cms.untracked.string(
'')
924 from EventFilter.EcalRawToDigi.ecalElectronicsMappingHostESProducer_cfi
import ecalElectronicsMappingHostESProducer
as _ecalElectronicsMappingHostESProducer
925 process.ecalElectronicsMappingHostESProducer = _ecalElectronicsMappingHostESProducer.clone()
927 process.hltEcalDigis = cms.EDProducer(
"EcalDigisFromPortableProducer",
928 digisInLabelEB = cms.InputTag(
'hltEcalDigisPortableSoA',
'ebDigis'),
929 digisInLabelEE = cms.InputTag(
'hltEcalDigisPortableSoA',
'eeDigis'),
930 digisOutLabelEB = cms.string(
"ebDigis"),
931 digisOutLabelEE = cms.string(
"eeDigis"),
932 produceDummyIntegrityCollections = cms.bool(
False)
935 process.hltEcalUncalibRecHitPortableSoA = cms.EDProducer(
"EcalUncalibRecHitProducerPortable@alpaka",
936 EBtimeConstantTerm = process.hltEcalUncalibRecHitGPU.EBtimeConstantTerm,
937 EBtimeFitLimits_Lower = process.hltEcalUncalibRecHitGPU.EBtimeFitLimits_Lower,
938 EBtimeFitLimits_Upper = process.hltEcalUncalibRecHitGPU.EBtimeFitLimits_Upper,
939 EBtimeNconst = process.hltEcalUncalibRecHitGPU.EBtimeNconst,
940 EEtimeConstantTerm = process.hltEcalUncalibRecHitGPU.EEtimeConstantTerm,
941 EEtimeFitLimits_Lower = process.hltEcalUncalibRecHitGPU.EEtimeFitLimits_Lower,
942 EEtimeFitLimits_Upper = process.hltEcalUncalibRecHitGPU.EEtimeFitLimits_Upper,
943 EEtimeNconst = process.hltEcalUncalibRecHitGPU.EEtimeNconst,
944 amplitudeThresholdEB = process.hltEcalUncalibRecHitGPU.amplitudeThresholdEB,
945 amplitudeThresholdEE = process.hltEcalUncalibRecHitGPU.amplitudeThresholdEE,
946 digisLabelEB = cms.InputTag(
"hltEcalDigisPortableSoA",
"ebDigis"),
947 digisLabelEE = cms.InputTag(
"hltEcalDigisPortableSoA",
"eeDigis"),
948 kernelMinimizeThreads = process.hltEcalUncalibRecHitGPU.kernelMinimizeThreads,
949 outOfTimeThresholdGain12mEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12mEB,
950 outOfTimeThresholdGain12mEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12mEE,
951 outOfTimeThresholdGain12pEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12pEB,
952 outOfTimeThresholdGain12pEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain12pEE,
953 outOfTimeThresholdGain61mEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61mEB,
954 outOfTimeThresholdGain61mEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61mEE,
955 outOfTimeThresholdGain61pEB = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61pEB,
956 outOfTimeThresholdGain61pEE = process.hltEcalUncalibRecHitGPU.outOfTimeThresholdGain61pEE,
957 recHitsLabelEB = process.hltEcalUncalibRecHitGPU.recHitsLabelEB,
958 recHitsLabelEE = process.hltEcalUncalibRecHitGPU.recHitsLabelEE,
959 shouldRunTimingComputation = process.hltEcalUncalibRecHitGPU.shouldRunTimingComputation,
961 alpaka = cms.untracked.PSet(
962 backend = cms.untracked.string(
'')
966 if hasattr(process,
'hltEcalUncalibRecHitGPU'):
967 del process.hltEcalUncalibRecHitGPU
969 process.ecalMultifitParametersSource = cms.ESSource(
"EmptyESSource",
970 firstValid = cms.vuint32(1),
971 iovIsRunNotTime = cms.bool(
True),
972 recordName = cms.string(
'EcalMultifitParametersRcd')
975 from RecoLocalCalo.EcalRecProducers.ecalMultifitConditionsHostESProducer_cfi
import ecalMultifitConditionsHostESProducer
as _ecalMultifitConditionsHostESProducer
976 process.ecalMultifitConditionsHostESProducer = _ecalMultifitConditionsHostESProducer.clone()
978 from RecoLocalCalo.EcalRecProducers.ecalMultifitParametersHostESProducer_cfi
import ecalMultifitParametersHostESProducer
as _ecalMultifitParametersHostESProducer
979 process.ecalMultifitParametersHostESProducer = _ecalMultifitParametersHostESProducer.clone()
981 process.hltEcalUncalibRecHit = cms.EDProducer(
"EcalUncalibRecHitSoAToLegacy",
982 isPhase2 = process.hltEcalUncalibRecHitFromSoA.isPhase2,
983 recHitsLabelCPUEB = process.hltEcalUncalibRecHitFromSoA.recHitsLabelCPUEB,
984 recHitsLabelCPUEE = process.hltEcalUncalibRecHitFromSoA.recHitsLabelCPUEE,
985 uncalibRecHitsPortableEB = cms.InputTag(
"hltEcalUncalibRecHitPortableSoA",
"EcalUncalibRecHitsEB"),
986 uncalibRecHitsPortableEE = cms.InputTag(
"hltEcalUncalibRecHitPortableSoA",
"EcalUncalibRecHitsEE")
989 if hasattr(process,
'hltEcalUncalibRecHitSoA'):
990 delattr(process,
'hltEcalUncalibRecHitSoA')
992 process.hltEcalDetIdToBeRecovered = cms.EDProducer(
"EcalDetIdToBeRecoveredProducer",
993 integrityBlockSizeErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityBlockSizeErrors'),
994 integrityTTIdErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityTTIdErrors'),
996 ebIntegrityGainErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityGainErrors'),
997 eeIntegrityGainErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityGainErrors'),
999 ebIntegrityGainSwitchErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityGainSwitchErrors'),
1000 eeIntegrityGainSwitchErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityGainSwitchErrors'),
1002 ebIntegrityChIdErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityChIdErrors'),
1003 eeIntegrityChIdErrors = cms.InputTag(
'hltEcalDigisLegacy',
'EcalIntegrityChIdErrors'),
1005 ebSrFlagCollection = cms.InputTag(
"hltEcalDigisLegacy"),
1006 eeSrFlagCollection = cms.InputTag(
"hltEcalDigisLegacy"),
1008 ebDetIdToBeRecovered = cms.string(
"ebDetId"),
1009 eeDetIdToBeRecovered = cms.string(
"eeDetId"),
1011 ebFEToBeRecovered = cms.string(
"ebFE"),
1012 eeFEToBeRecovered = cms.string(
"eeFE"),
1015 process.hltEcalRecHit.triggerPrimitiveDigiCollection =
'hltEcalDigisLegacy:EcalTriggerPrimitives' 1017 process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerSequence = cms.Sequence(
1018 process.hltEcalDigisLegacy +
1019 process.hltEcalDigisPortableSoA +
1020 process.hltEcalDigis +
1021 process.hltEcalUncalibRecHitPortableSoA +
1022 process.hltEcalUncalibRecHit +
1023 process.hltEcalDetIdToBeRecovered +
1024 process.hltEcalRecHit
1027 process.HLTPreshowerSequence = cms.Sequence(process.hltEcalPreshowerDigis + process.hltEcalPreshowerRecHit)
1029 process.HLTDoFullUnpackingEgammaEcalSequence = cms.Sequence(
1030 process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerSequence +
1031 process.HLTPreshowerSequence
1034 process.HLTDoFullUnpackingEgammaEcalMFSequence = cms.Sequence(process.HLTDoFullUnpackingEgammaEcalSequence)
1036 process.hltEcalDigisCPUSerialSoA =
makeSerialClone(process.hltEcalDigisPortableSoA)
1038 process.hltEcalDigisCPUSerial = process.hltEcalDigis.clone(
1039 digisInLabelEB =
'hltEcalDigisCPUSerialSoA:ebDigis',
1040 digisInLabelEE =
'hltEcalDigisCPUSerialSoA:eeDigis',
1043 process.hltEcalUncalibRecHitCPUSerialSoA =
makeSerialClone(process.hltEcalUncalibRecHitPortableSoA,
1044 digisLabelEB =
"hltEcalDigisCPUSerialSoA:ebDigis",
1045 digisLabelEE =
"hltEcalDigisCPUSerialSoA:eeDigis",
1048 process.hltEcalUncalibRecHitCPUSerial = process.hltEcalUncalibRecHit.clone(
1049 uncalibRecHitsPortableEB =
"hltEcalUncalibRecHitCPUSerialSoA:EcalUncalibRecHitsEB",
1050 uncalibRecHitsPortableEE =
"hltEcalUncalibRecHitCPUSerialSoA:EcalUncalibRecHitsEE",
1053 process.hltEcalRecHitCPUOnly = process.hltEcalRecHit.clone(
1054 EBuncalibRecHitCollection =
'hltEcalUncalibRecHitCPUSerial:EcalUncalibRecHitsEB',
1055 EEuncalibRecHitCollection =
'hltEcalUncalibRecHitCPUSerial:EcalUncalibRecHitsEE',
1058 process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerCPUOnlySequence = cms.Sequence(
1059 process.hltEcalDigisLegacy +
1060 process.hltEcalDigisCPUSerialSoA +
1061 process.hltEcalDigisCPUSerial +
1062 process.hltEcalUncalibRecHitCPUSerialSoA +
1063 process.hltEcalUncalibRecHitCPUSerial +
1064 process.hltEcalDetIdToBeRecovered +
1065 process.hltEcalRecHitCPUOnly
1069 prod.srFlagsIn =
'hltEcalDigisLegacy' 1073 prod.energyCorrector.ebSrFlagLabel =
'hltEcalDigisLegacy' 1074 prod.energyCorrector.eeSrFlagLabel =
'hltEcalDigisLegacy' 1078 for pathNameMatch
in [
'DQM_EcalReconstruction_v',
'DQM_HIEcalReconstruction_v']:
1079 dqmEcalRecoPathName =
None 1080 for pathName
in process.paths_():
1081 if pathName.startswith(pathNameMatch):
1082 dqmEcalRecoPath = getattr(process, pathName)
1083 dqmEcalRecoPath.insert(dqmEcalRecoPath.index(process.HLTEndSequence), getattr(process,
'HLTDoFullUnpackingEgammaEcalWithoutPreshowerCPUOnlySequence'))
1084 for delmod
in [
'hltEcalConsumerCPU',
'hltEcalConsumerGPU']:
1085 if hasattr(process, delmod):
1086 process.__delattr__(delmod)
1088 for hltOutModMatch
in [
'hltOutputDQMGPUvsCPU',
'hltOutputHIDQMGPUvsCPU']:
1089 if hasattr(process, hltOutModMatch):
1090 outMod = getattr(process, hltOutModMatch)
1091 outCmds_new = [foo
for foo
in outMod.outputCommands
if 'Ecal' not in foo]
1093 'keep *_hltEcalDigis_*_*',
1094 'keep *_hltEcalDigisCPUSerial_*_*',
1095 'keep *_hltEcalUncalibRecHit_*_*',
1096 'keep *_hltEcalUncalibRecHitCPUSerial_*_*',
1098 outMod.outputCommands = outCmds_new[:]
1106 if not hasattr(process,
'HLTDoLocalHcalSequence'):
1114 process.load(
'RecoLocalCalo.HcalRecProducers.hcalMahiConditionsESProducer_cfi')
1115 process.load(
'RecoLocalCalo.HcalRecProducers.hcalMahiPulseOffsetsESProducer_cfi')
1116 process.load(
'RecoLocalCalo.HcalRecProducers.hcalSiPMCharacteristicsESProducer_cfi')
1117 process.load(
'RecoLocalCalo.HcalRecAlgos.hcalRecoParamWithPulseShapeESProducer_cfi')
1122 from EventFilter.HcalRawToDigi.hcalDigisSoAProducer_cfi
import hcalDigisSoAProducer
as _hcalDigisSoAProducer
1125 process.hltHcalDigisSoA = _hcalDigisSoAProducer.clone(
1126 hbheDigisLabel =
'hltHcalDigis',
1127 qie11DigiLabel =
'hltHcalDigis' 1131 process.hltHcalDigisSoASerialSync =
makeSerialClone(process.hltHcalDigisSoA)
1135 from RecoLocalCalo.HcalRecProducers.hbheRecHitProducerPortable_cfi
import hbheRecHitProducerPortable
as _hbheRecHitProducerPortable
1138 process.hltHbheRecoSoA = _hbheRecHitProducerPortable.clone(
1139 digisLabelF01HE = (
'hltHcalDigisSoA',
'f01HEDigis'),
1140 digisLabelF5HB = (
'hltHcalDigisSoA',
'f5HBDigis'),
1141 digisLabelF3HB = (
'hltHcalDigisSoA',
'f3HBDigis'),
1142 recHitsLabelM0HBHE =
'',
1143 mahiPulseOffSets =
'hcalMahiPulseOffsetsESProducer:' 1147 process.hltHbheRecoSoASerialSync =
makeSerialClone(process.hltHbheRecoSoA,
1148 digisLabelF01HE = (
'hltHcalDigisSoASerialSync',
'f01HEDigis'),
1149 digisLabelF5HB = (
'hltHcalDigisSoASerialSync',
'f5HBDigis'),
1150 digisLabelF3HB = (
'hltHcalDigisSoASerialSync',
'f3HBDigis'),
1155 from RecoLocalCalo.HcalRecProducers.hcalRecHitSoAToLegacy_cfi
import hcalRecHitSoAToLegacy
as _hcalRecHitSoAToLegacy
1158 process.hltHbhereco = _hcalRecHitSoAToLegacy.clone(
1159 src =
'hltHbheRecoSoA' 1163 process.hltHbherecoSerialSync = process.hltHbhereco.clone(
1164 src =
'hltHbheRecoSoASerialSync' 1168 process.hltTowerMakerForAllSerialSync.hbheInput =
"hltHbherecoSerialSync" 1169 process.hltAK4CaloJetsIDPassedSerialSync.JetIDParams.hbheRecHitsColl =
"hltHbherecoSerialSync" 1170 process.hltHbheRecHitSoASerialSync.src =
"hltHbherecoSerialSync" 1171 process.hltMuonsSerialSync.TrackAssociatorParameters.HBHERecHitCollectionLabel =
"hltHbherecoSerialSync" 1172 process.hltMuonsSerialSync.CaloExtractorPSet.TrackAssociatorParameters.HBHERecHitCollectionLabel =
"hltHbherecoSerialSync" 1173 process.hltMuonsSerialSync.JetExtractorPSet.TrackAssociatorParameters.HBHERecHitCollectionLabel =
"hltHbherecoSerialSync" 1176 process.HLTDoLocalHcalSequence = cms.Sequence(
1177 process.hltHcalDigis +
1178 process.hltHcalDigisSoA +
1179 process.hltHbheRecoSoA +
1180 process.hltHbhereco +
1181 process.hltHfprereco +
1186 process.HLTDoLocalHcalSequenceSerialSync = cms.Sequence(
1187 process.hltHcalDigis +
1188 process.hltHcalDigisSoASerialSync +
1189 process.hltHbheRecoSoASerialSync +
1190 process.hltHbherecoSerialSync +
1191 process.hltHfprereco +
1195 process.HLTDoCaloSequenceSerialSync = cms.Sequence(
1196 process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerSequenceSerialSync +
1197 process.HLTDoLocalHcalSequenceSerialSync +
1198 process.hltTowerMakerForAllSerialSync )
1200 process.HLTDoCaloSequencePFSerialSync = cms.Sequence(
1201 process.HLTDoFullUnpackingEgammaEcalWithoutPreshowerSequenceSerialSync +
1202 process.HLTDoLocalHcalSequenceSerialSync +
1203 process.hltTowerMakerForAllSerialSync )
1206 process.HLTStoppedHSCPLocalHcalReco = cms.Sequence(
1207 process.hltHcalDigis +
1208 process.hltHcalDigisSoA +
1209 process.hltHbheRecoSoA +
1210 process.hltHbhereco )
1213 process.HLTPFHcalClusteringSerialSync = cms.Sequence(
1214 process.hltHbheRecHitSoASerialSync +
1215 process.hltParticleFlowRecHitHBHESoASerialSync +
1216 process.hltParticleFlowRecHitHBHESerialSync +
1217 process.hltParticleFlowClusterHBHESoASerialSync +
1218 process.hltParticleFlowClusterHBHESerialSync +
1219 process.hltParticleFlowClusterHCALSerialSync )
1222 for pathNameMatch
in [
'DQM_HcalReconstruction_v',
'DQM_HIHcalReconstruction_v']:
1223 dqmHcalRecoPathName =
None 1224 for pathName
in process.paths_():
1225 if pathName.startswith(pathNameMatch):
1226 dqmHcalRecoPath = getattr(process, pathName)
1227 dqmHcalRecoPath.insert(dqmHcalRecoPath.index(process.HLTPFHcalClustering), getattr(process,
'HLTDoLocalHcalSequenceSerialSync'))
1228 for delmod
in [
'hltHcalConsumerCPU',
'hltHcalConsumerGPU']:
1229 if hasattr(process, delmod):
1230 process.__delattr__(delmod)
1233 for hltOutModMatch
in [
'hltOutputDQMGPUvsCPU',
'hltOutputHIDQMGPUvsCPU']:
1234 if hasattr(process, hltOutModMatch):
1235 outMod = getattr(process, hltOutModMatch)
1236 outCmds_new = [foo
for foo
in outMod.outputCommands
if 'Hbhe' not in foo]
1238 'keep *_hltHbhereco_*_*',
1239 'keep *_hltHbherecoSerialSync_*_*',
1241 outMod.outputCommands = outCmds_new[:]
1244 del process.hcalMahiPulseOffsetsGPUESProducer
1245 del process.hcalChannelQualityGPUESProducer
1246 del process.hcalConvertedEffectivePedestalWidthsGPUESProducer
1247 del process.hcalConvertedEffectivePedestalsGPUESProducer
1248 del process.hcalConvertedPedestalWidthsGPUESProducer
1249 del process.hcalConvertedPedestalsGPUESProducer
1250 del process.hcalElectronicsMappingGPUESProducer
1251 del process.hcalGainWidthsGPUESProducer
1252 del process.hcalGainsGPUESProducer
1253 del process.hcalLUTCorrsGPUESProducer
1254 del process.hcalQIECodersGPUESProducer
1255 del process.hcalQIETypesGPUESProducer
1256 del process.hcalRecoParamsWithPulseShapesGPUESProducer
1257 del process.hcalRespCorrsGPUESProducer
1258 del process.hcalSiPMCharacteristicsGPUESProducer
1259 del process.hcalSiPMParametersGPUESProducer
1260 del process.hcalTimeCorrsGPUESProducer
1262 del process.hltHbherecoLegacy
1263 del process.hltHcalDigisGPU
1264 del process.hltHbherecoGPU
1265 del process.hltHbherecoFromGPU
1267 del process.HLTDoLocalHcalTask
1268 del process.HLTStoppedHSCPLocalHcalRecoTask
1274 if not hasattr(process,
'statusOnGPU'):
1277 process.hltBackend = cms.EDProducer(
'AlpakaBackendProducer@alpaka')
1281 del process.statusOnGPU
1283 process.hltStatusOnGPUFilter = cms.EDFilter(
'AlpakaBackendFilter',
1284 producer = cms.InputTag(
'hltBackend',
'backend'),
1285 backends = cms.vstring(
'CudaAsync',
'ROCmAsync')
1291 del process.statusOnGPUFilter
1297 for container
in itertools.chain(
1298 process.sequences_().
values(),
1299 process.paths_().
values(),
1300 process.endpaths_().
values()
1302 if target.label()
in [bar
for foo,bar
in container.directDependencies()]:
1304 position = container.index(target)
1305 container.insert(position, obj)
1306 container.remove(target)
1308 container.associate(obj)
1309 container.remove(target)
1311 for container
in itertools.chain(
1312 process.tasks_().
values(),
1313 process.conditionaltasks_().
values(),
1315 if target.label()
in [bar
for foo,bar
in container.directDependencies()]:
1317 container.remove(target)
1322 if not hasattr(process, oldModuleLabel)
or hasattr(process, newModuleLabel)
or oldModuleLabel == newModuleLabel:
1324 oldObj = getattr(process, oldModuleLabel)
1325 if oldObj.type_()
in typeBlackList:
1327 setattr(process, newModuleLabel, oldObj.clone())
1328 newObj = getattr(process, newModuleLabel)
1330 process.__delattr__(oldModuleLabel)
1331 process =
massReplaceInputTag(process, oldModuleLabel, newModuleLabel,
False,
True,
False)
1332 for outputModuleLabel
in process.outputModules_():
1333 outputModule = getattr(process, outputModuleLabel)
1334 if not hasattr(outputModule,
'outputCommands'):
1336 for outputCmdIdx, outputCmd
in enumerate(outputModule.outputCommands):
1337 outputModule.outputCommands[outputCmdIdx] = outputCmd.replace(f
'_{oldModuleLabel}_', f
'_{newModuleLabel}_')
1341 for moduleDict
in [process.producers_(), process.filters_(), process.analyzers_()]:
1342 moduleLabels = list(moduleDict.keys())
1343 for moduleLabel
in moduleLabels:
1344 if bool(re.match(matchExpr, moduleLabel)):
1345 moduleLabelNew = moduleLabel.replace(oldStr,
'') + newStr
1346 process =
_rename_edmodule(process, moduleLabel, moduleLabelNew, typeBlackList)
1350 if not hasattr(process, oldContainerLabel)
or hasattr(process, newContainerLabel)
or oldContainerLabel == newContainerLabel:
1352 oldObj = getattr(process, oldContainerLabel)
1353 setattr(process, newContainerLabel, oldObj.copy())
1354 newObj = getattr(process, newContainerLabel)
1356 process.__delattr__(oldContainerLabel)
1360 for containerName
in itertools.chain(
1361 process.sequences_().
keys(),
1362 process.tasks_().
keys(),
1363 process.conditionaltasks_().
keys()
1365 if bool(re.match(matchExpr, containerName)):
1366 containerNameNew = containerName.replace(oldStr,
'') + newStr
1373 for matchRegex, oldStr, newStr
in [
1374 [
".*Portable.*",
"Portable",
""],
1375 [
".*SerialSync.*",
"SerialSync",
"SerialSync"],
1376 [
".*CPUSerial.*",
"CPUSerial",
"SerialSync"],
1377 [
".*CPUOnly.*",
"CPUOnly",
"SerialSync"],
1379 process =
_rename_edmodules(process, matchRegex, oldStr, newStr, [
'HLTPrescaler'])
1386 process.load(
'Configuration.StandardSequences.Accelerators_cff')
def customizeHLTforAlpakaPFSoA(process)
def customizeHLTforDQMGPUvsCPUPixel(process)
Pixel HLT in Alpaka.
def customizeHLTforAlpaka(process)
def producers_by_type(process, types)
def customizeHLTforAlpakaPixelRecoVertexing(process)
def makeSerialClone(module, kwargs)
def _rename_containers(process, matchExpr, oldStr, newStr)
def _replace_object(process, target, obj)
def insert_modules_before(process, target, modules)
def customizeHLTforAlpakaPixelRecoTracking(process)
def customizeHLTforAlpakaStatus(process)
def customizeHLTforAlpakaPixelRecoLocal(process)
def massReplaceInputTag(process, old="rawDataCollector", new="rawDataRepacker", verbose=False, moduleLabelOnly=False, skipLabelTest=False)
def customizeHLTforAlpakaPixelReco(process)
def customizeHLTforAlpakaEcalLocalReco(process)
ECAL HLT in Alpaka.
def customizeHLTforAlpakaHcalLocalReco(process)
def customizeHLTforAlpakaRename(process)
def _rename_edmodules(process, matchExpr, oldStr, newStr, typeBlackList)
def customizeHLTforAlpakaParticleFlowClustering(process)
PF HLT in Alpaka.
def _rename_edmodule(process, oldModuleLabel, newModuleLabel, typeBlackList)
def _rename_container(process, oldContainerLabel, newContainerLabel)