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

Functions

 createActsConfigFlags ()

Function Documentation

◆ createActsConfigFlags()

createActsConfigFlags ( )

Definition at line 111 of file ActsConfigFlags.py.

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