77def createActsConfigFlags():
78 actscf = AthConfigFlags()
79
80
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
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', True)
91 actscf.addFlag('Acts.doLowPt', False)
92
93
94
95
96
97
98
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 actscf.addFlag('Acts.doMonitoring', False)
118 actscf.addFlag('Acts.doAnalysis', False)
119 actscf.addFlag('Acts.doAnalysisNtuples', lambda pcf: pcf.Acts.doAnalysis)
120 actscf.addFlag('Acts.Clusters.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
121 actscf.addFlag('Acts.SpacePoints.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
122 actscf.addFlag('Acts.Seeds.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
123 actscf.addFlag('Acts.Tracks.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
124 actscf.addFlag('Acts.Particles.doAnalysis', lambda pcf: pcf.Acts.doAnalysis)
125 actscf.addFlag('Acts.storeTrackStateInfo', False)
126 actscf.addFlag('Acts.doTruthInspection', False)
127
128
129 actscf.addFlag("Acts.Clusters.UseWeightedPosition", False)
130 actscf.addFlag("Acts.Clusters.RetrieveChargeInformation", lambda pcf: not pcf.Tracking.doPixelDigitalClustering)
131 actscf.addFlag("Acts.Clusters.StripClusteringErrorMode", StripClusteringErrorMode.PITCH,type=StripClusteringErrorMode)
132 actscf.addFlag("Acts.Clusters.UsePixelBroadErrors", False)
133
134
135 actscf.addFlag('Acts.SpacePoints.useBeamSpotConstraintStrips', True)
136
137
138 actscf.addFlag("Acts.SeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
139
140
141 actscf.addFlag('Acts.PixelCalibrationStrategy', PixelCalibrationStrategy.Uncalibrated, type=PixelCalibrationStrategy)
142 actscf.addFlag('Acts.StripCalibrationStrategy', StripCalibrationStrategy.Uncalibrated, type=StripCalibrationStrategy)
143 actscf.addFlag('Acts.doRotCorrection', True)
144 actscf.addFlag('Acts.doPrintTrackStates', False)
145 actscf.addFlag('Acts.skipDuplicateSeeds', True)
146 actscf.addFlag('Acts.doTwoWayCKF', True)
147 actscf.addFlag('Acts.useStripSeedsFirst', False)
148 actscf.addFlag('Acts.useHGTDClusterInTrackFinding', False)
149 actscf.addFlag('Acts.branchStopperMeasCutReduce', 2)
150 actscf.addFlag('Acts.branchStopperAbsEtaMeasCut', 1.2)
151 actscf.addFlag('Acts.forceTrackOnSeed', lambda pcf: not(pcf.Acts.SeedingStrategy is SeedingStrategy.GbtsFtf and
152 pcf.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection))
153
154
155 actscf.addFlag('Acts.doAmbiguityResolution', True)
156 actscf.addFlag('Acts.AmbiguitySolverStrategy', AmbiguitySolverStrategy.Greedy, type=AmbiguitySolverStrategy)
157 actscf.addFlag('Acts.AmbiguitySolverMode', lambda pcf: AmbiguitySolverMode.OUTSIDE_TF if pcf.Acts.doAmbiguityResolution else AmbiguitySolverMode.DURING_TF, type=AmbiguitySolverMode)
158
159
160 actscf.addFlag('Acts.OnTrackCalibration.performCovarianceCalibration', True)
161
162
163 actscf.addFlag('Acts.writeTrackCollection', False)
164 actscf.addFlag('Acts.fitFromPRD', False)
165 actscf.addFlag('Acts.trackFitterType', TrackFitterType.KalmanFitter, type=TrackFitterType)
166
167
168 actscf.addFlag("Acts.GsfRefitLegacyTrk", False)
169 actscf.addFlag("Acts.GsfRefitActs", False)
170 actscf.addFlag("Acts.GsfMaxComponents", 12)
171 actscf.addFlag("Acts.GsfComponentMergeMethod", 'MaxWeight')
172 actscf.addFlag("Acts.GsfDirectNavigation", False)
173 actscf.addFlag("Acts.GsfOutlierChi2Cut", 1e4)
174 actscf.addFlag("Acts.extrapolateElectronsLegacy", False)
175
176
177 actscf.addFlag('Acts.decoratePRD.sdoSiHit', lambda pcf: pcf.Tracking.doTIDE_AmbiTrackMonitoring)
178
179 return actscf