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 actscf.addFlag('Acts.doTruthInspection', False)
134
135 # Cluster
136 actscf.addFlag("Acts.Clusters.UseWeightedPosition", False)
137 actscf.addFlag("Acts.Clusters.RetrieveChargeInformation", lambda pcf: not pcf.Tracking.doPixelDigitalClustering)
138 actscf.addFlag("Acts.Clusters.StripClusteringErrorMode", StripClusteringErrorMode.PITCH,type=StripClusteringErrorMode)
139 actscf.addFlag("Acts.Clusters.UsePixelBroadErrors", False)
140
141 # SpacePoint
142 actscf.addFlag("Acts.SpacePointStrategy", SpacePointStrategy.ActsTrk, type=SpacePointStrategy) # Define SpacePoint Strategy
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.autoReverseSearchCKF', False) # track finding starts going inward first if we are outside the defined RZ boundary
157 actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False) # use HGTD cluster in track finding
158 actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
159 actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
160 actscf.addFlag('Acts.forceTrackOnSeed', lambda pcf: not(pcf.Acts.SeedingStrategy is SeedingStrategy.Gbts2 and
161 pcf.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection)) # forceTrackOnSeed does not seem to work with GBTS seeds and analogue cluster calibration
162
163 # Ambiguity resolution
164 actscf.addFlag('Acts.doAmbiguityResolution', True)
165 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy) # Define Ambiguity Solver Strategy
166 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
167
168 # Calibrations
169 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True) # perform calibration of covariance during on track analogue cluster calibration
170
171 # Track fitting
172 actscf.addFlag('Acts.writeTrackCollection', False) # save to file (ESD, AOD) the Resolved and Refitted track collections
173 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
174 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType) # Define Tracking algorithm for refitting
175
176 # GSF specific flags
177 actscf.addFlag("Acts.GsfRefitLegacyTrk", False) # Refit Legacy tracks using ACTS GSF
178 actscf.addFlag("Acts.GsfRefitActs", False) # Refit ACTS tracks using ACTS GSF
179 actscf.addFlag("Acts.GsfMaxComponents", 12)
180 actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
181 actscf.addFlag("Acts.GsfDirectNavigation", False)
182 actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4) # Effectively no cut. Compatible with legacy
183
184 # Decorations
185 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
186
187 return actscf