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

Classes

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

Functions

 createActsConfigFlags ()

Function Documentation

◆ createActsConfigFlags()

ActsConfigFlags.createActsConfigFlags ( )

Definition at line 85 of file ActsConfigFlags.py.

85def createActsConfigFlags():
86 actscf = AthConfigFlags()
87
88 # General Flags
89 actscf.addFlag('Acts.EDM.PersistifyClusters', lambda pcf: pcf.Acts.EDM.PersistifySpacePoints)
90 actscf.addFlag('Acts.EDM.PersistifySpacePoints', False)
91 actscf.addFlag('Acts.EDM.PersistifyTracks', False)
92 actscf.addFlag('Acts.useCache', False)
93
94 # Scheduling
95 actscf.addFlag('Acts.doITkConversion', False)
96 actscf.addFlag('Acts.doLargeRadius', False)
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
111
112 actscf.addFlag('Acts.TrackingGeometry.InsertITkPassiveMaterialLayers', False)
113 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerRadii', [70.])
114 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerHalflengthZ', [240.])
115 actscf.addFlag('Acts.TrackingGeometry.PassiveITkInnerPixelBarrelLayerThickness', [1.])
116 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerRadii', [195., 260.])
117 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerHalflengthZ', [370., 370.])
118 actscf.addFlag('Acts.TrackingGeometry.PassiveITkOuterPixelBarrelLayerThickness', [1., 1.])
119 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerRadii', [480., 665., 880.])
120 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerHalflengthZ', [1370., 1370., 1370.])
121 actscf.addFlag('Acts.TrackingGeometry.PassiveITkStripBarrelLayerThickness', [1., 1., 1.])
122
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
134 # Cluster
135 actscf.addFlag("Acts.Clusters.UseWeightedPosition", False)
136 actscf.addFlag("Acts.Clusters.RetrieveChargeInformation", lambda pcf: not pcf.Tracking.doPixelDigitalClustering)
137 actscf.addFlag("Acts.Clusters.StripClusteringErrorMode", StripClusteringErrorMode.PITCH,type=StripClusteringErrorMode)
138 actscf.addFlag("Acts.Clusters.UsePixelBroadErrors", False)
139
140 # SpacePoint
141 actscf.addFlag("Acts.SpacePointStrategy", SpacePointStrategy.ActsTrk, type=SpacePointStrategy) # Define SpacePoint Strategy
142 actscf.addFlag('Acts.SpacePoints.useBeamSpotConstraintStrips', True)
143
144 # Seeding
145 actscf.addFlag("Acts.SeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy) # Define Seeding Strategy
146
147 # Track finding
148 actscf.addFlag('Acts.PixelCalibrationStrategy', PixelCalibrationStrategy.Uncalibrated, type=PixelCalibrationStrategy)
149 actscf.addFlag('Acts.StripCalibrationStrategy', StripCalibrationStrategy.Uncalibrated, type=StripCalibrationStrategy)
150 actscf.addFlag('Acts.doRotCorrection', True)
151 actscf.addFlag('Acts.doPrintTrackStates', False)
152 actscf.addFlag('Acts.skipDuplicateSeeds', True)
153 actscf.addFlag('Acts.doTwoWayCKF', True) # run CKF twice, first with forward propagation with smoothing, then with backward propagation
154 actscf.addFlag('Acts.useStripSeedsFirst', False) # switch order of seed collections
155 actscf.addFlag('Acts.autoReverseSearchCKF', False) # track finding starts going inward first if we are outside the defined RZ boundary
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.forceTrackOnSeed', lambda pcf: not(pcf.Acts.SeedingStrategy is SeedingStrategy.Gbts2 and
160 pcf.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection)) # forceTrackOnSeed does not seem to work with GBTS seeds and analogue cluster calibration
161
162 # Ambiguity resolution
163 actscf.addFlag('Acts.doAmbiguityResolution', True)
164 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy) # Define Ambiguity Solver Strategy
165 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
166
167 # Calibrations
168 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True) # perform calibration of covariance during on track analogue cluster calibration
169
170 # Track fitting
171 actscf.addFlag('Acts.writeTrackCollection', False) # save to file (ESD, AOD) the Resolved and Refitted track collections
172 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
173 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType) # Define Tracking algorithm for refitting
174
175 # GSF specific flags
176 actscf.addFlag("Acts.GsfRefitLegacyTrk", False) # Refit Legacy tracks using ACTS GSF
177 actscf.addFlag("Acts.GsfRefitActs", False) # Refit ACTS tracks using ACTS GSF
178 actscf.addFlag("Acts.GsfMaxComponents", 12)
179 actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
180 actscf.addFlag("Acts.GsfDirectNavigation", False)
181 actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4) # Effectively no cut. Compatible with legacy
182
183 # Decorations
184 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
185
186 return actscf