29def createActsTrackingPassFlags():
30 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
31 icf = AthConfigFlags()
32
33 icf.addFlag("extension", "Acts" )
34
35 icf.addFlag("useITkPixel", lambda pcf : pcf.Detector.EnableITkPixel )
36 icf.addFlag("useITkStrip", lambda pcf : pcf.Detector.EnableITkStrip )
37 icf.addFlag("useITkPixelSeeding", True )
38 icf.addFlag("useITkStripSeeding", False )
39
40 icf.addFlag("usePrdAssociationTool" , False)
41 icf.addFlag("storeSeparateContainer" , False)
42 icf.addFlag("doZBoundary" , True)
43 icf.addFlag("doAmbiguityProcessorTrackFit", True)
44
45 icf.addFlag("useTIDE_Ambi", lambda pcf: pcf.Tracking.doTIDE_Ambi)
46
47
48 icf.addFlag("etaBins" , [-1.0, 2.0, 2.6, 9999.0])
49 icf.addFlag("maxEta" , 4.0)
50 icf.addFlag("minPT" , lambda pcf :
51 [0.2 * Units.GeV * pcf.BField.configuredSolenoidFieldScale]
52 if pcf.Tracking.doLowMu else
53 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
54 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
55 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
56
57 icf.addFlag("minPTSeed" , lambda pcf : (
58 pcf.BField.configuredSolenoidFieldScale *
59 (0.2 * Units.GeV if pcf.Tracking.doLowMu
60 else 0.9 * Units.GeV)))
61 icf.addFlag("maxPrimaryImpactSeed" , 5.0 * Units.mm)
62 icf.addFlag("maxZImpactSeed" , 150.0 * Units.mm)
63 icf.addFlag("useSeedFilter" , True)
64 icf.addFlag("useHoughVertexFilter" , False)
65
66
67 icf.addFlag("minClusters" , lambda pcf :
68 [6, 5, 4] if pcf.Tracking.doLowMu else [9, 8, 7])
69 icf.addFlag("minSiNotShared" , lambda pcf :
70 [6, 5, 4] if pcf.Tracking.doLowMu else [7, 6, 5])
71 icf.addFlag("maxShared" , [2])
72 icf.addFlag("minPixel" , [3])
73 icf.addFlag("maxHoles" , [1])
74 icf.addFlag("maxPixelHoles" , [2])
75 icf.addFlag("maxSctHoles" , [2])
76 icf.addFlag("maxDoubleHoles" , [1])
77 icf.addFlag("maxPrimaryImpact" , [5.0 * Units.mm, 5.0 * Units.mm, 10.0 * Units.mm])
78 icf.addFlag("maxEMImpact" , [50.0 * Units.mm])
79 icf.addFlag("maxZImpact" , [150.0 * Units.mm])
80
81
82 icf.addFlag("roadWidth" , 20.)
83 icf.addFlag("nHolesMax" , icf.maxHoles)
84 icf.addFlag("nHolesGapMax" , icf.maxHoles)
85
86
87 icf.addFlag("Xi2max" , [50.])
88 icf.addFlag("Xi2maxNoAdd" , [100.])
89 icf.addFlag("nWeightedClustersMin" , [6])
90
91
92 icf.addFlag("maxdImpactSSSSeeds" , [20.0 * Units.mm])
93 icf.addFlag("radMax" , 1100. * Units.mm)
94
95
96 icf.addFlag("doBremRecoverySi", lambda pcf: pcf.Tracking.doBremRecovery)
97 icf.addFlag("minPTBrem", lambda pcf: (
98 [1. * Units.GeV * pcf.BField.configuredSolenoidFieldScale]))
99
100
101 icf.addFlag("doCaloSeededBremSi", lambda pcf: pcf.Tracking.doCaloSeededBrem)
102 icf.addFlag("doCaloSeededAmbiSi", lambda pcf: pcf.Tracking.doCaloSeededAmbi)
103
104
105 icf.addFlag("isSecondaryPass", False)
106 icf.addFlag("isLargeD0", False)
107 icf.addFlag("autoReverseSearch", False)
108 icf.addFlag("PixelSeedingStrategy", SeedingStrategy.Gbts, type=SeedingStrategy)
109 icf.addFlag("StripSeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
110
111
112
113 icf.addFlag("storedTrackParticlesExtension", "")
114
115
116
117 icf.addFlag("doAthenaCluster", False)
118 icf.addFlag("doAthenaSpacePoint", False)
119 icf.addFlag("doAthenaSeed", False)
120 icf.addFlag("doAthenaTrack", False)
121 icf.addFlag("doAthenaAmbiguityResolution", False)
122
123 icf.addFlag("doActsCluster", True)
124 icf.addFlag("doActsSpacePoint", True)
125 icf.addFlag("doActsSeed", True)
126 icf.addFlag("doActsTrack", True)
127 icf.addFlag("doActsAmbiguityResolution", lambda pcf:
128 pcf.Acts.doAmbiguityResolution)
129
130
131 icf.addFlag("doAthenaToActsCluster", False)
132 icf.addFlag("doAthenaToActsSpacePoint", False)
133 icf.addFlag("doAthenaToActsTrack", False)
134
135 icf.addFlag("doActsToAthenaCluster", False)
136 icf.addFlag("doActsToAthenaSpacePoint", False)
137 icf.addFlag("doActsToAthenaTrack", False)
138 icf.addFlag("doActsToAthenaResolvedTrack", False)
139
140
141 icf.addFlag("doGNNTrack", False)
142
143
144 icf.addFlag("doFPGASpacePoint", False)
145 icf.addFlag("doFPGACluster", False)
146 icf.addFlag("doFPGASeed", False)
147 icf.addFlag("doFPGATrackSim", False)
148
149
150
151
152 icf.addFlag("storeTrackSeeds", False)
153 icf.addFlag("storeSiSPSeededTracks", False)
154
155 return icf
156
157