65 icf = AthConfigFlags()
68 icf.addFlag(
"Tracking.doTruth",
lambda prevFlags: prevFlags.Input.isMC
or
69 (prevFlags.Common.ProductionStep
is not ProductionStep.MinbiasPreprocessing
and prevFlags.Overlay.DataOverlay))
72 icf.addFlag(
"Tracking.trackFitterType",
73 TrackFitterType.GlobalChi2Fitter, type=TrackFitterType)
75 icf.addFlag(
"Tracking.kalmanUpdator",
76 KalmanUpdatorType.KalmanUpdatorSMatrix, type=KalmanUpdatorType)
78 icf.addFlag(
"Tracking.materialInteractions",
lambda prevFlags:
79 prevFlags.Beam.Type
is not BeamType.SingleBeam)
82 icf.addFlag(
"Tracking.materialInteractionsType",
lambda prevFlags:
83 2
if prevFlags.Beam.Type
is BeamType.Cosmics
else 3)
86 icf.addFlag(
"Tracking.doBremRecovery",
lambda prevFlags: (
87 prevFlags.Detector.EnableCalo
and
88 not (prevFlags.Tracking.PrimaryPassConfig
in
89 [PrimaryPassConfig.VtxLumi, PrimaryPassConfig.VtxLumiHeavyIon, PrimaryPassConfig.VtxBeamSpot]
or
90 prevFlags.Tracking.doLowMu
or
91 prevFlags.Beam.Type
is not BeamType.Collisions
or
92 not prevFlags.BField.solenoidOn)))
93 icf.addFlag(
"Tracking.doCaloSeededBrem",
lambda prevFlags: (
94 prevFlags.Detector.EnableCalo
and prevFlags.Tracking.doBremRecovery))
95 icf.addFlag(
"Tracking.phiWidthBrem", 0.3)
96 icf.addFlag(
"Tracking.etaWidthBrem", 0.2)
98 icf.addFlag(
"Tracking.doHadCaloSeededSSS",
False)
100 icf.addFlag(
"Tracking.doCaloSeededAmbi",
lambda prevFlags:
101 prevFlags.Detector.EnableCalo)
103 icf.addFlag(
"Tracking.doSharedHits",
True)
105 icf.addFlag(
"Tracking.doTIDE_Ambi",
lambda prevFlags:
106 prevFlags.Beam.Type
is not BeamType.Cosmics)
108 icf.addFlag(
"Tracking.doPixelDigitalClustering",
lambda prevFlags:
109 prevFlags.GeoModel.Run >= LHCPeriod.Run4)
111 icf.addFlag(
"Tracking.doPixelClusterSplitting",
112 lambda prevFlags: prevFlags.Beam.Type
is not BeamType.Cosmics)
114 icf.addFlag(
"Tracking.pixelClusterSplittingType",
lambda prevFlags:
115 PixelClusterSplittingType.NeuralNet
116 if prevFlags.GeoModel.Run <= LHCPeriod.Run3
117 else PixelClusterSplittingType.Truth,
118 type=PixelClusterSplittingType)
122 icf.addFlag(
"Tracking.useONNXPixelNN",
False)
125 icf.addFlag(
"Tracking.pixelNNONNXModelsFolder",
126 'ITkPixelClusterization/nn-01-01-01/')
128 icf.addFlag(
"Tracking.pixelClusterSplitProb1",
130 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.55))
132 icf.addFlag(
"Tracking.pixelClusterSplitProb2",
134 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.45))
136 icf.addFlag(
"Tracking.doSkipAmbiROI",
False)
139 icf.addFlag(
"Tracking.TopoClusters",
"CaloTopoClusters")
140 icf.addFlag(
"Tracking.EgammaTopoClusters",
"egammaTopoClusters")
141 icf.addFlag(
"Tracking.ForwardTopoClusters",
143 prevFlags.Egamma.Keys.Internal.EgammaTopoClusters +
'Fwd'))
146 def perigeeExpression(flags):
147 if (flags.Tracking.PrimaryPassConfig
in [
148 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
149 flags.Tracking.ITkPrimaryPassConfig
in [
150 ITkPrimaryPassConfig.HeavyIon, ITkPrimaryPassConfig.ActsHeavyIon]):
151 return PerigeeExpression.Vertex
152 if flags.Beam.Type
is BeamType.Cosmics:
153 return PerigeeExpression.Origin
155 return PerigeeExpression.BeamLine
156 icf.addFlag(
"Tracking.perigeeExpression", perigeeExpression)
159 icf.addFlag(
"Tracking.doEndcapEtaOverlapSpacePoint",
lambda prevFlags: prevFlags.ITk.doEndcapEtaNeighbour)
163 def doLargeD0(flags):
164 if flags.GeoModel.Run <= LHCPeriod.Run3:
165 return not ((flags.Beam.Type
in
166 [BeamType.SingleBeam, BeamType.Cosmics])
or
167 flags.Tracking.PrimaryPassConfig
in [
168 PrimaryPassConfig.HeavyIon,
169 PrimaryPassConfig.UPC,
170 PrimaryPassConfig.HIP,
171 PrimaryPassConfig.VtxLumi,
172 PrimaryPassConfig.VtxLumiHeavyIon,
173 PrimaryPassConfig.VtxBeamSpot,
174 PrimaryPassConfig.HighPileup])
178 icf.addFlag(
"Tracking.doLargeD0", doLargeD0)
179 icf.addFlag(
"Tracking.storeSeparateLargeD0Container",
True)
182 icf.addFlag(
"Tracking.storeBeamLineTrackParticles",
lambda prevFlags: prevFlags.Overlay.DataOverlay)
185 icf.addFlag(
"Tracking.doLowMu",
False)
187 icf.addFlag(
"Tracking.doLowPt",
188 lambda prevFlags: prevFlags.Tracking.doLowMu)
191 icf.addFlag(
"Tracking.doStoreTrackSeeds",
False)
193 icf.addFlag(
"Tracking.doStoreSiSPSeededTracks",
False)
195 icf.addFlag(
"Tracking.writeSeedValNtuple",
False)
197 icf.addFlag(
"Tracking.writeExtendedSi_PRDInfo",
False)
198 icf.addFlag(
"Tracking.writeExtendedTRT_PRDInfo",
False)
199 icf.addFlag(
"Tracking.PRDInfo.KeepOnlyOnTrackMeasurements",
False)
200 icf.addFlag(
"Tracking.writeExtendedHGTDInfo",
False)
204 icf.addFlag(
"Tracking.thinPixelClustersOnTrack",
False)
205 icf.addFlag(
"Tracking.thinSCTClustersOnTrack",
False)
206 icf.addFlag(
"Tracking.thinTRTClustersOnTrack",
False)
207 icf.addFlag(
"Tracking.thinInDetClustersOnTrack",
209 prevFlags.Tracking.thinPixelClustersOnTrack
or
210 prevFlags.Tracking.thinSCTClustersOnTrack
or
211 prevFlags.Tracking.thinTRTClustersOnTrack ))
214 icf.addFlag(
"Tracking.thinInDetClustersTrackContainers", [
"InDetTrackParticles"])
215 icf.addFlag(
"Tracking.thinInDetClustersPixelMSOSContainers", [
"PixelMSOSs"])
216 icf.addFlag(
"Tracking.thinInDetClustersSCTMSOSContainers", [
"SCT_MSOSs"])
217 icf.addFlag(
"Tracking.thinInDetClustersTRTMSOSContainers", [
"TRT_MSOSs"])
218 icf.addFlag(
"Tracking.thinInDetClustersSelectionStrings", [
"InDetTrackParticles.pt > (1*GeV)"])
221 icf.addFlag(
"Tracking.doSlimming",
lambda prevFlags:
222 not (prevFlags.Beam.Type
in
223 [BeamType.SingleBeam, BeamType.Cosmics]
or
224 prevFlags.Tracking.PrimaryPassConfig
in [
225 PrimaryPassConfig.VtxLumi,
226 PrimaryPassConfig.VtxLumiHeavyIon,
227 PrimaryPassConfig.VtxBeamSpot,
228 PrimaryPassConfig.HighPileup]))
235 icf.addFlag(
"Tracking.useNewParamTRT",
lambda prevFlags:
236 prevFlags.Tracking.PrimaryPassConfig
is not(
237 PrimaryPassConfig.HeavyIon))
240 icf.addFlag(
"Tracking.BackTracking.doRoISeeded",
lambda prevFlags:
241 prevFlags.Detector.EnableCalo
and not(
242 prevFlags.Tracking.doLowMu
or
243 prevFlags.Tracking.PrimaryPassConfig
is (
244 PrimaryPassConfig.HeavyIon)
or
245 prevFlags.Beam.Type
is BeamType.Cosmics
or
246 prevFlags.Tracking.doMinBias))
249 def BackTrackingMinPt(flags):
250 if flags.Tracking.doMinBias:
251 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
252 elif (flags.Tracking.doLowMu
or
253 flags.Tracking.PrimaryPassConfig
in [
254 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
255 flags.Beam.Type
is BeamType.Cosmics):
256 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
258 return 3.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
259 icf.addFlag(
"Tracking.BackTracking.minPt", BackTrackingMinPt)
260 icf.addFlag(
"Tracking.BackTracking.TRTSegFinderPtBins", 50)
261 icf.addFlag(
"Tracking.BackTracking.maxTRTSharedFrac", 0.7)
262 icf.addFlag(
"Tracking.BackTracking.maxSecondaryImpact", 100.0 * Units.mm)
263 icf.addFlag(
"Tracking.BackTracking.minClusters", 4)
264 icf.addFlag(
"Tracking.BackTracking.minSiNotShared", 4)
266 icf.addFlag(
"Tracking.BackTracking.maxShared", 1)
267 icf.addFlag(
"Tracking.BackTracking.minTRT",
lambda prevFlags:
268 10
if (prevFlags.Tracking.doLowMu
or
269 prevFlags.Tracking.PrimaryPassConfig
is (
270 PrimaryPassConfig.HeavyIon))
272 icf.addFlag(
"Tracking.BackTracking.minTRTPrecFrac",
lambda prevFlags:
273 0.
if (prevFlags.Tracking.doLowMu
or
274 prevFlags.Tracking.PrimaryPassConfig
is (
275 PrimaryPassConfig.HeavyIon))
278 icf.addFlag(
"Tracking.BackTracking.maxHoles",
lambda prevFlags:
279 2
if (prevFlags.Tracking.doLowMu
or
280 prevFlags.Tracking.PrimaryPassConfig
is (
281 PrimaryPassConfig.HeavyIon))
283 icf.addFlag(
"Tracking.BackTracking.maxPixelHoles",
lambda prevFlags:
284 2
if (prevFlags.Tracking.doLowMu
or
285 prevFlags.Tracking.PrimaryPassConfig
is (
286 PrimaryPassConfig.HeavyIon))
288 icf.addFlag(
"Tracking.BackTracking.maxSCTHoles",
lambda prevFlags:
289 2
if (prevFlags.Tracking.doLowMu
or
290 prevFlags.Tracking.PrimaryPassConfig
is (
291 PrimaryPassConfig.HeavyIon))
293 icf.addFlag(
"Tracking.BackTracking.maxDoubleHoles",
lambda prevFlags:
294 1
if (prevFlags.Tracking.doLowMu
or
295 prevFlags.Tracking.PrimaryPassConfig
is (
296 PrimaryPassConfig.HeavyIon))
298 icf.addFlag(
"Tracking.BackTracking.nHolesMax", 2)
299 icf.addFlag(
"Tracking.BackTracking.nHolesGapMax", 2)
302 icf.addFlag(
"Tracking.BackTracking.rejectShortExtensions",
lambda prevFlags:
303 not(prevFlags.Beam.Type
is BeamType.Cosmics
or
304 prevFlags.Tracking.doLowMu
or
305 prevFlags.Tracking.PrimaryPassConfig
is (
306 PrimaryPassConfig.HeavyIon)))
308 icf.addFlag(
"Tracking.BackTracking.SiExtensionCuts",
lambda prevFlags:
309 not(prevFlags.Tracking.doLowMu
or
310 prevFlags.Tracking.PrimaryPassConfig
is (
311 PrimaryPassConfig.HeavyIon)))
312 icf.addFlag(
"Tracking.BackTracking.minRoIClusterEt",
lambda prevFlags:
313 0.
if (prevFlags.Tracking.doLowMu
or
314 prevFlags.Tracking.PrimaryPassConfig
in [
315 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
316 prevFlags.Beam.Type
is BeamType.Cosmics
or
317 prevFlags.Tracking.doMinBias)
318 else 6.*Units.GeV * prevFlags.BField.configuredSolenoidFieldScale)
321 def TRTStandaloneMinPt(flags):
322 if flags.Tracking.doMinBias:
323 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
324 elif flags.Tracking.doLowMu
or (
325 flags.Tracking.PrimaryPassConfig
is PrimaryPassConfig.HeavyIon):
326 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
328 return 2.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
329 icf.addFlag(
"Tracking.TRTStandalone.minPt", TRTStandaloneMinPt)
330 icf.addFlag(
"Tracking.TRTStandalone.minTRTPrecFrac", 0.15)
331 icf.addFlag(
"Tracking.TRTStandalone.minTRT", 15)
334 icf.addFlag(
"Tracking.TRTStandalone.startAtOriginalPerigee",
336 (
not prevFlags.Input.isMC
and prevFlags.Input.DataYear >= 2025)
or
337 (prevFlags.Input.isMC
and prevFlags.Input.MCCampaign >= Campaign.MC23g)))
340 icf.addFlag(
"Tracking.doStats",
False)
342 icf.addFlag(
"Tracking.doTIDE_AmbiTrackMonitoring",
False)
344 icf.addFlag(
"Tracking.useBeamSpotInfoNN",
True)
346 icf.addFlag(
"Tracking.nnCutLargeD0Threshold", -1.0)
348 icf.addFlag(
"Tracking.useBroadPixClusterErrors",
False)
350 icf.addFlag(
"Tracking.useBroadSCTClusterErrors",
False)
355 icf.addFlag(
"Tracking.doTrackSegmentsPixel",
357 prevFlags.Detector.EnablePixel
and (
358 prevFlags.Tracking.doMinBias
or
359 prevFlags.Tracking.doLowMu
or
360 prevFlags.Beam.Type
is BeamType.Cosmics)))
362 icf.addFlag(
"Tracking.doTrackSegmentsSCT",
364 prevFlags.Detector.EnableSCT
and (
365 prevFlags.Tracking.doLowMu
or
366 prevFlags.Beam.Type
is BeamType.Cosmics)))
368 icf.addFlag(
"Tracking.doTrackSegmentsTRT",
370 prevFlags.Detector.EnableTRT
and
371 (prevFlags.Tracking.doLowMu
or
372 prevFlags.Beam.Type
is BeamType.Cosmics)))
374 icf.addFlag(
"Tracking.doTRTExtension",
375 lambda prevFlags: prevFlags.Detector.EnableTRT)
377 icf.addFlag(
"Tracking.doTRTSegments",
378 lambda prevFlags: (prevFlags.Detector.EnableTRT
and
379 (prevFlags.Tracking.doBackTracking
or
380 prevFlags.Tracking.doTRTStandalone)))
382 icf.addFlag(
"Tracking.doBackTracking",
lambda prevFlags: (
383 prevFlags.Detector.EnableTRT
and
384 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
385 prevFlags.Tracking.PrimaryPassConfig
in [
386 PrimaryPassConfig.HeavyIon,
387 PrimaryPassConfig.VtxLumi,
388 PrimaryPassConfig.VtxLumiHeavyIon,
389 PrimaryPassConfig.VtxBeamSpot,
390 PrimaryPassConfig.HighPileup])))
392 icf.addFlag(
"Tracking.doTRTStandalone",
lambda prevFlags: (
393 prevFlags.Detector.EnableTRT
and
394 not(prevFlags.Tracking.PrimaryPassConfig
in [
395 PrimaryPassConfig.HeavyIon,
396 PrimaryPassConfig.VtxLumi,
397 PrimaryPassConfig.VtxLumiHeavyIon,
398 PrimaryPassConfig.VtxBeamSpot,
399 PrimaryPassConfig.HighPileup])))
402 icf.addFlag(
"Tracking.doForwardTracks",
lambda prevFlags: (
403 prevFlags.Detector.EnablePixel
and
404 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
405 prevFlags.Tracking.PrimaryPassConfig
in [
406 PrimaryPassConfig.HeavyIon,
407 PrimaryPassConfig.VtxLumi,
408 PrimaryPassConfig.VtxLumiHeavyIon,
409 PrimaryPassConfig.VtxBeamSpot,
410 PrimaryPassConfig.HighPileup]
or
411 prevFlags.Tracking.doMinBias
or
412 prevFlags.Tracking.doLowMu)))
414 def doTrackSegmentsDisappearing(flags):
415 if flags.GeoModel.Run <= LHCPeriod.Run3:
416 return not((flags.Tracking.PrimaryPassConfig
is
417 PrimaryPassConfig.HeavyIon)
or
418 flags.Beam.Type
is BeamType.Cosmics)
421 icf.addFlag(
"Tracking.doTrackSegmentsDisappearing", doTrackSegmentsDisappearing)
424 icf.addFlag(
"Tracking.doVeryLowPt",
False)
426 icf.addFlag(
"Tracking.doLowPtLargeD0",
False)
428 icf.addFlag(
"Tracking.doLowPtRoI",
False)
430 icf.addFlag(
"Tracking.doUPC",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.UPC)
432 icf.addFlag(
"Tracking.doHIP",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.HIP)
434 icf.addFlag(
"Tracking.doMinBias",
lambda prevFlags:
435 prevFlags.Tracking.doUPC
or prevFlags.Tracking.doHIP)
437 icf.addFlag(
"Tracking.doBeamGas",
438 lambda prevFlags: prevFlags.Beam.Type
is BeamType.SingleBeam)
440 icf.addFlag(
"Tracking.doBLS",
False)
443 icf.addFlag(
"Tracking.doPseudoTracking",
False)
445 icf.addFlag(
"Tracking.doIdealPseudoTracking",
False)
452 icf.addFlag(
"Tracking.doITkFastTracking",
True)
455 icf.addFlag(
"Tracking.doITkConversion",
lambda prevFlags: (
456 not prevFlags.Tracking.doITkFastTracking
and prevFlags.Detector.EnableCalo))
460 icf.addFlag(
"Tracking.useITkFTF",
False)
463 from InDetGNNTracking.InDetGNNTrackingConfigFlags
import createGNNTrackingConfigFlags
464 icf.join(createGNNTrackingConfigFlags())
467 icf.addFlag(
"Tracking.recoChain",
lambda prevFlags:
468 [TrackingComponent.AthenaChain]
if prevFlags.GeoModel.Run <= LHCPeriod.Run3
469 else [TrackingComponent.ActsChain])
477 from TrkConfig.TrackingPassFlags
import (
478 createTrackingPassFlags, createHighPileupTrackingPassFlags,
479 createMinBiasTrackingPassFlags, createUPCTrackingPassFlags,
480 createHIPTrackingPassFlags, createR3LargeD0TrackingPassFlags,
481 createLowPtLargeD0TrackingPassFlags,
482 createLowPtTrackingPassFlags, createVeryLowPtTrackingPassFlags,
483 createLowPtRoITrackingPassFlags, createForwardTracksTrackingPassFlags,
484 createBeamGasTrackingPassFlags, createVtxLumiTrackingPassFlags, createVtxLumiHeavyIonTrackingPassFlags,
485 createVtxBeamSpotTrackingPassFlags, createCosmicsTrackingPassFlags,
486 createHeavyIonTrackingPassFlags, createHeavyIonLowPtTrackingPassFlags, createPixelTrackingPassFlags,
487 createDisappearingTrackingPassFlags, createSCTTrackingPassFlags,
488 createTRTTrackingPassFlags, createTRTStandaloneTrackingPassFlags)
490 def primaryPass(flags):
491 if TrackingComponent.ActsChain
in flags.Tracking.recoChain:
492 return PrimaryPassConfig.Acts
493 if flags.Beam.Type
is BeamType.Cosmics:
494 return PrimaryPassConfig.Cosmics
495 elif flags.Reco.EnableHI:
496 if flags.Tracking.doUPC:
497 return PrimaryPassConfig.UPC
498 elif flags.Tracking.doHIP:
499 return PrimaryPassConfig.HIP
501 return PrimaryPassConfig.HeavyIon
502 elif flags.Tracking.doMinBias:
503 return PrimaryPassConfig.MinBias
505 return PrimaryPassConfig.Default
507 icf.addFlag(
"Tracking.PrimaryPassConfig",
lambda prevFlags:
508 primaryPass(prevFlags), type=PrimaryPassConfig)
511 icf.addFlagsCategory(
"Tracking.MainPass",
512 createTrackingPassFlags, prefix=
True)
513 icf.addFlagsCategory(
"Tracking.HighPileupPass",
514 createHighPileupTrackingPassFlags, prefix=
True)
515 icf.addFlagsCategory(
"Tracking.UPCPass",
516 createUPCTrackingPassFlags, prefix=
True)
517 icf.addFlagsCategory(
"Tracking.HIPPass",
518 createHIPTrackingPassFlags, prefix=
True)
519 icf.addFlagsCategory(
"Tracking.MinBiasPass",
520 createMinBiasTrackingPassFlags, prefix=
True)
521 icf.addFlagsCategory(
"Tracking.R3LargeD0Pass",
522 createR3LargeD0TrackingPassFlags, prefix=
True)
523 icf.addFlagsCategory(
"Tracking.LowPtLargeD0Pass",
524 createLowPtLargeD0TrackingPassFlags, prefix=
True)
525 icf.addFlagsCategory(
"Tracking.LowPtPass",
526 createLowPtTrackingPassFlags, prefix=
True)
527 icf.addFlagsCategory(
"Tracking.VeryLowPtPass",
528 createVeryLowPtTrackingPassFlags, prefix=
True)
529 icf.addFlagsCategory(
"Tracking.LowPtRoIPass",
530 createLowPtRoITrackingPassFlags, prefix=
True)
531 icf.addFlagsCategory(
"Tracking.ForwardPass",
532 createForwardTracksTrackingPassFlags, prefix=
True)
533 icf.addFlagsCategory(
"Tracking.BeamGasPass",
534 createBeamGasTrackingPassFlags, prefix=
True)
535 icf.addFlagsCategory(
"Tracking.VtxLumiPass",
536 createVtxLumiTrackingPassFlags, prefix=
True)
537 icf.addFlagsCategory(
"Tracking.VtxLumiHeavyIonPass",
538 createVtxLumiHeavyIonTrackingPassFlags, prefix=
True)
539 icf.addFlagsCategory(
"Tracking.VtxBeamSpotPass",
540 createVtxBeamSpotTrackingPassFlags, prefix=
True)
541 icf.addFlagsCategory(
"Tracking.CosmicsPass",
542 createCosmicsTrackingPassFlags, prefix=
True)
543 icf.addFlagsCategory(
"Tracking.HeavyIonLowPtPass",
544 createHeavyIonLowPtTrackingPassFlags, prefix=
True)
545 icf.addFlagsCategory(
"Tracking.HeavyIonPass",
546 createHeavyIonTrackingPassFlags, prefix=
True)
547 icf.addFlagsCategory(
"Tracking.PixelPass",
548 createPixelTrackingPassFlags, prefix=
True)
549 icf.addFlagsCategory(
"Tracking.DisappearingPass",
550 createDisappearingTrackingPassFlags, prefix=
True)
551 icf.addFlagsCategory(
"Tracking.SCTPass",
552 createSCTTrackingPassFlags, prefix=
True)
553 icf.addFlagsCategory(
"Tracking.TRTPass",
554 createTRTTrackingPassFlags, prefix=
True)
555 icf.addFlagsCategory(
"Tracking.TRTStandalonePass",
556 createTRTStandaloneTrackingPassFlags, prefix=
True)
560 from TrkConfig.TrackingPassFlags
import (
561 createITkTrackingPassFlags, createITkLargeD0TrackingPassFlags,
562 createITkConversionTrackingPassFlags,
563 createITkFastTrackingPassFlags, createITkLargeD0FastTrackingPassFlags,
564 createITkFTFPassFlags, createITkFTFLargeD0PassFlags, createITkLowPtTrackingPassFlags,
565 createITkHeavyIonTrackingPassFlags)
567 def itkPrimaryPass(flags):
568 if flags.Tracking.useITkFTF:
569 return ITkPrimaryPassConfig.FTF
570 elif TrackingComponent.ActsChain
in flags.Tracking.recoChain:
571 return ITkPrimaryPassConfig.Acts
572 elif TrackingComponent.ActsLegacyChain
in flags.Tracking.recoChain:
573 return ITkPrimaryPassConfig.ActsLegacy
574 elif TrackingComponent.ActsHeavyIon
in flags.Tracking.recoChain:
575 return ITkPrimaryPassConfig.ActsHeavyIon
576 elif flags.Tracking.doITkFastTracking:
577 return ITkPrimaryPassConfig.FastTracking
578 elif flags.Reco.EnableHI:
579 return ITkPrimaryPassConfig.HeavyIon
581 return ITkPrimaryPassConfig.Default
583 icf.addFlag(
"Tracking.ITkPrimaryPassConfig",
lambda prevFlags:
584 itkPrimaryPass(prevFlags), type=ITkPrimaryPassConfig)
586 icf.addFlagsCategory (
"Tracking.ITkMainPass",
587 createITkTrackingPassFlags, prefix=
True)
588 icf.addFlagsCategory (
"Tracking.ITkLargeD0Pass",
589 createITkLargeD0TrackingPassFlags, prefix=
True)
590 icf.addFlagsCategory (
"Tracking.ITkConversionPass",
591 createITkConversionTrackingPassFlags, prefix=
True)
592 icf.addFlagsCategory (
"Tracking.ITkLowPtPass",
593 createITkLowPtTrackingPassFlags, prefix=
True)
594 icf.addFlagsCategory (
"Tracking.ITkFastPass",
595 createITkFastTrackingPassFlags, prefix=
True)
596 icf.addFlagsCategory (
"Tracking.ITkLargeD0FastPass",
597 createITkLargeD0FastTrackingPassFlags, prefix=
True)
598 icf.addFlagsCategory (
"Tracking.ITkFTFPass",
599 createITkFTFPassFlags, prefix=
True)
600 icf.addFlagsCategory (
"Tracking.ITkFTFLargeD0Pass",
601 createITkFTFLargeD0PassFlags, prefix=
True)
602 icf.addFlagsCategory (
"Tracking.ITkHeavyIonPass",
603 createITkHeavyIonTrackingPassFlags, prefix=
True)
606 from ActsConfig.ActsTrackingPassFlags
import (
607 createActsTrackingPassFlags,
608 createActsLegacyTrackingPassFlags,
609 createActsLargeRadiusTrackingPassFlags,
610 createActsConversionTrackingPassFlags,
611 createActsLowPtTrackingPassFlags,
612 createActsHeavyIonTrackingPassFlags,
613 createEFValidateF100TrackingPassFlags,
614 createEFValidateF150TrackingPassFlags,
615 createACTSInnerDetectorTrackingPassFlags
618 icf.addFlagsCategory (
"Tracking.ITkActsPass",
619 createActsTrackingPassFlags, prefix=
True)
620 icf.addFlagsCategory (
"Tracking.ActsPass",
621 createACTSInnerDetectorTrackingPassFlags, prefix=
True)
622 icf.addFlagsCategory (
"Tracking.ITkActsLegacyPass",
623 createActsLegacyTrackingPassFlags, prefix=
True)
624 icf.addFlagsCategory (
"Tracking.ITkActsLargeRadiusPass",
625 createActsLargeRadiusTrackingPassFlags, prefix=
True)
626 icf.addFlagsCategory (
'Tracking.ITkActsConversionPass',
627 createActsConversionTrackingPassFlags, prefix=
True)
628 icf.addFlagsCategory (
'Tracking.ITkActsLowPtPass',
629 createActsLowPtTrackingPassFlags, prefix=
True)
630 icf.addFlagsCategory (
"Tracking.ITkActsHeavyIonPass",
631 createActsHeavyIonTrackingPassFlags, prefix=
True)
634 icf.addFlagsCategory (
"Tracking.ITkActsValidateF100Pass",
635 createEFValidateF100TrackingPassFlags, prefix=
True)
638 icf.addFlagsCategory (
"Tracking.ITkActsValidateF150Pass",
639 createEFValidateF150TrackingPassFlags, prefix=
True)
642 from InDetGNNTracking.InDetGNNTrackingFlags
import createGNNTrackingPassFlags
643 icf.addFlagsCategory (
"Tracking.ITkGNNPass",
644 createGNNTrackingPassFlags, prefix=
True)
646 from TrkConfig.InDetFPGATrackingFlags
import createFPGATrackingPassFlags
647 icf.addFlagsCategory (
"Tracking.ITkFPGAPass",
648 createFPGATrackingPassFlags, prefix=
True)
651 icf.addFlag(
"Tracking.StoreSlimmedDataPreparation",
False)
656 from TrkConfig.VertexFindingFlags
import createPriVertexingFlags
657 icf.addFlagsCategory(
"Tracking.PriVertex",
658 createPriVertexingFlags, prefix=
True)
661 icf.addFlag(
"Tracking.doVertexFinding",
662 lambda prevFlags: prevFlags.Beam.Type
is not BeamType.Cosmics)
664 icf.addFlag(
"Tracking.doV0Finder",
False)
666 icf.addFlag(
'Tracking.TruthClusterSplittingEff', 0.9)
669 icf.addFlag(
"Tracking.dumpGBTSTrainingData", 0)