4 return f
"{flags.Tracking.ITkPrimaryPassConfig.value}Pass" not in flags.Tracking
7 if "ActiveConfig" in flags.Tracking
and flags.Tracking.ActiveConfig.extension
in [
"ActsValidateF100",
"ActsValidateF150"]
and flags.Tracking.doITkFastTracking:
9 return flags.Tracking.doITkFastTracking
and isPrimaryPass(flags)
12 return "Validate" in flags.Tracking.ActiveConfig.extension
18 from TrkConfig.TrkConfigFlags
import ITkPrimaryPassConfig
19 return flags.Tracking.ITkPrimaryPassConfig
in [ITkPrimaryPassConfig.Acts, \
20 ITkPrimaryPassConfig.ActsLegacy, \
21 ITkPrimaryPassConfig.ActsHeavyIon]
26 return flags.Tracking.ITkPrimaryPassConfig.value.replace(
"ITk",
"")
34 if len(flags.Tracking.recoChain) != 1:
35 raise ValueError(f
"Conflicting reco configuration: Tracking.recoChain should have only one element but we found {flags.Tracking.recoChain}")
38 from TrkConfig.TrkConfigFlags
import ITkPrimaryPassConfig
39 if flags.Tracking.ITkPrimaryPassConfig
is ITkPrimaryPassConfig.Acts:
40 if not flags.Tracking.doITkFastTracking:
41 raise ValueError(f
"Main pass is set to Acts Fast Tracking but Tracking.doITkFastTracking is set to {flags.Tracking.doITkFastTracking}")
43 if flags.Tracking.doITkFastTracking:
44 raise ValueError(f
"Main pass is NOT set to Fast Tracking but Tracking.doITkFastTracking is set to {flags.Tracking.doITkFastTracking}")
47 if flags.Acts.doAmbiguityResolution:
48 from ActsConfig.ActsConfigFlags
import AmbiguitySolverMode
51 if flags.Acts.AmbiguitySolverMode
is not AmbiguitySolverMode.OUTSIDE_TF:
52 raise ValueError(f
"Conflicting reco configuration: Acts.doAmbiguityResolution has been requested and this will schedule the ACTS ambiguity solver algorithm, yet the ambiguity mode (set to {flags.Acts.AmbiguitySolverMode}) is not compatible with this.")
56 trackingPasses += [flags.cloneAndReplace(
57 "Tracking.ActiveConfig",
58 f
"Tracking.{flags.Tracking.ITkPrimaryPassConfig.value}Pass")]
61 if flags.Acts.doLargeRadius:
62 trackingPasses += [flags.cloneAndReplace(
63 "Tracking.ActiveConfig",
64 "Tracking.ITkActsLargeRadiusPass")]
67 if flags.Acts.doITkConversion:
69 if not flags.Detector.EnableCalo:
70 raise ValueError(
"Problem in the job configuration: required reconstruction of photon conversion tracks but Calorimeter Detector is not enabled")
71 trackingPasses += [flags.cloneAndReplace(
72 "Tracking.ActiveConfig",
73 "Tracking.ITkActsConversionPass")]
76 if flags.Acts.doLowPt:
77 trackingPasses += [flags.cloneAndReplace(
78 "Tracking.ActiveConfig",
79 "Tracking.ITkActsLowPtPass")]
81 print(
"List of scheduled passes:")
82 for trackingPass
in trackingPasses:
83 print(f
'- {trackingPass.Tracking.ActiveConfig.extension}')
88 generateTrackCollections = [
"InDetTrackParticles"]
92 for currentFlags
in scheduledTrackingPasses:
94 if currentFlags.Tracking.ActiveConfig.storeTrackSeeds:
96 generatePixelSegments = currentFlags.Detector.EnableITkPixel
97 generateStripSegments = currentFlags.Detector.EnableITkStrip
100 if currentFlags.Tracking.ActiveConfig.extension
in [
"ActsConversion",
"ActsLargeRadius"]:
101 generatePixelSegments =
False
104 generateStripSegments =
False
106 if generatePixelSegments:
107 generateTrackCollections += [f
'SiSPSeedSegments{currentFlags.Tracking.ActiveConfig.extension}PixelTrackParticles']
108 if generateStripSegments:
109 generateTrackCollections += [f
'SiSPSeedSegments{currentFlags.Tracking.ActiveConfig.extension}StripTrackParticles']
110 if generatePixelSegments
and generateStripSegments:
111 generateTrackCollections += [f
'SiSPSeedSegments{currentFlags.Tracking.ActiveConfig.extension}TrackParticles']
114 if currentFlags.Tracking.ActiveConfig.storeSiSPSeededTracks:
115 generateTrackCollections += [f
'SiSPSeededTracks{currentFlags.Tracking.ActiveConfig.extension}TrackParticles']
120 if currentFlags.Acts.doAmbiguityResolution
and currentFlags.Tracking.ActiveConfig.storeSeparateContainer:
121 generateTrackCollections += [f
'InDet{currentFlags.Tracking.ActiveConfig.extension}TrackParticles']
123 print(
'Here is the list of generated track particle collections:')
124 for collection
in generateTrackCollections:
125 print(f
'- {collection}')
127 return generateTrackCollections