ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrackingPassFlags Namespace Reference

Functions

 deactivateAthenaComponents (icf)
 activateActsComponents (icf)
 createActsTrackingPassFlags ()
 createActsLegacyTrackingPassFlags ()
 createActsHeavyIonTrackingPassFlags ()
 createActsLargeRadiusTrackingPassFlags ()
 createActsConversionTrackingPassFlags ()
 createActsLowPtTrackingPassFlags ()
 createEFValidateF100TrackingPassFlags ()
 createEFValidateF150TrackingPassFlags ()
 createACTSInnerDetectorTrackingPassFlags ()

Function Documentation

◆ activateActsComponents()

activateActsComponents ( icf)

Definition at line 18 of file ActsTrackingPassFlags.py.

18def activateActsComponents(icf):
19 icf.doActsCluster = True
20 icf.doActsSpacePoint = True
21 icf.doActsSeed = True
22 icf.doActsTrack = True
23 # Ambiguity resolution can follow if ActsTrack is
24 # enabled. Ambi. can be activated/deactivated with
25 # the flag: Acts.doAmbiguityResolution
26 icf.doActsAmbiguityResolution = lambda pcf: pcf.Acts.doAmbiguityResolution
27
28# Main ACTS Tracking pass with Fast Tracking configuration

◆ createActsConversionTrackingPassFlags()

createActsConversionTrackingPassFlags ( )

Definition at line 260 of file ActsTrackingPassFlags.py.

