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 77 of file ActsConfigFlags.py.

77def createActsConfigFlags():
78 actscf = AthConfigFlags()
79
80 # General Flags
81 actscf.addFlag('Acts.EDM.PersistifyClusters', lambda pcf: pcf.Acts.EDM.PersistifySpacePoints)
82 actscf.addFlag('Acts.EDM.PersistifySpacePoints', False)
83 actscf.addFlag('Acts.EDM.PersistifyTracks', False)
84 actscf.addFlag('Acts.useCache', False)
85
86 # Scheduling
87 from InDetConfig.ITkActsHelpers import primaryPassUsesActs
88 actscf.addFlag('Acts.doITkConversion', lambda pcf: (
89 pcf.Detector.EnableCalo and primaryPassUsesActs(pcf)))
90 actscf.addFlag('Acts.doLargeRadius', True)
91 actscf.addFlag('Acts.doLowPt', False)
92
93 # Geometry Flags
94
95 # MaterialSource can be:
96 # a path to a local JSON file
97 # 'Default' : material map source is evaluated from the geometry tag
98 # 'None' : no material map is provided
99 actscf.addFlag('Acts.TrackingGeometry.MaterialSource', 'Default')
100 actscf.addFlag('Acts.TrackingGeometry.MaterialCalibrationFolder', 'ACTS/MaterialMaps/ITk')
101 actscf.addFlag('Acts.TrackingGeometry.MaterialFileExtension', '')
102 actscf.addFlag('Acts.TrackingGeometry.UseBlueprint', False)
103 actscf.addFlag('Acts.TrackingGeometry.ObjDebugOutput', False)
104
105
106 actscf.addFlag('Acts.TrackingGeometry.InsertITkPassiveMaterialLayers', False)
107 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerRadii', [70.])
108 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerHalflengthZ', [240.])
109 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerThickness', [1.])
110 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerRadii', [195., 260.])
111 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerHalflengthZ', [370., 370.])
112 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerThickness', [1., 1.])
113 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerRadii', [480., 665., 880.])
114 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerHalflengthZ', [1370., 1370., 1370.])
115 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerThickness', [1., 1., 1.])
116 # Monitoring
117 actscf.addFlag('Acts.doMonitoring', False)
118 actscf.addFlag('Acts.doAnalysis', False)
119 actscf.addFlag('Acts.doAnalysisNtuples', lambda pcf: pcf.Acts.doAnalysis)
120 actscf.addFlag('Acts.Clusters.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
121 actscf.addFlag('Acts.SpacePoints.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
122 actscf.addFlag('Acts.Seeds.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
123 actscf.addFlag('Acts.Tracks.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
124 actscf.addFlag('Acts.Particles.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
125 actscf.addFlag('Acts.storeTrackStateInfo', False)
126 actscf.addFlag('Acts.doTruthInspection', False)
127
128 # Cluster
129 actscf.addFlag("Acts.Clusters.UseWeightedPosition", False)
130 actscf.addFlag("Acts.Clusters.RetrieveChargeInformation", lambda pcf: not pcf.Tracking.doPixelDigitalClustering)
131 actscf.addFlag("Acts.Clusters.StripClusteringErrorMode", StripClusteringErrorMode.PITCH,type=StripClusteringErrorMode)
132 actscf.addFlag("Acts.Clusters.UsePixelBroadErrors", False)
133
134 # SpacePoint
135 actscf.addFlag('Acts.SpacePoints.useBeamSpotConstraintStrips', True)
136
137 # Seeding
138 actscf.addFlag("Acts.SeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy) # Define Seeding Strategy
139
140 # Track finding
141 actscf.addFlag('Acts.PixelCalibrationStrategy', PixelCalibrationStrategy.Uncalibrated, type=PixelCalibrationStrategy)
142 actscf.addFlag('Acts.StripCalibrationStrategy', StripCalibrationStrategy.Uncalibrated, type=StripCalibrationStrategy)
143 actscf.addFlag('Acts.doRotCorrection', True)
144 actscf.addFlag('Acts.doPrintTrackStates', False)
145 actscf.addFlag('Acts.skipDuplicateSeeds', True)
146 actscf.addFlag('Acts.doTwoWayCKF', True) # run CKF twice, first with forward propagation with smoothing, then with backward propagation
147 actscf.addFlag('Acts.useStripSeedsFirst', False) # switch order of seed collections
148 actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False) # use HGTD cluster in track finding
149 actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
150 actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
151 actscf.addFlag('Acts.forceTrackOnSeed', lambda pcf: not(pcf.Acts.SeedingStrategy is SeedingStrategy.GbtsFtf and
152 pcf.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection)) # forceTrackOnSeed does not seem to work with GBTS seeds and analogue cluster calibration
153
154 # Ambiguity resolution
155 actscf.addFlag('Acts.doAmbiguityResolution', True)
156 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy) # Define Ambiguity Solver Strategy
157 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
158
159 # Calibrations
160 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True) # perform calibration of covariance during on track analogue cluster calibration
161
162 # Track fitting
163 actscf.addFlag('Acts.writeTrackCollection', False) # save to file (ESD, AOD) the Resolved and Refitted track collections
164 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
165 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType) # Define Tracking algorithm for refitting
166
167 # GSF specific flags
168 actscf.addFlag("Acts.GsfRefitLegacyTrk", False) # Refit Legacy tracks using ACTS GSF
169 actscf.addFlag("Acts.GsfRefitActs", False) # Refit ACTS tracks using ACTS GSF
170 actscf.addFlag("Acts.GsfMaxComponents", 12)
171 actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
172 actscf.addFlag("Acts.GsfDirectNavigation", False)
173 actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4) # Effectively no cut. Compatible with legacy
174 actscf.addFlag("Acts.extrapolateElectronsLegacy", False) # Use legacy calo extrapolation with ACTS tracks
175
176 # Decorations
177 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
178
179 return actscf