ATLAS Offline Software
Loading...
Searching...
No Matches
ActsTrackingPassFlags.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3from TrkConfig.TrackingPassFlags import createITkTrackingPassFlags, createITkFastTrackingPassFlags, createITkConversionTrackingPassFlags, createITkHeavyIonTrackingPassFlags, createITkLargeD0TrackingPassFlags, createITkLowPtTrackingPassFlags
4
6 icf.doAthenaCluster = False
7 icf.doAthenaSpacePoint = False
8 icf.doAthenaSeed = False
9 icf.doAthenaTrack = False
10 icf.doAthenaAmbiguityResolution = False
11 icf.doActsCluster = False
12 icf.doActsSpacePoint = False
13 icf.doActsSeed = False
14 icf.doActsTrack = False
15 icf.doActsAmbiguityResolution = False
16
18 icf.doActsCluster = True
19 icf.doActsSpacePoint = True
20 icf.doActsSeed = True
21 icf.doActsTrack = True
22 # Ambiguity resolution can follow if ActsTrack is
23 # enabled. Ambi. can be activated/deactivated with
24 # the flag: Acts.doAmbiguityResolution
25 icf.doActsAmbiguityResolution = lambda pcf: pcf.Acts.doAmbiguityResolution
26
28 # Custom values for config flags
29 icf.Xi2max = [25]
30 icf.Xi2maxNoAdd = [25]
31
32
33# Main ACTS Tracking pass
35 icf = createITkTrackingPassFlags()
36 icf.extension = "ActsLegacy"
40 return icf
41
42# Main ACTS Tracking pass with Fast Tracking configuration
44 icf = createITkFastTrackingPassFlags()
45 icf.extension = "Acts"
49
50 # Override acts default values
51 icf.Xi2max = [50]
52 icf.Xi2maxNoAdd = [100]
53 return icf
54
55# Main ACTS Tracking pass with Heavy Ion configuration
56# For the current time this is still an hybrid configuration
57# We need to apply additional changes to the JO to support
58# cases where the ambiguity solver is not scheduled
60 icf = createITkHeavyIonTrackingPassFlags()
61 icf.extension = "ActsHeavyIon"
63 icf.doAthenaCluster = True
64 icf.doAthenaToActsCluster = True
65 icf.doActsSpacePoint = True
66 icf.doActsSeed = True
67 icf.doActsTrack = True
68 # If we do not want acts ambi resolution, first do the track convertion
69 # and then the Athena ambi
70 icf.doActsToAthenaTrack = lambda pcf : not pcf.Acts.doAmbiguityResolution
71 icf.doAthenaAmbiguityResolution = lambda pcf : not pcf.Acts.doAmbiguityResolution
72 # If we want acts ambi, first do the ambi and then convert the tracks
73 # without Athena ambi
74 icf.doActsAmbiguityResolution = lambda pcf : pcf.Acts.doAmbiguityResolution
75 icf.doActsToAthenaResolvedTrack = lambda pcf : pcf.Acts.doAmbiguityResolution
76
78 # Deactivate CTIDE processor fit
79 icf.doAmbiguityProcessorTrackFit = False
80 return icf
81
82# Secondary ACTS Tracking pass for Large Radius Tracking
84 icf = createITkLargeD0TrackingPassFlags()
85 icf.extension = "ActsLargeRadius"
89
90 # Override acts default values
91 icf.Xi2max = [100]
92 icf.Xi2maxNoAdd = [200]
93
94 # Mark as secondary pass
95 icf.isSecondaryPass = True
96 # Store sepate container for LRT
97 # In Athena this is handled by the Tracking.storeSeparateLargeD0Container flag
98 icf.storeSeparateContainer = True
99 return icf
100
101# Secondary ACTS Tracking pass for Conversion tracking
103 icf = createITkConversionTrackingPassFlags()
104 icf.extension = "ActsConversion"
108 # Mark as secondary pass
109 icf.isSecondaryPass = True
110 # Conversion pass is usually merged with main pass
111 icf.storeSeparateContainer = False
112 return icf
113
114# Secondary ACTS Tracking pass for Low pT tracking
116 icf = createITkLowPtTrackingPassFlags()
117 icf.extension = "ActsLowPt"
121 # Mark as secondary pass
122 icf.isSecondaryPass = True
123 # For the time being we do not store sepate containers for this pass (to be revised)
124 # In Athena this is handled by the Tracking.storeSeparateLargeD0Container flag
125 icf.storeSeparateContainer = False
126 return icf
127
128
129# Validation chains
130
132 icf = createITkTrackingPassFlags()
133 icf.extension = "ActsValidateClusters"
135 icf.doActsCluster = True
136 icf.doActsToAthenaCluster = True
137 icf.doAthenaSpacePoint = True
138 icf.doAthenaSeed = True
139 icf.doAthenaTrack = True
140 icf.doAthenaAmbiguityResolution = True
142 return icf
143
145 icf = createITkTrackingPassFlags()
146 icf.extension = "ActsValidateSpacePoints"
148 icf.doAthenaCluster = True
149 icf.doAthenaToActsCluster = True
150 icf.doActsSpacePoint = True
151 # we should schedule here the Acts -> Athena SP converter, but that is not available yet
152 # so we go for the seeding convertion (i.e. ActsTrk::SiSpacePointSeedMaker)
153 icf.doActsToAthenaSeed = True
154 icf.doAthenaTrack = True
155 icf.doAthenaAmbiguityResolution = True
157 return icf
158
160 icf = createITkTrackingPassFlags()
161 icf.extension = "ActsValidateSeeds"
163 icf.doAthenaCluster = True
164 icf.doAthenaSpacePoint = True
165 icf.doAthenaToActsSpacePoint = True
166 icf.doActsToAthenaSeed = True
167 icf.doAthenaTrack = True
168 icf.doAthenaAmbiguityResolution = True
169 return icf
170
173 icf.extension = "ActsValidateConversionSeeds"
175 icf.doAthenaCluster = True
176 icf.doAthenaSpacePoint = True
177 icf.doAthenaToActsSpacePoint = True
178 icf.doActsToAthenaSeed = True
179 icf.doAthenaTrack = True
180 icf.doAthenaAmbiguityResolution = True
181 icf.isSecondaryPass = False
183 return icf
184
187 icf.extension = "ActsValidateLargeRadiusStandalone"
188 icf.isSecondaryPass = False
189 return icf
190
193 icf.extension = "ActsValidateLargeRadiusSeeds"
195 icf.doAthenaCluster = True
196 icf.doAthenaSpacePoint = True
197 icf.doAthenaToActsSpacePoint = True
198 icf.doActsToAthenaSeed = True
199 icf.doAthenaTrack = True
200 icf.doAthenaAmbiguityResolution = True
201 icf.isSecondaryPass = False
203 return icf
204
206 icf = createITkTrackingPassFlags()
207 icf.extension = lambda pcf : "ActsValidateTracks" if not pcf.Acts.doAmbiguityResolution else "ActsValidateResolvedTracks"
209 # sequence is still a work in progress
210 # Requires Athena cluster and cluster EDM converter
211 # for adding decoration to cluster objects
212 # It produces Athena TrackCollection EDM
213 icf.doAthenaCluster = True
214 icf.doAthenaToActsCluster = True
215 icf.doActsSpacePoint = True
216 icf.doActsSeed = True
217 icf.doActsTrack = True
218 # If we do not want acts ambi resolution, first do the track convertion
219 # and then the Athena ambi
220 icf.doActsToAthenaTrack = lambda pcf : not pcf.Acts.doAmbiguityResolution
221 icf.doAthenaAmbiguityResolution = lambda pcf : not pcf.Acts.doAmbiguityResolution
222 # If we want acts ambi, first do the ambi and then convert the tracks
223 # without Athena ambi
224 icf.doActsAmbiguityResolution = lambda pcf : pcf.Acts.doAmbiguityResolution
225 icf.doActsToAthenaResolvedTrack = lambda pcf : pcf.Acts.doAmbiguityResolution
226
227 # Deactivate CTIDE processor fit
228 icf.doAmbiguityProcessorTrackFit = False
230 return icf
231
233 icf = createITkTrackingPassFlags()
234 icf.extension = "ActsValidateAmbiguityResolution"
236 # The sequence will schedule Athena algorithms from clustering to
237 # track reconstruction, but not the ambi. resolution
238 # We convert tracks, run the acts ambi. resolution and convert
239 # resolved tracks back to Athena EDM
240 icf.doAthenaCluster = True
241 icf.doAthenaSpacePoint = True
242 icf.doAthenaSeed = True
243 icf.doAthenaTrack = True
244 icf.doAthenaToActsTrack = True
245 icf.doActsAmbiguityResolution = True
246 icf.doActsToAthenaResolvedTrack = True
248 return icf
249
252 icf.extension = "ActsValidateF100"
253 icf.doActsCluster = False
254 icf.doFPGACluster = True
255 icf.doFPGATrackSim = True
256 icf.doActsSpacePoint = True
257 icf.doActsSeed = True
258 icf.doActsTrack = True
259
261 # Override acts default values
262 icf.Xi2max = [50]
263 icf.Xi2maxNoAdd = [100]
264 return icf
265
268 icf.extension = "ActsValidateF150"
269 icf.doActsCluster = False
270 icf.doFPGACluster = True
271 icf.doFPGASeed = True
272 icf.doFPGATrackSim = True
273 icf.doActsSpacePoint = False
274 icf.doActsSeed = False
275 icf.doActsTrack = True
276
278 # Override acts default values
279 icf.Xi2max = [50]
280 icf.Xi2maxNoAdd = [100]
281 return icf