3 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
4 from AthenaConfiguration.Enums
import BeamType, LHCPeriod, FlagEnum, HIMode, ProductionStep
6 from Campaigns.Utils
import Campaign
11 VtxLumiHeavyIon =
'VtxLumiHeavyIon'
12 VtxBeamSpot =
'VtxBeamSpot'
15 HighPileup =
'HighPileup'
24 FastTracking =
'ITkFast'
25 HeavyIon =
'ITkHeavyIon'
27 ActsLegacy =
'ITkActsLegacy'
28 ActsHeavyIon =
'ITkActsHeavyIon'
32 DistributedKalmanFilter =
'DistributedKalmanFilter'
33 GlobalChi2Fitter =
'GlobalChi2Fitter'
34 GaussianSumFilter =
'GaussianSumFilter'
38 KalmanUpdator =
'KalmanUpdator'
39 KalmanUpdator_xk =
'KalmanUpdator_xk'
40 KalmanUpdatorSMatrix =
'KalmanUpdatorSMatrix'
44 NeuralNet =
'NeuralNet'
49 AthenaChain =
"AthenaChain"
50 ActsChain =
"ActsChain"
51 ActsLegacyChain =
"ActsLegacyChain"
52 ActsHeavyIon =
"ActsHeavyIon"
54 ActsValidateClusters =
"ActsValidateClusters"
55 ActsValidateSpacePoints =
"ActsValidateSpacePoints"
56 ActsValidateSeeds =
"ActsValidateSeeds"
57 ActsValidateConversionSeeds =
"ActsValidateConversionSeeds"
58 ActsValidateLargeRadiusSeeds =
"ActsValidateLargeRadiusSeeds"
59 ActsValidateTracks =
"ActsValidateTracks"
60 ActsValidateAmbiguityResolution =
"ActsValidateAmbiguityResolution"
65 FPGAChain =
"FPGAChain"
66 ActsValidateF100 =
"ActsValidateF100"
69 icf = AthConfigFlags()
72 icf.addFlag(
"Tracking.doTruth",
lambda prevFlags: prevFlags.Input.isMC
or
73 (prevFlags.Overlay.DataOverlay
and prevFlags.Common.ProductionStep
is not ProductionStep.MinbiasPreprocessing))
76 icf.addFlag(
"Tracking.trackFitterType",
77 TrackFitterType.GlobalChi2Fitter, type=TrackFitterType)
79 icf.addFlag(
"Tracking.kalmanUpdator",
80 KalmanUpdatorType.KalmanUpdatorSMatrix, type=KalmanUpdatorType)
82 icf.addFlag(
"Tracking.materialInteractions",
lambda prevFlags:
83 prevFlags.Beam.Type
is not BeamType.SingleBeam)
86 icf.addFlag(
"Tracking.materialInteractionsType",
lambda prevFlags:
87 2
if prevFlags.Beam.Type
is BeamType.Cosmics
else 3)
90 icf.addFlag(
"Tracking.doBremRecovery",
lambda prevFlags: (
91 prevFlags.Detector.EnableCalo
and
92 not (prevFlags.Tracking.PrimaryPassConfig
in
93 [PrimaryPassConfig.VtxLumi, PrimaryPassConfig.VtxLumiHeavyIon, PrimaryPassConfig.VtxBeamSpot]
or
94 prevFlags.Tracking.doLowMu
or
95 prevFlags.Beam.Type
is not BeamType.Collisions
or
96 not prevFlags.BField.solenoidOn)))
97 icf.addFlag(
"Tracking.doCaloSeededBrem",
lambda prevFlags: (
98 prevFlags.Detector.EnableCalo
and prevFlags.Tracking.doBremRecovery))
99 icf.addFlag(
"Tracking.phiWidthBrem", 0.3)
100 icf.addFlag(
"Tracking.etaWidthBrem", 0.2)
102 icf.addFlag(
"Tracking.doHadCaloSeededSSS",
False)
104 icf.addFlag(
"Tracking.doCaloSeededAmbi",
lambda prevFlags:
105 prevFlags.Detector.EnableCalo)
107 icf.addFlag(
"Tracking.doSharedHits",
True)
109 icf.addFlag(
"Tracking.doTIDE_Ambi",
lambda prevFlags:
110 not (prevFlags.Beam.Type
is BeamType.Cosmics))
112 icf.addFlag(
"Tracking.doPixelDigitalClustering",
False)
114 icf.addFlag(
"Tracking.doPixelClusterSplitting",
115 lambda prevFlags:
not (prevFlags.Beam.Type
is BeamType.Cosmics))
117 icf.addFlag(
"Tracking.pixelClusterSplittingType",
lambda prevFlags:
118 PixelClusterSplittingType.NeuralNet
119 if prevFlags.GeoModel.Run <= LHCPeriod.Run3
120 else PixelClusterSplittingType.Truth,
121 type=PixelClusterSplittingType)
123 icf.addFlag(
"Tracking.pixelClusterSplitProb1",
125 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.55))
127 icf.addFlag(
"Tracking.pixelClusterSplitProb2",
129 0.5
if prevFlags.GeoModel.Run
is LHCPeriod.Run1
else 0.45))
131 icf.addFlag(
"Tracking.doSkipAmbiROI",
False)
134 icf.addFlag(
"Tracking.TopoClusters",
"CaloTopoClusters")
135 icf.addFlag(
"Tracking.EgammaTopoClusters",
"egammaTopoClusters")
138 icf.addFlag(
"Tracking.perigeeExpression",
lambda prevFlags:
139 "Vertex" if (prevFlags.Tracking.PrimaryPassConfig
in [
140 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
141 prevFlags.Tracking.ITkPrimaryPassConfig
in [
142 ITkPrimaryPassConfig.HeavyIon, ITkPrimaryPassConfig.ActsHeavyIon]
147 icf.addFlag(
"Tracking.doEndcapEtaOverlapSpacePoint",
lambda prevFlags: prevFlags.ITk.doEndcapEtaNeighbour)
151 def doLargeD0(flags):
152 if flags.GeoModel.Run <= LHCPeriod.Run3:
153 return not ((flags.Beam.Type
in
154 [BeamType.SingleBeam, BeamType.Cosmics])
or
155 flags.Tracking.PrimaryPassConfig
in [
156 PrimaryPassConfig.HeavyIon,
157 PrimaryPassConfig.UPC,
158 PrimaryPassConfig.HIP,
159 PrimaryPassConfig.VtxLumi,
160 PrimaryPassConfig.VtxLumiHeavyIon,
161 PrimaryPassConfig.VtxBeamSpot,
162 PrimaryPassConfig.HighPileup])
166 icf.addFlag(
"Tracking.doLargeD0", doLargeD0)
167 icf.addFlag(
"Tracking.storeSeparateLargeD0Container",
True)
170 icf.addFlag(
"Tracking.doLowMu",
False)
172 icf.addFlag(
"Tracking.doLowPt",
173 lambda prevFlags: prevFlags.Tracking.doLowMu)
176 icf.addFlag(
"Tracking.doStoreTrackSeeds",
False)
178 icf.addFlag(
"Tracking.doStoreSiSPSeededTracks",
False)
180 icf.addFlag(
"Tracking.writeSeedValNtuple",
False)
182 icf.addFlag(
"Tracking.writeExtendedSi_PRDInfo",
False)
183 icf.addFlag(
"Tracking.writeExtendedTRT_PRDInfo",
False)
184 icf.addFlag(
"Tracking.PRDInfo.KeepOnlyOnTrackMeasurements",
False)
188 icf.addFlag(
"Tracking.thinPixelClustersOnTrack",
False)
189 icf.addFlag(
"Tracking.thinSCTClustersOnTrack",
False)
190 icf.addFlag(
"Tracking.thinTRTClustersOnTrack",
False)
191 icf.addFlag(
"Tracking.thinInDetClustersOnTrack",
193 prevFlags.Tracking.thinPixelClustersOnTrack
or
194 prevFlags.Tracking.thinSCTClustersOnTrack
or
195 prevFlags.Tracking.thinTRTClustersOnTrack ))
198 icf.addFlag(
"Tracking.thinInDetClustersTrackContainers", [
"InDetTrackParticles"])
199 icf.addFlag(
"Tracking.thinInDetClustersPixelMSOSContainers", [
"PixelMSOSs"])
200 icf.addFlag(
"Tracking.thinInDetClustersSCTMSOSContainers", [
"SCT_MSOSs"])
201 icf.addFlag(
"Tracking.thinInDetClustersTRTMSOSContainers", [
"TRT_MSOSs"])
202 icf.addFlag(
"Tracking.thinInDetClustersSelectionStrings", [
"InDetTrackParticles.pt > (1*GeV)"])
205 icf.addFlag(
"Tracking.doSlimming",
lambda prevFlags:
206 not (prevFlags.Beam.Type
in
207 [BeamType.SingleBeam, BeamType.Cosmics]
or
208 prevFlags.Tracking.PrimaryPassConfig
in [
209 PrimaryPassConfig.VtxLumi,
210 PrimaryPassConfig.VtxLumiHeavyIon,
211 PrimaryPassConfig.VtxBeamSpot,
212 PrimaryPassConfig.HighPileup]))
219 icf.addFlag(
"Tracking.useNewParamTRT",
lambda prevFlags:
220 prevFlags.Tracking.PrimaryPassConfig
is not(
221 PrimaryPassConfig.HeavyIon))
224 icf.addFlag(
"Tracking.BackTracking.doRoISeeded",
lambda prevFlags:
225 prevFlags.Detector.EnableCalo
and not(
226 prevFlags.Tracking.doLowMu
or
227 prevFlags.Tracking.PrimaryPassConfig
is (
228 PrimaryPassConfig.HeavyIon)
or
229 prevFlags.Beam.Type
is BeamType.Cosmics
or
230 prevFlags.Tracking.doMinBias))
233 def BackTrackingMinPt(flags):
234 if flags.Tracking.doMinBias:
235 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
236 elif (flags.Tracking.doLowMu
or
237 flags.Tracking.PrimaryPassConfig
in [
238 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
239 flags.Beam.Type
is BeamType.Cosmics):
240 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
242 return 3.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
243 icf.addFlag(
"Tracking.BackTracking.minPt", BackTrackingMinPt)
244 icf.addFlag(
"Tracking.BackTracking.TRTSegFinderPtBins", 50)
245 icf.addFlag(
"Tracking.BackTracking.maxTRTSharedFrac", 0.7)
246 icf.addFlag(
"Tracking.BackTracking.maxSecondaryImpact", 100.0 * Units.mm)
247 icf.addFlag(
"Tracking.BackTracking.minClusters", 4)
248 icf.addFlag(
"Tracking.BackTracking.minSiNotShared", 4)
250 icf.addFlag(
"Tracking.BackTracking.maxShared", 1)
251 icf.addFlag(
"Tracking.BackTracking.minTRT",
lambda prevFlags:
252 10
if (prevFlags.Tracking.doLowMu
or
253 prevFlags.Tracking.PrimaryPassConfig
is (
254 PrimaryPassConfig.HeavyIon))
256 icf.addFlag(
"Tracking.BackTracking.minTRTPrecFrac",
lambda prevFlags:
257 0.
if (prevFlags.Tracking.doLowMu
or
258 prevFlags.Tracking.PrimaryPassConfig
is (
259 PrimaryPassConfig.HeavyIon))
262 icf.addFlag(
"Tracking.BackTracking.maxHoles",
lambda prevFlags:
263 2
if (prevFlags.Tracking.doLowMu
or
264 prevFlags.Tracking.PrimaryPassConfig
is (
265 PrimaryPassConfig.HeavyIon))
267 icf.addFlag(
"Tracking.BackTracking.maxPixelHoles",
lambda prevFlags:
268 2
if (prevFlags.Tracking.doLowMu
or
269 prevFlags.Tracking.PrimaryPassConfig
is (
270 PrimaryPassConfig.HeavyIon))
272 icf.addFlag(
"Tracking.BackTracking.maxSCTHoles",
lambda prevFlags:
273 2
if (prevFlags.Tracking.doLowMu
or
274 prevFlags.Tracking.PrimaryPassConfig
is (
275 PrimaryPassConfig.HeavyIon))
277 icf.addFlag(
"Tracking.BackTracking.maxDoubleHoles",
lambda prevFlags:
278 1
if (prevFlags.Tracking.doLowMu
or
279 prevFlags.Tracking.PrimaryPassConfig
is (
280 PrimaryPassConfig.HeavyIon))
282 icf.addFlag(
"Tracking.BackTracking.nHolesMax", 2)
283 icf.addFlag(
"Tracking.BackTracking.nHolesGapMax", 2)
286 icf.addFlag(
"Tracking.BackTracking.rejectShortExtensions",
lambda prevFlags:
287 not(prevFlags.Beam.Type
is BeamType.Cosmics
or
288 prevFlags.Tracking.doLowMu
or
289 prevFlags.Tracking.PrimaryPassConfig
is (
290 PrimaryPassConfig.HeavyIon)))
292 icf.addFlag(
"Tracking.BackTracking.SiExtensionCuts",
lambda prevFlags:
293 not(prevFlags.Tracking.doLowMu
or
294 prevFlags.Tracking.PrimaryPassConfig
is (
295 PrimaryPassConfig.HeavyIon)))
296 icf.addFlag(
"Tracking.BackTracking.minRoIClusterEt",
lambda prevFlags:
297 0.
if (prevFlags.Tracking.doLowMu
or
298 prevFlags.Tracking.PrimaryPassConfig
in [
299 PrimaryPassConfig.HeavyIon, PrimaryPassConfig.VtxLumiHeavyIon]
or
300 prevFlags.Beam.Type
is BeamType.Cosmics
or
301 prevFlags.Tracking.doMinBias)
302 else 6.*Units.GeV * prevFlags.BField.configuredSolenoidFieldScale)
305 def TRTStandaloneMinPt(flags):
306 if flags.Tracking.doMinBias:
307 return 0.4 * Units.GeV * flags.BField.configuredSolenoidFieldScale
308 elif flags.Tracking.doLowMu
or (
309 flags.Tracking.PrimaryPassConfig
is PrimaryPassConfig.HeavyIon):
310 return 1.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
312 return 2.0 * Units.GeV * flags.BField.configuredSolenoidFieldScale
313 icf.addFlag(
"Tracking.TRTStandalone.minPt", TRTStandaloneMinPt)
314 icf.addFlag(
"Tracking.TRTStandalone.minTRTPrecFrac", 0.15)
315 icf.addFlag(
"Tracking.TRTStandalone.minTRT", 15)
318 icf.addFlag(
"Tracking.TRTStandalone.startAtOriginalPerigee",
320 (
not prevFlags.Input.isMC
and prevFlags.Input.DataYear >= 2025)
or
321 (prevFlags.Input.isMC
and prevFlags.Input.MCCampaign >= Campaign.MC23g)))
324 icf.addFlag(
"Tracking.doStats",
False)
326 icf.addFlag(
"Tracking.doTIDE_AmbiTrackMonitoring",
False)
328 icf.addFlag(
"Tracking.useBeamSpotInfoNN",
True)
330 icf.addFlag(
"Tracking.nnCutLargeD0Threshold", -1.0)
332 icf.addFlag(
"Tracking.useBroadPixClusterErrors",
False)
334 icf.addFlag(
"Tracking.useBroadSCTClusterErrors",
False)
339 icf.addFlag(
"Tracking.doTrackSegmentsPixel",
341 prevFlags.Detector.EnablePixel
and (
342 prevFlags.Tracking.doMinBias
or
343 prevFlags.Tracking.doLowMu
or
344 prevFlags.Beam.Type
is BeamType.Cosmics)))
346 icf.addFlag(
"Tracking.doTrackSegmentsSCT",
348 prevFlags.Detector.EnableSCT
and (
349 prevFlags.Tracking.doLowMu
or
350 prevFlags.Beam.Type
is BeamType.Cosmics)))
352 icf.addFlag(
"Tracking.doTrackSegmentsTRT",
354 prevFlags.Detector.EnableTRT
and
355 (prevFlags.Tracking.doLowMu
or
356 prevFlags.Beam.Type
is BeamType.Cosmics)))
358 icf.addFlag(
"Tracking.doTRTExtension",
359 lambda prevFlags: prevFlags.Detector.EnableTRT)
361 icf.addFlag(
"Tracking.doTRTSegments",
362 lambda prevFlags: (prevFlags.Detector.EnableTRT
and
363 (prevFlags.Tracking.doBackTracking
or
364 prevFlags.Tracking.doTRTStandalone)))
366 icf.addFlag(
"Tracking.doBackTracking",
lambda prevFlags: (
367 prevFlags.Detector.EnableTRT
and
368 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
369 prevFlags.Tracking.PrimaryPassConfig
in [
370 PrimaryPassConfig.HeavyIon,
371 PrimaryPassConfig.VtxLumi,
372 PrimaryPassConfig.VtxLumiHeavyIon,
373 PrimaryPassConfig.VtxBeamSpot,
374 PrimaryPassConfig.HighPileup])))
376 icf.addFlag(
"Tracking.doTRTStandalone",
lambda prevFlags: (
377 prevFlags.Detector.EnableTRT
and
378 not(prevFlags.Tracking.PrimaryPassConfig
in [
379 PrimaryPassConfig.HeavyIon,
380 PrimaryPassConfig.VtxLumi,
381 PrimaryPassConfig.VtxLumiHeavyIon,
382 PrimaryPassConfig.VtxBeamSpot,
383 PrimaryPassConfig.HighPileup])))
386 icf.addFlag(
"Tracking.doForwardTracks",
lambda prevFlags: (
387 prevFlags.Detector.EnablePixel
and
388 not(prevFlags.Beam.Type
in [BeamType.SingleBeam, BeamType.Cosmics]
or
389 prevFlags.Tracking.PrimaryPassConfig
in [
390 PrimaryPassConfig.HeavyIon,
391 PrimaryPassConfig.VtxLumi,
392 PrimaryPassConfig.VtxLumiHeavyIon,
393 PrimaryPassConfig.VtxBeamSpot,
394 PrimaryPassConfig.HighPileup]
or
395 prevFlags.Tracking.doMinBias
or
396 prevFlags.Tracking.doLowMu)))
397 icf.addFlag(
"Tracking.doTrackSegmentsDisappearing",
399 not((prevFlags.Tracking.PrimaryPassConfig
is
400 PrimaryPassConfig.HeavyIon)
or
401 prevFlags.Beam.Type
is BeamType.Cosmics)))
404 icf.addFlag(
"Tracking.doVeryLowPt",
False)
406 icf.addFlag(
"Tracking.doLowPtLargeD0",
False)
408 icf.addFlag(
"Tracking.doLowPtRoI",
False)
410 icf.addFlag(
"Tracking.doUPC",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.UPC)
412 icf.addFlag(
"Tracking.doHIP",
lambda prevFlags: prevFlags.Reco.HIMode
is HIMode.HIP)
414 icf.addFlag(
"Tracking.doMinBias",
lambda prevFlags:
415 prevFlags.Tracking.doUPC
or prevFlags.Tracking.doHIP)
417 icf.addFlag(
"Tracking.doBeamGas",
418 lambda prevFlags: prevFlags.Beam.Type
is BeamType.SingleBeam)
420 icf.addFlag(
"Tracking.doBLS",
False)
423 icf.addFlag(
"Tracking.doPseudoTracking",
False)
425 icf.addFlag(
"Tracking.doIdealPseudoTracking",
False)
432 icf.addFlag(
"Tracking.doITkFastTracking",
False)
435 icf.addFlag(
"Tracking.doITkConversion",
436 lambda prevFlags:
not prevFlags.Tracking.doITkFastTracking)
440 icf.addFlag(
"Tracking.useITkFTF",
False)
443 from InDetGNNTracking.InDetGNNTrackingConfigFlags
import createGNNTrackingConfigFlags
447 icf.addFlag(
"Tracking.recoChain", [TrackingComponent.AthenaChain])
455 from TrkConfig.TrackingPassFlags
import (
456 createTrackingPassFlags, createHighPileupTrackingPassFlags,
457 createMinBiasTrackingPassFlags, createUPCTrackingPassFlags,
458 createHIPTrackingPassFlags, createR3LargeD0TrackingPassFlags,
459 createLowPtLargeD0TrackingPassFlags,
460 createLowPtTrackingPassFlags, createVeryLowPtTrackingPassFlags,
461 createLowPtRoITrackingPassFlags, createForwardTracksTrackingPassFlags,
462 createBeamGasTrackingPassFlags, createVtxLumiTrackingPassFlags, createVtxLumiHeavyIonTrackingPassFlags,
463 createVtxBeamSpotTrackingPassFlags, createCosmicsTrackingPassFlags,
464 createHeavyIonTrackingPassFlags, createPixelTrackingPassFlags,
465 createDisappearingTrackingPassFlags, createSCTTrackingPassFlags,
466 createTRTTrackingPassFlags, createTRTStandaloneTrackingPassFlags)
468 def primaryPass(flags):
469 if flags.Beam.Type
is BeamType.Cosmics:
470 return PrimaryPassConfig.Cosmics
471 elif flags.Reco.EnableHI:
472 if flags.Tracking.doUPC:
473 return PrimaryPassConfig.UPC
474 elif flags.Tracking.doHIP:
475 return PrimaryPassConfig.HIP
477 return PrimaryPassConfig.HeavyIon
478 elif flags.Tracking.doMinBias:
479 return PrimaryPassConfig.MinBias
481 return PrimaryPassConfig.Default
483 icf.addFlag(
"Tracking.PrimaryPassConfig",
lambda prevFlags:
484 primaryPass(prevFlags), type=PrimaryPassConfig)
487 icf.addFlagsCategory(
"Tracking.MainPass",
488 createTrackingPassFlags, prefix=
True)
489 icf.addFlagsCategory(
"Tracking.HighPileupPass",
490 createHighPileupTrackingPassFlags, prefix=
True)
491 icf.addFlagsCategory(
"Tracking.UPCPass",
492 createUPCTrackingPassFlags, prefix=
True)
493 icf.addFlagsCategory(
"Tracking.HIPPass",
494 createHIPTrackingPassFlags, prefix=
True)
495 icf.addFlagsCategory(
"Tracking.MinBiasPass",
496 createMinBiasTrackingPassFlags, prefix=
True)
497 icf.addFlagsCategory(
"Tracking.R3LargeD0Pass",
498 createR3LargeD0TrackingPassFlags, prefix=
True)
499 icf.addFlagsCategory(
"Tracking.LowPtLargeD0Pass",
500 createLowPtLargeD0TrackingPassFlags, prefix=
True)
501 icf.addFlagsCategory(
"Tracking.LowPtPass",
502 createLowPtTrackingPassFlags, prefix=
True)
503 icf.addFlagsCategory(
"Tracking.VeryLowPtPass",
504 createVeryLowPtTrackingPassFlags, prefix=
True)
505 icf.addFlagsCategory(
"Tracking.LowPtRoIPass",
506 createLowPtRoITrackingPassFlags, prefix=
True)
507 icf.addFlagsCategory(
"Tracking.ForwardPass",
508 createForwardTracksTrackingPassFlags, prefix=
True)
509 icf.addFlagsCategory(
"Tracking.BeamGasPass",
510 createBeamGasTrackingPassFlags, prefix=
True)
511 icf.addFlagsCategory(
"Tracking.VtxLumiPass",
512 createVtxLumiTrackingPassFlags, prefix=
True)
513 icf.addFlagsCategory(
"Tracking.VtxLumiHeavyIonPass",
514 createVtxLumiHeavyIonTrackingPassFlags, prefix=
True)
515 icf.addFlagsCategory(
"Tracking.VtxBeamSpotPass",
516 createVtxBeamSpotTrackingPassFlags, prefix=
True)
517 icf.addFlagsCategory(
"Tracking.CosmicsPass",
518 createCosmicsTrackingPassFlags, prefix=
True)
519 icf.addFlagsCategory(
"Tracking.HeavyIonPass",
520 createHeavyIonTrackingPassFlags, prefix=
True)
521 icf.addFlagsCategory(
"Tracking.PixelPass",
522 createPixelTrackingPassFlags, prefix=
True)
523 icf.addFlagsCategory(
"Tracking.DisappearingPass",
524 createDisappearingTrackingPassFlags, prefix=
True)
525 icf.addFlagsCategory(
"Tracking.SCTPass",
526 createSCTTrackingPassFlags, prefix=
True)
527 icf.addFlagsCategory(
"Tracking.TRTPass",
528 createTRTTrackingPassFlags, prefix=
True)
529 icf.addFlagsCategory(
"Tracking.TRTStandalonePass",
530 createTRTStandaloneTrackingPassFlags, prefix=
True)
534 from TrkConfig.TrackingPassFlags
import (
535 createITkTrackingPassFlags, createITkLargeD0TrackingPassFlags,
536 createITkConversionTrackingPassFlags,
537 createITkFastTrackingPassFlags, createITkLargeD0FastTrackingPassFlags,
538 createITkFTFPassFlags, createITkFTFLargeD0PassFlags, createITkLowPtTrackingPassFlags,
539 createITkHeavyIonTrackingPassFlags)
541 def itkPrimaryPass(flags):
542 if flags.Tracking.useITkFTF:
543 return ITkPrimaryPassConfig.FTF
544 elif TrackingComponent.ActsChain
in flags.Tracking.recoChain:
545 return ITkPrimaryPassConfig.Acts
546 elif TrackingComponent.ActsLegacyChain
in flags.Tracking.recoChain:
547 return ITkPrimaryPassConfig.ActsLegacy
548 elif TrackingComponent.ActsHeavyIon
in flags.Tracking.recoChain:
549 return ITkPrimaryPassConfig.ActsHeavyIon
550 elif flags.Tracking.doITkFastTracking:
551 return ITkPrimaryPassConfig.FastTracking
552 elif flags.Reco.EnableHI:
553 return ITkPrimaryPassConfig.HeavyIon
555 return ITkPrimaryPassConfig.Default
557 icf.addFlag(
"Tracking.ITkPrimaryPassConfig",
lambda prevFlags:
558 itkPrimaryPass(prevFlags), type=ITkPrimaryPassConfig)
560 icf.addFlagsCategory (
"Tracking.ITkMainPass",
561 createITkTrackingPassFlags, prefix=
True)
562 icf.addFlagsCategory (
"Tracking.ITkLargeD0Pass",
563 createITkLargeD0TrackingPassFlags, prefix=
True)
564 icf.addFlagsCategory (
"Tracking.ITkConversionPass",
565 createITkConversionTrackingPassFlags, prefix=
True)
566 icf.addFlagsCategory (
"Tracking.ITkLowPtPass",
567 createITkLowPtTrackingPassFlags, prefix=
True)
568 icf.addFlagsCategory (
"Tracking.ITkFastPass",
569 createITkFastTrackingPassFlags, prefix=
True)
570 icf.addFlagsCategory (
"Tracking.ITkLargeD0FastPass",
571 createITkLargeD0FastTrackingPassFlags, prefix=
True)
572 icf.addFlagsCategory (
"Tracking.ITkFTFPass",
573 createITkFTFPassFlags, prefix=
True)
574 icf.addFlagsCategory (
"Tracking.ITkFTFLargeD0Pass",
575 createITkFTFLargeD0PassFlags, prefix=
True)
576 icf.addFlagsCategory (
"Tracking.ITkHeavyIonPass",
577 createITkHeavyIonTrackingPassFlags, prefix=
True)
580 from ActsConfig.ActsTrackingPassFlags
import (
581 createActsTrackingPassFlags,
582 createActsLegacyTrackingPassFlags,
583 createActsLargeRadiusTrackingPassFlags,
584 createActsConversionTrackingPassFlags,
585 createActsLowPtTrackingPassFlags,
586 createActsValidateClustersTrackingPassFlags,
587 createActsValidateSpacePointsTrackingPassFlags,
588 createActsValidateSeedsTrackingPassFlags,
589 createActsValidateConversionSeedsTrackingPassFlags,
590 createActsValidateLargeRadiusSeedsTrackingPassFlags,
591 createActsValidateTracksTrackingPassFlags,
592 createActsValidateAmbiguityResolutionTrackingPassFlags,
593 createActsHeavyIonTrackingPassFlags,
594 createEFValidateF100TrackingPassFlags
597 icf.addFlagsCategory (
"Tracking.ITkActsPass",
598 createActsTrackingPassFlags, prefix=
True)
599 icf.addFlagsCategory (
"Tracking.ITkActsLegacyPass",
600 createActsLegacyTrackingPassFlags, prefix=
True)
601 icf.addFlagsCategory (
"Tracking.ITkActsLargeRadiusPass",
602 createActsLargeRadiusTrackingPassFlags, prefix=
True)
603 icf.addFlagsCategory (
'Tracking.ITkActsConversionPass',
604 createActsConversionTrackingPassFlags, prefix=
True)
605 icf.addFlagsCategory (
'Tracking.ITkActsLowPtPass',
606 createActsLowPtTrackingPassFlags, prefix=
True)
607 icf.addFlagsCategory (
"Tracking.ITkActsValidateClustersPass",
608 createActsValidateClustersTrackingPassFlags, prefix=
True)
609 icf.addFlagsCategory (
"Tracking.ITkActsValidateSpacePointsPass",
610 createActsValidateSpacePointsTrackingPassFlags, prefix=
True)
611 icf.addFlagsCategory (
"Tracking.ITkActsValidateSeedsPass",
612 createActsValidateSeedsTrackingPassFlags, prefix=
True)
613 icf.addFlagsCategory (
"Tracking.ITkActsValidateConversionSeedsPass",
614 createActsValidateConversionSeedsTrackingPassFlags, prefix=
True)
615 icf.addFlagsCategory (
"Tracking.ITkActsValidateLargeRadiusSeedsPass",
616 createActsValidateLargeRadiusSeedsTrackingPassFlags, prefix=
True)
617 icf.addFlagsCategory (
"Tracking.ITkActsValidateTracksPass",
618 createActsValidateTracksTrackingPassFlags, prefix=
True)
619 icf.addFlagsCategory (
"Tracking.ITkActsValidateAmbiguityResolutionPass",
620 createActsValidateAmbiguityResolutionTrackingPassFlags, prefix=
True)
621 icf.addFlagsCategory (
"Tracking.ITkActsHeavyIonPass",
622 createActsHeavyIonTrackingPassFlags, prefix=
True)
625 icf.addFlagsCategory (
"Tracking.ITkActsValidateF100Pass",
626 createEFValidateF100TrackingPassFlags, prefix=
True)
630 from InDetGNNTracking.InDetGNNTrackingFlags
import createGNNTrackingPassFlags
631 icf.addFlagsCategory (
"Tracking.ITkGNNPass",
632 createGNNTrackingPassFlags, prefix=
True)
634 from TrkConfig.InDetFPGATrackingFlags
import createFPGATrackingPassFlags
635 icf.addFlagsCategory (
"Tracking.ITkFPGAPass",
636 createFPGATrackingPassFlags, prefix=
True)
642 from TrkConfig.VertexFindingFlags
import createPriVertexingFlags
643 icf.addFlagsCategory(
"Tracking.PriVertex",
644 createPriVertexingFlags, prefix=
True)
647 icf.addFlag(
"Tracking.doVertexFinding",
648 lambda prevFlags: prevFlags.Beam.Type
is not BeamType.Cosmics)
650 icf.addFlag(
"Tracking.doV0Finder",
False)
652 icf.addFlag(
'Tracking.TruthClusterSplittingEff', 0.9)
655 icf.addFlag(
"Tracking.dumpGBTSTrainingData", 0)