260def createActsConversionTrackingPassFlags():
261 icf = createActsTrackingPassFlags()
262 icf.extension = "ActsConversion"
263
264 # Mark as secondary pass
265 icf.isSecondaryPass = True
266 # Conversion pass is merged with main pass
267 icf.storeSeparateContainer = False
268
269 icf.usePrdAssociationTool = True
270 icf.useITkPixelSeeding = False
271 icf.useITkStripSeeding = True
272
273 icf.etaBins = [-1.0,4.0]
274 icf.minPT = lambda pcf: (
275 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
276 icf.maxPrimaryImpact = [10.0 * Units.mm]
277 icf.maxPrimaryImpactSeed = 10.0 * Units.mm
278 icf.minClusters = [6]
279 icf.minSiNotShared = [6]
280 icf.maxShared = [0]
281 icf.minPixel = [0]
282 icf.maxHoles = [0]
283 icf.maxPixelHoles = [1]
284 icf.maxSctHoles = [2]
285 icf.maxDoubleHoles = [1]
286
287 icf.nHolesMax = icf.maxHoles
288 icf.nHolesGapMax = icf.maxHoles
289 icf.nWeightedClustersMin = [6]
290 icf.maxdImpactSSSSeeds = [20.0 * Units.mm]
291 icf.radMax = 1100. * Units.mm
292 icf.doZBoundary = False
293
294 icf.doBremRecoverySi = True
295
296 return icf
297
298# Secondary ACTS Tracking pass for Low pT tracking

◆ createActsHeavyIonTrackingPassFlags()

createActsHeavyIonTrackingPassFlags ( )

Definition at line 176 of file ActsTrackingPassFlags.py.

176def createActsHeavyIonTrackingPassFlags():
177 icf = createActsTrackingPassFlags()
178 icf.extension = "ActsHeavyIon"
179 icf.useITkStripSeeding = True
180 icf.maxPrimaryImpact = [5.0 * Units.mm]
181 icf.minPT = lambda pcf : (
182 [0.4 *Units.GeV * pcf.BField.configuredSolenoidFieldScale])
183 icf.minPTSeed = lambda pcf : (
184 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
185 icf.minClusters = [6]
186 icf.minSiNotShared = [6]
187 icf.maxPixelHoles = [1]
188 icf.maxSctHoles = [1]
189 icf.maxDoubleHoles = [0]
190 icf.maxHoles = [2]
191 icf.nHolesMax = icf.maxHoles
192 icf.nHolesGapMax = icf.maxHoles
193 icf.Xi2max = [25.]
194 icf.Xi2maxNoAdd = [25.]
195 icf.doBremRecoverySi = False
196 icf.doAmbiguityProcessorTrackFit = False
197 return icf
198
199# Secondary ACTS Tracking pass for Large Radius Tracking

◆ createACTSInnerDetectorTrackingPassFlags()

createACTSInnerDetectorTrackingPassFlags ( )

Definition at line 354 of file ActsTrackingPassFlags.py.

354def createACTSInnerDetectorTrackingPassFlags():
355 # flags for ACTS based InnerDetector silicon tracking
356 from TrkConfig.TrackingPassFlags import createTrackingPassFlags
357 icf = createTrackingPassFlags()
358 icf.extension = ""
359 icf.Xi2max = 25.0
360 icf.Xi2maxNoAdd = 25.0
361 # ACTS components
362 icf.addFlag("doActsCluster", True)
363 icf.addFlag("doActsSpacePoint", True)
364 icf.addFlag("doActsSeed", True)
365 icf.addFlag("doActsTrack", True)
366 icf.addFlag("doActsAmbiguityResolution", True)
367
368 # Maximum bin set to 9999 instead of four to prevent out of bounds lookups
369 icf.addFlag("etaBins" , [-1.0, 3.0, 9999.0])
370 icf.addFlag("maxPrimaryImpactList" , [5.0 * Units.mm, 5.0 * Units.mm, 25.0 * Units.mm])
371 icf.addFlag("PixelSeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
372 icf.addFlag("StripSeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
373 return icf

◆ createActsLargeRadiusTrackingPassFlags()

createActsLargeRadiusTrackingPassFlags ( )

Definition at line 200 of file ActsTrackingPassFlags.py.

200def createActsLargeRadiusTrackingPassFlags():
201 icf = createActsTrackingPassFlags()
202 icf.extension = "ActsLargeRadius"
203
204 # Store the output track particles in InDetLargeD0TrackParticles
205 # (instead of InDetActsLargeRadiusTrackParticles) so that downstream
206 # LRT clients can rely on the same container name as in Run 3
207 icf.storedTrackParticlesExtension = "LargeD0"
208
209 # Override acts default values
210 icf.Xi2max = [25]
211 icf.Xi2maxNoAdd = [50]
212
213 # Mark as secondary pass
214 icf.isSecondaryPass = True
215 # Store sepate container for LRT
216 # In Athena this is handled by the Tracking.storeSeparateLargeD0Container flag
217 icf.storeSeparateContainer = True
218 icf.isLargeD0 = True
219 icf.autoReverseSearch = True
220
221 icf.usePrdAssociationTool = True
222 icf.storeSeparateContainer = lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
223
224 icf.minPT = lambda pcf : (
225 [1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale])
226 icf.maxEta = 4.0
227 icf.etaBins = [-1.0, 4.0]
228 icf.maxPrimaryImpact = [300 * Units.mm]
229 icf.maxZImpact = [500 * Units.mm]
230 icf.minClusters = [8]
231 icf.minSiNotShared = [6]
232 icf.maxShared = [2]
233 icf.minPixel = [0]
234 icf.maxHoles = [1]
235 icf.nHolesMax = icf.maxHoles
236 icf.nHolesGapMax = icf.maxHoles
237 icf.maxPixelHoles = [1]
238 icf.maxSctHoles = [1]
239 icf.maxDoubleHoles = [0]
240
241 icf.maxZImpactSeed = 500.0 * Units.mm
242 icf.maxPrimaryImpactSeed = 300.0 * Units.mm
243 icf.minPTSeed = lambda pcf : (
244 1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale)
245
246 icf.radMax = 1100. * Units.mm
247 icf.roadWidth = 5
248
249 # --- seeding
250 icf.useITkPixelSeeding = False
251 icf.useITkStripSeeding = True
252 icf.maxdImpactSSSSeeds = [300.0 * Units.mm]
253
254 icf.doBremRecoverySi = False
255
256 icf.nWeightedClustersMin = [6]
257 return icf
258
259# Secondary ACTS Tracking pass for Conversion tracking

◆ createActsLegacyTrackingPassFlags()

createActsLegacyTrackingPassFlags ( )

Definition at line 158 of file ActsTrackingPassFlags.py.

158def createActsLegacyTrackingPassFlags():
159 icf = createActsTrackingPassFlags()
160 icf.extension = "ActsLegacy"
161 icf.maxZImpact = [200. * Units.mm]
162 icf.maxZImpactSeed = 200. * Units.mm
163 icf.PixelSeedingStrategy = SeedingStrategy.GridTriplet
164 icf.useITkStripSeeding = True
165 icf.minPixel = [1]
166 icf.maxHoles = [2]
167 icf.nHolesMax = icf.maxHoles
168 icf.nHolesGapMax = icf.maxHoles
169 # Chi2 cut used together with 2 max. holes
170 icf.Xi2max = [25.]
171 icf.Xi2maxNoAdd = [25.]
172 return icf
173
174
175# Main ACTS Tracking pass with Heavy Ion configuration

◆ createActsLowPtTrackingPassFlags()

createActsLowPtTrackingPassFlags ( )

Definition at line 299 of file ActsTrackingPassFlags.py.

299def createActsLowPtTrackingPassFlags():
300 icf = createActsTrackingPassFlags()
301 icf.extension = "ActsLowPt"
302
303 # Mark as secondary pass
304 icf.isSecondaryPass = True
305 # For the time being we do not store sepate containers for this pass (to be revised)
306 icf.storeSeparateContainer = False
307
308 icf.minPT = lambda pcf : (
309 [0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
310 icf.minPTSeed = lambda pcf : (
311 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
312 icf.doBremRecoverySi = False
313
314 return icf
315
316
317# Validation chains
318

◆ createActsTrackingPassFlags()

createActsTrackingPassFlags ( )

Definition at line 29 of file ActsTrackingPassFlags.py.

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 # Maximum bin set to 9999 instead of four to prevent out of bounds lookups
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) # experimental, keep False
65
66 # --- cluster cuts
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 # --- general pattern cuts for NewTracking
82 icf.addFlag("roadWidth" , 20.)
83 icf.addFlag("nHolesMax" , icf.maxHoles)
84 icf.addFlag("nHolesGapMax" , icf.maxHoles)
85
86 # Chi2 cut used together with 1 max. hole
87 icf.addFlag("Xi2max" , [50.])
88 icf.addFlag("Xi2maxNoAdd" , [100.])
89 icf.addFlag("nWeightedClustersMin" , [6])
90
91 # --- seeding
92 icf.addFlag("maxdImpactSSSSeeds" , [20.0 * Units.mm])
93 icf.addFlag("radMax" , 1100. * Units.mm)
94
95 # --- min pt cut for brem
96 icf.addFlag("doBremRecoverySi", lambda pcf: pcf.Tracking.doBremRecovery)
97 icf.addFlag("minPTBrem", lambda pcf: (
98 [1. * Units.GeV * pcf.BField.configuredSolenoidFieldScale]))
99
100 # -- use of calo information
101 icf.addFlag("doCaloSeededBremSi", lambda pcf: pcf.Tracking.doCaloSeededBrem)
102 icf.addFlag("doCaloSeededAmbiSi", lambda pcf: pcf.Tracking.doCaloSeededAmbi)
103
104 # ACTS specifc config flags
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 # Extension used to name the persistified track particle container
111 # (InDet{extension}TrackParticles) when storeSeparateContainer is
112 # requested. If empty, the pass extension is used.
113 icf.addFlag("storedTrackParticlesExtension", "")
114
115 # --- handle ACTS workflow coexistence
116 # Athena components
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 # Acts components
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 # Athena -> Acts EDM converters
131 icf.addFlag("doAthenaToActsCluster", False)
132 icf.addFlag("doAthenaToActsSpacePoint", False)
133 icf.addFlag("doAthenaToActsTrack", False)
134 # Acts -> Athena EDM converters
135 icf.addFlag("doActsToAthenaCluster", False)
136 icf.addFlag("doActsToAthenaSpacePoint", False)
137 icf.addFlag("doActsToAthenaTrack", False)
138 icf.addFlag("doActsToAthenaResolvedTrack", False)
139
140 # --- flags for GNN tracking
141 icf.addFlag("doGNNTrack", False)
142
143 # ---flag for FPGA tracking
144 icf.addFlag("doFPGASpacePoint", False)
145 icf.addFlag("doFPGACluster", False)
146 icf.addFlag("doFPGASeed", False)
147 icf.addFlag("doFPGATrackSim", False)
148
149 # --- Flags for detailed information.
150 # Ignored for Primary Pass (always active);
151 # Enable for other passes with dedicated output container, if desired.
152 icf.addFlag("storeTrackSeeds", False)
153 icf.addFlag("storeSiSPSeededTracks", False)
154
155 return icf
156
157

◆ createEFValidateF100TrackingPassFlags()

createEFValidateF100TrackingPassFlags ( )

Definition at line 319 of file ActsTrackingPassFlags.py.

319def createEFValidateF100TrackingPassFlags():
320 icf = createActsTrackingPassFlags()
321 icf.extension = "ActsValidateF100"
322 icf.doActsCluster = False
323 icf.doFPGACluster = True
324 icf.doFPGATrackSim = True
325 icf.doActsSpacePoint = True
326 icf.doActsSeed = True
327 icf.doActsTrack = True
328
329 # Override acts default values
330 icf.Xi2max = [50]
331 icf.Xi2maxNoAdd = [100]
332 icf.useITkStripSeeding = False
333 return icf
334

◆ createEFValidateF150TrackingPassFlags()

createEFValidateF150TrackingPassFlags ( )

Definition at line 335 of file ActsTrackingPassFlags.py.

335def createEFValidateF150TrackingPassFlags():
336 icf = createActsTrackingPassFlags()
337 icf.extension = "ActsValidateF150"
338 icf.doActsCluster = False
339 icf.doFPGACluster = True
340 icf.doFPGASeed = True
341 icf.doFPGATrackSim = True
342 icf.doActsSpacePoint = False
343 icf.doActsSeed = False
344 icf.doActsTrack = True
345
346 # Override acts default values
347 icf.Xi2max = [50]
348 icf.Xi2maxNoAdd = [100]
349 icf.PixelSeedingStrategy = SeedingStrategy.F150
350 icf.useITkStripSeeding = False
351 return icf
352
353# Main Inner Detector ACTS Tracking pass

◆ deactivateAthenaComponents()

deactivateAthenaComponents ( icf)

Definition at line 6 of file ActsTrackingPassFlags.py.

6def deactivateAthenaComponents(icf):
7 icf.doAthenaCluster = False
8 icf.doAthenaSpacePoint = False
9 icf.doAthenaSeed = False
10 icf.doAthenaTrack = False
11 icf.doAthenaAmbiguityResolution = False
12 icf.doActsCluster = False
13 icf.doActsSpacePoint = False
14 icf.doActsSeed = False
15 icf.doActsTrack = False
16 icf.doActsAmbiguityResolution = False
17