12 """Set up a TracccTritonTool tool and return"""
14 from AthTritonComps.TritonToolConfig
import TritonToolCfg
16 acc = ComponentAccumulator()
18 kwargs.setdefault(
"TritonTool", acc.popToolsAndMerge(
19 TritonToolCfg(flags, flags.Tracking.Traccc.Triton.model,
20 url=flags.Tracking.Traccc.Triton.url,
21 port=flags.Tracking.Traccc.Triton.port,
22 ssl=(flags.Tracking.Traccc.Triton.port == 443))))
24 acc.setPrivateTools(CompFactory.TracccTritonTool(name, **kwargs))
29 from ActsConfig.ActsTruthConfig
import (
30 ActsPixelClusterToTruthAssociationAlgCfg,
31 ActsStripClusterToTruthAssociationAlgCfg,
32 ActsTruthParticleHitCountAlgCfg,
34 acc.merge(ActsPixelClusterToTruthAssociationAlgCfg(
36 name=f
"{prefix}PixelClusterToTruthAssociationAlg",
37 InputTruthParticleLinks=
"xAODTruthLinks",
38 AssociationMapOut=f
"{prefix}PixelClustersToTruthParticles",
39 Measurements=pixelKey,
41 acc.merge(ActsStripClusterToTruthAssociationAlgCfg(
43 name=f
"{prefix}StripClusterToTruthAssociationAlg",
44 InputTruthParticleLinks=
"xAODTruthLinks",
45 AssociationMapOut=f
"{prefix}StripClustersToTruthParticles",
46 Measurements=stripKey,
48 acc.merge(ActsTruthParticleHitCountAlgCfg(
50 name=f
"{prefix}TruthParticleHitCountAlg",
51 PixelClustersToTruthAssociationMap=f
"{prefix}PixelClustersToTruthParticles",
52 StripClustersToTruthAssociationMap=f
"{prefix}StripClustersToTruthParticles",
53 TruthParticleHitCountsOut=f
"{prefix}TruthParticleHitCounts",
60 from ActsConfig.ActsTruthConfig
import (
61 ActsTrackToTruthAssociationAlgCfg,
62 ActsTrackFindingValidationAlgCfg,
63 ActsTrackParticleTruthDecorationAlgCfg,
67 acc.merge(ActsTrackToTruthAssociationAlgCfg(
69 name=f
"{prefix}TrackToTruthAssociationAlg",
70 PixelClustersToTruthAssociationMap=f
"{prefix}PixelClustersToTruthParticles",
71 StripClustersToTruthAssociationMap=f
"{prefix}StripClustersToTruthParticles",
72 ACTSTracksLocation=tracks_key,
73 AssociationMapOut=f
"{tracks_key}ToTruthParticleAssociation",
77 acc.merge(ActsTrackFindingValidationAlgCfg(
79 name=f
"{prefix}TrackFindingValidationAlg",
80 TrackToTruthAssociationMap=f
"{tracks_key}ToTruthParticleAssociation",
81 TruthParticleHitCounts=f
"{prefix}TruthParticleHitCounts",
85 acc.merge(ActsTrackParticleTruthDecorationAlgCfg(
87 name=f
"{prefix}TrackParticleTruthDecorationAlg",
88 TrackToTruthAssociationMaps=[
89 f
"{tracks_key}ToTruthParticleAssociation"],
90 TrackParticleContainerName=f
"{prefix}TrackParticles",
91 TruthParticleHitCounts=f
"{prefix}TruthParticleHitCounts",
92 ComputeTrackRecoEfficiency=
True,
99 """Set up a TrackMaker algorithm and return it"""
100 acc = ComponentAccumulator()
103 track_container_name = f
'{prefix}Tracks'
104 track_particles_name = f
"{prefix}TrackParticles"
109 from ActsConfig.ActsGeometryConfig
import ActsTrackingGeometrySvcCfg
110 kwargs.setdefault(
"TrackingGeometrySvc", acc.getPrimaryAndMerge(ActsTrackingGeometrySvcCfg(flags)))
113 from PixelGeoModelXml.ITkPixelGeoModelConfig
import ITkPixelReadoutGeometryCfg
114 acc.merge(ITkPixelReadoutGeometryCfg(flags))
115 from StripGeoModelXml.ITkStripGeoModelConfig
import ITkStripReadoutGeometryCfg
116 acc.merge(ITkStripReadoutGeometryCfg(flags))
119 if flags.Tracking.ActiveConfig.extension !=
"Acts":
120 raise RuntimeError(f
"wrong tracking pass: {flags.Tracking.ActiveConfig.extension}")
121 except AttributeError:
122 flags = flags.cloneAndReplace(
"Tracking.ActiveConfig",
123 "Tracking.ITkActsPass")
126 from ActsGPUGeometry.ActsGPUGeometryConfig
import JSONDeviceDetectorDescriptionProviderSvcCfg
127 acc.merge(JSONDeviceDetectorDescriptionProviderSvcCfg(flags,
128 HostConditionsObjectName=
"TracccHostCondConfig",
129 HostDigitizationObjectName=
"TracccHostDigitizationConfig",
130 DeviceConditionsObjectName=
"TracccDeviceCondConfig",
131 DeviceDigitizationObjectName=
"TracccDeviceDigitizationConfig",
135 from ActsGPUEventCnv.ActsGPUEventCnvConfig
import RDOtoTracccCellConverterAlgCfg
136 from AthDeviceComps.AthDeviceCompsConfig
import HostCopyToolCfg, HostMemoryResourceToolCfg
138 host_mr_for_converter = acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags))
139 device_mr_for_converter = acc.popToolsAndMerge(HostMemoryResourceToolCfg(flags))
140 copies_tool = CompFactory.AthDevice.CopiesAdaptorTool(
141 "TracccCellsHostCopiesTool",
142 HostCopyTool=acc.popToolsAndMerge(HostCopyToolCfg(flags)),
143 DeviceCopyTool=acc.popToolsAndMerge(HostCopyToolCfg(flags)))
145 acc.merge(RDOtoTracccCellConverterAlgCfg(flags,
146 HostMR=host_mr_for_converter,
147 DeviceMR=device_mr_for_converter,
148 CopiesTool=copies_tool))
150 kwargs.setdefault(
"TracccCells",
"TracccCells")
153 acc.addEventAlgo(CompFactory.TritonTracccTrackMaker(name, doTruth=doTruth, **kwargs))
158 from ActsConfig.ActsEventCnvConfig
import ActsTrackToTrackParticleCnvAlgCfg
159 acc.merge(ActsTrackToTrackParticleCnvAlgCfg(flags,
160 name=f
"{prefix}TrackToTrackParticleCnvAlg",
161 ACTSTracksLocation=[track_container_name],
162 TrackParticlesOutKey=track_particles_name))
165 pixel_key =
"xAODPixelClustersFromInDetCluster"
166 strip_key =
"xAODStripClustersFromInDetCluster"
171 acc, flags, prefix=prefix, pixelKey=pixel_key, stripKey=strip_key)
180 inputList.append(
"xAOD::TruthParticleContainer#*")
181 inputList.append(
"xAOD::TruthParticleAuxContainer#*")
182 inputList.append(
"xAOD::TrackJacobianContainer#*")
183 inputList.append(
"xAOD::TrackJacobianAuxContainer#*")
184 inputList.append(
"xAOD::TrackMeasurementContainer#*")
185 inputList.append(
"xAOD::TrackMeasurementAuxContainer#*")
186 inputList.append(
"xAOD::TrackSurfaceContainer#*")
187 inputList.append(
"xAOD::TrackSurfaceAuxContainer#*")
188 inputList.append(
"xAOD::TrackParticleContainer#*")
189 inputList.append(
"xAOD::TrackParticleAuxContainer#*")
192 inputList.append(
"xAOD::PixelClusterContainer#xAODPixelClustersFromInDetCluster")
193 inputList.append(
"xAOD::StripClusterContainer#xAODStripClustersFromInDetCluster")
194 inputList.append(
"xAOD::PixelClusterAuxContainer#xAODPixelClustersFromInDetClusterAux.")
195 inputList.append(
"xAOD::StripClusterAuxContainer#xAODStripClustersFromInDetClusterAux.")
197 inputList.append(
"xAOD::PixelClusterContainer#*")
198 inputList.append(
"xAOD::StripClusterContainer#*")
199 inputList.append(
"xAOD::PixelClusterAuxContainer#*")
200 inputList.append(
"xAOD::StripClusterAuxContainer#*")
202 from OutputStreamAthenaPool.OutputStreamConfig
import OutputStreamCfg
203 acc.merge(OutputStreamCfg(flags,
'AOD', ItemList=inputList))