64 icf = AthConfigFlags()
67 icf.addFlag(
"Tracking.doTruth",
lambda prevFlags: prevFlags.Input.isMC
or
68 (prevFlags.Common.ProductionStep
is not ProductionStep.MinbiasPreprocessing
and prevFlags.Overlay.DataOverlay))
71 icf.addFlag(
"Tracking.trackFitterType",
72 TrackFitterType.GlobalChi2Fitter, type=TrackFitterType)
74 icf.addFlag(
"Tracking.kalmanUpdator",
75 KalmanUpdatorType.KalmanUpdatorSMatrix, type=KalmanUpdatorType)
77 icf.addFlag(
"Tracking.materialInteractions",
lambda prevFlags:
78 prevFlags.Beam.Type
is not BeamType.SingleBeam)
81 icf.addFlag(
"Tracking.materialInteractionsType",
lambda prevFlags:
82 2
if prevFlags.Beam.Type
is BeamType.Cosmics
else 3)
85 icf.addFlag(
"Tracking.doBremRecovery",
lambda prevFlags: (
86 prevFlags.Detector.EnableCalo
and
87 not (prevFlags.Tracking.PrimaryPassConfig
in
88 [PrimaryPassConfig.VtxLumi, PrimaryPassConfig.VtxLumiHeavyIon, PrimaryPassConfig.VtxBeamSpot]
or
89 prevFlags.Tracking.doLowMu
or
90 prevFlags.Beam.Type
is not BeamType.Collisions
or
91 not prevFlags.BField.solenoidOn)))
92 icf.addFlag(
"Tracking.doCaloSeededBrem",
lambda prevFlags: (
93 prevFlags.Detector.EnableCalo
and prevFlags.Tracking.doBremRecovery))
94 icf.addFlag(
"Tracking.phiWidthBrem", 0.3)
95 icf.addFlag(
"Tracking.etaWidthBrem", 0.2)
97 icf.addFlag(
"Tracking.doHadCaloSeededSSS",
False)
99 icf.addFlag(
"Tracking.doCaloSeededAmbi",
lambda prevFlags:
100 prevFlags.Detector.EnableCalo)
102 icf.addFlag(
"Tracking.doSharedHits",
True)
104 icf.addFlag(
"Tracking.doTIDE_Ambi",
lambda prevFlags:
105 prevFlags.Beam.Type
is not BeamType.Cosmics)
107 icf.addFlag(
"Tracking.doPixelDigitalClustering",
lambda prevFlags:
108 prevFlags.GeoModel.Run >= LHCPeriod.Run4)
110 icf.addFlag(
"Tracking.doPixelClusterSplitting",
111 lambda prevFlags: prevFlags.Beam.Type
is not 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")
132 icf.addFlag(
"Tracking.ForwardTopoClusters",
134 prevFlags.Egamma.Keys.Internal.EgammaTopoClusters +
'Fwd'))
137 icf.addFlag(
"Tracking.perigeeExpression",
lambda prevFlags:
138 "Vertex" if (prevFlags.Tracking.PrimaryPassConfig
in [
139 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
140 prevFlags.Tracking.ITkPrimaryPassConfig
in [
141 ITkPrimaryPassConfig.HeavyIon, ITkPrimaryPassConfig.ActsHeavyIon]
146 icf.addFlag(
"Tracking.doEndcapEtaOverlapSpacePoint",
lambda prevFlags: prevFlags.ITk.doEndcapEtaNeighbour)
150 def doLargeD0(flags):
151 if flags.GeoModel.Run <= LHCPeriod.Run3:
152 return not ((flags.Beam.Type
in
153 [BeamType.SingleBeam, BeamType.Cosmics])
or
154 flags.Tracking.PrimaryPassConfig
in [
155 PrimaryPassConfig.HeavyIon,
156 PrimaryPassConfig.UPC,
157 PrimaryPassConfig.HIP,
158 PrimaryPassConfig.VtxLumi,
159 PrimaryPassConfig.VtxLumiHeavyIon,
160 PrimaryPassConfig.VtxBeamSpot,
161 PrimaryPassConfig.HighPileup])
165 icf.addFlag(
"Tracking.doLargeD0", doLargeD0)
166 icf.addFlag(
"Tracking.storeSeparateLargeD0Container",
True)
169 icf.addFlag(
"Tracking.storeBeamLineTrackParticles",
lambda prevFlags: prevFlags.Overlay.DataOverlay)
172 icf.addFlag(
"Tracking.doLowMu",
False)
174 icf.addFlag(
"Tracking.doLowPt",
175 lambda prevFlags: prevFlags.Tracking.doLowMu)
178 icf.addFlag(
"Tracking.doStoreTrackSeeds",
False)
180 icf.addFlag(
"Tracking.doStoreSiSPSeededTracks",
False)
182 icf.addFlag(
"Tracking.writeSeedValNtuple",
False)
184 icf.addFlag(
"Tracking.writeExtendedSi_PRDInfo",
False)
185 icf.addFlag(
"Tracking.writeExtendedTRT_PRDInfo",
False)
186 icf.addFlag(
"Tracking.PRDInfo.KeepOnlyOnTrackMeasurements",
False)
187 icf.addFlag(
"Tracking.writeExtendedHGTDInfo",
False)
191 icf.addFlag(
"Tracking.thinPixelClustersOnTrack",
False)
192 icf.addFlag(
"Tracking.thinSCTClustersOnTrack",
False)
193 icf.addFlag(
"Tracking.thinTRTClustersOnTrack",
False)
194 icf.addFlag(
"Tracking.thinInDetClustersOnTrack",
196 prevFlags.Tracking.thinPixelClustersOnTrack
or
197 prevFlags.Tracking.thinSCTClustersOnTrack
or
198 prevFlags.Tracking.thinTRTClustersOnTrack ))
201 icf.addFlag(
"Tracking.thinInDetClustersTrackContainers", [
"InDetTrackParticles"])
202 icf.addFlag(
"Tracking.thinInDetClustersPixelMSOSContainers", [
"PixelMSOSs"])
203 icf.addFlag(
"Tracking.thinInDetClustersSCTMSOSContainers", [
"SCT_MSOSs"])
204 icf.addFlag(
"Tracking.thinInDetClustersTRTMSOSContainers", [
"TRT_MSOSs"])
205 icf.addFlag(
"Tracking.thinInDetClustersSelectionStrings", [
"InDetTrackParticles.pt > (1*GeV)"])
208 icf.addFlag(
"Tracking.doSlimming",
lambda prevFlags:
209 not (prevFlags.Beam.Type
in
210 [BeamType.SingleBeam, BeamType.Cosmics]
or
211 prevFlags.Tracking.PrimaryPassConfig
in [
212 PrimaryPassConfig.VtxLumi,
213 PrimaryPassConfig.VtxLumiHeavyIon,
214 PrimaryPassConfig.VtxBeamSpot,
215 PrimaryPassConfig.HighPileup]))
222 icf.addFlag(
"Tracking.useNewParamTRT",
lambda prevFlags:
223 prevFlags.Tracking.PrimaryPassConfig
is not(
224 PrimaryPassConfig.HeavyIon))
227 icf.addFlag(
"Tracking.BackTracking.doRoISeeded",
lambda prevFlags:
228 prevFlags.Detector.EnableCalo
and not(
229 prevFlags.Tracking.doLowMu
or
230 prevFlags.Tracking.PrimaryPassConfig
is (
231 PrimaryPassConfig.HeavyIon)
or
232 prevFlags.Beam.Type
is BeamType.Cosmics
or
233 prevFlags.Tracking.doMinBias))
236 def BackTrackingMinPt(flags):
237 if flags.Tracking.doMinBias:
238 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
239 elif (flags.Tracking.doLowMu
or
240 flags.Tracking.PrimaryPassConfig
in [
241 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
242 flags.Beam.Type
is BeamType.Cosmics):
243 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
245 return 3.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
246 icf.addFlag(
"Tracking.BackTracking.minPt", BackTrackingMinPt)
247 icf.addFlag(
"Tracking.BackTracking.TRTSegFinderPtBins", 50)
248 icf.addFlag(
"Tracking.BackTracking.maxTRTSharedFrac", 0.7)
249 icf.addFlag(
"Tracking.BackTracking.maxSecondaryImpact", 100.0 * Units.mm)
250 icf.addFlag(
"Tracking.BackTracking.minClusters", 4)
251 icf.addFlag(
"Tracking.BackTracking.minSiNotShared", 4)
253 icf.addFlag(
"Tracking.BackTracking.maxShared", 1)
254 icf.addFlag(
"Tracking.BackTracking.minTRT",
lambda prevFlags:
255 10
if (prevFlags.Tracking.doLowMu
or
256 prevFlags.Tracking.PrimaryPassConfig
is (
257 PrimaryPassConfig.HeavyIon))
259 icf.addFlag(
"Tracking.BackTracking.minTRTPrecFrac",
lambda prevFlags:
260 0.
if (prevFlags.Tracking.doLowMu
or
261 prevFlags.Tracking.PrimaryPassConfig
is (
262 PrimaryPassConfig.HeavyIon))
265 icf.addFlag(
"Tracking.BackTracking.maxHoles",
lambda prevFlags:
266 2
if (prevFlags.Tracking.doLowMu
or
267 prevFlags.Tracking.PrimaryPassConfig
is (
268 PrimaryPassConfig.HeavyIon))
270 icf.addFlag(
"Tracking.BackTracking.maxPixelHoles",
lambda prevFlags:
271 2
if (prevFlags.Tracking.doLowMu
or
272 prevFlags.Tracking.PrimaryPassConfig
is (
273 PrimaryPassConfig.HeavyIon))
275 icf.addFlag(
"Tracking.BackTracking.maxSCTHoles",
lambda prevFlags:
276 2
if (prevFlags.Tracking.doLowMu
or
277 prevFlags.Tracking.PrimaryPassConfig
is (
278 PrimaryPassConfig.HeavyIon))
280 icf.addFlag(
"Tracking.BackTracking.maxDoubleHoles",
lambda prevFlags:
281 1
if (prevFlags.Tracking.doLowMu
or
282 prevFlags.Tracking.PrimaryPassConfig
is (
283 PrimaryPassConfig.HeavyIon))
285 icf.addFlag(
"Tracking.BackTracking.nHolesMax", 2)
286 icf.addFlag(
"Tracking.BackTracking.nHolesGapMax", 2)
289 icf.addFlag(
"Tracking.BackTracking.rejectShortExtensions",
lambda prevFlags:
290 not(prevFlags.Beam.Type
is BeamType.Cosmics
or
291 prevFlags.Tracking.doLowMu
or
292 prevFlags.Tracking.PrimaryPassConfig
is (
293 PrimaryPassConfig.HeavyIon)))
295 icf.addFlag(
"Tracking.BackTracking.SiExtensionCuts",
lambda prevFlags:
296 not(prevFlags.Tracking.doLowMu
or
297 prevFlags.Tracking.PrimaryPassConfig
is (
298 PrimaryPassConfig.HeavyIon)))
299 icf.addFlag(
"Tracking.BackTracking.minRoIClusterEt",
lambda prevFlags:
300 0.
if (prevFlags.Tracking.doLowMu
or
301 prevFlags.Tracking.PrimaryPassConfig
in [
302 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
303 prevFlags.Beam.Type
is BeamType.Cosmics
or
304 prevFlags.Tracking.doMinBias)
305 else 6.*Units.GeV * prevFlags.BField.configuredSolenoidFieldScale)
308 def TRTStandaloneMinPt(flags):
309 if flags.Tracking.doMinBias:
310 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
311 elif flags.Tracking.doLowMu
or (
312 flags.Tracking.PrimaryPassConfig
is PrimaryPassConfig.HeavyIon):
313 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
315 return 2.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
316 icf.addFlag(
"Tracking.TRTStandalone.minPt", TRTStandaloneMinPt)
317 icf.addFlag(
"Tracking.TRTStandalone.minTRTPrecFrac", 0.15)
318 icf.addFlag(
"Tracking.TRTStandalone.minTRT", 15)
321 icf.addFlag(
"Tracking.TRTStandalone.startAtOriginalPerigee",
323 (
not prevFlags.Input.isMC
and prevFlags.Input.DataYear >= 2025)
or
324 (prevFlags.Input.isMC
and prevFlags.Input.MCCampaign >= Campaign.MC23g)))
327 icf.addFlag(
"Tracking.doStats",
False)
329 icf.addFlag(
"Tracking.doTIDE_AmbiTrackMonitoring",
False)
331 icf.addFlag(
"Tracking.useBeamSpotInfoNN",
True)
333 icf.addFlag(
"Tracking.nnCutLargeD0Threshold", -1.0)
335 icf.addFlag(
"Tracking.useBroadPixClusterErrors",
False)
337 icf.addFlag(
"Tracking.useBroadSCTClusterErrors",
False)
342 icf.addFlag(
"Tracking.doTrackSegmentsPixel",
344 prevFlags.Detector.EnablePixel
and (
345 prevFlags.Tracking.doMinBias
or
346 prevFlags.Tracking.doLowMu
or
347 prevFlags.Beam.Type
is BeamType.Cosmics)))
349 icf.addFlag(
"Tracking.doTrackSegmentsSCT",
351 prevFlags.Detector.EnableSCT
and (
352 prevFlags.Tracking.doLowMu
or
353 prevFlags.Beam.Type
is BeamType.Cosmics)))
355 icf.addFlag(
"Tracking.doTrackSegmentsTRT",
357 prevFlags.Detector.EnableTRT
and
358 (prevFlags.Tracking.doLowMu
or
359 prevFlags.Beam.Type
is BeamType.Cosmics)))
361 icf.addFlag(
"Tracking.doTRTExtension",
362 lambda prevFlags: prevFlags.Detector.EnableTRT)
364 icf.addFlag(
"Tracking.doTRTSegments",
365 lambda prevFlags: (prevFlags.Detector.EnableTRT
and
366 (prevFlags.Tracking.doBackTracking
or
367 prevFlags.Tracking.doTRTStandalone)))
369 icf.addFlag(
"Tracking.doBackTracking",
lambda prevFlags: (
370 prevFlags.Detector.EnableTRT
and
371 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
372 prevFlags.Tracking.PrimaryPassConfig
in [
373 PrimaryPassConfig.HeavyIon,
374 PrimaryPassConfig.VtxLumi,
375 PrimaryPassConfig.VtxLumiHeavyIon,
376 PrimaryPassConfig.VtxBeamSpot,
377 PrimaryPassConfig.HighPileup])))
379 icf.addFlag(
"Tracking.doTRTStandalone",
lambda prevFlags: (
380 prevFlags.Detector.EnableTRT
and
381 not(prevFlags.Tracking.PrimaryPassConfig
in [
382 PrimaryPassConfig.HeavyIon,
383 PrimaryPassConfig.VtxLumi,
384 PrimaryPassConfig.VtxLumiHeavyIon,
385 PrimaryPassConfig.VtxBeamSpot,
386 PrimaryPassConfig.HighPileup])))
389 icf.addFlag(
"Tracking.doForwardTracks",
lambda prevFlags: (
390 prevFlags.Detector.EnablePixel
and
391 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
392 prevFlags.Tracking.PrimaryPassConfig
in [
393 PrimaryPassConfig.HeavyIon,
394 PrimaryPassConfig.VtxLumi,
395 PrimaryPassConfig.VtxLumiHeavyIon,
396 PrimaryPassConfig.VtxBeamSpot,
397 PrimaryPassConfig.HighPileup]
or
398 prevFlags.Tracking.doMinBias
or
399 prevFlags.Tracking.doLowMu)))
401 def doTrackSegmentsDisappearing(flags):
402 if flags.GeoModel.Run <= LHCPeriod.Run3:
403 return not((flags.Tracking.PrimaryPassConfig
is
404 PrimaryPassConfig.HeavyIon)
or
405 flags.Beam.Type
is BeamType.Cosmics)
408 icf.addFlag(
"Tracking.doTrackSegmentsDisappearing", doTrackSegmentsDisappearing)
411 icf.addFlag(
"Tracking.doVeryLowPt",
False)
413 icf.addFlag(
"Tracking.doLowPtLargeD0",
False)
415 icf.addFlag(
"Tracking.doLowPtRoI",
False)
417 icf.addFlag(
"Tracking.doUPC",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.UPC)
419 icf.addFlag(
"Tracking.doHIP",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.HIP)
421 icf.addFlag(
"Tracking.doMinBias",
lambda prevFlags:
422 prevFlags.Tracking.doUPC
or prevFlags.Tracking.doHIP)
424 icf.addFlag(
"Tracking.doBeamGas",
425 lambda prevFlags: prevFlags.Beam.Type
is BeamType.SingleBeam)
427 icf.addFlag(
"Tracking.doBLS",
False)
430 icf.addFlag(
"Tracking.doPseudoTracking",
False)
432 icf.addFlag(
"Tracking.doIdealPseudoTracking",
False)
439 icf.addFlag(
"Tracking.doITkFastTracking",
True)
442 icf.addFlag(
"Tracking.doITkConversion",
lambda prevFlags: (
443 not prevFlags.Tracking.doITkFastTracking
and prevFlags.Detector.EnableCalo))
447 icf.addFlag(
"Tracking.useITkFTF",
False)
450 from InDetGNNTracking.InDetGNNTrackingConfigFlags
import createGNNTrackingConfigFlags
451 icf.join(createGNNTrackingConfigFlags())
454 icf.addFlag(
"Tracking.recoChain",
lambda prevFlags:
455 [TrackingComponent.AthenaChain]
if prevFlags.GeoModel.Run <= LHCPeriod.Run3
456 else [TrackingComponent.ActsChain])
464 from TrkConfig.TrackingPassFlags
import (
465 createTrackingPassFlags, createHighPileupTrackingPassFlags,
466 createMinBiasTrackingPassFlags, createUPCTrackingPassFlags,
467 createHIPTrackingPassFlags, createR3LargeD0TrackingPassFlags,
468 createLowPtLargeD0TrackingPassFlags,
469 createLowPtTrackingPassFlags, createVeryLowPtTrackingPassFlags,
470 createLowPtRoITrackingPassFlags, createForwardTracksTrackingPassFlags,
471 createBeamGasTrackingPassFlags, createVtxLumiTrackingPassFlags, createVtxLumiHeavyIonTrackingPassFlags,
472 createVtxBeamSpotTrackingPassFlags, createCosmicsTrackingPassFlags,
473 createHeavyIonTrackingPassFlags, createPixelTrackingPassFlags,
474 createDisappearingTrackingPassFlags, createSCTTrackingPassFlags,
475 createTRTTrackingPassFlags, createTRTStandaloneTrackingPassFlags)
477 def primaryPass(flags):
478 if TrackingComponent.ActsChain
in flags.Tracking.recoChain:
479 return PrimaryPassConfig.Acts
480 if flags.Beam.Type
is BeamType.Cosmics:
481 return PrimaryPassConfig.Cosmics
482 elif flags.Reco.EnableHI:
483 if flags.Tracking.doUPC:
484 return PrimaryPassConfig.UPC
485 elif flags.Tracking.doHIP:
486 return PrimaryPassConfig.HIP
488 return PrimaryPassConfig.HeavyIon
489 elif flags.Tracking.doMinBias:
490 return PrimaryPassConfig.MinBias
492 return PrimaryPassConfig.Default
494 icf.addFlag(
"Tracking.PrimaryPassConfig",
lambda prevFlags:
495 primaryPass(prevFlags), type=PrimaryPassConfig)
498 icf.addFlagsCategory(
"Tracking.MainPass",
499 createTrackingPassFlags, prefix=
True)
500 icf.addFlagsCategory(
"Tracking.HighPileupPass",
501 createHighPileupTrackingPassFlags, prefix=
True)
502 icf.addFlagsCategory(
"Tracking.UPCPass",
503 createUPCTrackingPassFlags, prefix=
True)
504 icf.addFlagsCategory(
"Tracking.HIPPass",
505 createHIPTrackingPassFlags, prefix=
True)
506 icf.addFlagsCategory(
"Tracking.MinBiasPass",
507 createMinBiasTrackingPassFlags, prefix=
True)
508 icf.addFlagsCategory(
"Tracking.R3LargeD0Pass",
509 createR3LargeD0TrackingPassFlags, prefix=
True)
510 icf.addFlagsCategory(
"Tracking.LowPtLargeD0Pass",
511 createLowPtLargeD0TrackingPassFlags, prefix=
True)
512 icf.addFlagsCategory(
"Tracking.LowPtPass",
513 createLowPtTrackingPassFlags, prefix=
True)
514 icf.addFlagsCategory(
"Tracking.VeryLowPtPass",
515 createVeryLowPtTrackingPassFlags, prefix=
True)
516 icf.addFlagsCategory(
"Tracking.LowPtRoIPass",
517 createLowPtRoITrackingPassFlags, prefix=
True)
518 icf.addFlagsCategory(
"Tracking.ForwardPass",
519 createForwardTracksTrackingPassFlags, prefix=
True)
520 icf.addFlagsCategory(
"Tracking.BeamGasPass",
521 createBeamGasTrackingPassFlags, prefix=
True)
522 icf.addFlagsCategory(
"Tracking.VtxLumiPass",
523 createVtxLumiTrackingPassFlags, prefix=
True)
524 icf.addFlagsCategory(
"Tracking.VtxLumiHeavyIonPass",
525 createVtxLumiHeavyIonTrackingPassFlags, prefix=
True)
526 icf.addFlagsCategory(
"Tracking.VtxBeamSpotPass",
527 createVtxBeamSpotTrackingPassFlags, prefix=
True)
528 icf.addFlagsCategory(
"Tracking.CosmicsPass",
529 createCosmicsTrackingPassFlags, prefix=
True)
530 icf.addFlagsCategory(
"Tracking.HeavyIonPass",
531 createHeavyIonTrackingPassFlags, prefix=
True)
532 icf.addFlagsCategory(
"Tracking.PixelPass",
533 createPixelTrackingPassFlags, prefix=
True)
534 icf.addFlagsCategory(
"Tracking.DisappearingPass",
535 createDisappearingTrackingPassFlags, prefix=
True)
536 icf.addFlagsCategory(
"Tracking.SCTPass",
537 createSCTTrackingPassFlags, prefix=
True)
538 icf.addFlagsCategory(
"Tracking.TRTPass",
539 createTRTTrackingPassFlags, prefix=
True)
540 icf.addFlagsCategory(
"Tracking.TRTStandalonePass",
541 createTRTStandaloneTrackingPassFlags, prefix=
True)
545 from TrkConfig.TrackingPassFlags
import (
546 createITkTrackingPassFlags, createITkLargeD0TrackingPassFlags,
547 createITkConversionTrackingPassFlags,
548 createITkFastTrackingPassFlags, createITkLargeD0FastTrackingPassFlags,
549 createITkFTFPassFlags, createITkFTFLargeD0PassFlags, createITkLowPtTrackingPassFlags,
550 createITkHeavyIonTrackingPassFlags)
552 def itkPrimaryPass(flags):
553 if flags.Tracking.useITkFTF:
554 return ITkPrimaryPassConfig.FTF
555 elif TrackingComponent.ActsChain
in flags.Tracking.recoChain:
556 return ITkPrimaryPassConfig.Acts
557 elif TrackingComponent.ActsLegacyChain
in flags.Tracking.recoChain:
558 return ITkPrimaryPassConfig.ActsLegacy
559 elif TrackingComponent.ActsHeavyIon
in flags.Tracking.recoChain:
560 return ITkPrimaryPassConfig.ActsHeavyIon
561 elif flags.Tracking.doITkFastTracking:
562 return ITkPrimaryPassConfig.FastTracking
563 elif flags.Reco.EnableHI:
564 return ITkPrimaryPassConfig.HeavyIon
566 return ITkPrimaryPassConfig.Default
568 icf.addFlag(
"Tracking.ITkPrimaryPassConfig",
lambda prevFlags:
569 itkPrimaryPass(prevFlags), type=ITkPrimaryPassConfig)
571 icf.addFlagsCategory (
"Tracking.ITkMainPass",
572 createITkTrackingPassFlags, prefix=
True)
573 icf.addFlagsCategory (
"Tracking.ITkLargeD0Pass",
574 createITkLargeD0TrackingPassFlags, prefix=
True)
575 icf.addFlagsCategory (
"Tracking.ITkConversionPass",
576 createITkConversionTrackingPassFlags, prefix=
True)
577 icf.addFlagsCategory (
"Tracking.ITkLowPtPass",
578 createITkLowPtTrackingPassFlags, prefix=
True)
579 icf.addFlagsCategory (
"Tracking.ITkFastPass",
580 createITkFastTrackingPassFlags, prefix=
True)
581 icf.addFlagsCategory (
"Tracking.ITkLargeD0FastPass",
582 createITkLargeD0FastTrackingPassFlags, prefix=
True)
583 icf.addFlagsCategory (
"Tracking.ITkFTFPass",
584 createITkFTFPassFlags, prefix=
True)
585 icf.addFlagsCategory (
"Tracking.ITkFTFLargeD0Pass",
586 createITkFTFLargeD0PassFlags, prefix=
True)
587 icf.addFlagsCategory (
"Tracking.ITkHeavyIonPass",
588 createITkHeavyIonTrackingPassFlags, prefix=
True)
591 from ActsConfig.ActsTrackingPassFlags
import (
592 createActsTrackingPassFlags,
593 createActsLegacyTrackingPassFlags,
594 createActsLargeRadiusTrackingPassFlags,
595 createActsConversionTrackingPassFlags,
596 createActsLowPtTrackingPassFlags,
597 createActsHeavyIonTrackingPassFlags,
598 createEFValidateF100TrackingPassFlags,
599 createEFValidateF150TrackingPassFlags,
600 createACTSInnerDetectorTrackingPassFlags
603 icf.addFlagsCategory (
"Tracking.ITkActsPass",
604 createActsTrackingPassFlags, prefix=
True)
605 icf.addFlagsCategory (
"Tracking.ActsPass",
606 createACTSInnerDetectorTrackingPassFlags, prefix=
True)
607 icf.addFlagsCategory (
"Tracking.ITkActsLegacyPass",
608 createActsLegacyTrackingPassFlags, prefix=
True)
609 icf.addFlagsCategory (
"Tracking.ITkActsLargeRadiusPass",
610 createActsLargeRadiusTrackingPassFlags, prefix=
True)
611 icf.addFlagsCategory (
'Tracking.ITkActsConversionPass',
612 createActsConversionTrackingPassFlags, prefix=
True)
613 icf.addFlagsCategory (
'Tracking.ITkActsLowPtPass',
614 createActsLowPtTrackingPassFlags, prefix=
True)
615 icf.addFlagsCategory (
"Tracking.ITkActsHeavyIonPass",
616 createActsHeavyIonTrackingPassFlags, prefix=
True)
619 icf.addFlagsCategory (
"Tracking.ITkActsValidateF100Pass",
620 createEFValidateF100TrackingPassFlags, prefix=
True)
623 icf.addFlagsCategory (
"Tracking.ITkActsValidateF150Pass",
624 createEFValidateF150TrackingPassFlags, prefix=
True)
627 from InDetGNNTracking.InDetGNNTrackingFlags
import createGNNTrackingPassFlags
628 icf.addFlagsCategory (
"Tracking.ITkGNNPass",
629 createGNNTrackingPassFlags, prefix=
True)
631 from TrkConfig.InDetFPGATrackingFlags
import createFPGATrackingPassFlags
632 icf.addFlagsCategory (
"Tracking.ITkFPGAPass",
633 createFPGATrackingPassFlags, prefix=
True)
636 icf.addFlag(
"Tracking.StoreSlimmedDataPreparation",
False)
641 from TrkConfig.VertexFindingFlags
import createPriVertexingFlags
642 icf.addFlagsCategory(
"Tracking.PriVertex",
643 createPriVertexingFlags, prefix=
True)
646 icf.addFlag(
"Tracking.doVertexFinding",
647 lambda prevFlags: prevFlags.Beam.Type
is not BeamType.Cosmics)
649 icf.addFlag(
"Tracking.doV0Finder",
False)
651 icf.addFlag(
'Tracking.TruthClusterSplittingEff', 0.9)
654 icf.addFlag(
"Tracking.dumpGBTSTrainingData", 0)