3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
6from AthDeviceComps.AthDeviceCompsConfig
import MemoryResourcesToolCfg, CopyToolCfg, DeviceMemoryResourceToolCfg
7from AthDeviceComps.DeviceConfigFlags
import DeviceBackend
14 name="CUDAClusterizerTool",
15 **kwargs) -> ComponentAccumulator:
16 acc = ComponentAccumulator()
18 from AthCUDAServices.AthCUDAServicesConfig
import StreamToolCfg
20 kwargs.setdefault(
"MemoryResourcesTool", acc.popToolsAndMerge(MemoryResourcesToolCfg(flags)))
21 kwargs.setdefault(
"CopyProviderTool", acc.popToolsAndMerge(CopyToolCfg(flags)))
22 kwargs.setdefault(
"StreamTool", acc.popToolsAndMerge(StreamToolCfg(flags)))
23 kwargs.setdefault(
"CellSorting", flags.Acts.Device.doCellSorting)
26 CompFactory.ActsTrk.CUDAClusterizationAlgProviderTool(name, **kwargs))
30 name="CUDASPFormationTool",
31 **kwargs) -> ComponentAccumulator:
32 acc = ComponentAccumulator()
34 from AthCUDAServices.AthCUDAServicesConfig
import StreamToolCfg
36 kwargs.setdefault(
"MemoryResourcesTool", acc.popToolsAndMerge(MemoryResourcesToolCfg(flags)))
37 kwargs.setdefault(
"CopyProviderTool", acc.popToolsAndMerge(CopyToolCfg(flags)))
38 kwargs.setdefault(
"StreamTool", acc.popToolsAndMerge(StreamToolCfg(flags)))
41 CompFactory.ActsTrk.CUDASPFormationAlgProviderTool(name, **kwargs))
45 name="DeviceClusterizationProviderTool",
46 **kwargs) -> ComponentAccumulator:
47 acc = ComponentAccumulator()
49 if flags.Device.Backend
is not DeviceBackend.CUDA:
50 raise ValueError(f
"Unsupported device backend: {flags.Acts.DeviceBackend}")
57 name="DeviceSPFormationProviderTool",
58 **kwargs) -> ComponentAccumulator:
59 acc = ComponentAccumulator()
61 if flags.Device.Backend
is not DeviceBackend.CUDA:
62 raise ValueError(f
"Unsupported device backend: {flags.Acts.DeviceBackend}")
74 name="DeviceClusterizationAlg",
75 previousExtension: str =
None,
76 **kwargs) -> ComponentAccumulator:
78 assert previousExtension
is None or isinstance(previousExtension, str)
79 acc = ComponentAccumulator()
81 kwargs.setdefault(
"DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
82 kwargs.setdefault(
"InputTracccCells",
"TracccCells")
83 kwargs.setdefault(
"OutputTracccMeasurements",
"TracccMeasurements")
84 kwargs.setdefault(
"OutputTracccClusters",
"TracccClusterCollection")
85 kwargs.setdefault(
"RetrieveClusterCells",
False)
87 kwargs.setdefault(
"DeviceDigitizationObjectName",
"TracccDeviceDigitizationConfig")
88 kwargs.setdefault(
"DeviceConditionsObjectName",
"TracccDeviceCondConfig")
91 CompFactory.ActsTrk.DeviceClusterizationAlg(name, **kwargs))
96 name="DeviceSPFormationAlg",
97 previousExtension: str =
None,
98 **kwargs) -> ComponentAccumulator:
100 assert previousExtension
is None or isinstance(previousExtension, str)
101 acc = ComponentAccumulator()
103 kwargs.setdefault(
"DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
104 kwargs.setdefault(
"InputTracccMeasurements",
"TracccMeas")
105 kwargs.setdefault(
"OutputTracccPixelSpacepoints",
"TracccPixelSpacepoints")
107 kwargs.setdefault(
"DeviceDetectorName",
"TracccDeviceDetectorGeometry")
110 CompFactory.ActsTrk.DeviceSPFormationAlg(name, **kwargs))
ComponentAccumulator DeviceClusterizationAlgCfg(flags, name="DeviceClusterizationAlg", str previousExtension=None, **kwargs)
ComponentAccumulator CUDASPFormationToolCfg(flags, name="CUDASPFormationTool", **kwargs)
ComponentAccumulator DeviceSPFormationAlgCfg(flags, name="DeviceSPFormationAlg", str previousExtension=None, **kwargs)
ComponentAccumulator DeviceSPFormationProviderToolCfg(flags, name="DeviceSPFormationProviderTool", **kwargs)
ComponentAccumulator CUDAClusterizerToolCfg(flags, name="CUDAClusterizerTool", **kwargs)
ComponentAccumulator DeviceClusterizationProviderToolCfg(flags, name="DeviceClusterizationProviderTool", **kwargs)