CMS 3D CMS Logo

SiPixelClusterizerPreSplitting_cfi.py
Go to the documentation of this file.
1 import FWCore.ParameterSet.Config as cms
2 from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA
3 
4 # SiPixelGainCalibrationServiceParameters
6 
7 # legacy pixel cluster producer
8 from RecoLocalTracker.SiPixelClusterizer.SiPixelClusterizer_cfi import siPixelClusters as _siPixelClusters
9 siPixelClustersPreSplitting = SwitchProducerCUDA(
10  cpu = _siPixelClusters.clone()
11 )
12 
13 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
15 
16 # ensure the same results when running on GPU (which supports only the 'HLT' payload) and CPU
17 # but not for phase-2 where we don't calibrate digis in the clusterizer (yet)
18 (gpu & ~phase2_tracker).toModify(siPixelClustersPreSplitting,
19  cpu = dict(
20  payloadType = 'HLT'
21  )
22 )
23 
24 # SwitchProducer wrapping the legacy pixel cluster producer or an alias for the pixel clusters information converted from SoA
25 gpu.toModify(siPixelClustersPreSplitting,
26  cuda = cms.EDAlias(
27  siPixelDigisClustersPreSplitting = cms.VPSet(
28  cms.PSet(type = cms.string("SiPixelClusteredmNewDetSetVector"))
29  )
30  )
31 )
32 
33 from Configuration.ProcessModifiers.siPixelDigiMorphing_cff import siPixelDigiMorphing
34 siPixelDigiMorphing.toModify(
35  siPixelClustersPreSplitting,
36  cpu = dict(
37  src = 'siPixelDigisMorphed'
38  )
39 )