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 RecoPixelVertexing.PixelTrackFitting.pixelNtupletsFitter_cfi
import pixelNtupletsFitter
16 from RecoPixelVertexing.PixelTrackFitting.pixelTrackFilterByKinematics_cfi
import pixelTrackFilterByKinematics
18 from RecoPixelVertexing.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 RecoPixelVertexing.PixelTriplets.pixelTripletHLTEDProducer_cfi
import pixelTripletHLTEDProducer
as _pixelTripletHLTEDProducer
24 import RecoPixelVertexing.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 = RecoPixelVertexing.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 RecoPixelVertexing.PixelTriplets.caHitNtupletCUDAPhase1_cfi
import caHitNtupletCUDAPhase1
as _pixelTracksCUDA
95 from RecoPixelVertexing.PixelTriplets.caHitNtupletCUDAPhase2_cfi
import caHitNtupletCUDAPhase2
as _pixelTracksCUDAPhase2
97 from Configuration.Eras.Modifier_phase2_tracker_cff
import phase2_tracker
102 cpu = _pixelTracksCUDA.clone(
103 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
104 idealConditions =
False,
110 run3_common.toModify(pixelTracksSoA.cpu,
111 idealConditions =
True 115 from RecoPixelVertexing.PixelTrackFitting.pixelTrackProducerFromSoAPhase1_cfi
import pixelTrackProducerFromSoAPhase1
as _pixelTrackProducerFromSoA
116 from RecoPixelVertexing.PixelTrackFitting.pixelTrackProducerFromSoAPhase2_cfi
import pixelTrackProducerFromSoAPhase2
as _pixelTrackProducerFromSoAPhase2
118 pixelNtupletFit.toReplaceWith(pixelTracks, _pixelTrackProducerFromSoA.clone(
119 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
122 (pixelNtupletFit & phase2_tracker).toReplaceWith(pixelTracks, _pixelTrackProducerFromSoAPhase2.clone(
123 pixelRecHitLegacySrc =
"siPixelRecHitsPreSplitting",
126 pixelNtupletFit.toReplaceWith(pixelTracksTask, cms.Task(
137 pixelTracksCUDA = _pixelTracksCUDA.clone(
138 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
139 idealConditions =
False,
144 run3_common.toModify(pixelTracksCUDA,
145 idealConditions =
True 149 from RecoPixelVertexing.PixelTrackFitting.pixelTrackSoAFromCUDAPhase1_cfi
import pixelTrackSoAFromCUDAPhase1
as _pixelTracksSoA
150 from RecoPixelVertexing.PixelTrackFitting.pixelTrackSoAFromCUDAPhase2_cfi
import pixelTrackSoAFromCUDAPhase2
as _pixelTracksSoAPhase2
152 gpu.toModify(pixelTracksSoA,
154 cuda = _pixelTracksSoA.clone()
157 (gpu & phase2_tracker).toModify(pixelTracksSoA,cuda = _pixelTracksSoAPhase2.clone(
160 phase2_tracker.toModify(pixelTracksSoA,cpu = _pixelTracksCUDAPhase2.clone(
161 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA",
165 phase2_tracker.toReplaceWith(pixelTracksCUDA,_pixelTracksCUDAPhase2.clone(
166 pixelRecHitSrc =
"siPixelRecHitsPreSplittingCUDA",
170 (pixelNtupletFit & gpu).toReplaceWith(pixelTracksTask, cms.Task(
174 pixelTracksTask.copy()
180 (pixelNtupletFit & gpu & gpuValidationPixel).toModify(pixelTracksSoA.cpu,
181 pixelRecHitSrc =
"siPixelRecHitsPreSplittingSoA@cpu"