1 import FWCore.ParameterSet.Config
as cms
3 from HeterogeneousCore.CUDACore.SwitchProducerCUDA
import SwitchProducerCUDA
9 myTTRHBuilderWithoutAngle = RecoTracker.TransientTrackingRecHit.TransientTrackingRecHitBuilder_cfi.ttrhbwr.clone(
11 ComponentName =
'PixelTTRHBuilderWithoutAngle' 16 from RecoTracker.PixelTrackFitting.pixelNtupletsFitter_cfi
import pixelNtupletsFitter
17 from RecoTracker.PixelTrackFitting.pixelTrackFilterByKinematics_cfi
import pixelTrackFilterByKinematics
19 from RecoTracker.PixelTrackFitting.pixelTracks_cfi
import pixelTracks
as _pixelTracks
20 from RecoTracker.TkTrackingRegions.globalTrackingRegion_cfi
import globalTrackingRegion
as _globalTrackingRegion
21 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
22 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
23 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
25 import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
26 from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi
import trackAlgoPriorityOrder
29 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
30 from Configuration.Eras.Modifier_run3_common_cff
import run3_common
36 pixelTracksTrackingRegions = _globalTrackingRegion.clone()
37 trackingLowPU.toReplaceWith(pixelTracksTrackingRegions, _globalTrackingRegionFromBeamSpot.clone())
41 pixelTracksSeedLayers = initialStepSeedLayers.clone(
42 BPix = dict(HitProducer =
"siPixelRecHitsPreSplitting"),
43 FPix = dict(HitProducer =
"siPixelRecHitsPreSplitting")
46 pixelTracksHitDoublets = initialStepHitDoublets.clone(
48 seedingLayers =
"pixelTracksSeedLayers",
49 trackingRegions =
"pixelTracksTrackingRegions" 52 pixelTracksHitQuadruplets = _initialStepCAHitQuadruplets.clone(
53 doublets =
"pixelTracksHitDoublets",
54 SeedComparitorPSet = dict(clusterShapeCacheSrc =
'siPixelClusterShapeCachePreSplitting')
57 pixelTracks = _pixelTracks.clone(
58 SeedingHitSets =
"pixelTracksHitQuadruplets" 61 pixelTracksTask = cms.Task(
62 pixelTracksTrackingRegions,
63 pixelFitterByHelixProjections,
64 pixelTrackFilterByKinematics,
65 pixelTracksSeedLayers,
66 pixelTracksHitDoublets,
67 pixelTracksHitQuadruplets,
71 pixelTracksSequence = cms.Sequence(pixelTracksTask)
75 pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
76 doublets =
"pixelTracksHitDoublets",
77 produceSeedingHitSets =
True,
78 SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(
79 clusterShapeCacheSrc =
"siPixelClusterShapeCachePreSplitting" 83 trackingLowPU.toModify(pixelTracks,
84 SeedingHitSets =
"pixelTracksHitTriplets" 87 _pixelTracksTask_lowPU = pixelTracksTask.copy()
88 _pixelTracksTask_lowPU.replace(pixelTracksHitQuadruplets, pixelTracksHitTriplets)
89 trackingLowPU.toReplaceWith(pixelTracksTask, _pixelTracksTask_lowPU)
93 from Configuration.ProcessModifiers.pixelNtupletFit_cff
import pixelNtupletFit
95 from RecoTracker.PixelSeeding.caHitNtupletCUDAPhase1_cfi
import caHitNtupletCUDAPhase1
as _pixelTracksCUDA
96 from RecoTracker.PixelSeeding.caHitNtupletCUDAPhase2_cfi
import caHitNtupletCUDAPhase2
as _pixelTracksCUDAPhase2
97 from RecoTracker.PixelSeeding.caHitNtupletCUDAHIonPhase1_cfi
import caHitNtupletCUDAHIonPhase1
as _pixelTracksCUDAHIonPhase1
100 from Configuration.Eras.Modifier_phase2_tracker_cff
import phase2_tracker
102 from Configuration.ProcessModifiers.pp_on_AA_cff
import pp_on_AA
107 cpu = _pixelTracksCUDA.clone(
108 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
109 idealConditions =
False,
115 run3_common.toModify(pixelTracksSoA.cpu,
116 idealConditions =
True 120 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAPhase1_cfi
import pixelTrackProducerFromSoAPhase1
as _pixelTrackProducerFromSoA
121 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAPhase2_cfi
import pixelTrackProducerFromSoAPhase2
as _pixelTrackProducerFromSoAPhase2
122 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAHIonPhase1_cfi
import pixelTrackProducerFromSoAHIonPhase1
as _pixelTrackProducerFromSoAHIonPhase1
124 pixelNtupletFit.toReplaceWith(pixelTracks, _pixelTrackProducerFromSoA.clone(
125 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
128 (pixelNtupletFit & phase2_tracker).toReplaceWith(pixelTracks, _pixelTrackProducerFromSoAPhase2.clone(
129 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
132 (pixelNtupletFit & pp_on_AA).toReplaceWith(pixelTracks, _pixelTrackProducerFromSoAHIonPhase1.clone(
133 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
136 pixelNtupletFit.toReplaceWith(pixelTracksTask, cms.Task(
147 pixelTracksCUDA = _pixelTracksCUDA.clone(
148 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
149 idealConditions =
False,
154 run3_common.toModify(pixelTracksCUDA,
155 idealConditions =
True 159 from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAPhase1_cfi
import pixelTrackSoAFromCUDAPhase1
as _pixelTracksSoA
160 from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAPhase2_cfi
import pixelTrackSoAFromCUDAPhase2
as _pixelTracksSoAPhase2
161 from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAHIonPhase1_cfi
import pixelTrackSoAFromCUDAHIonPhase1
as _pixelTracksSoAHIonPhase1
163 gpu.toModify(pixelTracksSoA,
165 cuda = _pixelTracksSoA.clone()
168 (gpu & phase2_tracker).toModify(pixelTracksSoA,cuda = _pixelTracksSoAPhase2.clone(
171 (gpu & pp_on_AA).toModify(pixelTracksSoA,cuda = _pixelTracksSoAHIonPhase1.clone(
174 phase2_tracker.toModify(pixelTracksSoA,cpu = _pixelTracksCUDAPhase2.clone(
175 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
179 (pp_on_AA & ~phase2_tracker).toModify(pixelTracksSoA,cpu = _pixelTracksCUDAHIonPhase1.clone(
180 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
184 phase2_tracker.toReplaceWith(pixelTracksCUDA,_pixelTracksCUDAPhase2.clone(
185 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
189 (pp_on_AA & ~phase2_tracker).toReplaceWith(pixelTracksCUDA,_pixelTracksCUDAHIonPhase1.clone(
190 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
194 (pixelNtupletFit & gpu).toReplaceWith(pixelTracksTask, cms.Task(
198 pixelTracksTask.copy()
204 (pixelNtupletFit & gpu & gpuValidationPixel).toModify(pixelTracksSoA.cpu,
205 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA@cpu" 215 from RecoTracker.PixelSeeding.caHitNtupletAlpakaPhase1_cfi
import caHitNtupletAlpakaPhase1
as _pixelTracksAlpakaPhase1
216 from RecoTracker.PixelSeeding.caHitNtupletAlpakaPhase2_cfi
import caHitNtupletAlpakaPhase2
as _pixelTracksAlpakaPhase2
218 pixelTracksAlpaka = _pixelTracksAlpakaPhase1.clone()
219 phase2_tracker.toReplaceWith(pixelTracksAlpaka,_pixelTracksAlpakaPhase2.clone())
223 pixelRecHitSrc =
'siPixelRecHitsPreSplittingAlpakaSerial' 227 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAAlpakaPhase1_cfi
import pixelTrackProducerFromSoAAlpakaPhase1
as _pixelTrackProducerFromSoAAlpakaPhase1
228 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAAlpakaPhase2_cfi
import pixelTrackProducerFromSoAAlpakaPhase2
as _pixelTrackProducerFromSoAAlpakaPhase2
230 (alpaka & ~phase2_tracker).toReplaceWith(pixelTracks, _pixelTrackProducerFromSoAAlpakaPhase1.clone(
231 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
234 (alpaka & phase2_tracker).toReplaceWith(pixelTracks, _pixelTrackProducerFromSoAAlpakaPhase2.clone(
235 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
238 alpaka.toReplaceWith(pixelTracksTask, cms.Task(
242 pixelTracksAlpakaSerial,
def makeSerialClone(module, kwargs)