3 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
4 from AthenaConfiguration.Enums
import BeamType, LHCPeriod, FlagEnum,HIMode
9 VtxLumiHeavyIon =
'VtxLumiHeavyIon'
10 VtxBeamSpot =
'VtxBeamSpot'
13 HighPileup =
'HighPileup'
22 FastTracking =
'ITkFast'
23 HeavyIon =
'ITkHeavyIon'
27 DistributedKalmanFilter =
'DistributedKalmanFilter'
28 GlobalChi2Fitter =
'GlobalChi2Fitter'
29 GaussianSumFilter =
'GaussianSumFilter'
33 KalmanUpdator =
'KalmanUpdator'
34 KalmanUpdator_xk =
'KalmanUpdator_xk'
35 KalmanUpdatorSMatrix =
'KalmanUpdatorSMatrix'
39 NeuralNet =
'NeuralNet'
44 AthenaChain =
"AthenaChain"
45 ActsChain =
"ActsChain"
46 ActsFastChain =
"ActsFastChain"
47 ActsHeavyIon =
"ActsHeavyIon"
49 ActsValidateClusters =
"ActsValidateClusters"
50 ActsValidateSpacePoints =
"ActsValidateSpacePoints"
51 ActsValidateSeeds =
"ActsValidateSeeds"
52 ActsValidateConversionSeeds =
"ActsValidateConversionSeeds"
53 ActsValidateLargeRadiusSeeds =
"ActsValidateLargeRadiusSeeds"
54 ActsValidateTracks =
"ActsValidateTracks"
55 ActsValidateAmbiguityResolution =
"ActsValidateAmbiguityResolution"
60 FPGAChain =
"FPGAChain"
63 icf = AthConfigFlags()
66 icf.addFlag(
"Tracking.doTruth",
lambda prevFlags: prevFlags.Input.isMC)
69 icf.addFlag(
"Tracking.trackFitterType",
70 TrackFitterType.GlobalChi2Fitter, type=TrackFitterType)
72 icf.addFlag(
"Tracking.kalmanUpdator",
73 KalmanUpdatorType.KalmanUpdatorSMatrix, type=KalmanUpdatorType)
75 icf.addFlag(
"Tracking.materialInteractions",
lambda prevFlags:
76 prevFlags.Beam.Type
is not BeamType.SingleBeam)
79 icf.addFlag(
"Tracking.materialInteractionsType",
lambda prevFlags:
80 2
if prevFlags.Beam.Type
is BeamType.Cosmics
else 3)
83 icf.addFlag(
"Tracking.doBremRecovery",
lambda prevFlags: (
84 prevFlags.Detector.EnableCalo
and
85 not (prevFlags.Tracking.PrimaryPassConfig
in
86 [PrimaryPassConfig.VtxLumi, PrimaryPassConfig.VtxLumiHeavyIon, PrimaryPassConfig.VtxBeamSpot]
or
87 prevFlags.Tracking.doLowMu
or
88 prevFlags.Beam.Type
is not BeamType.Collisions
or
89 not prevFlags.BField.solenoidOn)))
90 icf.addFlag(
"Tracking.doCaloSeededBrem",
lambda prevFlags: (
91 prevFlags.Detector.EnableCalo
and prevFlags.Tracking.doBremRecovery))
92 icf.addFlag(
"Tracking.phiWidthBrem", 0.3)
93 icf.addFlag(
"Tracking.etaWidthBrem", 0.2)
95 icf.addFlag(
"Tracking.doHadCaloSeededSSS",
False)
97 icf.addFlag(
"Tracking.doCaloSeededAmbi",
lambda prevFlags:
98 prevFlags.Detector.EnableCalo)
100 icf.addFlag(
"Tracking.doSharedHits",
True)
102 icf.addFlag(
"Tracking.doTIDE_Ambi",
lambda prevFlags:
103 not (prevFlags.Beam.Type
is BeamType.Cosmics))
105 icf.addFlag(
"Tracking.doPixelTruthSplit",
lambda prevFlags:
106 prevFlags.GeoModel.Run >= LHCPeriod.Run4)
108 icf.addFlag(
"Tracking.doPixelDigitalClustering",
False)
110 icf.addFlag(
"Tracking.doPixelClusterSplitting",
111 lambda prevFlags:
not (prevFlags.Beam.Type
is BeamType.Cosmics))
113 icf.addFlag(
"Tracking.pixelClusterSplittingType",
lambda prevFlags:
114 PixelClusterSplittingType.NeuralNet
115 if prevFlags.GeoModel.Run <= LHCPeriod.Run3
116 else PixelClusterSplittingType.Truth,
117 type=PixelClusterSplittingType)
119 icf.addFlag(
"Tracking.pixelClusterSplitProb1",
121 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.55))
123 icf.addFlag(
"Tracking.pixelClusterSplitProb2",
125 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.45))
127 icf.addFlag(
"Tracking.doSkipAmbiROI",
False)
130 icf.addFlag(
"Tracking.TopoClusters",
"CaloTopoClusters")
131 icf.addFlag(
"Tracking.EgammaTopoClusters",
"egammaTopoClusters")
134 icf.addFlag(
"Tracking.perigeeExpression",
lambda prevFlags:
135 "Vertex" if (prevFlags.Tracking.PrimaryPassConfig
in [
136 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon])
141 def doLargeD0(flags):
142 if flags.GeoModel.Run <= LHCPeriod.Run3:
143 return not ((flags.Beam.Type
in
144 [BeamType.SingleBeam, BeamType.Cosmics])
or
145 flags.Tracking.PrimaryPassConfig
in [
146 PrimaryPassConfig.HeavyIon,
147 PrimaryPassConfig.UPC,
148 PrimaryPassConfig.HIP,
149 PrimaryPassConfig.VtxLumi,
150 PrimaryPassConfig.VtxLumiHeavyIon,
151 PrimaryPassConfig.VtxBeamSpot,
152 PrimaryPassConfig.HighPileup])
156 icf.addFlag(
"Tracking.doLargeD0", doLargeD0)
157 icf.addFlag(
"Tracking.storeSeparateLargeD0Container",
True)
160 icf.addFlag(
"Tracking.doLowMu",
False)
162 icf.addFlag(
"Tracking.doLowPt",
163 lambda prevFlags: prevFlags.Tracking.doLowMu)
166 icf.addFlag(
"Tracking.doStoreTrackSeeds",
False)
168 icf.addFlag(
"Tracking.doStoreSiSPSeededTracks",
False)
170 icf.addFlag(
"Tracking.writeSeedValNtuple",
False)
172 icf.addFlag(
"Tracking.writeExtendedSi_PRDInfo",
False)
173 icf.addFlag(
"Tracking.writeExtendedTRT_PRDInfo",
False)
177 icf.addFlag(
"Tracking.thinPixelClustersOnTrack",
False)
178 icf.addFlag(
"Tracking.thinSCTClustersOnTrack",
False)
179 icf.addFlag(
"Tracking.thinTRTClustersOnTrack",
False)
180 icf.addFlag(
"Tracking.thinInDetClustersOnTrack",
182 prevFlags.Tracking.thinPixelClustersOnTrack
or
183 prevFlags.Tracking.thinSCTClustersOnTrack
or
184 prevFlags.Tracking.thinTRTClustersOnTrack ))
187 icf.addFlag(
"Tracking.thinInDetClustersTrackContainers", [
"InDetTrackParticles"])
188 icf.addFlag(
"Tracking.thinInDetClustersPixelMSOSContainers", [
"PixelMSOSs"])
189 icf.addFlag(
"Tracking.thinInDetClustersSCTMSOSContainers", [
"SCT_MSOSs"])
190 icf.addFlag(
"Tracking.thinInDetClustersTRTMSOSContainers", [
"TRT_MSOSs"])
191 icf.addFlag(
"Tracking.thinInDetClustersSelectionStrings", [
"InDetTrackParticles.pt > (1*GeV)"])
194 icf.addFlag(
"Tracking.doSlimming",
lambda prevFlags:
195 not (prevFlags.Beam.Type
in
196 [BeamType.SingleBeam, BeamType.Cosmics]
or
197 prevFlags.Tracking.PrimaryPassConfig
in [
198 PrimaryPassConfig.VtxLumi,
199 PrimaryPassConfig.VtxLumiHeavyIon,
200 PrimaryPassConfig.VtxBeamSpot,
201 PrimaryPassConfig.HighPileup]))
208 icf.addFlag(
"Tracking.useNewParamTRT",
lambda prevFlags:
209 prevFlags.Tracking.PrimaryPassConfig
is not(
210 PrimaryPassConfig.HeavyIon))
213 icf.addFlag(
"Tracking.BackTracking.doRoISeeded",
lambda prevFlags:
214 prevFlags.Detector.EnableCalo
and not(
215 prevFlags.Tracking.doLowMu
or
216 prevFlags.Tracking.PrimaryPassConfig
is (
217 PrimaryPassConfig.HeavyIon)
or
218 prevFlags.Beam.Type
is BeamType.Cosmics
or
219 prevFlags.Tracking.doMinBias))
222 def BackTrackingMinPt(flags):
223 if flags.Tracking.doMinBias:
224 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
225 elif (flags.Tracking.doLowMu
or
226 flags.Tracking.PrimaryPassConfig
in [
227 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
228 flags.Beam.Type
is BeamType.Cosmics):
229 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
231 return 3.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
232 icf.addFlag(
"Tracking.BackTracking.minPt", BackTrackingMinPt)
233 icf.addFlag(
"Tracking.BackTracking.TRTSegFinderPtBins", 50)
234 icf.addFlag(
"Tracking.BackTracking.maxTRTSharedFrac", 0.7)
235 icf.addFlag(
"Tracking.BackTracking.maxSecondaryImpact", 100.0 * Units.mm)
236 icf.addFlag(
"Tracking.BackTracking.minClusters", 4)
237 icf.addFlag(
"Tracking.BackTracking.minSiNotShared", 4)
239 icf.addFlag(
"Tracking.BackTracking.maxShared", 1)
240 icf.addFlag(
"Tracking.BackTracking.minTRT",
lambda prevFlags:
241 10
if (prevFlags.Tracking.doLowMu
or
242 prevFlags.Tracking.PrimaryPassConfig
is (
243 PrimaryPassConfig.HeavyIon))
245 icf.addFlag(
"Tracking.BackTracking.minTRTPrecFrac",
lambda prevFlags:
246 0.
if (prevFlags.Tracking.doLowMu
or
247 prevFlags.Tracking.PrimaryPassConfig
is (
248 PrimaryPassConfig.HeavyIon))
251 icf.addFlag(
"Tracking.BackTracking.maxHoles",
lambda prevFlags:
252 2
if (prevFlags.Tracking.doLowMu
or
253 prevFlags.Tracking.PrimaryPassConfig
is (
254 PrimaryPassConfig.HeavyIon))
256 icf.addFlag(
"Tracking.BackTracking.maxPixelHoles",
lambda prevFlags:
257 2
if (prevFlags.Tracking.doLowMu
or
258 prevFlags.Tracking.PrimaryPassConfig
is (
259 PrimaryPassConfig.HeavyIon))
261 icf.addFlag(
"Tracking.BackTracking.maxSCTHoles",
lambda prevFlags:
262 2
if (prevFlags.Tracking.doLowMu
or
263 prevFlags.Tracking.PrimaryPassConfig
is (
264 PrimaryPassConfig.HeavyIon))
266 icf.addFlag(
"Tracking.BackTracking.maxDoubleHoles",
lambda prevFlags:
267 1
if (prevFlags.Tracking.doLowMu
or
268 prevFlags.Tracking.PrimaryPassConfig
is (
269 PrimaryPassConfig.HeavyIon))
271 icf.addFlag(
"Tracking.BackTracking.nHolesMax", 2)
272 icf.addFlag(
"Tracking.BackTracking.nHolesGapMax", 2)
275 icf.addFlag(
"Tracking.BackTracking.rejectShortExtensions",
lambda prevFlags:
276 not(prevFlags.Beam.Type
is BeamType.Cosmics
or
277 prevFlags.Tracking.doLowMu
or
278 prevFlags.Tracking.PrimaryPassConfig
is (
279 PrimaryPassConfig.HeavyIon)))
281 icf.addFlag(
"Tracking.BackTracking.SiExtensionCuts",
lambda prevFlags:
282 not(prevFlags.Tracking.doLowMu
or
283 prevFlags.Tracking.PrimaryPassConfig
is (
284 PrimaryPassConfig.HeavyIon)))
285 icf.addFlag(
"Tracking.BackTracking.minRoIClusterEt",
lambda prevFlags:
286 0.
if (prevFlags.Tracking.doLowMu
or
287 prevFlags.Tracking.PrimaryPassConfig
in [
288 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
289 prevFlags.Beam.Type
is BeamType.Cosmics
or
290 prevFlags.Tracking.doMinBias)
291 else 6.*Units.GeV * prevFlags.BField.configuredSolenoidFieldScale)
294 def TRTStandaloneMinPt(flags):
295 if flags.Tracking.doMinBias:
296 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
297 elif flags.Tracking.doLowMu
or (
298 flags.Tracking.PrimaryPassConfig
is PrimaryPassConfig.HeavyIon):
299 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
301 return 2.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
302 icf.addFlag(
"Tracking.TRTStandalone.minPt", TRTStandaloneMinPt)
303 icf.addFlag(
"Tracking.TRTStandalone.minTRTPrecFrac", 0.15)
304 icf.addFlag(
"Tracking.TRTStandalone.minTRT", 15)
306 icf.addFlag(
"Tracking.TRTStandalone.startArOriginalPerigee",
False)
309 icf.addFlag(
"Tracking.doStats",
False)
311 icf.addFlag(
"Tracking.doTIDE_AmbiTrackMonitoring",
False)
313 icf.addFlag(
"Tracking.useBeamSpotInfoNN",
True)
315 icf.addFlag(
"Tracking.nnCutLargeD0Threshold", -1.0)
317 icf.addFlag(
"Tracking.useBroadPixClusterErrors",
False)
319 icf.addFlag(
"Tracking.useBroadSCTClusterErrors",
False)
324 icf.addFlag(
"Tracking.doTrackSegmentsPixel",
326 prevFlags.Detector.EnablePixel
and (
327 prevFlags.Tracking.doMinBias
or
328 prevFlags.Tracking.doLowMu
or
329 prevFlags.Beam.Type
is BeamType.Cosmics)))
331 icf.addFlag(
"Tracking.doTrackSegmentsSCT",
333 prevFlags.Detector.EnableSCT
and (
334 prevFlags.Tracking.doLowMu
or
335 prevFlags.Beam.Type
is BeamType.Cosmics)))
337 icf.addFlag(
"Tracking.doTrackSegmentsTRT",
339 prevFlags.Detector.EnableTRT
and
340 (prevFlags.Tracking.doLowMu
or
341 prevFlags.Beam.Type
is BeamType.Cosmics)))
343 icf.addFlag(
"Tracking.doTRTExtension",
344 lambda prevFlags: prevFlags.Detector.EnableTRT)
346 icf.addFlag(
"Tracking.doTRTSegments",
347 lambda prevFlags: (prevFlags.Detector.EnableTRT
and
348 (prevFlags.Tracking.doBackTracking
or
349 prevFlags.Tracking.doTRTStandalone)))
351 icf.addFlag(
"Tracking.doBackTracking",
lambda prevFlags: (
352 prevFlags.Detector.EnableTRT
and
353 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
354 prevFlags.Tracking.PrimaryPassConfig
in [
355 PrimaryPassConfig.HeavyIon,
356 PrimaryPassConfig.VtxLumi,
357 PrimaryPassConfig.VtxLumiHeavyIon,
358 PrimaryPassConfig.VtxBeamSpot,
359 PrimaryPassConfig.HighPileup])))
361 icf.addFlag(
"Tracking.doTRTStandalone",
lambda prevFlags: (
362 prevFlags.Detector.EnableTRT
and
363 not(prevFlags.Tracking.PrimaryPassConfig
in [
364 PrimaryPassConfig.HeavyIon,
365 PrimaryPassConfig.VtxLumi,
366 PrimaryPassConfig.VtxLumiHeavyIon,
367 PrimaryPassConfig.VtxBeamSpot,
368 PrimaryPassConfig.HighPileup])))
371 icf.addFlag(
"Tracking.doForwardTracks",
lambda prevFlags: (
372 prevFlags.Detector.EnablePixel
and
373 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
374 prevFlags.Tracking.PrimaryPassConfig
in [
375 PrimaryPassConfig.HeavyIon,
376 PrimaryPassConfig.VtxLumi,
377 PrimaryPassConfig.VtxLumiHeavyIon,
378 PrimaryPassConfig.VtxBeamSpot,
379 PrimaryPassConfig.HighPileup]
or
380 prevFlags.Tracking.doMinBias
or
381 prevFlags.Tracking.doLowMu)))
382 icf.addFlag(
"Tracking.doTrackSegmentsDisappearing",
384 not((prevFlags.Tracking.PrimaryPassConfig
is
385 PrimaryPassConfig.HeavyIon)
or
386 prevFlags.Beam.Type
is BeamType.Cosmics)))
389 icf.addFlag(
"Tracking.doVeryLowPt",
False)
391 icf.addFlag(
"Tracking.doLowPtLargeD0",
False)
393 icf.addFlag(
"Tracking.doLowPtRoI",
False)
395 icf.addFlag(
"Tracking.doUPC",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.UPC)
397 icf.addFlag(
"Tracking.doHIP",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.HIP)
399 icf.addFlag(
"Tracking.doMinBias",
lambda prevFlags:
400 prevFlags.Tracking.doUPC
or prevFlags.Tracking.doHIP)
402 icf.addFlag(
"Tracking.doBeamGas",
403 lambda prevFlags: prevFlags.Beam.Type
is BeamType.SingleBeam)
405 icf.addFlag(
"Tracking.doBLS",
False)
408 icf.addFlag(
"Tracking.doPseudoTracking",
False)
410 icf.addFlag(
"Tracking.doIdealPseudoTracking",
False)
417 icf.addFlag(
"Tracking.doITkFastTracking",
False)
420 icf.addFlag(
"Tracking.doITkConversion",
421 lambda prevFlags:
not prevFlags.Tracking.doITkFastTracking)
425 icf.addFlag(
"Tracking.useITkFTF",
False)
428 from InDetGNNTracking.InDetGNNTrackingConfigFlags
import createGNNTrackingConfigFlags
432 icf.addFlag(
"Tracking.recoChain", [TrackingComponent.AthenaChain])
440 from TrkConfig.TrackingPassFlags
import (
441 createTrackingPassFlags, createHighPileupTrackingPassFlags,
442 createMinBiasTrackingPassFlags, createUPCTrackingPassFlags,
443 createHIPTrackingPassFlags, createR3LargeD0TrackingPassFlags,
444 createLowPtLargeD0TrackingPassFlags,
445 createLowPtTrackingPassFlags, createVeryLowPtTrackingPassFlags,
446 createLowPtRoITrackingPassFlags, createForwardTracksTrackingPassFlags,
447 createBeamGasTrackingPassFlags, createVtxLumiTrackingPassFlags, createVtxLumiHeavyIonTrackingPassFlags,
448 createVtxBeamSpotTrackingPassFlags, createCosmicsTrackingPassFlags,
449 createHeavyIonTrackingPassFlags, createPixelTrackingPassFlags,
450 createDisappearingTrackingPassFlags, createSCTTrackingPassFlags,
451 createTRTTrackingPassFlags, createTRTStandaloneTrackingPassFlags)
453 def primaryPass(flags):
454 if flags.Beam.Type
is BeamType.Cosmics:
455 return PrimaryPassConfig.Cosmics
456 elif flags.Reco.EnableHI:
457 if flags.Tracking.doUPC:
458 return PrimaryPassConfig.UPC
459 elif flags.Tracking.doHIP:
460 return PrimaryPassConfig.HIP
462 return PrimaryPassConfig.HeavyIon
463 elif flags.Tracking.doMinBias:
464 return PrimaryPassConfig.MinBias
466 return PrimaryPassConfig.Default
468 icf.addFlag(
"Tracking.PrimaryPassConfig",
lambda prevFlags:
469 primaryPass(prevFlags), type=PrimaryPassConfig)
472 icf.addFlagsCategory(
"Tracking.MainPass",
473 createTrackingPassFlags, prefix=
True)
474 icf.addFlagsCategory(
"Tracking.HighPileupPass",
475 createHighPileupTrackingPassFlags, prefix=
True)
476 icf.addFlagsCategory(
"Tracking.UPCPass",
477 createUPCTrackingPassFlags, prefix=
True)
478 icf.addFlagsCategory(
"Tracking.HIPPass",
479 createHIPTrackingPassFlags, prefix=
True)
480 icf.addFlagsCategory(
"Tracking.MinBiasPass",
481 createMinBiasTrackingPassFlags, prefix=
True)
482 icf.addFlagsCategory(
"Tracking.R3LargeD0Pass",
483 createR3LargeD0TrackingPassFlags, prefix=
True)
484 icf.addFlagsCategory(
"Tracking.LowPtLargeD0Pass",
485 createLowPtLargeD0TrackingPassFlags, prefix=
True)
486 icf.addFlagsCategory(
"Tracking.LowPtPass",
487 createLowPtTrackingPassFlags, prefix=
True)
488 icf.addFlagsCategory(
"Tracking.VeryLowPtPass",
489 createVeryLowPtTrackingPassFlags, prefix=
True)
490 icf.addFlagsCategory(
"Tracking.LowPtRoIPass",
491 createLowPtRoITrackingPassFlags, prefix=
True)
492 icf.addFlagsCategory(
"Tracking.ForwardPass",
493 createForwardTracksTrackingPassFlags, prefix=
True)
494 icf.addFlagsCategory(
"Tracking.BeamGasPass",
495 createBeamGasTrackingPassFlags, prefix=
True)
496 icf.addFlagsCategory(
"Tracking.VtxLumiPass",
497 createVtxLumiTrackingPassFlags, prefix=
True)
498 icf.addFlagsCategory(
"Tracking.VtxLumiHeavyIonPass",
499 createVtxLumiHeavyIonTrackingPassFlags, prefix=
True)
500 icf.addFlagsCategory(
"Tracking.VtxBeamSpotPass",
501 createVtxBeamSpotTrackingPassFlags, prefix=
True)
502 icf.addFlagsCategory(
"Tracking.CosmicsPass",
503 createCosmicsTrackingPassFlags, prefix=
True)
504 icf.addFlagsCategory(
"Tracking.HeavyIonPass",
505 createHeavyIonTrackingPassFlags, prefix=
True)
506 icf.addFlagsCategory(
"Tracking.PixelPass",
507 createPixelTrackingPassFlags, prefix=
True)
508 icf.addFlagsCategory(
"Tracking.DisappearingPass",
509 createDisappearingTrackingPassFlags, prefix=
True)
510 icf.addFlagsCategory(
"Tracking.SCTPass",
511 createSCTTrackingPassFlags, prefix=
True)
512 icf.addFlagsCategory(
"Tracking.TRTPass",
513 createTRTTrackingPassFlags, prefix=
True)
514 icf.addFlagsCategory(
"Tracking.TRTStandalonePass",
515 createTRTStandaloneTrackingPassFlags, prefix=
True)
519 from TrkConfig.TrackingPassFlags
import (
520 createITkTrackingPassFlags, createITkLargeD0TrackingPassFlags,
521 createITkConversionTrackingPassFlags,
522 createITkFastTrackingPassFlags, createITkLargeD0FastTrackingPassFlags,
523 createITkFTFPassFlags, createITkFTFLargeD0PassFlags, createITkLowPtTrackingPassFlags,
524 createITkHeavyIonTrackingPassFlags)
526 def itkPrimaryPass(flags):
527 if flags.Tracking.useITkFTF:
528 return ITkPrimaryPassConfig.FTF
529 elif flags.Tracking.doITkFastTracking:
530 return ITkPrimaryPassConfig.FastTracking
531 elif flags.Reco.EnableHI:
532 return ITkPrimaryPassConfig.HeavyIon
534 return ITkPrimaryPassConfig.Default
536 icf.addFlag(
"Tracking.ITkPrimaryPassConfig",
lambda prevFlags:
537 itkPrimaryPass(prevFlags), type=ITkPrimaryPassConfig)
539 icf.addFlagsCategory (
"Tracking.ITkMainPass",
540 createITkTrackingPassFlags, prefix=
True)
541 icf.addFlagsCategory (
"Tracking.ITkLargeD0Pass",
542 createITkLargeD0TrackingPassFlags, prefix=
True)
543 icf.addFlagsCategory (
"Tracking.ITkConversionPass",
544 createITkConversionTrackingPassFlags, prefix=
True)
545 icf.addFlagsCategory (
"Tracking.ITkLowPtPass",
546 createITkLowPtTrackingPassFlags, prefix=
True)
547 icf.addFlagsCategory (
"Tracking.ITkFastPass",
548 createITkFastTrackingPassFlags, prefix=
True)
549 icf.addFlagsCategory (
"Tracking.ITkLargeD0FastPass",
550 createITkLargeD0FastTrackingPassFlags, prefix=
True)
551 icf.addFlagsCategory (
"Tracking.ITkFTFPass",
552 createITkFTFPassFlags, prefix=
True)
553 icf.addFlagsCategory (
"Tracking.ITkFTFLargeD0Pass",
554 createITkFTFLargeD0PassFlags, prefix=
True)
555 icf.addFlagsCategory (
"Tracking.ITkHeavyIonPass",
556 createITkHeavyIonTrackingPassFlags, prefix=
True)
559 from ActsConfig.ActsTrackingPassFlags
import (
560 createActsTrackingPassFlags,
561 createActsFastTrackingPassFlags,
562 createActsLargeRadiusTrackingPassFlags,
563 createActsConversionTrackingPassFlags,
564 createActsLowPtTrackingPassFlags,
565 createActsValidateClustersTrackingPassFlags,
566 createActsValidateSpacePointsTrackingPassFlags,
567 createActsValidateSeedsTrackingPassFlags,
568 createActsValidateConversionSeedsTrackingPassFlags,
569 createActsValidateLargeRadiusSeedsTrackingPassFlags,
570 createActsValidateTracksTrackingPassFlags,
571 createActsValidateAmbiguityResolutionTrackingPassFlags,
572 createActsHeavyIonTrackingPassFlags
575 icf.addFlagsCategory (
"Tracking.ITkActsPass",
576 createActsTrackingPassFlags, prefix=
True)
577 icf.addFlagsCategory (
"Tracking.ITkActsFastPass",
578 createActsFastTrackingPassFlags, prefix=
True)
579 icf.addFlagsCategory (
"Tracking.ITkActsLargeRadiusPass",
580 createActsLargeRadiusTrackingPassFlags, prefix=
True)
581 icf.addFlagsCategory (
'Tracking.ITkActsConversionPass',
582 createActsConversionTrackingPassFlags, prefix=
True)
583 icf.addFlagsCategory (
'Tracking.ITkActsLowPtPass',
584 createActsLowPtTrackingPassFlags, prefix=
True)
585 icf.addFlagsCategory (
"Tracking.ITkActsValidateClustersPass",
586 createActsValidateClustersTrackingPassFlags, prefix=
True)
587 icf.addFlagsCategory (
"Tracking.ITkActsValidateSpacePointsPass",
588 createActsValidateSpacePointsTrackingPassFlags, prefix=
True)
589 icf.addFlagsCategory (
"Tracking.ITkActsValidateSeedsPass",
590 createActsValidateSeedsTrackingPassFlags, prefix=
True)
591 icf.addFlagsCategory (
"Tracking.ITkActsValidateConversionSeedsPass",
592 createActsValidateConversionSeedsTrackingPassFlags, prefix=
True)
593 icf.addFlagsCategory (
"Tracking.ITkActsValidateLargeRadiusSeedsPass",
594 createActsValidateLargeRadiusSeedsTrackingPassFlags, prefix=
True)
595 icf.addFlagsCategory (
"Tracking.ITkActsValidateTracksPass",
596 createActsValidateTracksTrackingPassFlags, prefix=
True)
597 icf.addFlagsCategory (
"Tracking.ITkActsValidateAmbiguityResolutionPass",
598 createActsValidateAmbiguityResolutionTrackingPassFlags, prefix=
True)
599 icf.addFlagsCategory (
"Tracking.ITkActsHeavyIonPass",
600 createActsHeavyIonTrackingPassFlags, prefix=
True)
603 from InDetGNNTracking.InDetGNNTrackingFlags
import createGNNTrackingPassFlags
604 icf.addFlagsCategory (
"Tracking.ITkGNNPass",
605 createGNNTrackingPassFlags, prefix=
True)
607 from TrkConfig.InDetFPGATrackingFlags
import createFPGATrackingPassFlags
608 icf.addFlagsCategory (
"Tracking.ITkFPGAPass",
609 createFPGATrackingPassFlags, prefix=
True)
615 from TrkConfig.VertexFindingFlags
import createPriVertexingFlags
616 icf.addFlagsCategory(
"Tracking.PriVertex",
617 createPriVertexingFlags, prefix=
True)
620 icf.addFlag(
"Tracking.doVertexFinding",
621 lambda prevFlags: prevFlags.Beam.Type
is not BeamType.Cosmics)
623 icf.addFlag(
"Tracking.doV0Finder",
False)
625 icf.addFlag(
'Tracking.TruthClusterSplittingEff', 0.9)