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

Classes

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

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