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 # ACTS specifc config flags
29 icf.addFlag("isSecondaryPass", False)
30 icf.addFlag("isLargeD0", False)
31 icf.addFlag("autoReverseSearch", False)
32
33 # Custom values for config flags
34 icf.Xi2max = [25]
35 icf.Xi2maxNoAdd = [25]
36
37
38# Main ACTS Tracking pass
40 icf = createITkTrackingPassFlags()
41 icf.extension = "ActsLegacy"
45 return icf
46
47# Main ACTS Tracking pass with Fast Tracking configuration
49 icf = createITkFastTrackingPassFlags()
50 icf.extension = "Acts"
54
55 # Override acts default values
56 icf.Xi2max = [50]
57 icf.Xi2maxNoAdd = [100]
58 return icf
59
60# Main ACTS Tracking pass with Heavy Ion configuration
61# For the current time this is still an hybrid configuration
62# We need to apply additional changes to the JO to support
63# cases where the ambiguity solver is not scheduled
65 icf = createITkHeavyIonTrackingPassFlags()
66 icf.extension = "ActsHeavyIon"
68 icf.doAthenaCluster = True
69 icf.doAthenaToActsCluster = True
70 icf.doActsSpacePoint = True
71 icf.doActsSeed = True
72 icf.doActsTrack = True
73 # If we do not want acts ambi resolution, first do the track convertion
74 # and then the Athena ambi
75 icf.doActsToAthenaTrack = lambda pcf : not pcf.Acts.doAmbiguityResolution
76 icf.doAthenaAmbiguityResolution = lambda pcf : not pcf.Acts.doAmbiguityResolution
77 # If we want acts ambi, first do the ambi and then convert the tracks
78 # without Athena ambi
79 icf.doActsAmbiguityResolution = lambda pcf : pcf.Acts.doAmbiguityResolution
80 icf.doActsToAthenaResolvedTrack = lambda pcf : pcf.Acts.doAmbiguityResolution
81
83 # Deactivate CTIDE processor fit
84 icf.doAmbiguityProcessorTrackFit = False
85 return icf
86
87# Secondary ACTS Tracking pass for Large Radius Tracking
89 icf = createITkLargeD0TrackingPassFlags()
90 icf.extension = "ActsLargeRadius"
94
95 # Override acts default values
96 icf.Xi2max = [75]
97 icf.Xi2maxNoAdd = [100]
98
99 # Mark as secondary pass
100 icf.isSecondaryPass = True
101 # Store sepate container for LRT
102 # In Athena this is handled by the Tracking.storeSeparateLargeD0Container flag
103 icf.storeSeparateContainer = True
104 icf.isLargeD0 = True
105 icf.autoReverseSearch = True
106 return icf
107
108# Secondary ACTS Tracking pass for Conversion tracking
110 icf = createITkConversionTrackingPassFlags()
111 icf.extension = "ActsConversion"
115 # Mark as secondary pass
116 icf.isSecondaryPass = True
117 # Conversion pass is usually merged with main pass
118 icf.storeSeparateContainer = False
119 return icf
120
121# Secondary ACTS Tracking pass for Low pT tracking
123 icf = createITkLowPtTrackingPassFlags()
124 icf.extension = "ActsLowPt"
128 # Mark as secondary pass
129 icf.isSecondaryPass = True
130 # For the time being we do not store sepate containers for this pass (to be revised)
131 # In Athena this is handled by the Tracking.storeSeparateLargeD0Container flag
132 icf.storeSeparateContainer = False
133 return icf
134
135
136# Validation chains
137
139 icf = createITkTrackingPassFlags()
140 icf.extension = "ActsValidateClusters"
142 icf.doActsCluster = True
143 icf.doActsToAthenaCluster = True
144 icf.doAthenaSpacePoint = True
145 icf.doAthenaSeed = True
146 icf.doAthenaTrack = True
147 icf.doAthenaAmbiguityResolution = True
149 return icf
150
153 icf.extension = "ActsValidateLargeRadiusStandalone"
154 icf.isSecondaryPass = False
155 icf.isLargeD0 = True
156 return icf
157
159 icf = createITkTrackingPassFlags()
160 icf.extension = lambda pcf : "ActsValidateTracks" if not pcf.Acts.doAmbiguityResolution else "ActsValidateResolvedTracks"
162 # sequence is still a work in progress
163 # Requires Athena cluster and cluster EDM converter
164 # for adding decoration to cluster objects
165 # It produces Athena TrackCollection EDM
166 icf.doAthenaCluster = True
167 icf.doAthenaToActsCluster = True
168 icf.doActsSpacePoint = True
169 icf.doActsSeed = True
170 icf.doActsTrack = True
171 # If we do not want acts ambi resolution, first do the track convertion
172 # and then the Athena ambi
173 icf.doActsToAthenaTrack = lambda pcf : not pcf.Acts.doAmbiguityResolution
174 icf.doAthenaAmbiguityResolution = lambda pcf : not pcf.Acts.doAmbiguityResolution
175 # If we want acts ambi, first do the ambi and then convert the tracks
176 # without Athena ambi
177 icf.doActsAmbiguityResolution = lambda pcf : pcf.Acts.doAmbiguityResolution
178 icf.doActsToAthenaResolvedTrack = lambda pcf : pcf.Acts.doAmbiguityResolution
179
180 # Deactivate CTIDE processor fit
181 icf.doAmbiguityProcessorTrackFit = False
183 return icf
184
186 icf = createITkTrackingPassFlags()
187 icf.extension = "ActsValidateAmbiguityResolution"
189 # The sequence will schedule Athena algorithms from clustering to
190 # track reconstruction, but not the ambi. resolution
191 # We convert tracks, run the acts ambi. resolution and convert
192 # resolved tracks back to Athena EDM
193 icf.doAthenaCluster = True
194 icf.doAthenaSpacePoint = True
195 icf.doAthenaSeed = True
196 icf.doAthenaTrack = True
197 icf.doAthenaToActsTrack = True
198 icf.doActsAmbiguityResolution = True
199 icf.doActsToAthenaResolvedTrack = True
201 return icf
202
205 icf.extension = "ActsValidateF100"
206 icf.doActsCluster = False
207 icf.doFPGACluster = True
208 icf.doFPGATrackSim = True
209 icf.doActsSpacePoint = True
210 icf.doActsSeed = True
211 icf.doActsTrack = True
212
213 # Override acts default values
214 icf.Xi2max = [50]
215 icf.Xi2maxNoAdd = [100]
216 return icf
217
220 icf.extension = "ActsValidateF150"
221 icf.doActsCluster = False
222 icf.doFPGACluster = True
223 icf.doFPGASeed = True
224 icf.doFPGATrackSim = True
225 icf.doActsSpacePoint = False
226 icf.doActsSeed = False
227 icf.doActsTrack = True
228
229 # Override acts default values
230 icf.Xi2max = [50]
231 icf.Xi2maxNoAdd = [100]
232 return icf