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', False)
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 actscf.addFlag('Acts.TrackingGeometry.MuonMaterialMapFile', '')
117
118 # Monitoring
119 actscf.addFlag('Acts.doMonitoring', False)
120 actscf.addFlag('Acts.doAnalysis', False)
121 actscf.addFlag('Acts.doAnalysisNtuples', lambda pcf: pcf.Acts.doAnalysis)
122 actscf.addFlag('Acts.Clusters.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
123 actscf.addFlag('Acts.SpacePoints.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
124 actscf.addFlag('Acts.Seeds.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
125 actscf.addFlag('Acts.Tracks.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
126 actscf.addFlag('Acts.Particles.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
127 actscf.addFlag('Acts.storeTrackStateInfo', False)
128 actscf.addFlag('Acts.doTruthInspection', False)
129
130 # Cluster
131 actscf.addFlag("Acts.Clusters.UseWeightedPosition", False)
132 actscf.addFlag("Acts.Clusters.RetrieveChargeInformation", lambda pcf: not pcf.Tracking.doPixelDigitalClustering)
133 actscf.addFlag("Acts.Clusters.StripClusteringErrorMode", StripClusteringErrorMode.PITCH,type=StripClusteringErrorMode)
134 actscf.addFlag("Acts.Clusters.UsePixelBroadErrors", False)
135
136 # SpacePoint
137 actscf.addFlag('Acts.SpacePoints.useBeamSpotConstraintStrips', True)
138
139 # Seeding
140 actscf.addFlag("Acts.SeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy) # Define Seeding Strategy
141
142 # Track finding
143 actscf.addFlag('Acts.PixelCalibrationStrategy', PixelCalibrationStrategy.Uncalibrated, type=PixelCalibrationStrategy)
144 actscf.addFlag('Acts.StripCalibrationStrategy', StripCalibrationStrategy.Uncalibrated, type=StripCalibrationStrategy)
145 actscf.addFlag('Acts.doRotCorrection', True)
146 actscf.addFlag('Acts.doPrintTrackStates', False)
147 actscf.addFlag('Acts.skipDuplicateSeeds', True)
148 actscf.addFlag('Acts.doTwoWayCKF', True) # run CKF twice, first with forward propagation with smoothing, then with backward propagation
149 actscf.addFlag('Acts.useStripSeedsFirst', False) # switch order of seed collections
150 actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False) # use HGTD cluster in track finding
151 actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
152 actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
153 actscf.addFlag('Acts.forceTrackOnSeed', lambda pcf: not(pcf.Acts.SeedingStrategy is SeedingStrategy.GbtsFtf and
154 pcf.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection)) # forceTrackOnSeed does not seem to work with GBTS seeds and analogue cluster calibration
155
156 # Ambiguity resolution
157 actscf.addFlag('Acts.doAmbiguityResolution', True)
158 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy) # Define Ambiguity Solver Strategy
159 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
160
161 # Calibrations
162 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True) # perform calibration of covariance during on track analogue cluster calibration
163
164 # Track fitting
165 actscf.addFlag('Acts.writeTrackCollection', False) # save to file (ESD, AOD) the Resolved and Refitted track collections
166 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
167 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType) # Define Tracking algorithm for refitting
168
169 # GSF specific flags
170 actscf.addFlag("Acts.GsfRefitLegacyTrk", False) # Refit Legacy tracks using ACTS GSF
171 actscf.addFlag("Acts.GsfRefitActs", False) # Refit ACTS tracks using ACTS GSF
172 actscf.addFlag("Acts.GsfMaxComponents", 12)
173 actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
174 actscf.addFlag("Acts.GsfDirectNavigation", False)
175 actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4) # Effectively no cut. Compatible with legacy
176 actscf.addFlag("Acts.extrapolateElectronsLegacy", False) # Use legacy calo extrapolation with ACTS tracks
177
178 # Decorations
179 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
180
181 return actscf