23 sequenceName: str = DEFAULT_SEQUENCE_NAME
24 ) -> ComponentAccumulator:
25 """Set up the GPU chain that the Triton backend drives per request.
27 @param sequenceName name of the AthSequencer the device algorithms are
28 scheduled in; the Runner looks this up and executes it.
31 acc = ComponentAccumulator()
33 cellsKey = STOREGATE_KEYS[
"cells"]
34 measKey = STOREGATE_KEYS[
"measurements"]
35 clustersKey = STOREGATE_KEYS[
"clusters"]
36 tracksKey = STOREGATE_KEYS[
"tracks"]
40 spKey =
"TracccTritonSpacepoints"
41 seedsKey =
"TracccTritonSeeds"
42 trkParamsKey =
"TracccTritonTrackParameters"
45 deviceGeometry =
"TracccDeviceDetectorGeometry"
46 deviceMagField =
"TracccDeviceMagField"
51 from ActsGPUGeometry.ActsGPUGeometryConfig
import (
52 DeviceDetectorDescriptionCondAlgCfg,
54 acc.merge(DeviceDetectorDescriptionCondAlgCfg(
56 HostConditionsObjectName=
"TracccHostCondConfig",
57 HostDigitizationObjectName=
"TracccHostDigitizationConfig",
58 DeviceConditionsObjectName=
"TracccDeviceCondConfig",
59 DeviceDigitizationObjectName=
"TracccDeviceDigitizationConfig",
60 DeviceDetectorName=deviceGeometry,
65 from ActsGPUMagField.ActsGPUMagFieldConfig
import (
66 JSONDeviceMagFieldProviderSvcCfg,
68 acc.merge(JSONDeviceMagFieldProviderSvcCfg(
70 DeviceMagFieldObjectName=deviceMagField,
71 HostMagFieldObjectName=
"TracccHostMagField",
75 acc.addSequence(CompFactory.AthSequencer(
78 IgnoreFilterPassed=
True,
83 from ActsGPUDataPreparation.ActsGPUDataPreparationConfig
import (
84 DeviceClusterizationAlgCfg,
86 acc.merge(DeviceClusterizationAlgCfg(
88 InputTracccCells=cellsKey,
89 OutputTracccMeasurements=measKey,
90 OutputTracccClusters=clustersKey,
91 RetrieveClusterCells=
True,
92 ), sequenceName=sequenceName)
95 from ActsGPUDataPreparation.ActsGPUDataPreparationConfig
import (
96 DeviceSPFormationAlgCfg,
98 acc.merge(DeviceSPFormationAlgCfg(
100 name=
"DeviceSPFormationAlg",
101 InputTracccMeasurements=measKey,
102 OutputTracccPixelSpacepoints=spKey,
103 ), sequenceName=sequenceName)
106 from ActsConfig.ActsConfigFlags
import SeedingStrategy
107 from ActsGPUPatternRecognition.ActsGPUPatternRecognitionConfig
import (
108 DeviceGBTSSeedingAlgCfg,
109 DeviceTripletSeedingAlgCfg,
110 DeviceTrkParamEstimationAlgCfg,
111 DeviceTrackFindingAlgCfg,
113 if flags.Acts.Device.seedingStrategy
in (SeedingStrategy.Gbts,
114 SeedingStrategy.GbtsFtf):
115 acc.merge(DeviceGBTSSeedingAlgCfg(
117 name=
"DeviceGBTSSeedingAlg",
118 InputTracccPixelSpacepoints=spKey,
119 InputTracccMeasurements=measKey,
120 OutputTracccPixelSeeds=seedsKey,
121 ), sequenceName=sequenceName)
123 acc.merge(DeviceTripletSeedingAlgCfg(
125 name=
"DeviceTripletSeedingAlg",
126 InputTracccPixelSpacepoints=spKey,
127 OutputTracccPixelSeeds=seedsKey,
128 ), sequenceName=sequenceName)
131 acc.merge(DeviceTrkParamEstimationAlgCfg(
133 name=
"DeviceTrkParamEstimationAlg",
134 InputTracccSpacepoints=spKey,
135 InputTracccMeasurements=measKey,
136 InputTracccSeeds=seedsKey,
137 InputTracccMagField=deviceMagField,
138 OutputTracccTrackParameters=trkParamsKey,
139 ), sequenceName=sequenceName)
142 acc.merge(DeviceTrackFindingAlgCfg(
144 name=
"DeviceTrackFindingAlg",
145 InputTracccMeasurements=measKey,
146 InputTracccTrackParameters=trkParamsKey,
147 InputTracccMagField=deviceMagField,
148 InputTracccDetectorGeometry=deviceGeometry,
149 OutputTracccTracks=tracksKey,
150 ), sequenceName=sequenceName)