7 name: str =
"ActsToTrkConverterTool",
10 **kwargs) -> ComponentAccumulator:
11 acc = ComponentAccumulator()
13 from ActsConfig.ActsGeometryConfig
import ActsGeometryRealmConvToolCfg
14 kwargs.setdefault(
"GeometryRealmConvTool", acc.getPrimaryAndMerge(ActsGeometryRealmConvToolCfg(flags)))
16 setupMuon = setupMuon
and flags.Muon.usePhaseIIGeoSetup
17 setupITk = setupITk
and (flags.Detector.GeometryITk
or flags.Detector.GeometryID)
18 if not setupMuon
or not flags.Detector.EnableMDT:
19 kwargs.setdefault(
"MdtKey",
"")
20 if not setupMuon
or not flags.Detector.EnableRPC:
21 kwargs.setdefault(
"RpcKey",
"")
22 if not setupMuon
or not flags.Detector.EnableTGC:
23 kwargs.setdefault(
"TgcKey",
"")
24 if not setupMuon
or not flags.Detector.EnableMM:
25 kwargs.setdefault(
"MmKey",
"")
26 if not setupMuon
or not flags.Detector.EnablesTGC:
27 kwargs.setdefault(
"sTgcKey",
"")
29 kwargs.setdefault(
"PixelKey",
"")
30 kwargs.setdefault(
"SctKey",
"")
31 from MuonConfig.MuonGeometryConfig
import MuonIdHelperSvcCfg
32 kwargs.setdefault(
"MuonIdHelperSvc", acc.getPrimaryAndMerge(MuonIdHelperSvcCfg(flags))
if setupMuon
else "")
34 from TrkConfig.TrkTrackSummaryToolConfig
import CombinedSummaryToolCfg, InDetTrackSummaryToolCfg
36 kwargs.setdefault(
'SummaryTool', acc.getPrimaryAndMerge(CombinedSummaryToolCfg(flags)))
38 kwargs.setdefault(
'SummaryTool', acc.getPrimaryAndMerge(InDetTrackSummaryToolCfg(flags)))
39 if setupMuon
and (flags.Detector.GeometryRPC
or flags.Detector.GeometryTGC):
40 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import TriggerChamberClusterOnTrackCreatorCfg
41 kwargs.setdefault(
"CompetingRotCreator", acc.getPrimaryAndMerge(TriggerChamberClusterOnTrackCreatorCfg(flags)))
43 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import CombinedRotCreatorCfg, InDetRotCreatorCfg, MuonRotCreatorCfg
44 if setupMuon
and setupITk:
45 rotCreatorTool = acc.getPrimaryAndMerge(CombinedRotCreatorCfg(flags))
46 rotCreatorTool.ToolMuonCluster.RestrictWarnings =
True
47 kwargs.setdefault(
'RotCreatorTool', rotCreatorTool)
49 rotCreatorTool = acc.getPrimaryAndMerge(MuonRotCreatorCfg(flags))
50 rotCreatorTool.ToolMuonCluster.RestrictWarnings =
True
51 kwargs.setdefault(
'RotCreatorTool', rotCreatorTool)
53 kwargs.setdefault(
'RotCreatorTool', acc.popToolsAndMerge(InDetRotCreatorCfg(flags)))
55 acc.setPrivateTools(CompFactory.ActsTrk.ActsToTrkConverterTool(name, **kwargs))
71 name: str =
"ActsToTrkConvertorAlg",
72 **kwargs) -> ComponentAccumulator:
73 acc = ComponentAccumulator()
77 kwargs.setdefault(
'ACTSTracksLocation',
'ActsTracks' if not flags.Acts.doAmbiguityResolution
else 'ActsResolvedTracks')
78 kwargs.setdefault(
"TracksLocation",
"SiSPSeededActsTracks")
79 ACTSTracksLocation = kwargs.pop(
'ACTSTracksLocation')
80 TracksLocation = kwargs.pop(
"TracksLocation")
81 ATLASConverterTool =
None
82 if "ATLASConverterTool" in kwargs:
83 ATLASConverterTool = kwargs[
"ATLASConverterTool"]
86 acc.addEventAlgo(CompFactory.ActsTrk.ActsToTrkConvertorAlg(name,
87 TracksLocation = TracksLocation,
88 ACTSTracksLocation = ACTSTracksLocation,
89 ATLASConverterTool = ATLASConverterTool))
94 setupMuon = False, setupITk = True, **kwargs):
95 result = ComponentAccumulator()
97 if flags.Tracking.ITkMainPass.doAthenaToActsCluster:
99 from InDetConfig.InDetPrepRawDataFormationConfig
import ITkXAODToInDetClusterConversionCfg
100 result.merge(ITkXAODToInDetClusterConversionCfg(flags))
101 if 'ATLASConverterTool' not in kwargs:
102 kwargs.setdefault(
"ATLASConverterTool", result.popToolsAndMerge(
ActsToTrkConverterToolCfg(flags, setupMuon = setupMuon ,setupITk = setupITk)))
104 result.addEventAlgo(CompFactory.ActsTrk.xAODtoTrkConverterAlg(name, **kwargs), primary =
True)
119 name: str =
"ActsTrackToTrackParticleCnvTool",
120 **kwargs) -> ComponentAccumulator:
121 acc = ComponentAccumulator()
124 from MagFieldServices.MagFieldServicesConfig
import (
125 AtlasFieldCacheCondAlgCfg)
126 acc.merge(AtlasFieldCacheCondAlgCfg(flags))
128 kwargs.setdefault(
'FirstAndLastParameterOnly',
True)
129 kwargs.setdefault(
'ComputeExpectedLayerPattern',
True)
132 from ActsConfig.ActsGeometryConfig
import ActsExtrapolationToolCfg
133 kwargs.setdefault(
'ExtrapolationTool', acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags)) )
134 acc.setPrivateTools(CompFactory.ActsTrk.TrackToTrackParticleCnvTool(name, **kwargs))
138 name: str =
"ActsTrackToTrackParticleCnvAlg",
139 **kwargs) -> ComponentAccumulator:
140 acc = ComponentAccumulator()
143 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
144 acc.merge(BeamSpotCondAlgCfg(flags))
148 if "ExtrapolationTool" in kwargs:
149 tool_kwargs[
"ExtrapolationTool"] = kwargs.pop(
"ExtrapolationTool")
150 if "FirstAndLastParameterOnly" in kwargs:
151 tool_kwargs[
"FirstAndLastParameterOnly"] = kwargs.pop(
"FirstAndLastParameterOnly")
152 if "ComputeExpectedLayerPattern" in kwargs:
153 tool_kwargs[
"ComputeExpectedLayerPattern"] = kwargs.pop(
"ComputeExpectedLayerPattern")
154 if "MuonSummaryTool" in kwargs:
155 tool_kwargs[
"MuonSummaryTool"] = kwargs.pop(
"MuonSummaryTool")
156 if 'TrackToTrackParticleCnvTool' not in kwargs:
157 kwargs[
'TrackToTrackParticleCnvTool'] = acc.popToolsAndMerge(
160 kwargs.setdefault(
'BeamSpotKey',
'BeamSpotData')
161 kwargs.setdefault(
"PerigeeExpression", flags.Tracking.perigeeExpression)
162 kwargs.setdefault(
'VertexContainerKey',
'PrimaryVertices')
164 acc.addEventAlgo(CompFactory.ActsTrk.TrackToTrackParticleCnvAlg(name, **kwargs), primary =
True)
169 from TrkConfig.TrackCollectionReadConfig
import TrackCollectionReadCfg
170 from AthenaPoolCnvSvc.PoolReadConfig
import PoolReadCfg
171 from AthenaConfiguration.MainServicesConfig
import MainServicesCfg
173 cfg = MainServicesCfg(flags)
176 cfg.merge(PoolReadCfg(flags))
177 for collection
in track_collections:
178 cfg.merge(TrackCollectionReadCfg(flags, collection))
181 from TrkEventCnvTools.TrkEventCnvToolsConfig
import TrkEventCnvSuperToolCfg
182 cfg.merge(TrkEventCnvSuperToolCfg(flags))
185 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
186 cfg.merge(MuonGeoModelCfg(flags))
190 flags, OutputLevel=1, TrackCollectionKeys=track_collections,
195 from DumpEventDataToJSON.DumpEventDataToJSONConfig
import DumpEventDataToJSONAlgCfg
196 acc = DumpEventDataToJSONAlgCfg(
197 flags, doExtrap=
False, OutputLevel=1,
198 TrackCollectionKeys=track_collections,
199 CscPrepRawDataKey=
"",
201 sTgcPrepRawDataKey=
"",
202 MdtPrepRawDataKey=
"",
203 RpcPrepRawDataKey=
"",
204 TgcPrepRawDataKey=
"",
205 PixelPrepRawDataKey=
"",
206 SctPrepRawDataKey=
"",
207 TrtPrepRawDataKey=
"",
208 CaloCellContainerKey=[
""],
209 CaloClusterContainerKeys=[
""],
210 MuonContainerKeys=[
""],
211 JetContainerKeys=[
""],
212 TrackParticleContainerKeys=[
""],
213 OutputLocation=outputfile,
216 cfg.printConfig(withDetails=
True, summariseProps=
True)
223 cfg.getCondAlgo(
"AtlasTrackingGeometryCondAlg").OutputLevel = FATAL
226 if not sc.isSuccess():
228 sys.exit(
"Execution failed")