File indexing completed on 2023-10-25 10:00:39
0001 import FWCore.ParameterSet.Config as cms
0002 from HeterogeneousCore.CUDACore.SwitchProducerCUDA import SwitchProducerCUDA
0003 from Configuration.ProcessModifiers.gpu_cff import gpu
0004
0005
0006 siPixelRecHits = cms.EDProducer("SiPixelRecHitConverter",
0007 src = cms.InputTag("siPixelClusters"),
0008 CPE = cms.string('PixelCPEGeneric'),
0009 VerboseLevel = cms.untracked.int32(0)
0010 )
0011
0012
0013 siPixelRecHitsPreSplitting = SwitchProducerCUDA(
0014 cpu = siPixelRecHits.clone(
0015 src = 'siPixelClustersPreSplitting'
0016 )
0017 )
0018
0019
0020 from Configuration.Eras.Modifier_phase2_tracker_cff import phase2_tracker
0021
0022 from Configuration.ProcessModifiers.pp_on_AA_cff import pp_on_AA
0023
0024
0025 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyPhase1_cfi import siPixelRecHitSoAFromLegacyPhase1 as _siPixelRecHitsPreSplittingSoA
0026 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyPhase2_cfi import siPixelRecHitSoAFromLegacyPhase2 as _siPixelRecHitsPreSplittingSoAPhase2
0027 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromLegacyHIonPhase1_cfi import siPixelRecHitSoAFromLegacyHIonPhase1 as _siPixelRecHitsPreSplittingSoAHIonPhase1
0028
0029 siPixelRecHitsPreSplittingCPU = _siPixelRecHitsPreSplittingSoA.clone(convertToLegacy=True)
0030 (pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelRecHitsPreSplittingCPU, _siPixelRecHitsPreSplittingSoAHIonPhase1.clone(convertToLegacy=True, CPE = cms.string('PixelCPEFastHIonPhase1')))
0031 phase2_tracker.toReplaceWith(siPixelRecHitsPreSplittingCPU, _siPixelRecHitsPreSplittingSoAPhase2.clone(convertToLegacy=True, CPE = cms.string('PixelCPEFastPhase2')))
0032
0033
0034 from Configuration.ProcessModifiers.pixelNtupletFit_cff import pixelNtupletFit
0035 pixelNtupletFit.toModify(siPixelRecHitsPreSplitting,
0036 cpu = cms.EDAlias(
0037 siPixelRecHitsPreSplittingCPU = cms.VPSet(
0038 cms.PSet(type = cms.string("SiPixelRecHitedmNewDetSetVector")),
0039 cms.PSet(type = cms.string("uintAsHostProduct"))
0040 )
0041 ))
0042
0043
0044 siPixelRecHitsPreSplittingTask = cms.Task(
0045
0046 siPixelRecHitsPreSplitting
0047 )
0048
0049
0050 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAPhase1_cfi import siPixelRecHitCUDAPhase1 as _siPixelRecHitCUDAPhase1
0051 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAPhase2_cfi import siPixelRecHitCUDAPhase2 as _siPixelRecHitCUDAPhase2
0052 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitCUDAHIonPhase1_cfi import siPixelRecHitCUDAHIonPhase1 as _siPixelRecHitCUDAHIonPhase1
0053
0054 siPixelRecHitsPreSplittingCUDA = _siPixelRecHitCUDAPhase1.clone(
0055 beamSpot = "offlineBeamSpotToCUDA"
0056 )
0057 (pp_on_AA & ~phase2_tracker).toReplaceWith(siPixelRecHitsPreSplittingCUDA,_siPixelRecHitCUDAHIonPhase1.clone(
0058 beamSpot = "offlineBeamSpotToCUDA"
0059 ))
0060 phase2_tracker.toReplaceWith(siPixelRecHitsPreSplittingCUDA,_siPixelRecHitCUDAPhase2.clone(
0061 beamSpot = "offlineBeamSpotToCUDA"
0062 ))
0063
0064
0065 siPixelRecHitsPreSplittingSoA = SwitchProducerCUDA(
0066 cpu = cms.EDAlias(
0067 siPixelRecHitsPreSplittingCPU = cms.VPSet(
0068 cms.PSet(type = cms.string("pixelTopologyPhase1TrackingRecHitSoAHost")),
0069 cms.PSet(type = cms.string("uintAsHostProduct"))
0070 )),
0071 )
0072
0073 (pp_on_AA & ~phase2_tracker).toModify(siPixelRecHitsPreSplittingSoA,
0074 cpu = cms.EDAlias(
0075 siPixelRecHitsPreSplittingCPU = cms.VPSet(
0076 cms.PSet(type = cms.string("pixelTopologyHIonPhase1TrackingRecHitSoAHost")),
0077 cms.PSet(type = cms.string("uintAsHostProduct"))
0078 )))
0079
0080 phase2_tracker.toModify(siPixelRecHitsPreSplittingSoA,
0081 cpu = cms.EDAlias(
0082 siPixelRecHitsPreSplittingCPU = cms.VPSet(
0083 cms.PSet(type = cms.string("pixelTopologyPhase2TrackingRecHitSoAHost")),
0084 cms.PSet(type = cms.string("uintAsHostProduct"))
0085 )))
0086
0087 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAPhase1_cfi import siPixelRecHitSoAFromCUDAPhase1 as _siPixelRecHitSoAFromCUDA
0088 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAHIonPhase1_cfi import siPixelRecHitSoAFromCUDAHIonPhase1 as _siPixelRecHitSoAFromCUDAHIonPhase1
0089 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitSoAFromCUDAPhase2_cfi import siPixelRecHitSoAFromCUDAPhase2 as _siPixelRecHitSoAFromCUDAPhase2
0090
0091 (gpu & pixelNtupletFit).toModify(siPixelRecHitsPreSplittingSoA, cuda = _siPixelRecHitSoAFromCUDA.clone())
0092 (gpu & pixelNtupletFit & phase2_tracker).toModify(siPixelRecHitsPreSplittingSoA, cuda = _siPixelRecHitSoAFromCUDAPhase2.clone())
0093
0094
0095 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAPhase1_cfi import siPixelRecHitFromCUDAPhase1 as _siPixelRecHitFromCUDA
0096 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAHIonPhase1_cfi import siPixelRecHitFromCUDAHIonPhase1 as _siPixelRecHitFromCUDAHIonPhase1
0097 from RecoLocalTracker.SiPixelRecHits.siPixelRecHitFromCUDAPhase2_cfi import siPixelRecHitFromCUDAPhase2 as _siPixelRecHitFromCUDAPhase2
0098
0099 (gpu & pixelNtupletFit).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDA.clone())
0100 (gpu & pixelNtupletFit & pp_on_AA).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDAHIonPhase1.clone())
0101 (gpu & pixelNtupletFit & phase2_tracker).toModify(siPixelRecHitsPreSplitting, cuda = _siPixelRecHitFromCUDAPhase2.clone())
0102
0103
0104 pixelNtupletFit.toReplaceWith(siPixelRecHitsPreSplittingTask, cms.Task(
0105 cms.Task(
0106
0107 siPixelRecHitsPreSplittingCPU,
0108
0109 siPixelRecHitsPreSplittingTask.copy(),
0110
0111 siPixelRecHitsPreSplittingSoA)
0112 )
0113 )
0114
0115
0116
0117
0118 (gpu & pixelNtupletFit).toReplaceWith(siPixelRecHitsPreSplittingTask, cms.Task(
0119
0120
0121 siPixelRecHitsPreSplittingCUDA,
0122 siPixelRecHitsPreSplittingCPU,
0123
0124 siPixelRecHitsPreSplittingTask.copy(),
0125
0126 siPixelRecHitsPreSplittingSoA
0127 ))