5 from pathlib
import Path
7 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
8 from AthenaConfiguration.ComponentFactory
import CompFactory
12 flags, name="DumpObjects", outfile="Dump_GNN4Itk.root", **kwargs):
14 create algorithm which dumps GNN training information to ROOT file
20 Output=[f
"{name} DATAFILE='{outfile}', OPT='RECREATE'"]
24 kwargs.setdefault(
"NtupleFileName",
"/DumpObjects/")
25 kwargs.setdefault(
"NtupleTreeName",
"GNN4ITk")
26 kwargs.setdefault(
"rootFile",
True)
28 acc.addEventAlgo(CompFactory.InDet.DumpObjects(name, **kwargs))
32 """Sets up a GNNTrackFinderTool tool and returns it."""
36 kwargs.setdefault(
"embeddingDim", 8)
37 kwargs.setdefault(
"rVal", 1.7)
38 kwargs.setdefault(
"knnVal", 500)
39 kwargs.setdefault(
"filterCut", 0.21)
40 kwargs.setdefault(
"inputMLModelDir",
"TrainedMLModels4ITk")
41 kwargs.setdefault(
"UseCUDA",
False)
43 from AthOnnxComps.OnnxRuntimeInferenceConfig
import OnnxRuntimeInferenceToolCfg
44 kwargs.setdefault(
"Embedding", acc.popToolsAndMerge(
47 kwargs.setdefault(
"Filtering", acc.popToolsAndMerge(
50 kwargs.setdefault(
"GNN", acc.popToolsAndMerge(
54 acc.setPrivateTools(CompFactory.InDet.SiGNNTrackFinderTool(name, **kwargs))
59 """Sets up a SeedFitter tool and returns it."""
63 acc.setPrivateTools(CompFactory.InDet.SeedFitterTool(name, **kwargs))
67 """Set up a GNNTrackReader tool and return it."""
71 kwargs.setdefault(
"inputTracksDir",
"gnntracks")
72 kwargs.setdefault(
"csvPrefix",
"track")
74 acc.setPrivateTools(CompFactory.InDet.GNNTrackReaderTool(name, **kwargs))
78 """Sets up a GNNTrackMaker algorithm and returns it."""
80 if flags.Tracking.GNN.usePixelHitsOnly:
86 """Sets up a GNNTrackMaker algorithm and returns it."""
92 kwargs.setdefault(
"SeedFitterTool", SeedFitterTool)
94 from TrkConfig.CommonTrackFitterConfig
import ITkTrackFitterCfg
96 kwargs.setdefault(
"TrackFitter", InDetTrackFitter)
98 if flags.Tracking.GNN.useTrackFinder:
100 kwargs.setdefault(
"GNNTrackFinderTool", InDetGNNTrackFinderTool)
101 kwargs.setdefault(
"GNNTrackReaderTool",
None)
102 elif flags.Tracking.GNN.useTrackReader:
104 kwargs.setdefault(
"GNNTrackReaderTool", InDetGNNTrackReader)
105 kwargs.setdefault(
"GNNTrackFinderTool",
None)
107 raise RuntimeError(
"GNNTrackFinder or GNNTrackReader must be enabled!")
109 acc.addEventAlgo(CompFactory.InDet.SiSPGNNTrackMaker(name, **kwargs))
113 """Sets up a GNN for seeding algorithm and returns it."""
116 from InDetConfig.SiCombinatorialTrackFinderToolConfig
import SiDetElementBoundaryLinksCondAlg_xk_ITkPixel_Cfg, SiDetElementBoundaryLinksCondAlg_xk_ITkStrip_Cfg
121 from MagFieldServices.MagFieldServicesConfig
import (
122 AtlasFieldCacheCondAlgCfg)
125 from TrkConfig.TrkRIO_OnTrackCreatorConfig
import ITkRotCreatorCfg
127 flags, name=
"ITkRotCreator"+flags.Tracking.ActiveConfig.extension))
128 acc.addPublicTool(ITkRotCreator)
129 kwargs.setdefault(
"RIOonTrackTool", ITkRotCreator)
131 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import (
132 RungeKuttaPropagatorCfg)
133 ITkPatternPropagator = acc.popToolsAndMerge(
135 acc.addPublicTool(ITkPatternPropagator)
136 kwargs.setdefault(
"PropagatorTool", ITkPatternPropagator)
138 from TrkConfig.TrkMeasurementUpdatorConfig
import KalmanUpdator_xkCfg
139 ITkPatternUpdator = acc.popToolsAndMerge(
141 acc.addPublicTool(ITkPatternUpdator)
142 kwargs.setdefault(
"UpdatorTool", ITkPatternUpdator)
144 from InDetConfig.InDetBoundaryCheckToolConfig
import ITkBoundaryCheckToolCfg
145 kwargs.setdefault(
"BoundaryCheckTool", acc.popToolsAndMerge(
148 from PixelConditionsTools.ITkPixelConditionsSummaryConfig
import (
149 ITkPixelConditionsSummaryCfg)
150 kwargs.setdefault(
"PixelSummaryTool", acc.popToolsAndMerge(
153 from SCT_ConditionsTools.ITkStripConditionsToolsConfig
import (
154 ITkStripConditionsSummaryToolCfg)
155 kwargs.setdefault(
"StripSummaryTool", acc.popToolsAndMerge(
158 if flags.Tracking.GNN.useTrackFinder:
160 kwargs.setdefault(
"GNNTrackReaderTool",
None)
161 elif flags.Tracking.GNN.useTrackReader:
163 kwargs.setdefault(
"GNNTrackFinderTool",
None)
165 raise RuntimeError(
"GNNTrackFinder or GNNTrackReader must be enabled!")
167 kwargs.setdefault(
"SeedFitterTool", acc.popToolsAndMerge(
SeedFitterToolCfg(flags)))
169 from TrkConfig.CommonTrackFitterConfig
import ITkTrackFitterCfg
172 from InDetConfig.SiDetElementsRoadToolConfig
import ITkSiDetElementsRoadMaker_xkCfg
177 kwargs.setdefault(
"nClustersMin", flags.Tracking.ActiveConfig.minClusters[0])
178 kwargs.setdefault(
"nWeightedClustersMin", flags.Tracking.ActiveConfig.nWeightedClustersMin[0])
179 kwargs.setdefault(
"nHolesMax", flags.Tracking.ActiveConfig.nHolesMax[0])
180 kwargs.setdefault(
"nHolesGapMax", flags.Tracking.ActiveConfig.nHolesGapMax[0])
182 kwargs.setdefault(
"pTmin", flags.Tracking.ActiveConfig.minPT[0])
183 kwargs.setdefault(
"pTminBrem", flags.Tracking.ActiveConfig.minPTBrem[0])
184 kwargs.setdefault(
"Xi2max", flags.Tracking.ActiveConfig.Xi2max[0])
185 kwargs.setdefault(
"Xi2maxNoAdd", flags.Tracking.ActiveConfig.Xi2maxNoAdd[0])
186 kwargs.setdefault(
"Xi2maxMultiTracks", flags.Tracking.ActiveConfig.Xi2max[0])
187 kwargs.setdefault(
"doMultiTracksProd",
False)
189 acc.addEventAlgo(CompFactory.InDet.GNNSeedingTrackMaker(name, **kwargs))