1 import FWCore.ParameterSet.Config
as cms
2 from HeterogeneousCore.CUDACore.SwitchProducerCUDA
import SwitchProducerCUDA
6 siPixelRecHits = cms.EDProducer(
"SiPixelRecHitConverter",
7 src = cms.InputTag(
"siPixelClusters"),
8 CPE = cms.string(
'PixelCPEGeneric'),
9 VerboseLevel = cms.untracked.int32(0)
14 cpu = siPixelRecHits.clone(
15 src =
'siPixelClustersPreSplitting' 20 from Configuration.Eras.Modifier_phase2_tracker_cff
import phase2_tracker
23 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyPhase1_cfi
import siPixelRecHitSoAFromLegacyPhase1
as _siPixelRecHitsPreSplittingSoA
24 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyPhase2_cfi
import siPixelRecHitSoAFromLegacyPhase2
as _siPixelRecHitsPreSplittingSoAPhase2
26 siPixelRecHitsPreSplittingCPU = _siPixelRecHitsPreSplittingSoA.clone(convertToLegacy=
True)
27 phase2_tracker.toReplaceWith(siPixelRecHitsPreSplittingCPU, _siPixelRecHitsPreSplittingSoAPhase2.clone(convertToLegacy=
True, CPE = cms.string(
'PixelCPEFastPhase2')))
30 from Configuration.ProcessModifiers.pixelNtupletFit_cff
import pixelNtupletFit
31 pixelNtupletFit.toModify(siPixelRecHitsPreSplitting,
33 siPixelRecHitsPreSplittingCPU = cms.VPSet(
34 cms.PSet(type = cms.string(
"SiPixelRecHitedmNewDetSetVector")),
35 cms.PSet(type = cms.string(
"uintAsHostProduct"))
40 siPixelRecHitsPreSplittingTask = cms.Task(
42 siPixelRecHitsPreSplitting
46 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAPhase1_cfi
import siPixelRecHitCUDAPhase1
as _siPixelRecHitCUDAPhase1
47 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAPhase2_cfi
import siPixelRecHitCUDAPhase2
as _siPixelRecHitCUDAPhase2
48 siPixelRecHitsPreSplittingCUDA = _siPixelRecHitCUDAPhase1.clone(
49 beamSpot =
"offlineBeamSpotToCUDA" 51 phase2_tracker.toReplaceWith(siPixelRecHitsPreSplittingCUDA,_siPixelRecHitCUDAPhase2.clone(
52 beamSpot =
"offlineBeamSpotToCUDA" 58 siPixelRecHitsPreSplittingCPU = cms.VPSet(
59 cms.PSet(type = cms.string(
"pixelTopologyPhase1TrackingRecHitSoAHost")),
60 cms.PSet(type = cms.string(
"uintAsHostProduct"))
64 phase2_tracker.toModify(siPixelRecHitsPreSplittingSoA,
66 siPixelRecHitsPreSplittingCPU = cms.VPSet(
67 cms.PSet(type = cms.string(
"pixelTopologyPhase2TrackingRecHitSoAHost")),
68 cms.PSet(type = cms.string(
"uintAsHostProduct"))
71 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAPhase1_cfi
import siPixelRecHitSoAFromCUDAPhase1
as _siPixelRecHitSoAFromCUDA
72 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAPhase2_cfi
import siPixelRecHitSoAFromCUDAPhase2
as _siPixelRecHitSoAFromCUDAPhase2
74 (gpu & pixelNtupletFit).toModify(siPixelRecHitsPreSplittingSoA, cuda = _siPixelRecHitSoAFromCUDA.clone())
75 (gpu & pixelNtupletFit & phase2_tracker).toModify(siPixelRecHitsPreSplittingSoA, cuda = _siPixelRecHitSoAFromCUDAPhase2.clone())
78 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAPhase1_cfi
import siPixelRecHitFromCUDAPhase1
as _siPixelRecHitFromCUDA
79 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAPhase2_cfi
import siPixelRecHitFromCUDAPhase2
as _siPixelRecHitFromCUDAPhase2
81 (gpu & pixelNtupletFit).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDA.clone())
82 (gpu & pixelNtupletFit & phase2_tracker).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDAPhase2.clone())
86 pixelNtupletFit.toReplaceWith(siPixelRecHitsPreSplittingTask, cms.Task(
89 siPixelRecHitsPreSplittingCPU,
91 siPixelRecHitsPreSplittingTask.copy(),
93 siPixelRecHitsPreSplittingSoA)
100 (gpu & pixelNtupletFit).toReplaceWith(siPixelRecHitsPreSplittingTask, cms.Task(
103 siPixelRecHitsPreSplittingCUDA,
104 siPixelRecHitsPreSplittingCPU,
106 siPixelRecHitsPreSplittingTask.copy(),
108 siPixelRecHitsPreSplittingSoA