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

Classes

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

Functions

 createActsConfigFlags ()

Function Documentation

◆ createActsConfigFlags()

ActsConfigFlags.createActsConfigFlags ( )

Definition at line 79 of file ActsConfigFlags.py.

79def createActsConfigFlags():
80 actscf = AthConfigFlags()
81
82 # General Flags
83 actscf.addFlag('Acts.EDM.PersistifyClusters', lambda pcf: pcf.Acts.EDM.PersistifySpacePoints and not pcf.Tracking.StoreSlimmedDataPreparation)
84 actscf.addFlag('Acts.EDM.PersistifySpacePoints', lambda pcf: pcf.Tracking.StoreSlimmedDataPreparation)
85 actscf.addFlag('Acts.EDM.PersistifyTracks', False)
86 # set to True to use the PhaseII pixel and strip RAW data EDM
87 actscf.addFlag('Acts.EDM.PhaseII', False)
88 actscf.addFlag('Acts.useCache', False)
89 # special persistifications
90 actscf.addFlag('Acts.EDM.SlimContent', lambda pcf: pcf.Tracking.StoreSlimmedDataPreparation)
91
92 # Scheduling
93 from InDetConfig.ITkActsHelpers import primaryPassUsesActs
94 actscf.addFlag('Acts.doITkConversion', lambda pcf: (
95 pcf.Detector.EnableCalo and primaryPassUsesActs(pcf)))
96 actscf.addFlag('Acts.doLargeRadius', True)
97 actscf.addFlag('Acts.doLowPt', False)
98
99 # Geometry Flags
100
101 # MaterialSource can be:
102 # a path to a local JSON file
103 # 'Default' : material map source is evaluated from the geometry tag
104 # 'None' : no material map is provided
105 actscf.addFlag('Acts.TrackingGeometry.MaterialSource', 'Default')
106 actscf.addFlag('Acts.TrackingGeometry.MaterialCalibrationFolder', 'ACTS/MaterialMaps/ITk')
107 actscf.addFlag('Acts.TrackingGeometry.MaterialFileExtension', '')
108 actscf.addFlag('Acts.TrackingGeometry.UseBlueprint', False)
109 actscf.addFlag('Acts.TrackingGeometry.ObjDebugOutput', False)
110 actscf.addFlag('Acts.TrackingGeometry.KeepGoingOnMaterialMergeFailure', False)
111
112
113 actscf.addFlag('Acts.TrackingGeometry.InsertITkPassiveMaterialLayers', False)
114 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerRadii', [70.])
115 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerHalflengthZ', [240.])
116 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerThickness', [1.])
117 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerRadii', [195., 260.])
118 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerHalflengthZ', [370., 370.])
119 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerThickness', [1., 1.])
120 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerRadii', [480., 665., 880.])
121 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerHalflengthZ', [1370., 1370., 1370.])
122 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerThickness', [1., 1., 1.])
123 # Monitoring
124 actscf.addFlag('Acts.doMonitoring', False)
125 actscf.addFlag('Acts.doAnalysis', False)
126 actscf.addFlag('Acts.doAnalysisNtuples', lambda pcf: pcf.Acts.doAnalysis)
127 actscf.addFlag('Acts.Clusters.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
128 actscf.addFlag('Acts.SpacePoints.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
129 actscf.addFlag('Acts.Seeds.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
130 actscf.addFlag('Acts.Tracks.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
131 actscf.addFlag('Acts.Particles.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
132 actscf.addFlag('Acts.storeTrackStateInfo', False)
133 actscf.addFlag('Acts.doTruthInspection', False)
134 actscf.addFlag('Acts.doxAODToTrkConversion', False)
135
136 # Cluster
137 actscf.addFlag("Acts.Clusters.UseWeightedPosition", False)
138 actscf.addFlag("Acts.Clusters.RetrieveChargeInformation", lambda pcf: not pcf.Tracking.doPixelDigitalClustering)
139 actscf.addFlag("Acts.Clusters.StripClusteringErrorMode", StripClusteringErrorMode.PITCH,type=StripClusteringErrorMode)
140 actscf.addFlag("Acts.Clusters.UsePixelBroadErrors", False)
141
142 # SpacePoint
143 actscf.addFlag('Acts.SpacePoints.useBeamSpotConstraintStrips', True)
144
145 # Seeding
146 actscf.addFlag("Acts.SeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy) # Define Seeding Strategy
147
148 # Track finding
149 actscf.addFlag('Acts.PixelCalibrationStrategy', PixelCalibrationStrategy.Uncalibrated, type=PixelCalibrationStrategy)
150 actscf.addFlag('Acts.StripCalibrationStrategy', StripCalibrationStrategy.Uncalibrated, type=StripCalibrationStrategy)
151 actscf.addFlag('Acts.doRotCorrection', True)
152 actscf.addFlag('Acts.doPrintTrackStates', False)
153 actscf.addFlag('Acts.skipDuplicateSeeds', True)
154 actscf.addFlag('Acts.doTwoWayCKF', True) # run CKF twice, first with forward propagation with smoothing, then with backward propagation
155 actscf.addFlag('Acts.useStripSeedsFirst', False) # switch order of seed collections
156 actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False) # use HGTD cluster in track finding
157 actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
158 actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
159 actscf.addFlag('Acts.SeedRefitOutlierChi2Cut', float('inf')) # OutlierChi2Cut for the seed refit Kalman fitter, applied whenever a seed refit is scheduled. inf == disabled.
160 actscf.addFlag('Acts.LrtStripSeedRefit', True) # Toggle the LRT strip-seed refit (KF on strip seeds before CKF).
161 actscf.addFlag('Acts.stripCalibrationIterations', 1) # Strip-SP calibration iterations in TrackParamsEstimationTool (all passes).
162 actscf.addFlag('Acts.forceTrackOnSeed', lambda pcf: not(pcf.Acts.SeedingStrategy is SeedingStrategy.GbtsFtf and
163 pcf.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection)) # forceTrackOnSeed does not seem to work with GBTS seeds and analogue cluster calibration
164 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
165 # the files are located in /cvmfs/atlas.cern.ch/repo/sw/database/GroupData/
166 # this flag is used only if PixelCalibrationStrategy is PixelNN
167
168 # Ambiguity resolution
169 actscf.addFlag('Acts.doAmbiguityResolution', True)
170 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy) # Define Ambiguity Solver Strategy
171 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
172
173 # Calibrations
174 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True) # perform calibration of covariance during on track analogue cluster calibration
175
176 # Track fitting
177 actscf.addFlag('Acts.writeTrackCollection', False) # save to file (ESD, AOD) the Resolved and Refitted track collections
178 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
179 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType) # Define Tracking algorithm for refitting
180
181 # GSF specific flags
182 actscf.addFlag("Acts.GsfRefitLegacyTrk", False) # Refit Legacy tracks using ACTS GSF
183 actscf.addFlag("Acts.GsfRefitActs", False) # Refit ACTS tracks using ACTS GSF
184 actscf.addFlag("Acts.GsfMaxComponents", 12)
185 actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
186 actscf.addFlag("Acts.GsfDirectNavigation", False)
187 actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4) # Effectively no cut. Compatible with legacy
188 actscf.addFlag("Acts.extrapolateElectronsLegacy", False) # Use legacy calo extrapolation with ACTS tracks
189
190 # Decorations
191 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
192
193 # GPU track reconstruction
194 actscf.addFlag("Acts.Device.doCellSorting", True)
195 actscf.addFlag("Acts.Device.doClusterization", False)
196 actscf.addFlag("Acts.Device.doSpacePointFormation", False)
197 actscf.addFlag("Acts.Device.doSeeding", False)
198 actscf.addFlag("Acts.Device.seedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
199 actscf.addFlag("Acts.Device.doTrackReconstruction", False)
200
201 # GNN specific flags (scoped)
202 actscf.addFlag("Acts.GNN.Enable", False)
203 actscf.addFlag("Acts.GNN.ModuleMapPath", "<default>")
204 actscf.addFlag("Acts.GNN.ModelPath", "<default>")
205 actscf.addFlag("Acts.GNN.NumTrtContexts", 1)
206 actscf.addFlag("Acts.GNN.MaxGpuInstances", 1)
207 actscf.addFlag("Acts.GNN.VarianceInflation", 1.0)
208 actscf.addFlag("Acts.GNN.TightSeeds", False)
209 actscf.addFlag("Acts.GNN.MinCandidateMeasurements", 7)
210 actscf.addFlag("Acts.GNN.MinDeltaR", 15.0)
211 actscf.addFlag("Acts.GNN.EdgeCut", 0.5)
212 actscf.addFlag("Acts.GNN.RelaxCentralHoleSel", False)
213 actscf.addFlag("Acts.GNN.RelaxMeasurementSel", True)
214 actscf.addFlag("Acts.GNN.OfflineZ0Sel", False)
215
216 return actscf