ATLAS Offline Software
Loading...
Searching...
No Matches
ActsGPUEventCnvConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthDeviceComps.AthDeviceCompsConfig import (
6 HostMemoryResourceToolCfg,
7 DeviceMemoryResourceToolCfg,
8 MemoryResourcesToolCfg,
9 CopyToolCfg,
10 CopiesToolCfg,
11)
12from AthenaConfiguration.Enums import BeamType
13from AthCUDAServices.AthCUDAServicesConfig import StreamToolCfg
14
15# ============================================================
16# Algorithm configurations
17# ============================================================
18
20 name="RDOtoTracccCellConverterAlg",
21 **kwargs) -> ComponentAccumulator:
22 #TODO: remove this once MC is fixed
23 if not flags.Tracking.doPixelDigitalClustering:
24 raise ValueError("clusterization on device is not compatible "
25 "with analog clustering at the moment due to incorrent "
26 "ToT values for Pixel hits in the simulation data.")
27
28 if flags.ITk.selectStripIntimeHits and 'timeBins' not in kwargs:
29 coll_25ns = flags.Beam.BunchSpacing<=25 and flags.Beam.Type is BeamType.Collisions
30 kwargs.setdefault("timeBins", "01X" if coll_25ns else "X1X")
31
32 acc = ComponentAccumulator()
33 kwargs.setdefault("HostMR", acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags)))
34 kwargs.setdefault("DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
35 kwargs.setdefault("CopiesTool", acc.popToolsAndMerge(CopiesToolCfg(flags)))
36 kwargs.setdefault("PixelRDO", "ITkPixelRDOs")
37 kwargs.setdefault("StripRDO", "ITkStripRDOs")
38 kwargs.setdefault("TracccCells", "TracccCells")
39 kwargs.setdefault("HostDigitizationObjectName", "TracccHostDigitizationConfig")
40 kwargs.setdefault("GeoIdMappingObjectName", "TracccGeometryIdMapping")
41 kwargs.setdefault("CPUCellSorting", not flags.Acts.Device.doCellSorting)
42 kwargs.setdefault("UsePixelToTForCellActivation", not flags.Tracking.doPixelDigitalClustering)
43 acc.addEventAlgo(
44 CompFactory.ActsTrk.RDOtoTracccCellConverterAlg(name, **kwargs))
45 return acc
46
48 name="PhaseIIRDOtoTracccCellConverterAlg",
49 **kwargs) -> ComponentAccumulator:
50 #TODO: remove this once MC is fixed
51 if not flags.Tracking.doPixelDigitalClustering:
52 raise ValueError("clusterization on device is not compatible "
53 "with analog clustering at the moment due to incorrent "
54 "ToT values for Pixel hits in the simulation data.")
55
56 if flags.ITk.selectStripIntimeHits and 'timeBins' not in kwargs:
57 coll_25ns = flags.Beam.BunchSpacing<=25 and flags.Beam.Type is BeamType.Collisions
58 kwargs.setdefault("timeBins", "01X" if coll_25ns else "X1X")
59
60 acc = ComponentAccumulator()
61 kwargs.setdefault("HostMR", acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags)))
62 kwargs.setdefault("DeviceMR", acc.popToolsAndMerge(DeviceMemoryResourceToolCfg(flags)))
63 kwargs.setdefault("CopiesTool", acc.popToolsAndMerge(CopiesToolCfg(flags)))
64 kwargs.setdefault("PixelRDO", "ITkPixelRDOs")
65 kwargs.setdefault("StripRDO", "ITkStripRDOs")
66 kwargs.setdefault("TracccCells", "TracccCellsFromPh2RDO")
67 kwargs.setdefault("HostDigitizationObjectName", "TracccHostDigitizationConfig")
68 kwargs.setdefault("GeoIdMappingObjectName", "TracccGeometryIdMapping")
69 kwargs.setdefault("CPUCellSorting", not flags.Acts.Device.doCellSorting)
70 kwargs.setdefault("UsePixelToTForCellActivation", not flags.Tracking.doPixelDigitalClustering)
71 acc.addEventAlgo(
72 CompFactory.ActsTrk.PhaseIIRDOtoTracccCellConverterAlg(name, **kwargs))
73 return acc
74
76 name="TracccCellValidationAlg",
77 **kwargs) -> ComponentAccumulator:
78 acc = ComponentAccumulator()
79 kwargs.setdefault("HostMR", acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags)))
80 kwargs.setdefault("DeviceCopyTool", acc.popToolsAndMerge(CopyToolCfg(flags)))
81 kwargs.setdefault("ReferenceCells", "TracccCellsLegacy")
82 kwargs.setdefault("Cells", "TracccCells")
83 acc.addEventAlgo(
84 CompFactory.ActsTrk.TracccCellValidationAlg(name, **kwargs))
85 return acc
86
88 name="TracccMeasurementConverterAlg",
89 **kwargs) -> ComponentAccumulator:
90 acc = ComponentAccumulator()
91 kwargs.setdefault("HostMR", acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags)))
92 kwargs.setdefault("CopyProviderTool", acc.popToolsAndMerge(CopyToolCfg(flags)))
93 kwargs.setdefault("InputMeasurements", "TracccMeasurements")
94 kwargs.setdefault("InputClusters", "TracccClusterCollection")
95 kwargs.setdefault("InputCells", "TracccCells")
96 kwargs.setdefault("OutputPixelClusters", "ITkTracccPixelClusters")
97 kwargs.setdefault("OutputStripClusters", "ITkTracccStripClusters")
98 kwargs.setdefault("ConvertClustersWithCells", False)
99 acc.addEventAlgo(
100 CompFactory.ActsTrk.TracccMeasurementConverterAlg(name, **kwargs))
101 return acc
102
104 name="TracccSeedConverterAlg",
105 **kwargs) -> ComponentAccumulator:
106 acc = ComponentAccumulator()
107 kwargs.setdefault("HostMR", acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags)))
108 kwargs.setdefault("CopyProviderTool", acc.popToolsAndMerge(CopyToolCfg(flags)))
109 kwargs.setdefault("InputSpacepoints", "TracccMeasurements")
110 kwargs.setdefault("InputSeeds", "TracccClusterCollection")
111 kwargs.setdefault("OutputSeeds", "ITkTracccSeeds")
112 acc.addEventAlgo(
113 CompFactory.ActsTrk.TracccSeedConverterAlg(name, **kwargs))
114 return acc
115
117 name="TracccTrackConverterAlg",
118 **kwargs) -> ComponentAccumulator:
119 acc = ComponentAccumulator()
120 kwargs.setdefault("HostMR", acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags)))
121 kwargs.setdefault("CopyProviderTool", acc.popToolsAndMerge(CopyToolCfg(flags)))
122 kwargs.setdefault("InputTracks", "TracccMeasurements")
123 kwargs.setdefault("OutputTracks", "ITkTracccTracks")
124 kwargs.setdefault("HostDetectorName", "TracccHostDetectorGeometry")
125 acc.addEventAlgo(
126 CompFactory.ActsTrk.TracccTrackConverterAlg(name, **kwargs))
127 return acc
128
130 name="xAODToTracccMeasurementConverterAlg",
131 **kwargs) -> ComponentAccumulator:
132 acc = ComponentAccumulator()
133 kwargs.setdefault("MemoryResourcesTool", acc.popToolsAndMerge(MemoryResourcesToolCfg(flags)))
134 kwargs.setdefault("CopiesTool", acc.popToolsAndMerge(CopiesToolCfg(flags)))
135 kwargs.setdefault("InputPixelClusters", "ITkPixelClusters")
136 kwargs.setdefault("InputStripClusters", "ITkStripClusters")
137 kwargs.setdefault("OutputTracccMeasurements", "TracccMeasurementCollection")
138 kwargs.setdefault("OutputMeasToPixelCluster", "TracccMeasToPixelCluster")
139 kwargs.setdefault("OutputMeasToStripCluster", "TracccMeasToStripCluster")
140 kwargs.setdefault("GeoIdMappingObjectName", "TracccGeometryIdMapping")
141 kwargs.setdefault("HostConditionsObjectName", "TracccHostCondConfig")
142 kwargs.setdefault("HostDigitizationObjectName", "TracccHostDigitizationConfig")
143 acc.addEventAlgo(
144 CompFactory.ActsTrk.xAODToTracccMeasurementConverterAlg(name, **kwargs))
145 return acc
146
148 name="xAODToTracccSpacePointConverterAlg",
149 **kwargs) -> ComponentAccumulator:
150 acc = ComponentAccumulator()
151 kwargs.setdefault("MemoryResourcesTool", acc.popToolsAndMerge(MemoryResourcesToolCfg(flags)))
152 kwargs.setdefault("CopiesTool", acc.popToolsAndMerge(CopiesToolCfg(flags)))
153 kwargs.setdefault("InputSpacePoints", ["ITkPixelSpacePoints"])
154 kwargs.setdefault("InputMeasToCluster", "TracccMeasToPixelCluster")
155 kwargs.setdefault("OutputTracccSpacepoints", "TracccPixelSpacepointCollection")
156 kwargs.setdefault("OutputSPToHostContainer", f"{kwargs['OutputTracccSpacepoints']}ToHostContainer")
157 kwargs.setdefault("OutputSPToHostIndex", f"{kwargs['OutputTracccSpacepoints']}ToHostIndex")
158 acc.addEventAlgo(
159 CompFactory.ActsTrk.xAODToTracccSpacePointConverterAlg(name, **kwargs))
160 return acc
161
163 name="TracccMeasurementDeviceConverterAlg",
164 **kwargs) -> ComponentAccumulator:
165
166 if kwargs.get("ConvertClustersWithCells", False) \
167 or flags.Tracking.doTruth:
168 raise ValueError("On-GPU conversion of GPU measurements does not, at the moment,"
169 " support conversion of associated RDOs and is therefore not compatible with"
170 " flags.Tracking.doTruth.")
171
172 acc = ComponentAccumulator()
173 kwargs.setdefault("InputMeasurements", "TracccMeasurements")
174 kwargs.setdefault("OutputPixelClusters", "ITkTracccPixelClusters")
175 kwargs.setdefault("OutputStripClusters", "ITkTracccStripClusters")
176 kwargs.setdefault("CopiesProviderTool", acc.popToolsAndMerge(CopiesToolCfg(flags)))
177 kwargs.setdefault("MemoryResourcesTool", acc.popToolsAndMerge(MemoryResourcesToolCfg(flags)))
178 kwargs.setdefault("StreamTool", acc.popToolsAndMerge(StreamToolCfg(flags)))
179 kwargs.setdefault("DeviceConditionsObjectName", "TracccDeviceCondConfig")
180 kwargs.setdefault("DeviceDetectorName", "TracccDeviceDetectorGeometry")
181 acc.addEventAlgo(
182 CompFactory.ActsTrk.TracccMeasurementDeviceConverterAlg(name, **kwargs))
183 return acc
184
186 name="ClusterValidationAlgCfg",
187 **kwargs) -> ComponentAccumulator:
188 acc = ComponentAccumulator()
189 acc.addEventAlgo(
190 CompFactory.ActsTrk.ClusterValidationAlg(name, **kwargs))
191 return acc
ComponentAccumulator TracccCellValidationAlgCfg(flags, name="TracccCellValidationAlg", **kwargs)
ComponentAccumulator ClusterValidationAlgCfg(flags, name="ClusterValidationAlgCfg", **kwargs)
ComponentAccumulator TracccSeedConverterAlgCfg(flags, name="TracccSeedConverterAlg", **kwargs)
ComponentAccumulator TracccMeasurementConverterAlgCfg(flags, name="TracccMeasurementConverterAlg", **kwargs)
ComponentAccumulator RDOtoTracccCellConverterAlgCfg(flags, name="RDOtoTracccCellConverterAlg", **kwargs)
ComponentAccumulator TracccTrackConverterAlgCfg(flags, name="TracccTrackConverterAlg", **kwargs)
ComponentAccumulator xAODToTracccMeasurementConverterAlgCfg(flags, name="xAODToTracccMeasurementConverterAlg", **kwargs)
ComponentAccumulator TracccMeasurementDeviceConverterAlgCfg(flags, name="TracccMeasurementDeviceConverterAlg", **kwargs)
ComponentAccumulator PhaseIIRDOtoTracccCellConverterAlgCfg(flags, name="PhaseIIRDOtoTracccCellConverterAlg", **kwargs)
ComponentAccumulator xAODToTracccSpacePointConverterAlgCfg(flags, name="xAODToTracccSpacePointConverterAlg", **kwargs)