ATLAS Offline Software
Loading...
Searching...
No Matches
InDetGNNTrackingConfigFlags.py
Go to the documentation of this file.
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4from AthenaConfiguration.AthConfigFlags import AthConfigFlags
5from AthOnnxComps.OnnxRuntimeFlags import OnnxRuntimeType
6from AthenaConfiguration.Enums import FlagEnum
7
8
9class GNNTrackFinderToolType(FlagEnum):
10 TrackReader = "TrackReader"
11 TrackFinder = "TrackFinder"
12 Triton = "Triton"
13 ActsPipeline = "ActsPipeline"
14
15
17 """Create flags for configuring the GNN tracking."""
18 icf = AthConfigFlags()
19 icf.addFlag("Tracking.GNN.ToolType", GNNTrackFinderToolType.TrackReader, type=GNNTrackFinderToolType)
20 icf.addFlag("Tracking.GNN.usePixelHitsOnly", False)
21
22 # Dump objects
23 icf.addFlag("Tracking.GNN.DumpObjects.NtupleFileName", "/DumpObjects/")
24 icf.addFlag("Tracking.GNN.DumpObjects.NtupleTreeName", "GNN4ITk")
25
26 # GNN Track finder tool
27 icf.addFlag("Tracking.GNN.TrackFinder.inputMLModelDir", "TrainedMLModels4ITk")
28 icf.addFlag("Tracking.GNN.TrackFinder.ORTExeProvider", OnnxRuntimeType.CPU)
29
30 # GNN Track Reader Tool
31 icf.addFlag("Tracking.GNN.TrackReader.inputTracksDir", "gnntracks")
32 icf.addFlag("Tracking.GNN.TrackReader.csvPrefix", "track")
33
34 icf.addFlag("Tracking.GNN.useClusterTracks", False)
35
36 # the following cuts are applied to the tracks before the track fitting
37 icf.addFlag("Tracking.GNN.minPixelClusters", 1)
38 icf.addFlag("Tracking.GNN.minStripClusters", 0)
39 icf.addFlag("Tracking.GNN.minClusters", 6)
40
41 # the following cuts are applied to the tracks after the track fitting
42 icf.addFlag("Tracking.GNN.etamax", 4.0)
43 import AthenaCommon.SystemOfUnits as Units
44 icf.addFlag("Tracking.GNN.pTmin", 400. * Units.MeV)
45
46 # this option applies eta dependent track selection to the output tracks
47 icf.addFlag("Tracking.GNN.doRecoTrackCuts", True)
48
49 # this option turns on the recovery attempts for failed track fits
50 icf.addFlag("Tracking.GNN.doRecoverFailedFits", True)
51
52 # this option turns on the ambiguity resolution, False by default
53 icf.addFlag("Tracking.GNN.doAmbiResolution", False)
54
55 # Triton Tool
56 icf.addFlag("Tracking.GNN.Triton.url", "localhost")
57 icf.addFlag("Tracking.GNN.Triton.model", "MetricLearning")
58 icf.addFlag("Tracking.GNN.Triton.port", 8001)
59 icf.addFlag("Tracking.GNN.spacepointFeatures", "r,phi,z,cluster_x_1,cluster_y_1,cluster_z_1,cluster_x_2,cluster_y_2,cluster_z_2,count_1,charge_count_1,loc_eta_1,loc_phi_1,localDir0_1,localDir1_1,localDir2_1,lengthDir0_1,lengthDir1_1,lengthDir2_1,glob_eta_1,glob_phi_1,eta_angle_1,phi_angle_1,count_2,charge_count_2,loc_eta_2,loc_phi_2,localDir0_2,localDir1_2,localDir2_2,lengthDir0_2,lengthDir1_2,lengthDir2_2,glob_eta_2,glob_phi_2,eta_angle_2,phi_angle_2,eta,cluster_r_1,cluster_phi_1,cluster_eta_1,cluster_r_2,cluster_phi_2,cluster_eta_2")
60
61 # ACTS GNN Pipeline Tool
62 icf.addFlag("Tracking.GNN.ActsPipeline.moduleMapPath", "")
63 icf.addFlag("Tracking.GNN.ActsPipeline.gnnPath", "")
64 icf.addFlag("Tracking.GNN.ActsPipeline.edgeCut", 0.5)
65 icf.addFlag("Tracking.GNN.ActsPipeline.numTrtContexts", 1)
66 icf.addFlag("Tracking.GNN.ActsPipeline.minCandidateMeasurements", 3)
67
68 return icf
69