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)
121 icf.addFlag(
"Tracking.useONNXPixelNN",
False)
124 icf.addFlag(
"Tracking.pixelNNONNXModelsFolder",
125 'ITkPixelClusterization/nn-01-01-01/')
127 icf.addFlag(
"Tracking.pixelClusterSplitProb1",
129 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.55))
131 icf.addFlag(
"Tracking.pixelClusterSplitProb2",
133 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.45))
135 icf.addFlag(
"Tracking.doSkipAmbiROI",
False)
138 icf.addFlag(
"Tracking.TopoClusters",
"CaloTopoClusters")
139 icf.addFlag(
"Tracking.EgammaTopoClusters",
"egammaTopoClusters")
140 icf.addFlag(
"Tracking.ForwardTopoClusters",
142 prevFlags.Egamma.Keys.Internal.EgammaTopoClusters +
'Fwd'))
145 icf.addFlag(
"Tracking.perigeeExpression",
lambda prevFlags:
146 "Vertex" if (prevFlags.Tracking.PrimaryPassConfig
in [
147 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
148 prevFlags.Tracking.ITkPrimaryPassConfig
in [
149 ITkPrimaryPassConfig.HeavyIon, ITkPrimaryPassConfig.ActsHeavyIon]
154 icf.addFlag(
"Tracking.doEndcapEtaOverlapSpacePoint",
lambda prevFlags: prevFlags.ITk.doEndcapEtaNeighbour)
158 def doLargeD0(flags):
159 if flags.GeoModel.Run <= LHCPeriod.Run3:
160 return not ((flags.Beam.Type
in
161 [BeamType.SingleBeam, BeamType.Cosmics])
or
162 flags.Tracking.PrimaryPassConfig
in [
163 PrimaryPassConfig.HeavyIon,
164 PrimaryPassConfig.UPC,
165 PrimaryPassConfig.HIP,
166 PrimaryPassConfig.VtxLumi,
167 PrimaryPassConfig.VtxLumiHeavyIon,
168 PrimaryPassConfig.VtxBeamSpot,
169 PrimaryPassConfig.HighPileup])
173 icf.addFlag(
"Tracking.doLargeD0", doLargeD0)
174 icf.addFlag(
"Tracking.storeSeparateLargeD0Container",
True)
177 icf.addFlag(
"Tracking.storeBeamLineTrackParticles",
lambda prevFlags: prevFlags.Overlay.DataOverlay)
180 icf.addFlag(
"Tracking.doLowMu",
False)
182 icf.addFlag(
"Tracking.doLowPt",
183 lambda prevFlags: prevFlags.Tracking.doLowMu)
186 icf.addFlag(
"Tracking.doStoreTrackSeeds",
False)
188 icf.addFlag(
"Tracking.doStoreSiSPSeededTracks",
False)
190 icf.addFlag(
"Tracking.writeSeedValNtuple",
False)
192 icf.addFlag(
"Tracking.writeExtendedSi_PRDInfo",
False)
193 icf.addFlag(
"Tracking.writeExtendedTRT_PRDInfo",
False)
194 icf.addFlag(
"Tracking.PRDInfo.KeepOnlyOnTrackMeasurements",
False)
195 icf.addFlag(
"Tracking.writeExtendedHGTDInfo",
False)
199 icf.addFlag(
"Tracking.thinPixelClustersOnTrack",
False)
200 icf.addFlag(
"Tracking.thinSCTClustersOnTrack",
False)
201 icf.addFlag(
"Tracking.thinTRTClustersOnTrack",
False)
202 icf.addFlag(
"Tracking.thinInDetClustersOnTrack",
204 prevFlags.Tracking.thinPixelClustersOnTrack
or
205 prevFlags.Tracking.thinSCTClustersOnTrack
or
206 prevFlags.Tracking.thinTRTClustersOnTrack ))
209 icf.addFlag(
"Tracking.thinInDetClustersTrackContainers", [
"InDetTrackParticles"])
210 icf.addFlag(
"Tracking.thinInDetClustersPixelMSOSContainers", [
"PixelMSOSs"])
211 icf.addFlag(
"Tracking.thinInDetClustersSCTMSOSContainers", [
"SCT_MSOSs"])
212 icf.addFlag(
"Tracking.thinInDetClustersTRTMSOSContainers", [
"TRT_MSOSs"])
213 icf.addFlag(
"Tracking.thinInDetClustersSelectionStrings", [
"InDetTrackParticles.pt > (1*GeV)"])
216 icf.addFlag(
"Tracking.doSlimming",
lambda prevFlags:
217 not (prevFlags.Beam.Type
in
218 [BeamType.SingleBeam, BeamType.Cosmics]
or
219 prevFlags.Tracking.PrimaryPassConfig
in [
220 PrimaryPassConfig.VtxLumi,
221 PrimaryPassConfig.VtxLumiHeavyIon,
222 PrimaryPassConfig.VtxBeamSpot,
223 PrimaryPassConfig.HighPileup]))
230 icf.addFlag(
"Tracking.useNewParamTRT",
lambda prevFlags:
231 prevFlags.Tracking.PrimaryPassConfig
is not(
232 PrimaryPassConfig.HeavyIon))
235 icf.addFlag(
"Tracking.BackTracking.doRoISeeded",
lambda prevFlags:
236 prevFlags.Detector.EnableCalo
and not(
237 prevFlags.Tracking.doLowMu
or
238 prevFlags.Tracking.PrimaryPassConfig
is (
239 PrimaryPassConfig.HeavyIon)
or
240 prevFlags.Beam.Type
is BeamType.Cosmics
or
241 prevFlags.Tracking.doMinBias))
244 def BackTrackingMinPt(flags):
245 if flags.Tracking.doMinBias:
246 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
247 elif (flags.Tracking.doLowMu
or
248 flags.Tracking.PrimaryPassConfig
in [
249 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
250 flags.Beam.Type
is BeamType.Cosmics):
251 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
253 return 3.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
254 icf.addFlag(
"Tracking.BackTracking.minPt", BackTrackingMinPt)
255 icf.addFlag(
"Tracking.BackTracking.TRTSegFinderPtBins", 50)
256 icf.addFlag(
"Tracking.BackTracking.maxTRTSharedFrac", 0.7)
257 icf.addFlag(
"Tracking.BackTracking.maxSecondaryImpact", 100.0 * Units.mm)
258 icf.addFlag(
"Tracking.BackTracking.minClusters", 4)
259 icf.addFlag(
"Tracking.BackTracking.minSiNotShared", 4)
261 icf.addFlag(
"Tracking.BackTracking.maxShared", 1)
262 icf.addFlag(
"Tracking.BackTracking.minTRT",
lambda prevFlags:
263 10
if (prevFlags.Tracking.doLowMu
or
264 prevFlags.Tracking.PrimaryPassConfig
is (
265 PrimaryPassConfig.HeavyIon))
267 icf.addFlag(
"Tracking.BackTracking.minTRTPrecFrac",
lambda prevFlags:
268 0.
if (prevFlags.Tracking.doLowMu
or
269 prevFlags.Tracking.PrimaryPassConfig
is (
270 PrimaryPassConfig.HeavyIon))
273 icf.addFlag(
"Tracking.BackTracking.maxHoles",
lambda prevFlags:
274 2
if (prevFlags.Tracking.doLowMu
or
275 prevFlags.Tracking.PrimaryPassConfig
is (
276 PrimaryPassConfig.HeavyIon))
278 icf.addFlag(
"Tracking.BackTracking.maxPixelHoles",
lambda prevFlags:
279 2
if (prevFlags.Tracking.doLowMu
or
280 prevFlags.Tracking.PrimaryPassConfig
is (
281 PrimaryPassConfig.HeavyIon))
283 icf.addFlag(
"Tracking.BackTracking.maxSCTHoles",
lambda prevFlags:
284 2
if (prevFlags.Tracking.doLowMu
or
285 prevFlags.Tracking.PrimaryPassConfig
is (
286 PrimaryPassConfig.HeavyIon))
288 icf.addFlag(
"Tracking.BackTracking.maxDoubleHoles",
lambda prevFlags:
289 1
if (prevFlags.Tracking.doLowMu
or
290 prevFlags.Tracking.PrimaryPassConfig
is (
291 PrimaryPassConfig.HeavyIon))
293 icf.addFlag(
"Tracking.BackTracking.nHolesMax", 2)
294 icf.addFlag(
"Tracking.BackTracking.nHolesGapMax", 2)
297 icf.addFlag(
"Tracking.BackTracking.rejectShortExtensions",
lambda prevFlags:
298 not(prevFlags.Beam.Type
is BeamType.Cosmics
or
299 prevFlags.Tracking.doLowMu
or
300 prevFlags.Tracking.PrimaryPassConfig
is (
301 PrimaryPassConfig.HeavyIon)))
303 icf.addFlag(
"Tracking.BackTracking.SiExtensionCuts",
lambda prevFlags:
304 not(prevFlags.Tracking.doLowMu
or
305 prevFlags.Tracking.PrimaryPassConfig
is (
306 PrimaryPassConfig.HeavyIon)))
307 icf.addFlag(
"Tracking.BackTracking.minRoIClusterEt",
lambda prevFlags:
308 0.
if (prevFlags.Tracking.doLowMu
or
309 prevFlags.Tracking.PrimaryPassConfig
in [
310 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
311 prevFlags.Beam.Type
is BeamType.Cosmics
or
312 prevFlags.Tracking.doMinBias)
313 else 6.*Units.GeV * prevFlags.BField.configuredSolenoidFieldScale)
316 def TRTStandaloneMinPt(flags):
317 if flags.Tracking.doMinBias:
318 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
319 elif flags.Tracking.doLowMu
or (
320 flags.Tracking.PrimaryPassConfig
is PrimaryPassConfig.HeavyIon):
321 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
323 return 2.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
324 icf.addFlag(
"Tracking.TRTStandalone.minPt", TRTStandaloneMinPt)
325 icf.addFlag(
"Tracking.TRTStandalone.minTRTPrecFrac", 0.15)
326 icf.addFlag(
"Tracking.TRTStandalone.minTRT", 15)
329 icf.addFlag(
"Tracking.TRTStandalone.startAtOriginalPerigee",
331 (
not prevFlags.Input.isMC
and prevFlags.Input.DataYear >= 2025)
or
332 (prevFlags.Input.isMC
and prevFlags.Input.MCCampaign >= Campaign.MC23g)))
335 icf.addFlag(
"Tracking.doStats",
False)
337 icf.addFlag(
"Tracking.doTIDE_AmbiTrackMonitoring",
False)
339 icf.addFlag(
"Tracking.useBeamSpotInfoNN",
True)
341 icf.addFlag(
"Tracking.nnCutLargeD0Threshold", -1.0)
343 icf.addFlag(
"Tracking.useBroadPixClusterErrors",
False)
345 icf.addFlag(
"Tracking.useBroadSCTClusterErrors",
False)
350 icf.addFlag(
"Tracking.doTrackSegmentsPixel",
352 prevFlags.Detector.EnablePixel
and (
353 prevFlags.Tracking.doMinBias
or
354 prevFlags.Tracking.doLowMu
or
355 prevFlags.Beam.Type
is BeamType.Cosmics)))
357 icf.addFlag(
"Tracking.doTrackSegmentsSCT",
359 prevFlags.Detector.EnableSCT
and (
360 prevFlags.Tracking.doLowMu
or
361 prevFlags.Beam.Type
is BeamType.Cosmics)))
363 icf.addFlag(
"Tracking.doTrackSegmentsTRT",
365 prevFlags.Detector.EnableTRT
and
366 (prevFlags.Tracking.doLowMu
or
367 prevFlags.Beam.Type
is BeamType.Cosmics)))
369 icf.addFlag(
"Tracking.doTRTExtension",
370 lambda prevFlags: prevFlags.Detector.EnableTRT)
372 icf.addFlag(
"Tracking.doTRTSegments",
373 lambda prevFlags: (prevFlags.Detector.EnableTRT
and
374 (prevFlags.Tracking.doBackTracking
or
375 prevFlags.Tracking.doTRTStandalone)))
377 icf.addFlag(
"Tracking.doBackTracking",
lambda prevFlags: (
378 prevFlags.Detector.EnableTRT
and
379 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
380 prevFlags.Tracking.PrimaryPassConfig
in [
381 PrimaryPassConfig.HeavyIon,
382 PrimaryPassConfig.VtxLumi,
383 PrimaryPassConfig.VtxLumiHeavyIon,
384 PrimaryPassConfig.VtxBeamSpot,
385 PrimaryPassConfig.HighPileup])))
387 icf.addFlag(
"Tracking.doTRTStandalone",
lambda prevFlags: (
388 prevFlags.Detector.EnableTRT
and
389 not(prevFlags.Tracking.PrimaryPassConfig
in [
390 PrimaryPassConfig.HeavyIon,
391 PrimaryPassConfig.VtxLumi,
392 PrimaryPassConfig.VtxLumiHeavyIon,
393 PrimaryPassConfig.VtxBeamSpot,
394 PrimaryPassConfig.HighPileup])))
397 icf.addFlag(
"Tracking.doForwardTracks",
lambda prevFlags: (
398 prevFlags.Detector.EnablePixel
and
399 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
400 prevFlags.Tracking.PrimaryPassConfig
in [
401 PrimaryPassConfig.HeavyIon,
402 PrimaryPassConfig.VtxLumi,
403 PrimaryPassConfig.VtxLumiHeavyIon,
404 PrimaryPassConfig.VtxBeamSpot,
405 PrimaryPassConfig.HighPileup]
or
406 prevFlags.Tracking.doMinBias
or
407 prevFlags.Tracking.doLowMu)))
409 def doTrackSegmentsDisappearing(flags):
410 if flags.GeoModel.Run <= LHCPeriod.Run3:
411 return not((flags.Tracking.PrimaryPassConfig
is
412 PrimaryPassConfig.HeavyIon)
or
413 flags.Beam.Type
is BeamType.Cosmics)
416 icf.addFlag(
"Tracking.doTrackSegmentsDisappearing", doTrackSegmentsDisappearing)
419 icf.addFlag(
"Tracking.doVeryLowPt",
False)
421 icf.addFlag(
"Tracking.doLowPtLargeD0",
False)
423 icf.addFlag(
"Tracking.doLowPtRoI",
False)
425 icf.addFlag(
"Tracking.doUPC",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.UPC)
427 icf.addFlag(
"Tracking.doHIP",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.HIP)
429 icf.addFlag(
"Tracking.doMinBias",
lambda prevFlags:
430 prevFlags.Tracking.doUPC
or prevFlags.Tracking.doHIP)
432 icf.addFlag(
"Tracking.doBeamGas",
433 lambda prevFlags: prevFlags.Beam.Type
is BeamType.SingleBeam)
435 icf.addFlag(
"Tracking.doBLS",
False)
438 icf.addFlag(
"Tracking.doPseudoTracking",
False)
440 icf.addFlag(
"Tracking.doIdealPseudoTracking",
False)
447 icf.addFlag(
"Tracking.doITkFastTracking",
True)
450 icf.addFlag(
"Tracking.doITkConversion",
lambda prevFlags: (
451 not prevFlags.Tracking.doITkFastTracking
and prevFlags.Detector.EnableCalo))
455 icf.addFlag(
"Tracking.useITkFTF",
False)
458 from InDetGNNTracking.InDetGNNTrackingConfigFlags
import createGNNTrackingConfigFlags
459 icf.join(createGNNTrackingConfigFlags())
462 icf.addFlag(
"Tracking.recoChain",
lambda prevFlags:
463 [TrackingComponent.AthenaChain]
if prevFlags.GeoModel.Run <= LHCPeriod.Run3
464 else [TrackingComponent.ActsChain])
472 from TrkConfig.TrackingPassFlags
import (
473 createTrackingPassFlags, createHighPileupTrackingPassFlags,
474 createMinBiasTrackingPassFlags, createUPCTrackingPassFlags,
475 createHIPTrackingPassFlags, createR3LargeD0TrackingPassFlags,
476 createLowPtLargeD0TrackingPassFlags,
477 createLowPtTrackingPassFlags, createVeryLowPtTrackingPassFlags,
478 createLowPtRoITrackingPassFlags, createForwardTracksTrackingPassFlags,
479 createBeamGasTrackingPassFlags, createVtxLumiTrackingPassFlags, createVtxLumiHeavyIonTrackingPassFlags,
480 createVtxBeamSpotTrackingPassFlags, createCosmicsTrackingPassFlags,
481 createHeavyIonTrackingPassFlags, createPixelTrackingPassFlags,
482 createDisappearingTrackingPassFlags, createSCTTrackingPassFlags,
483 createTRTTrackingPassFlags, createTRTStandaloneTrackingPassFlags)
485 def primaryPass(flags):
486 if TrackingComponent.ActsChain
in flags.Tracking.recoChain:
487 return PrimaryPassConfig.Acts
488 if flags.Beam.Type
is BeamType.Cosmics:
489 return PrimaryPassConfig.Cosmics
490 elif flags.Reco.EnableHI:
491 if flags.Tracking.doUPC:
492 return PrimaryPassConfig.UPC
493 elif flags.Tracking.doHIP:
494 return PrimaryPassConfig.HIP
496 return PrimaryPassConfig.HeavyIon
497 elif flags.Tracking.doMinBias:
498 return PrimaryPassConfig.MinBias
500 return PrimaryPassConfig.Default
502 icf.addFlag(
"Tracking.PrimaryPassConfig",
lambda prevFlags:
503 primaryPass(prevFlags), type=PrimaryPassConfig)
506 icf.addFlagsCategory(
"Tracking.MainPass",
507 createTrackingPassFlags, prefix=
True)
508 icf.addFlagsCategory(
"Tracking.HighPileupPass",
509 createHighPileupTrackingPassFlags, prefix=
True)
510 icf.addFlagsCategory(
"Tracking.UPCPass",
511 createUPCTrackingPassFlags, prefix=
True)
512 icf.addFlagsCategory(
"Tracking.HIPPass",
513 createHIPTrackingPassFlags, prefix=
True)
514 icf.addFlagsCategory(
"Tracking.MinBiasPass",
515 createMinBiasTrackingPassFlags, prefix=
True)
516 icf.addFlagsCategory(
"Tracking.R3LargeD0Pass",
517 createR3LargeD0TrackingPassFlags, prefix=
True)
518 icf.addFlagsCategory(
"Tracking.LowPtLargeD0Pass",
519 createLowPtLargeD0TrackingPassFlags, prefix=
True)
520 icf.addFlagsCategory(
"Tracking.LowPtPass",
521 createLowPtTrackingPassFlags, prefix=
True)
522 icf.addFlagsCategory(
"Tracking.VeryLowPtPass",
523 createVeryLowPtTrackingPassFlags, prefix=
True)
524 icf.addFlagsCategory(
"Tracking.LowPtRoIPass",
525 createLowPtRoITrackingPassFlags, prefix=
True)
526 icf.addFlagsCategory(
"Tracking.ForwardPass",
527 createForwardTracksTrackingPassFlags, prefix=
True)
528 icf.addFlagsCategory(
"Tracking.BeamGasPass",
529 createBeamGasTrackingPassFlags, prefix=
True)
530 icf.addFlagsCategory(
"Tracking.VtxLumiPass",
531 createVtxLumiTrackingPassFlags, prefix=
True)
532 icf.addFlagsCategory(
"Tracking.VtxLumiHeavyIonPass",
533 createVtxLumiHeavyIonTrackingPassFlags, prefix=
True)
534 icf.addFlagsCategory(
"Tracking.VtxBeamSpotPass",
535 createVtxBeamSpotTrackingPassFlags, prefix=
True)
536 icf.addFlagsCategory(
"Tracking.CosmicsPass",
537 createCosmicsTrackingPassFlags, prefix=
True)
538 icf.addFlagsCategory(
"Tracking.HeavyIonPass",
539 createHeavyIonTrackingPassFlags, prefix=
True)
540 icf.addFlagsCategory(
"Tracking.PixelPass",
541 createPixelTrackingPassFlags, prefix=
True)
542 icf.addFlagsCategory(
"Tracking.DisappearingPass",
543 createDisappearingTrackingPassFlags, prefix=
True)
544 icf.addFlagsCategory(
"Tracking.SCTPass",
545 createSCTTrackingPassFlags, prefix=
True)
546 icf.addFlagsCategory(
"Tracking.TRTPass",
547 createTRTTrackingPassFlags, prefix=
True)
548 icf.addFlagsCategory(
"Tracking.TRTStandalonePass",
549 createTRTStandaloneTrackingPassFlags, prefix=
True)
553 from TrkConfig.TrackingPassFlags
import (
554 createITkTrackingPassFlags, createITkLargeD0TrackingPassFlags,
555 createITkConversionTrackingPassFlags,
556 createITkFastTrackingPassFlags, createITkLargeD0FastTrackingPassFlags,
557 createITkFTFPassFlags, createITkFTFLargeD0PassFlags, createITkLowPtTrackingPassFlags,
558 createITkHeavyIonTrackingPassFlags)
560 def itkPrimaryPass(flags):
561 if flags.Tracking.useITkFTF:
562 return ITkPrimaryPassConfig.FTF
563 elif TrackingComponent.ActsChain
in flags.Tracking.recoChain:
564 return ITkPrimaryPassConfig.Acts
565 elif TrackingComponent.ActsLegacyChain
in flags.Tracking.recoChain:
566 return ITkPrimaryPassConfig.ActsLegacy
567 elif TrackingComponent.ActsHeavyIon
in flags.Tracking.recoChain:
568 return ITkPrimaryPassConfig.ActsHeavyIon
569 elif flags.Tracking.doITkFastTracking:
570 return ITkPrimaryPassConfig.FastTracking
571 elif flags.Reco.EnableHI:
572 return ITkPrimaryPassConfig.HeavyIon
574 return ITkPrimaryPassConfig.Default
576 icf.addFlag(
"Tracking.ITkPrimaryPassConfig",
lambda prevFlags:
577 itkPrimaryPass(prevFlags), type=ITkPrimaryPassConfig)
579 icf.addFlagsCategory (
"Tracking.ITkMainPass",
580 createITkTrackingPassFlags, prefix=
True)
581 icf.addFlagsCategory (
"Tracking.ITkLargeD0Pass",
582 createITkLargeD0TrackingPassFlags, prefix=
True)
583 icf.addFlagsCategory (
"Tracking.ITkConversionPass",
584 createITkConversionTrackingPassFlags, prefix=
True)
585 icf.addFlagsCategory (
"Tracking.ITkLowPtPass",
586 createITkLowPtTrackingPassFlags, prefix=
True)
587 icf.addFlagsCategory (
"Tracking.ITkFastPass",
588 createITkFastTrackingPassFlags, prefix=
True)
589 icf.addFlagsCategory (
"Tracking.ITkLargeD0FastPass",
590 createITkLargeD0FastTrackingPassFlags, prefix=
True)
591 icf.addFlagsCategory (
"Tracking.ITkFTFPass",
592 createITkFTFPassFlags, prefix=
True)
593 icf.addFlagsCategory (
"Tracking.ITkFTFLargeD0Pass",
594 createITkFTFLargeD0PassFlags, prefix=
True)
595 icf.addFlagsCategory (
"Tracking.ITkHeavyIonPass",
596 createITkHeavyIonTrackingPassFlags, prefix=
True)
599 from ActsConfig.ActsTrackingPassFlags
import (
600 createActsTrackingPassFlags,
601 createActsLegacyTrackingPassFlags,
602 createActsLargeRadiusTrackingPassFlags,
603 createActsConversionTrackingPassFlags,
604 createActsLowPtTrackingPassFlags,
605 createActsHeavyIonTrackingPassFlags,
606 createEFValidateF100TrackingPassFlags,
607 createEFValidateF150TrackingPassFlags,
608 createACTSInnerDetectorTrackingPassFlags
611 icf.addFlagsCategory (
"Tracking.ITkActsPass",
612 createActsTrackingPassFlags, prefix=
True)
613 icf.addFlagsCategory (
"Tracking.ActsPass",
614 createACTSInnerDetectorTrackingPassFlags, prefix=
True)
615 icf.addFlagsCategory (
"Tracking.ITkActsLegacyPass",
616 createActsLegacyTrackingPassFlags, prefix=
True)
617 icf.addFlagsCategory (
"Tracking.ITkActsLargeRadiusPass",
618 createActsLargeRadiusTrackingPassFlags, prefix=
True)
619 icf.addFlagsCategory (
'Tracking.ITkActsConversionPass',
620 createActsConversionTrackingPassFlags, prefix=
True)
621 icf.addFlagsCategory (
'Tracking.ITkActsLowPtPass',
622 createActsLowPtTrackingPassFlags, prefix=
True)
623 icf.addFlagsCategory (
"Tracking.ITkActsHeavyIonPass",
624 createActsHeavyIonTrackingPassFlags, prefix=
True)
627 icf.addFlagsCategory (
"Tracking.ITkActsValidateF100Pass",
628 createEFValidateF100TrackingPassFlags, prefix=
True)
631 icf.addFlagsCategory (
"Tracking.ITkActsValidateF150Pass",
632 createEFValidateF150TrackingPassFlags, prefix=
True)
635 from InDetGNNTracking.InDetGNNTrackingFlags
import createGNNTrackingPassFlags
636 icf.addFlagsCategory (
"Tracking.ITkGNNPass",
637 createGNNTrackingPassFlags, prefix=
True)
639 from TrkConfig.InDetFPGATrackingFlags
import createFPGATrackingPassFlags
640 icf.addFlagsCategory (
"Tracking.ITkFPGAPass",
641 createFPGATrackingPassFlags, prefix=
True)
644 icf.addFlag(
"Tracking.StoreSlimmedDataPreparation",
False)
649 from TrkConfig.VertexFindingFlags
import createPriVertexingFlags
650 icf.addFlagsCategory(
"Tracking.PriVertex",
651 createPriVertexingFlags, prefix=
True)
654 icf.addFlag(
"Tracking.doVertexFinding",
655 lambda prevFlags: prevFlags.Beam.Type
is not BeamType.Cosmics)
657 icf.addFlag(
"Tracking.doV0Finder",
False)
659 icf.addFlag(
'Tracking.TruthClusterSplittingEff', 0.9)
662 icf.addFlag(
"Tracking.dumpGBTSTrainingData", 0)