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

Classes

class  SeedingStrategy
class  AmbiguitySolverStrategy
class  SpacePointStrategy
class  AmbiguitySolverMode
class  PixelErrorStrategy
class  StripClusteringErrorMode
class  StripErrorStrategy
class  TrackFitterType
class  PixelCalibrationStrategy
class  StripCalibrationStrategy
class  ParameterEstimationMode

Functions

 createActsConfigFlags ()

Function Documentation

◆ createActsConfigFlags()

createActsConfigFlags ( )

Definition at line 125 of file ActsConfigFlags.py.

125def createActsConfigFlags():
126 actscf = AthConfigFlags()
127
128 # General Flags
129 actscf.addFlag('Acts.EDM.PersistifyClusters', lambda pcf: pcf.Acts.EDM.PersistifySpacePoints and not pcf.Tracking.StoreSlimmedDataPreparation)
130 actscf.addFlag('Acts.EDM.PersistifySpacePoints', lambda pcf: pcf.Tracking.StoreSlimmedDataPreparation)
131 actscf.addFlag('Acts.EDM.PersistifyTracks', False)
132 # set to True to use the PhaseII pixel and strip RAW data EDM
133 actscf.addFlag('Acts.EDM.PhaseII', False)
134 actscf.addFlag('Acts.useCache', False)
135 # special persistifications
136 actscf.addFlag('Acts.EDM.SlimContent', lambda pcf: pcf.Tracking.StoreSlimmedDataPreparation)
137
138 # Scheduling
139 from InDetConfig.ITkActsHelpers import primaryPassUsesActs
140 actscf.addFlag('Acts.doITkConversion', lambda pcf: (
141 pcf.Detector.EnableCalo and primaryPassUsesActs(pcf)))
142 actscf.addFlag('Acts.doLargeRadius', True)
143 actscf.addFlag('Acts.doLowPt', False)
144
145 # Geometry Flags
146
147 # MaterialSource can be:
148 # a path to a local JSON file
149 # 'Default' : material map source is evaluated from the geometry tag
150 # 'None' : no material map is provided
151 actscf.addFlag('Acts.TrackingGeometry.MaterialSource', 'Default')
152 actscf.addFlag('Acts.TrackingGeometry.MaterialCalibrationFolder', 'ACTS/MaterialMaps/ITk')
153 actscf.addFlag('Acts.TrackingGeometry.MaterialFileExtension', '')
154 actscf.addFlag('Acts.TrackingGeometry.UseBlueprint', False)
155 actscf.addFlag('Acts.TrackingGeometry.BuildDetrayGeometry', False)
156 actscf.addFlag('Acts.TrackingGeometry.ObjDebugOutput', False)
157 actscf.addFlag('Acts.TrackingGeometry.KeepGoingOnMaterialMergeFailure', False)
158 # ITkMaterialSource can be:
159 # a path to a local file
160 # 'Default' : material map source is evaluated from the geometry tag
161 # 'None' : no material map is provided
162 actscf.addFlag('Acts.TrackingGeometry.ITkHgtdMaterialSource', 'None')
163 actscf.addFlag('Acts.TrackingGeometry.ITkHgtdMaterialMapPath', 'ACTS/MaterialMaps/gen3')
164
165
166 actscf.addFlag('Acts.TrackingGeometry.InsertITkPassiveMaterialLayers', False)
167 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerRadii', [70.])
168 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerHalflengthZ', [240.])
169 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerThickness', [1.])
170 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerRadii', [195., 260.])
171 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerHalflengthZ', [370., 370.])
172 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerThickness', [1., 1.])
173 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerRadii', [480., 665., 880.])
174 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerHalflengthZ', [1370., 1370., 1370.])
175 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerThickness', [1., 1., 1.])
176 # Monitoring
177 actscf.addFlag('Acts.doMonitoring', False)
178 actscf.addFlag('Acts.doAnalysis', False)
179 actscf.addFlag('Acts.doAnalysisNtuples', lambda pcf: pcf.Acts.doAnalysis)
180 actscf.addFlag('Acts.Clusters.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
181 actscf.addFlag('Acts.Seeds.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
182 actscf.addFlag('Acts.Tracks.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
183 actscf.addFlag('Acts.Particles.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
184 actscf.addFlag('Acts.storeTrackStateInfo', False)
185 actscf.addFlag('Acts.doTruthInspection', False)
186 # Save Trk::Track link for combined muon reconstruction, temporary
187 actscf.addFlag('Acts.doxAODToTrkConversion', True)
188
189 # Cluster
190 actscf.addFlag("Acts.Clusters.UseWeightedPosition", False)
191 actscf.addFlag("Acts.Clusters.RetrieveChargeInformation", True)
192 actscf.addFlag("Acts.Clusters.StripClusteringErrorMode", StripClusteringErrorMode.PITCH,type=StripClusteringErrorMode)
193 actscf.addFlag("Acts.Clusters.UsePixelBroadErrors", False)
194
195 # SpacePoint
196 actscf.addFlag('Acts.SpacePoints.useBeamSpotConstraintStrips', True)
197 actscf.addFlag('Acts.SpacePoints.doPixel', lambda pcf: pcf.Detector.EnableITkPixel)
198 actscf.addFlag('Acts.SpacePoints.doStrip', lambda pcf: (
199 pcf.Detector.EnableITkStrip and (
200 not pcf.Tracking.doITkFastTracking or
201 pcf.Acts.doLargeRadius or pcf.Acts.doLowPt or
202 pcf.Acts.doITkConversion)))
203 actscf.addFlag('Acts.SpacePoints.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
204
205 # Strip and pixel are chosen separately so that either can be validated on its own
206 actscf.addFlag('Acts.SpacePointStrategy', SpacePointStrategy.ActsTrk, type=SpacePointStrategy)
207 actscf.addFlag('Acts.PixelSpacePointStrategy', SpacePointStrategy.ActsTrk, type=SpacePointStrategy)
208
209 # Seeding
210 actscf.addFlag("Acts.Gbts.connectionTable", 'binTables_ITK_RUN4.txt')
211 actscf.addFlag("Acts.Gbts.connectionTableLrt", 'binTables_ITK_RUN4_LRT.txt')
212 actscf.addFlag("Acts.Gbts.dumpGbtsGeometry", False)
213 actscf.addFlag("Acts.Gbts.geometryDump", 'gbts_layer_geometry.txt') # for gbts training tool
214
215 # GBTS Training
216
217 actscf.addFlag("Acts.Gbts.Training.enable", False)
218 actscf.addFlag("Acts.Gbts.Training.outputConnectionTable", "gbts_connection_table.txt")
219 actscf.addFlag("Acts.Gbts.Training.doSymmetrization", False)
220 actscf.addFlag("Acts.Gbts.Training.useOldFormatting", False)
221 actscf.addFlag("Acts.Gbts.Training.probThreshold", -1.0)
222
223 actscf.addFlag("Acts.Gbts.Training.usePixelClusters", True)
224 actscf.addFlag("Acts.Gbts.Training.useStripClusters", True)
225
226 # Track finding
227 actscf.addFlag('Acts.PixelCalibrationStrategy', PixelCalibrationStrategy.Uncalibrated, type=PixelCalibrationStrategy)
228 actscf.addFlag('Acts.StripCalibrationStrategy', StripCalibrationStrategy.Uncalibrated, type=StripCalibrationStrategy)
229 actscf.addFlag('Acts.doRotCorrection', True)
230 actscf.addFlag('Acts.doPrintTrackStates', False)
231 actscf.addFlag('Acts.skipDuplicateSeeds', True)
232 actscf.addFlag('Acts.doTwoWayCKF', True) # run CKF twice, first with forward propagation with smoothing, then with backward propagation
233 actscf.addFlag('Acts.useStripSeedsFirst', False) # switch order of seed collections
234 actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False) # use HGTD cluster in track finding
235 actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
236 actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
237 actscf.addFlag('Acts.SeedRefitOutlierChi2Cut', float('inf')) # OutlierChi2Cut for the seed refit Kalman fitter, applied whenever a seed refit is scheduled. inf == disabled.
238 actscf.addFlag('Acts.LrtStripSeedRefit', True) # Toggle the LRT strip-seed refit (KF on strip seeds before CKF).
239 actscf.addFlag('Acts.stripCalibrationIterations', 1) # Strip-SP calibration iterations in TrackParamsEstimationTool (all passes).
240 actscf.addFlag('Acts.parameterEstimationMode', lambda pcf:
241 ParameterEstimationMode.MinDeltaR if pcf.Acts.GNN.Enable else ParameterEstimationMode.FirstMiddleLast,
242 type=ParameterEstimationMode) # SPs of a seed used in TrackParamsEstimationTool (MinDeltaR for the full GNN chain)
243 actscf.addFlag('Acts.minDeltaRParameterEstimation', 15.0) # Minimum separation (mm) of the SPs used in TrackParamsEstimationTool for ParameterEstimationMode.MinDeltaR
244 actscf.addFlag('Acts.forceTrackOnSeed', True) # force track to use the seed measurements; steer from the outside if a setup needs it disabled
245 actscf.addFlag('Acts.PixelNNCalibrationModelsFolder', 'ITkPixelClusterization/nn-01-01-01/') # location of models for pixel ONNX files, extpected content of the foder are: number.onnx, pos1.onnx, pos2.onnx, pos3.onnx
246 # the files are located in /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/
247 # this flag is used only if PixelCalibrationStrategy is one of the NN strategies
248 actscf.addFlag('Acts.refitSeeds', False) # refit seeds for CKF initial parameters
249 actscf.addFlag('Acts.initialVarInflation', [1., 1., 1., 1., 1., 1.]) # inflate variances after track parameter estimation
250
251 # Ambiguity resolution
252 actscf.addFlag('Acts.doAmbiguityResolution', False)
253 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy) # Define Ambiguity Solver Strategy
254 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
255
256 # Calibrations
257 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True) # perform calibration of covariance during on track analogue cluster calibration
258
259 # Track fitting
260 actscf.addFlag('Acts.writeTrackCollection', False) # save to file (ESD, AOD) the Resolved and Refitted track collections
261 actscf.addFlag('Acts.fitFromPRD', False) # Acts.writeTrackCollection needs to be True for either cases. If Acts.fitFromPRD is False, fit from ROT; else, fit from PRD
262 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType) # Define Tracking algorithm for refitting
263
264 # GSF specific flags
265 actscf.addFlag("Acts.GsfRefitLegacyTrk", False) # Refit Legacy tracks using ACTS GSF
266 actscf.addFlag("Acts.GsfRefitActs", lambda pcf:
267 pcf.GeoModel.Run >= LHCPeriod.Run4) # Refit ACTS tracks using ACTS GSF
268 actscf.addFlag("Acts.GsfMaxComponents", 12)
269 actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
270 actscf.addFlag("Acts.GsfDirectNavigation", lambda pcf:
271 pcf.GeoModel.Run >= LHCPeriod.Run4)
272 actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4) # Effectively no cut. Compatible with legacy
273 actscf.addFlag("Acts.extrapolateElectronsLegacy", lambda pcf:
274 not pcf.Acts.TrackingGeometry.UseBlueprint) # Use legacy calo extrapolation with ACTS tracks
275
276 # Decorations
277 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
278
279 # GPU track reconstruction
280 actscf.addFlag("Acts.Device.doCellSorting", True)
281 actscf.addFlag("Acts.Device.doClusterization", False)
282 actscf.addFlag("Acts.Device.doSpacePointFormation", False)
283 actscf.addFlag("Acts.Device.doSeeding", False)
284 actscf.addFlag("Acts.Device.seedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
285 actscf.addFlag("Acts.Device.doTrackReconstruction", False)
286 actscf.addFlag("Acts.Device.doLargeRadiusPass", False)
287
288 # GNN specific flags (scoped)
289 actscf.addFlag("Acts.GNN.Enable", False)
290 actscf.addFlag("Acts.GNN.ModuleMapPath", "<default>")
291 actscf.addFlag("Acts.GNN.ModelPath", "<default>")
292 actscf.addFlag("Acts.GNN.NumTrtContexts", 1)
293 actscf.addFlag("Acts.GNN.MaxGpuInstances", 1)
294 actscf.addFlag("Acts.GNN.VarianceInflation", 1.0)
295 actscf.addFlag("Acts.GNN.TightSeeds", False)
296 actscf.addFlag("Acts.GNN.MinCandidateMeasurements", 7)
297 actscf.addFlag("Acts.GNN.EdgeCut", 0.5)
298 actscf.addFlag("Acts.GNN.NumFeatures", 12) # input features per spacepoint, 4 for pixel-only models
299 actscf.addFlag("Acts.GNN.RelaxCentralHoleSel", False)
300 actscf.addFlag("Acts.GNN.RelaxMeasurementSel", True)
301 actscf.addFlag("Acts.GNN.OfflineZ0Sel", False)
302
303 return actscf