30 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
31 icf = AthConfigFlags()
33 icf.addFlag(
"extension",
"Acts" )
35 icf.addFlag(
"useITkPixel",
lambda pcf : pcf.Detector.EnableITkPixel )
36 icf.addFlag(
"useITkStrip",
lambda pcf : pcf.Detector.EnableITkStrip )
37 icf.addFlag(
"useITkPixelSeeding",
True )
38 icf.addFlag(
"useITkStripSeeding",
False )
40 icf.addFlag(
"usePrdAssociationTool" ,
False)
41 icf.addFlag(
"storeSeparateContainer" ,
False)
42 icf.addFlag(
"doZBoundary" ,
True)
43 icf.addFlag(
"doAmbiguityProcessorTrackFit",
True)
45 icf.addFlag(
"useTIDE_Ambi",
lambda pcf: pcf.Tracking.doTIDE_Ambi)
48 icf.addFlag(
"etaBins" , [-1.0, 2.0, 2.6, 9999.0])
49 icf.addFlag(
"maxEta" , 4.0)
50 icf.addFlag(
"minPT" ,
lambda pcf :
51 [0.2 * Units.GeV * pcf.BField.configuredSolenoidFieldScale]
52 if pcf.Tracking.doLowMu
else
53 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
54 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale,
55 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
57 icf.addFlag(
"minPTSeed" ,
lambda pcf : (
58 pcf.BField.configuredSolenoidFieldScale *
59 (0.2 * Units.GeV
if pcf.Tracking.doLowMu
60 else 0.9 * Units.GeV)))
61 icf.addFlag(
"maxPrimaryImpactSeed" , 5.0 * Units.mm)
62 icf.addFlag(
"maxZImpactSeed" , 150.0 * Units.mm)
63 icf.addFlag(
"useSeedFilter" ,
True)
64 icf.addFlag(
"useHoughVertexFilter" ,
False)
67 icf.addFlag(
"minClusters" ,
lambda pcf :
68 [6, 5, 4]
if pcf.Tracking.doLowMu
else [9, 8, 7])
69 icf.addFlag(
"minSiNotShared" ,
lambda pcf :
70 [6, 5, 4]
if pcf.Tracking.doLowMu
else [7, 6, 5])
71 icf.addFlag(
"maxShared" , [2])
72 icf.addFlag(
"minPixel" , [3])
73 icf.addFlag(
"maxHoles" , [1])
74 icf.addFlag(
"maxPixelHoles" , [2])
75 icf.addFlag(
"maxSctHoles" , [2])
76 icf.addFlag(
"maxDoubleHoles" , [1])
77 icf.addFlag(
"maxPrimaryImpact" , [5.0 * Units.mm, 5.0 * Units.mm, 10.0 * Units.mm])
78 icf.addFlag(
"maxEMImpact" , [50.0 * Units.mm])
79 icf.addFlag(
"maxZImpact" , [150.0 * Units.mm])
82 icf.addFlag(
"roadWidth" , 20.)
83 icf.addFlag(
"nHolesMax" , icf.maxHoles)
84 icf.addFlag(
"nHolesGapMax" , icf.maxHoles)
87 icf.addFlag(
"Xi2max" , [50.])
88 icf.addFlag(
"Xi2maxNoAdd" , [100.])
89 icf.addFlag(
"nWeightedClustersMin" , [6])
92 icf.addFlag(
"maxdImpactSSSSeeds" , [20.0 * Units.mm])
93 icf.addFlag(
"radMax" , 1100. * Units.mm)
96 icf.addFlag(
"doBremRecoverySi",
lambda pcf: pcf.Tracking.doBremRecovery)
97 icf.addFlag(
"minPTBrem",
lambda pcf: (
98 [1. * Units.GeV * pcf.BField.configuredSolenoidFieldScale]))
101 icf.addFlag(
"doCaloSeededBremSi",
lambda pcf: pcf.Tracking.doCaloSeededBrem)
102 icf.addFlag(
"doCaloSeededAmbiSi",
lambda pcf: pcf.Tracking.doCaloSeededAmbi)
105 icf.addFlag(
"isSecondaryPass",
False)
106 icf.addFlag(
"isLargeD0",
False)
107 icf.addFlag(
"autoReverseSearch",
False)
108 icf.addFlag(
"PixelSeedingStrategy", SeedingStrategy.Gbts, type=SeedingStrategy)
109 icf.addFlag(
"StripSeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
113 icf.addFlag(
"storedTrackParticlesExtension",
"")
117 icf.addFlag(
"doAthenaCluster",
False)
118 icf.addFlag(
"doAthenaSpacePoint",
False)
119 icf.addFlag(
"doAthenaSeed",
False)
120 icf.addFlag(
"doAthenaTrack",
False)
121 icf.addFlag(
"doAthenaAmbiguityResolution",
False)
123 icf.addFlag(
"doActsCluster",
True)
124 icf.addFlag(
"doActsSpacePoint",
True)
125 icf.addFlag(
"doActsSeed",
True)
126 icf.addFlag(
"doActsTrack",
True)
127 icf.addFlag(
"doActsAmbiguityResolution",
lambda pcf:
128 pcf.Acts.doAmbiguityResolution)
131 icf.addFlag(
"doAthenaToActsCluster",
False)
132 icf.addFlag(
"doAthenaToActsSpacePoint",
False)
133 icf.addFlag(
"doAthenaToActsTrack",
False)
135 icf.addFlag(
"doActsToAthenaCluster",
False)
136 icf.addFlag(
"doActsToAthenaSpacePoint",
False)
137 icf.addFlag(
"doActsToAthenaTrack",
False)
138 icf.addFlag(
"doActsToAthenaResolvedTrack",
False)
141 icf.addFlag(
"doGNNTrack",
False)
144 icf.addFlag(
"doFPGASpacePoint",
False)
145 icf.addFlag(
"doFPGACluster",
False)
146 icf.addFlag(
"doFPGASeed",
False)
147 icf.addFlag(
"doFPGATrackSim",
False)
152 icf.addFlag(
"storeTrackSeeds",
False)
153 icf.addFlag(
"storeSiSPSeededTracks",
False)
178 icf.extension =
"ActsHeavyIon"
179 icf.useITkStripSeeding =
True
180 icf.maxPrimaryImpact = [5.0 * Units.mm]
181 icf.minPT =
lambda pcf : (
182 [0.4 *Units.GeV * pcf.BField.configuredSolenoidFieldScale])
183 icf.minPTSeed =
lambda pcf : (
184 0.4 * Units.GeV * pcf.BField.configuredSolenoidFieldScale)
185 icf.minClusters = [6]
186 icf.minSiNotShared = [6]
187 icf.maxPixelHoles = [1]
188 icf.maxSctHoles = [1]
189 icf.maxDoubleHoles = [0]
191 icf.nHolesMax = icf.maxHoles
192 icf.nHolesGapMax = icf.maxHoles
194 icf.Xi2maxNoAdd = [25.]
195 icf.doBremRecoverySi =
False
196 icf.doAmbiguityProcessorTrackFit =
False
202 icf.extension =
"ActsLargeRadius"
207 icf.storedTrackParticlesExtension =
"LargeD0"
211 icf.Xi2maxNoAdd = [50]
214 icf.isSecondaryPass =
True
217 icf.storeSeparateContainer =
True
219 icf.autoReverseSearch =
True
221 icf.usePrdAssociationTool =
True
222 icf.storeSeparateContainer =
lambda pcf : pcf.Tracking.storeSeparateLargeD0Container
224 icf.minPT =
lambda pcf : (
225 [1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale])
227 icf.etaBins = [-1.0, 4.0]
228 icf.maxPrimaryImpact = [300 * Units.mm]
229 icf.maxZImpact = [500 * Units.mm]
230 icf.minClusters = [8]
231 icf.minSiNotShared = [6]
235 icf.nHolesMax = icf.maxHoles
236 icf.nHolesGapMax = icf.maxHoles
237 icf.maxPixelHoles = [1]
238 icf.maxSctHoles = [1]
239 icf.maxDoubleHoles = [0]
241 icf.maxZImpactSeed = 500.0 * Units.mm
242 icf.maxPrimaryImpactSeed = 300.0 * Units.mm
243 icf.minPTSeed =
lambda pcf : (
244 1000 * Units.MeV * pcf.BField.configuredSolenoidFieldScale)
246 icf.radMax = 1100. * Units.mm
250 icf.useITkPixelSeeding =
False
251 icf.useITkStripSeeding =
True
252 icf.maxdImpactSSSSeeds = [300.0 * Units.mm]
254 icf.doBremRecoverySi =
False
256 icf.nWeightedClustersMin = [6]
262 icf.extension =
"ActsConversion"
265 icf.isSecondaryPass =
True
267 icf.storeSeparateContainer =
False
269 icf.usePrdAssociationTool =
True
270 icf.useITkPixelSeeding =
False
271 icf.useITkStripSeeding =
True
273 icf.etaBins = [-1.0,4.0]
274 icf.minPT =
lambda pcf: (
275 [0.9 * Units.GeV * pcf.BField.configuredSolenoidFieldScale])
276 icf.maxPrimaryImpact = [10.0 * Units.mm]
277 icf.maxPrimaryImpactSeed = 10.0 * Units.mm
278 icf.minClusters = [6]
279 icf.minSiNotShared = [6]
283 icf.maxPixelHoles = [1]
284 icf.maxSctHoles = [2]
285 icf.maxDoubleHoles = [1]
287 icf.nHolesMax = icf.maxHoles
288 icf.nHolesGapMax = icf.maxHoles
289 icf.nWeightedClustersMin = [6]
290 icf.maxdImpactSSSSeeds = [20.0 * Units.mm]
291 icf.radMax = 1100. * Units.mm
292 icf.doZBoundary =
False
294 icf.doBremRecoverySi =
True
356 from TrkConfig.TrackingPassFlags
import createTrackingPassFlags
357 icf = createTrackingPassFlags()
360 icf.Xi2maxNoAdd = 25.0
362 icf.addFlag(
"doActsCluster",
True)
363 icf.addFlag(
"doActsSpacePoint",
True)
364 icf.addFlag(
"doActsSeed",
True)
365 icf.addFlag(
"doActsTrack",
True)
366 icf.addFlag(
"doActsAmbiguityResolution",
True)
369 icf.addFlag(
"etaBins" , [-1.0, 3.0, 9999.0])
370 icf.addFlag(
"maxPrimaryImpactList" , [5.0 * Units.mm, 5.0 * Units.mm, 25.0 * Units.mm])
371 icf.addFlag(
"PixelSeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)
372 icf.addFlag(
"StripSeedingStrategy", SeedingStrategy.GridTriplet, type=SeedingStrategy)