ATLAS Offline Software
Classes | Functions
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

def createActsConfigFlags ()
 

Function Documentation

◆ createActsConfigFlags()

def ActsConfigFlags.createActsConfigFlags ( )

Definition at line 85 of file ActsConfigFlags.py.

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 
143  # Seeding
144  actscf.addFlag("Acts.SeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy) # Define Seeding Strategy
145 
146  # Track finding
147  actscf.addFlag('Acts.PixelCalibrationStrategy', PixelCalibrationStrategy.Uncalibrated, type=PixelCalibrationStrategy)
148  actscf.addFlag('Acts.StripCalibrationStrategy', StripCalibrationStrategy.Uncalibrated, type=StripCalibrationStrategy)
149  actscf.addFlag('Acts.doRotCorrection', True)
150  actscf.addFlag('Acts.doPrintTrackStates', False)
151  actscf.addFlag('Acts.skipDuplicateSeeds', True)
152  actscf.addFlag('Acts.doTwoWayCKF', True) # run CKF twice, first with forward propagation with smoothing, then with backward propagation
153  actscf.addFlag('Acts.useStripSeedsFirst', False) # switch order of seed collections
154  actscf.addFlag('Acts.autoReverseSearchCKF', False) # track finding starts going inward first if we are outside the defined RZ boundary
155  actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False) # use HGTD cluster in track finding
156  actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
157  actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
158  actscf.addFlag('Acts.forceTrackOnSeed', lambda pcf: not(pcf.Acts.SeedingStrategy is SeedingStrategy.Gbts2 and
159  pcf.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection)) # forceTrackOnSeed does not seem to work with GBTS seeds and analogue cluster calibration
160 
161  # Ambiguity resolution
162  actscf.addFlag('Acts.doAmbiguityResolution', True)
163  actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy) # Define Ambiguity Solver Strategy
164  actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
165 
166  # Calibrations
167  actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True) # perform calibration of covariance during on track analogue cluster calibration
168 
169  # Track fitting
170  actscf.addFlag('Acts.writeTrackCollection', False) # save to file (ESD, AOD) the Resolved and Refitted track collections
171  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
172  actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType) # Define Tracking algorithm for refitting
173 
174  # GSF specific flags
175  actscf.addFlag("Acts.GsfRefitLegacyTrk", False) # Refit Legacy tracks using ACTS GSF
176  actscf.addFlag("Acts.GsfRefitActs", False) # Refit ACTS tracks using ACTS GSF
177  actscf.addFlag("Acts.GsfMaxComponents", 12)
178  actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
179  actscf.addFlag("Acts.GsfDirectNavigation", False)
180  actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4) # Effectively no cut. Compatible with legacy
181 
182  # Decorations
183  actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
184 
185  return actscf
ActsConfigFlags.createActsConfigFlags
def createActsConfigFlags()
Definition: ActsConfigFlags.py:85