125def createActsConfigFlags():
126 actscf = AthConfigFlags()
127
128
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
133 actscf.addFlag('Acts.EDM.PhaseII', False)
134 actscf.addFlag('Acts.useCache', False)
135
136 actscf.addFlag('Acts.EDM.SlimContent', lambda pcf: pcf.Tracking.StoreSlimmedDataPreparation)
137
138
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
146
147
148
149
150
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
159
160
161
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
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
187 actscf.addFlag('Acts.doxAODToTrkConversion', True)
188
189
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
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
206 actscf.addFlag('Acts.SpacePointStrategy', SpacePointStrategy.ActsTrk, type=SpacePointStrategy)
207 actscf.addFlag('Acts.PixelSpacePointStrategy', SpacePointStrategy.ActsTrk, type=SpacePointStrategy)
208
209
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')
214
215
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
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)
233 actscf.addFlag('Acts.useStripSeedsFirst', False)
234 actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False)
235 actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
236 actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
237 actscf.addFlag('Acts.SeedRefitOutlierChi2Cut', float('inf'))
238 actscf.addFlag('Acts.LrtStripSeedRefit', True)
239 actscf.addFlag('Acts.stripCalibrationIterations', 1)
240 actscf.addFlag('Acts.parameterEstimationMode', lambda pcf:
241 ParameterEstimationMode.MinDeltaR if pcf.Acts.GNN.Enable else ParameterEstimationMode.FirstMiddleLast,
242 type=ParameterEstimationMode)
243 actscf.addFlag('Acts.minDeltaRParameterEstimation', 15.0)
244 actscf.addFlag('Acts.forceTrackOnSeed', True)
245 actscf.addFlag('Acts.PixelNNCalibrationModelsFolder', 'ITkPixelClusterization/nn-01-01-01/')
246
247
248 actscf.addFlag('Acts.refitSeeds', False)
249 actscf.addFlag('Acts.initialVarInflation', [1., 1., 1., 1., 1., 1.])
250
251
252 actscf.addFlag('Acts.doAmbiguityResolution', False)
253 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy)
254 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
255
256
257 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True)
258
259
260 actscf.addFlag('Acts.writeTrackCollection', False)
261 actscf.addFlag('Acts.fitFromPRD', False)
262 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType)
263
264
265 actscf.addFlag("Acts.GsfRefitLegacyTrk", False)
266 actscf.addFlag("Acts.GsfRefitActs", lambda pcf:
267 pcf.GeoModel.Run >= LHCPeriod.Run4)
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)
273 actscf.addFlag("Acts.extrapolateElectronsLegacy", lambda pcf:
274 not pcf.Acts.TrackingGeometry.UseBlueprint)
275
276
277 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
278
279
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
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)
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