1 import FWCore.ParameterSet.Config
as cms
2 from HeterogeneousCore.CUDACore.SwitchProducerCUDA
import SwitchProducerCUDA
8 myTTRHBuilderWithoutAngle = RecoTracker.TransientTrackingRecHit.TransientTrackingRecHitBuilder_cfi.ttrhbwr.clone(
10 ComponentName =
'PixelTTRHBuilderWithoutAngle' 15 from RecoTracker.PixelTrackFitting.pixelNtupletsFitter_cfi
import pixelNtupletsFitter
16 from RecoTracker.PixelTrackFitting.pixelTrackFilterByKinematics_cfi
import pixelTrackFilterByKinematics
18 from RecoTracker.PixelTrackFitting.pixelTracks_cfi
import pixelTracks
as _pixelTracks
19 from RecoTracker.TkTrackingRegions.globalTrackingRegion_cfi
import globalTrackingRegion
as _globalTrackingRegion
20 from RecoTracker.TkTrackingRegions.globalTrackingRegionFromBeamSpot_cfi
import globalTrackingRegionFromBeamSpot
as _globalTrackingRegionFromBeamSpot
21 from RecoTracker.TkHitPairs.hitPairEDProducer_cfi
import hitPairEDProducer
as _hitPairEDProducer
22 from RecoTracker.PixelSeeding.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
24 import RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi
25 from RecoTracker.FinalTrackSelectors.trackAlgoPriorityOrder_cfi
import trackAlgoPriorityOrder
28 from Configuration.Eras.Modifier_trackingLowPU_cff
import trackingLowPU
29 from Configuration.Eras.Modifier_run3_common_cff
import run3_common
35 pixelTracksTrackingRegions = _globalTrackingRegion.clone()
36 trackingLowPU.toReplaceWith(pixelTracksTrackingRegions, _globalTrackingRegionFromBeamSpot.clone())
40 pixelTracksSeedLayers = initialStepSeedLayers.clone(
41 BPix = dict(HitProducer =
"siPixelRecHitsPreSplitting"),
42 FPix = dict(HitProducer =
"siPixelRecHitsPreSplitting")
45 pixelTracksHitDoublets = initialStepHitDoublets.clone(
47 seedingLayers =
"pixelTracksSeedLayers",
48 trackingRegions =
"pixelTracksTrackingRegions" 51 pixelTracksHitQuadruplets = _initialStepCAHitQuadruplets.clone(
52 doublets =
"pixelTracksHitDoublets",
53 SeedComparitorPSet = dict(clusterShapeCacheSrc =
'siPixelClusterShapeCachePreSplitting')
56 pixelTracks = _pixelTracks.clone(
57 SeedingHitSets =
"pixelTracksHitQuadruplets" 60 pixelTracksTask = cms.Task(
61 pixelTracksTrackingRegions,
62 pixelFitterByHelixProjections,
63 pixelTrackFilterByKinematics,
64 pixelTracksSeedLayers,
65 pixelTracksHitDoublets,
66 pixelTracksHitQuadruplets,
70 pixelTracksSequence = cms.Sequence(pixelTracksTask)
74 pixelTracksHitTriplets = _pixelTripletHLTEDProducer.clone(
75 doublets =
"pixelTracksHitDoublets",
76 produceSeedingHitSets =
True,
77 SeedComparitorPSet = RecoTracker.PixelLowPtUtilities.LowPtClusterShapeSeedComparitor_cfi.LowPtClusterShapeSeedComparitor.clone(
78 clusterShapeCacheSrc =
"siPixelClusterShapeCachePreSplitting" 82 trackingLowPU.toModify(pixelTracks,
83 SeedingHitSets =
"pixelTracksHitTriplets" 86 _pixelTracksTask_lowPU = pixelTracksTask.copy()
87 _pixelTracksTask_lowPU.replace(pixelTracksHitQuadruplets, pixelTracksHitTriplets)
88 trackingLowPU.toReplaceWith(pixelTracksTask, _pixelTracksTask_lowPU)
92 from Configuration.ProcessModifiers.pixelNtupletFit_cff
import pixelNtupletFit
94 from RecoTracker.PixelSeeding.caHitNtupletCUDAPhase1_cfi
import caHitNtupletCUDAPhase1
as _pixelTracksCUDA
95 from RecoTracker.PixelSeeding.caHitNtupletCUDAPhase2_cfi
import caHitNtupletCUDAPhase2
as _pixelTracksCUDAPhase2
96 from RecoTracker.PixelSeeding.caHitNtupletCUDAHIonPhase1_cfi
import caHitNtupletCUDAHIonPhase1
as _pixelTracksCUDAHIonPhase1
99 from Configuration.Eras.Modifier_phase2_tracker_cff
import phase2_tracker
101 from Configuration.ProcessModifiers.pp_on_AA_cff
import pp_on_AA
106 cpu = _pixelTracksCUDA.clone(
107 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
108 idealConditions =
False,
114 run3_common.toModify(pixelTracksSoA.cpu,
115 idealConditions =
True 119 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAPhase1_cfi
import pixelTrackProducerFromSoAPhase1
as _pixelTrackProducerFromSoA
120 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAPhase2_cfi
import pixelTrackProducerFromSoAPhase2
as _pixelTrackProducerFromSoAPhase2
121 from RecoTracker.PixelTrackFitting.pixelTrackProducerFromSoAHIonPhase1_cfi
import pixelTrackProducerFromSoAHIonPhase1
as _pixelTrackProducerFromSoAHIonPhase1
123 pixelNtupletFit.toReplaceWith(pixelTracks, _pixelTrackProducerFromSoA.clone(
124 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
127 (pixelNtupletFit & phase2_tracker).toReplaceWith(pixelTracks, _pixelTrackProducerFromSoAPhase2.clone(
128 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
131 (pixelNtupletFit & pp_on_AA).toReplaceWith(pixelTracks, _pixelTrackProducerFromSoAHIonPhase1.clone(
132 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
135 pixelNtupletFit.toReplaceWith(pixelTracksTask, cms.Task(
146 pixelTracksCUDA = _pixelTracksCUDA.clone(
147 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
148 idealConditions =
False,
153 run3_common.toModify(pixelTracksCUDA,
154 idealConditions =
True 158 from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAPhase1_cfi
import pixelTrackSoAFromCUDAPhase1
as _pixelTracksSoA
159 from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAPhase2_cfi
import pixelTrackSoAFromCUDAPhase2
as _pixelTracksSoAPhase2
160 from RecoTracker.PixelTrackFitting.pixelTrackSoAFromCUDAHIonPhase1_cfi
import pixelTrackSoAFromCUDAHIonPhase1
as _pixelTracksSoAHIonPhase1
162 gpu.toModify(pixelTracksSoA,
164 cuda = _pixelTracksSoA.clone()
167 (gpu & phase2_tracker).toModify(pixelTracksSoA,cuda = _pixelTracksSoAPhase2.clone(
170 (gpu & pp_on_AA).toModify(pixelTracksSoA,cuda = _pixelTracksSoAHIonPhase1.clone(
173 phase2_tracker.toModify(pixelTracksSoA,cpu = _pixelTracksCUDAPhase2.clone(
174 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
178 (pp_on_AA & ~phase2_tracker).toModify(pixelTracksSoA,cpu = _pixelTracksCUDAHIonPhase1.clone(
179 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
183 phase2_tracker.toReplaceWith(pixelTracksCUDA,_pixelTracksCUDAPhase2.clone(
184 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
188 (pp_on_AA & ~phase2_tracker).toReplaceWith(pixelTracksCUDA,_pixelTracksCUDAHIonPhase1.clone(
189 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
193 (pixelNtupletFit & gpu).toReplaceWith(pixelTracksTask, cms.Task(
197 pixelTracksTask.copy()
203 (pixelNtupletFit & gpu & gpuValidationPixel).toModify(pixelTracksSoA.cpu,
204 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA@cpu"