68def createTrackingConfigFlags():
69 icf = AthConfigFlags()
70
71
72 icf.addFlag("Tracking.doTruth", lambda prevFlags: prevFlags.Input.isMC or
73 (prevFlags.Common.ProductionStep is not ProductionStep.MinbiasPreprocessing and prevFlags.Overlay.DataOverlay))
74
75
76 icf.addFlag("Tracking.trackFitterType",
77 TrackFitterType.GlobalChi2Fitter, type=TrackFitterType)
78
79 icf.addFlag("Tracking.kalmanUpdator",
80 KalmanUpdatorType.KalmanUpdatorSMatrix, type=KalmanUpdatorType)
81
82 icf.addFlag("Tracking.materialInteractions", lambda prevFlags:
83 prevFlags.Beam.Type is not BeamType.SingleBeam)
84
85
86 icf.addFlag("Tracking.materialInteractionsType", lambda prevFlags:
87 2 if prevFlags.Beam.Type is BeamType.Cosmics else 3)
88
89
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)
101
102 icf.addFlag("Tracking.doHadCaloSeededSSS", False)
103
104 icf.addFlag("Tracking.doCaloSeededAmbi", lambda prevFlags:
105 prevFlags.Detector.EnableCalo)
106
107 icf.addFlag("Tracking.doSharedHits", True)
108
109 icf.addFlag("Tracking.doTIDE_Ambi", lambda prevFlags:
110 not (prevFlags.Beam.Type is BeamType.Cosmics))
111
112 icf.addFlag("Tracking.doPixelDigitalClustering", False)
113
114 icf.addFlag("Tracking.doPixelClusterSplitting",
115 lambda prevFlags: not (prevFlags.Beam.Type is BeamType.Cosmics))
116
117 icf.addFlag("Tracking.pixelClusterSplittingType", lambda prevFlags:
118 PixelClusterSplittingType.NeuralNet
119 if prevFlags.GeoModel.Run <= LHCPeriod.Run3
120 else PixelClusterSplittingType.Truth,
121 type=PixelClusterSplittingType)
122
123 icf.addFlag("Tracking.pixelClusterSplitProb1",
124 lambda prevFlags: (
125 0.5 if prevFlags.GeoModel.Run is LHCPeriod.Run1 else 0.55))
126
127 icf.addFlag("Tracking.pixelClusterSplitProb2",
128 lambda prevFlags: (
129 0.5 if prevFlags.GeoModel.Run is LHCPeriod.Run1 else 0.45))
130
131 icf.addFlag("Tracking.doSkipAmbiROI", False)
132
133
134 icf.addFlag("Tracking.TopoClusters", "CaloTopoClusters")
135 icf.addFlag("Tracking.EgammaTopoClusters", "egammaTopoClusters")
136
137
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]
143 )
144 else "BeamLine")
145
146
147 icf.addFlag("Tracking.doEndcapEtaOverlapSpacePoint", lambda prevFlags: prevFlags.ITk.doEndcapEtaNeighbour)
148
149
150
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])
163 else:
164 return False
165
166 icf.addFlag("Tracking.doLargeD0", doLargeD0)
167 icf.addFlag("Tracking.storeSeparateLargeD0Container", True)
168
169
170 icf.addFlag("Tracking.storeBeamLineTrackParticles", lambda prevFlags: prevFlags.Overlay.DataOverlay)
171
172
173 icf.addFlag("Tracking.doLowMu", False)
174
175 icf.addFlag("Tracking.doLowPt",
176 lambda prevFlags: prevFlags.Tracking.doLowMu)
177
178
179 icf.addFlag("Tracking.doStoreTrackSeeds", False)
180
181 icf.addFlag("Tracking.doStoreSiSPSeededTracks", False)
182
183 icf.addFlag("Tracking.writeSeedValNtuple", False)
184
185 icf.addFlag("Tracking.writeExtendedSi_PRDInfo", False)
186 icf.addFlag("Tracking.writeExtendedTRT_PRDInfo", False)
187 icf.addFlag("Tracking.PRDInfo.KeepOnlyOnTrackMeasurements", False)
188
189
190
191 icf.addFlag("Tracking.thinPixelClustersOnTrack", False)
192 icf.addFlag("Tracking.thinSCTClustersOnTrack", False)
193 icf.addFlag("Tracking.thinTRTClustersOnTrack", False)
194 icf.addFlag("Tracking.thinInDetClustersOnTrack",
195 lambda prevFlags: (
196 prevFlags.Tracking.thinPixelClustersOnTrack or
197 prevFlags.Tracking.thinSCTClustersOnTrack or
198 prevFlags.Tracking.thinTRTClustersOnTrack ))
199
200
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)"])
206
207
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]))
216
217
218
219
220
221
222 icf.addFlag("Tracking.useNewParamTRT", lambda prevFlags:
223 prevFlags.Tracking.PrimaryPassConfig is not(
224 PrimaryPassConfig.HeavyIon))
225
226
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))
234
235
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
244 else:
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)
252
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))
258 else 15)
259 icf.addFlag("Tracking.BackTracking.minTRTPrecFrac", lambda prevFlags:
260 0. if (prevFlags.Tracking.doLowMu or
261 prevFlags.Tracking.PrimaryPassConfig is (
262 PrimaryPassConfig.HeavyIon))
263 else 0.3)
264
265 icf.addFlag("Tracking.BackTracking.maxHoles", lambda prevFlags:
266 2 if (prevFlags.Tracking.doLowMu or
267 prevFlags.Tracking.PrimaryPassConfig is (
268 PrimaryPassConfig.HeavyIon))
269 else 1)
270 icf.addFlag("Tracking.BackTracking.maxPixelHoles", lambda prevFlags:
271 2 if (prevFlags.Tracking.doLowMu or
272 prevFlags.Tracking.PrimaryPassConfig is (
273 PrimaryPassConfig.HeavyIon))
274 else 1)
275 icf.addFlag("Tracking.BackTracking.maxSCTHoles", lambda prevFlags:
276 2 if (prevFlags.Tracking.doLowMu or
277 prevFlags.Tracking.PrimaryPassConfig is (
278 PrimaryPassConfig.HeavyIon))
279 else 1)
280 icf.addFlag("Tracking.BackTracking.maxDoubleHoles", lambda prevFlags:
281 1 if (prevFlags.Tracking.doLowMu or
282 prevFlags.Tracking.PrimaryPassConfig is (
283 PrimaryPassConfig.HeavyIon))
284 else 0)
285 icf.addFlag("Tracking.BackTracking.nHolesMax", 2)
286 icf.addFlag("Tracking.BackTracking.nHolesGapMax", 2)
287
288
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)))
294
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)
306
307
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
314 else:
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)
319
320
321 icf.addFlag("Tracking.TRTStandalone.startAtOriginalPerigee",
322 lambda prevFlags: (
323 (not prevFlags.Input.isMC and prevFlags.Input.DataYear >= 2025) or
324 (prevFlags.Input.isMC and prevFlags.Input.MCCampaign >= Campaign.MC23g)))
325
326
327 icf.addFlag("Tracking.doStats", False)
328
329 icf.addFlag("Tracking.doTIDE_AmbiTrackMonitoring", False)
330
331 icf.addFlag("Tracking.useBeamSpotInfoNN", True)
332
333 icf.addFlag("Tracking.nnCutLargeD0Threshold", -1.0)
334
335 icf.addFlag("Tracking.useBroadPixClusterErrors", False)
336
337 icf.addFlag("Tracking.useBroadSCTClusterErrors", False)
338
339
340
341
342 icf.addFlag("Tracking.doTrackSegmentsPixel",
343 lambda prevFlags: (
344 prevFlags.Detector.EnablePixel and (
345 prevFlags.Tracking.doMinBias or
346 prevFlags.Tracking.doLowMu or
347 prevFlags.Beam.Type is BeamType.Cosmics)))
348
349 icf.addFlag("Tracking.doTrackSegmentsSCT",
350 lambda prevFlags: (
351 prevFlags.Detector.EnableSCT and (
352 prevFlags.Tracking.doLowMu or
353 prevFlags.Beam.Type is BeamType.Cosmics)))
354
355 icf.addFlag("Tracking.doTrackSegmentsTRT",
356 lambda prevFlags: (
357 prevFlags.Detector.EnableTRT and
358 (prevFlags.Tracking.doLowMu or
359 prevFlags.Beam.Type is BeamType.Cosmics)))
360
361 icf.addFlag("Tracking.doTRTExtension",
362 lambda prevFlags: prevFlags.Detector.EnableTRT)
363
364 icf.addFlag("Tracking.doTRTSegments",
365 lambda prevFlags: (prevFlags.Detector.EnableTRT and
366 (prevFlags.Tracking.doBackTracking or
367 prevFlags.Tracking.doTRTStandalone)))
368
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])))
378
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])))
387
388
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)))
400
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)
406 else:
407 return False
408 icf.addFlag("Tracking.doTrackSegmentsDisappearing", doTrackSegmentsDisappearing)
409
410
411 icf.addFlag("Tracking.doVeryLowPt", False)
412
413 icf.addFlag("Tracking.doLowPtLargeD0", False)
414
415 icf.addFlag("Tracking.doLowPtRoI", False)
416
417 icf.addFlag("Tracking.doUPC", lambda prevFlags: prevFlags.Reco.HIMode is HIMode.UPC)
418
419 icf.addFlag("Tracking.doHIP", lambda prevFlags: prevFlags.Reco.HIMode is HIMode.HIP)
420
421 icf.addFlag("Tracking.doMinBias", lambda prevFlags:
422 prevFlags.Tracking.doUPC or prevFlags.Tracking.doHIP)
423
424 icf.addFlag("Tracking.doBeamGas",
425 lambda prevFlags: prevFlags.Beam.Type is BeamType.SingleBeam)
426
427 icf.addFlag("Tracking.doBLS", False)
428
429
430 icf.addFlag("Tracking.doPseudoTracking", False)
431
432 icf.addFlag("Tracking.doIdealPseudoTracking", False)
433
434
435
436
437
438
439 icf.addFlag("Tracking.doITkFastTracking", False)
440
441
442 icf.addFlag("Tracking.doITkConversion", lambda prevFlags: (
443 not prevFlags.Tracking.doITkFastTracking and prevFlags.Detector.EnableCalo))
444
445
446
447 icf.addFlag("Tracking.useITkFTF", False)
448
449
450 from InDetGNNTracking.InDetGNNTrackingConfigFlags import createGNNTrackingConfigFlags
451 icf.join(createGNNTrackingConfigFlags())
452
453
454 icf.addFlag("Tracking.recoChain", [TrackingComponent.AthenaChain])
455
456
457
458
459
460
461
462 from TrkConfig.TrackingPassFlags import (
463 createTrackingPassFlags, createHighPileupTrackingPassFlags,
464 createMinBiasTrackingPassFlags, createUPCTrackingPassFlags,
465 createHIPTrackingPassFlags, createR3LargeD0TrackingPassFlags,
466 createLowPtLargeD0TrackingPassFlags,
467 createLowPtTrackingPassFlags, createVeryLowPtTrackingPassFlags,
468 createLowPtRoITrackingPassFlags, createForwardTracksTrackingPassFlags,
469 createBeamGasTrackingPassFlags, createVtxLumiTrackingPassFlags, createVtxLumiHeavyIonTrackingPassFlags,
470 createVtxBeamSpotTrackingPassFlags, createCosmicsTrackingPassFlags,
471 createHeavyIonTrackingPassFlags, createPixelTrackingPassFlags,
472 createDisappearingTrackingPassFlags, createSCTTrackingPassFlags,
473 createTRTTrackingPassFlags, createTRTStandaloneTrackingPassFlags)
474
475 def primaryPass(flags):
476 if TrackingComponent.ActsChain in flags.Tracking.recoChain:
477 return PrimaryPassConfig.Acts
478 if flags.Beam.Type is BeamType.Cosmics:
479 return PrimaryPassConfig.Cosmics
480 elif flags.Reco.EnableHI:
481 if flags.Tracking.doUPC:
482 return PrimaryPassConfig.UPC
483 elif flags.Tracking.doHIP:
484 return PrimaryPassConfig.HIP
485 else:
486 return PrimaryPassConfig.HeavyIon
487 elif flags.Tracking.doMinBias:
488 return PrimaryPassConfig.MinBias
489 else:
490 return PrimaryPassConfig.Default
491
492 icf.addFlag("Tracking.PrimaryPassConfig", lambda prevFlags:
493 primaryPass(prevFlags), type=PrimaryPassConfig)
494
495
496 icf.addFlagsCategory("Tracking.MainPass",
497 createTrackingPassFlags, prefix=True)
498 icf.addFlagsCategory("Tracking.HighPileupPass",
499 createHighPileupTrackingPassFlags, prefix=True)
500 icf.addFlagsCategory("Tracking.UPCPass",
501 createUPCTrackingPassFlags, prefix=True)
502 icf.addFlagsCategory("Tracking.HIPPass",
503 createHIPTrackingPassFlags, prefix=True)
504 icf.addFlagsCategory("Tracking.MinBiasPass",
505 createMinBiasTrackingPassFlags, prefix=True)
506 icf.addFlagsCategory("Tracking.R3LargeD0Pass",
507 createR3LargeD0TrackingPassFlags, prefix=True)
508 icf.addFlagsCategory("Tracking.LowPtLargeD0Pass",
509 createLowPtLargeD0TrackingPassFlags, prefix=True)
510 icf.addFlagsCategory("Tracking.LowPtPass",
511 createLowPtTrackingPassFlags, prefix=True)
512 icf.addFlagsCategory("Tracking.VeryLowPtPass",
513 createVeryLowPtTrackingPassFlags, prefix=True)
514 icf.addFlagsCategory("Tracking.LowPtRoIPass",
515 createLowPtRoITrackingPassFlags, prefix=True)
516 icf.addFlagsCategory("Tracking.ForwardPass",
517 createForwardTracksTrackingPassFlags, prefix=True)
518 icf.addFlagsCategory("Tracking.BeamGasPass",
519 createBeamGasTrackingPassFlags, prefix=True)
520 icf.addFlagsCategory("Tracking.VtxLumiPass",
521 createVtxLumiTrackingPassFlags, prefix=True)
522 icf.addFlagsCategory("Tracking.VtxLumiHeavyIonPass",
523 createVtxLumiHeavyIonTrackingPassFlags, prefix=True)
524 icf.addFlagsCategory("Tracking.VtxBeamSpotPass",
525 createVtxBeamSpotTrackingPassFlags, prefix=True)
526 icf.addFlagsCategory("Tracking.CosmicsPass",
527 createCosmicsTrackingPassFlags, prefix=True)
528 icf.addFlagsCategory("Tracking.HeavyIonPass",
529 createHeavyIonTrackingPassFlags, prefix=True)
530 icf.addFlagsCategory("Tracking.PixelPass",
531 createPixelTrackingPassFlags, prefix=True)
532 icf.addFlagsCategory("Tracking.DisappearingPass",
533 createDisappearingTrackingPassFlags, prefix=True)
534 icf.addFlagsCategory("Tracking.SCTPass",
535 createSCTTrackingPassFlags, prefix=True)
536 icf.addFlagsCategory("Tracking.TRTPass",
537 createTRTTrackingPassFlags, prefix=True)
538 icf.addFlagsCategory("Tracking.TRTStandalonePass",
539 createTRTStandaloneTrackingPassFlags, prefix=True)
540
541
542
543 from TrkConfig.TrackingPassFlags import (
544 createITkTrackingPassFlags, createITkLargeD0TrackingPassFlags,
545 createITkConversionTrackingPassFlags,
546 createITkFastTrackingPassFlags, createITkLargeD0FastTrackingPassFlags,
547 createITkFTFPassFlags, createITkFTFLargeD0PassFlags, createITkLowPtTrackingPassFlags,
548 createITkHeavyIonTrackingPassFlags)
549
550 def itkPrimaryPass(flags):
551 if flags.Tracking.useITkFTF:
552 return ITkPrimaryPassConfig.FTF
553 elif TrackingComponent.ActsChain in flags.Tracking.recoChain:
554 return ITkPrimaryPassConfig.Acts
555 elif TrackingComponent.ActsLegacyChain in flags.Tracking.recoChain:
556 return ITkPrimaryPassConfig.ActsLegacy
557 elif TrackingComponent.ActsHeavyIon in flags.Tracking.recoChain:
558 return ITkPrimaryPassConfig.ActsHeavyIon
559 elif flags.Tracking.doITkFastTracking:
560 return ITkPrimaryPassConfig.FastTracking
561 elif flags.Reco.EnableHI:
562 return ITkPrimaryPassConfig.HeavyIon
563 else:
564 return ITkPrimaryPassConfig.Default
565
566 icf.addFlag("Tracking.ITkPrimaryPassConfig", lambda prevFlags:
567 itkPrimaryPass(prevFlags), type=ITkPrimaryPassConfig)
568
569 icf.addFlagsCategory ("Tracking.ITkMainPass",
570 createITkTrackingPassFlags, prefix=True)
571 icf.addFlagsCategory ("Tracking.ITkLargeD0Pass",
572 createITkLargeD0TrackingPassFlags, prefix=True)
573 icf.addFlagsCategory ("Tracking.ITkConversionPass",
574 createITkConversionTrackingPassFlags, prefix=True)
575 icf.addFlagsCategory ("Tracking.ITkLowPtPass",
576 createITkLowPtTrackingPassFlags, prefix=True)
577 icf.addFlagsCategory ("Tracking.ITkFastPass",
578 createITkFastTrackingPassFlags, prefix=True)
579 icf.addFlagsCategory ("Tracking.ITkLargeD0FastPass",
580 createITkLargeD0FastTrackingPassFlags, prefix=True)
581 icf.addFlagsCategory ("Tracking.ITkFTFPass",
582 createITkFTFPassFlags, prefix=True)
583 icf.addFlagsCategory ("Tracking.ITkFTFLargeD0Pass",
584 createITkFTFLargeD0PassFlags, prefix=True)
585 icf.addFlagsCategory ("Tracking.ITkHeavyIonPass",
586 createITkHeavyIonTrackingPassFlags, prefix=True)
587
588
589 from ActsConfig.ActsTrackingPassFlags import (
590 createActsTrackingPassFlags,
591 createActsLegacyTrackingPassFlags,
592 createActsLargeRadiusTrackingPassFlags,
593 createActsConversionTrackingPassFlags,
594 createActsLowPtTrackingPassFlags,
595 createActsValidateClustersTrackingPassFlags,
596 createActsValidateLargeRadiusStandaloneTrackingPassFlags,
597 createActsValidateTracksTrackingPassFlags,
598 createActsValidateAmbiguityResolutionTrackingPassFlags,
599 createActsHeavyIonTrackingPassFlags,
600 createEFValidateF100TrackingPassFlags,
601 createEFValidateF150TrackingPassFlags,
602 createACTSInnerDetectorTrackingPassFlags
603 )
604
605 icf.addFlagsCategory ("Tracking.ITkActsPass",
606 createActsTrackingPassFlags, prefix=True)
607 icf.addFlagsCategory ("Tracking.ActsPass",
608 createACTSInnerDetectorTrackingPassFlags, prefix=True)
609 icf.addFlagsCategory ("Tracking.ITkActsLegacyPass",
610 createActsLegacyTrackingPassFlags, prefix=True)
611 icf.addFlagsCategory ("Tracking.ITkActsLargeRadiusPass",
612 createActsLargeRadiusTrackingPassFlags, prefix=True)
613 icf.addFlagsCategory ('Tracking.ITkActsConversionPass',
614 createActsConversionTrackingPassFlags, prefix=True)
615 icf.addFlagsCategory ('Tracking.ITkActsLowPtPass',
616 createActsLowPtTrackingPassFlags, prefix=True)
617 icf.addFlagsCategory ("Tracking.ITkActsValidateClustersPass",
618 createActsValidateClustersTrackingPassFlags, prefix=True)
619 icf.addFlagsCategory ("Tracking.ITkActsValidateLargeRadiusStandalonePass",
620 createActsValidateLargeRadiusStandaloneTrackingPassFlags, prefix=True)
621 icf.addFlagsCategory ("Tracking.ITkActsValidateTracksPass",
622 createActsValidateTracksTrackingPassFlags, prefix=True)
623 icf.addFlagsCategory ("Tracking.ITkActsValidateAmbiguityResolutionPass",
624 createActsValidateAmbiguityResolutionTrackingPassFlags, prefix=True)
625 icf.addFlagsCategory ("Tracking.ITkActsHeavyIonPass",
626 createActsHeavyIonTrackingPassFlags, prefix=True)
627
628
629 icf.addFlagsCategory ("Tracking.ITkActsValidateF100Pass",
630 createEFValidateF100TrackingPassFlags, prefix=True)
631
632
633 icf.addFlagsCategory ("Tracking.ITkActsValidateF150Pass",
634 createEFValidateF150TrackingPassFlags, prefix=True)
635
636
637 from InDetGNNTracking.InDetGNNTrackingFlags import createGNNTrackingPassFlags
638 icf.addFlagsCategory ("Tracking.ITkGNNPass",
639 createGNNTrackingPassFlags, prefix=True)
640
641 from TrkConfig.InDetFPGATrackingFlags import createFPGATrackingPassFlags
642 icf.addFlagsCategory ("Tracking.ITkFPGAPass",
643 createFPGATrackingPassFlags, prefix=True)
644
645
646
647
648
649 from TrkConfig.VertexFindingFlags import createPriVertexingFlags
650 icf.addFlagsCategory("Tracking.PriVertex",
651 createPriVertexingFlags, prefix=True)
652
653
654 icf.addFlag("Tracking.doVertexFinding",
655 lambda prevFlags: prevFlags.Beam.Type is not BeamType.Cosmics)
656
657 icf.addFlag("Tracking.doV0Finder", False)
658
659 icf.addFlag('Tracking.TruthClusterSplittingEff', 0.9)
660
661
662 icf.addFlag("Tracking.dumpGBTSTrainingData", 0)
663
664 return icf