11 def __init__(self, flags : AthConfigFlags, signature : str, rois : str, inView : str):
12 super().
__init__(flags, signature,rois,inView)
13 self.
log = logging.getLogger(
"ActsTrigSequence")
14 self.
log.info(f
"signature: {self.signature} rois: {self.rois} inview: {self.inView}")
17 if not self.
flags.Tracking.doITkFastTracking:
18 raise ValueError(f
"Acts Trig Sequence needs to run in fast tracking mode but 'Tracking.doITkFastTracking' flag is set to {self.flags.Tracking.doITkFastTracking}")
22 acc = ComponentAccumulator()
24 ViewDataVerifier = CompFactory.AthViews.ViewDataVerifier(
25 name = viewVerifier +
"_" + self.
signature,
26 DataObjects= {(
'xAOD::EventInfo',
'StoreGateSvc+EventInfo'),
27 (
'PixelRDO_Cache',
'PixRDOCache'),
28 (
'SCT_RDO_Cache',
'SctRDOCache'),
33 (
'xAOD::EventInfo',
'EventInfo'),
34 (
'ActsTrk::GeometryContext' ,
'StoreGateSvc+ActsAlignment' ),
35 (
'TrigRoiDescriptorCollection', str(self.rois)),
36 (
'TagInfo' ,
'DetectorStore+ProcessingTags' )} )
38 if self.
flags.Input.isMC:
39 ViewDataVerifier.DataObjects |= {(
'PixelRDO_Container' ,
'StoreGateSvc+ITkPixelRDOs' ),
40 (
'SCT_RDO_Container' ,
'StoreGateSvc+ITkStripRDOs' ),
41 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map'),
42 (
'ActsTrk::GeometryContext' ,
'StoreGateSvc+ActsAlignment' )}
43 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
44 sgil_load = [(
'PixelRDO_Container' ,
'StoreGateSvc+ITkPixelRDOs' ),
45 (
'SCT_RDO_Container' ,
'StoreGateSvc+ITkStripRDOs' ),
46 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map'),]
47 acc.merge(SGInputLoaderCfg(self.
flags, Load=sgil_load))
49 if self.
flags.Acts.useCache:
50 ViewDataVerifier.DataObjects |= {(
'ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend' ,
'StoreGateSvc+ActsPixelSpacePointCache_Back' ),
51 (
'ActsTrk::Cache::Handles<xAOD::PixelCluster>::IDCBackend' ,
'StoreGateSvc+ActsPixelClusterCache_Back' ),
52 (
'ActsTrk::Cache::Handles<xAOD::StripCluster>::IDCBackend' ,
'StoreGateSvc+ActsStripClusterCache_Back' ),
55 if self.
flags.Tracking.ActiveConfig.isLRT:
56 ViewDataVerifier.DataObjects |= {
57 (
'ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend' ,
'StoreGateSvc+ActsStripSpacePointCache_Back' ),
58 (
'ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend' ,
'StoreGateSvc+ActsStripOverlapSpacePointCache_Back' ),
61 ViewDataVerifier.DataObjects |= {
62 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkPixelDetectorElementStatus' ),
63 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkStripDetectorElementStatus' ),
66 acc.addEventAlgo(ViewDataVerifier)
70 acc = ComponentAccumulator()
72 self.
log.info(f
"DataPrep signature: {self.signature} rois: {self.rois} inview: {self.inView}")
75 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
76 loadRDOs = [(
'PixelRDO_Container' ,
'StoreGateSvc+ITkPixelRDOs' ),
77 (
'SCT_RDO_Container' ,
'StoreGateSvc+ITkStripRDOs' ),
78 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map') ]
79 acc.merge(SGInputLoaderCfg(self.
flags, Load=loadRDOs))
82 from ActsConfig.ActsClusterizationConfig
import ActsPixelClusterizationAlgCfg,ActsStripClusterizationAlgCfg,ActsPixelClusterPreparationAlgCfg,ActsStripClusterPreparationAlgCfg
84 acc.merge(ActsPixelClusterizationAlgCfg(self.
flags,
85 name=
"ActsPixelClusterizationAlg_"+self.
signature,
86 useCache=self.
flags.Acts.useCache,
88 ClustersKey=
"ITkPixelClusters_"+self.
signature))
89 acc.merge(ActsStripClusterizationAlgCfg(self.
flags,
90 name=
"ActsStripClusterizationAlg_"+self.
signature,
91 useCache=self.
flags.Acts.useCache,
93 ClustersKey=
"ITkStripClusters_"+self.
signature))
96 if self.
flags.Acts.useCache:
97 acc.merge(ActsPixelClusterPreparationAlgCfg(self.
flags,
100 OutputCollection=
"ITkPixelClusters_Cached",
101 InputIDC=
"ActsPixelClustersCache",
103 acc.merge(ActsStripClusterPreparationAlgCfg(self.
flags,
104 "ActsStripClusterViewFiller_"+self.
signature,
106 OutputCollection=
"ITkStripClusters_Cached",
107 InputIDC=
"ActsStripClustersCache",
132 acc = ComponentAccumulator()
133 isLRT = self.
flags.Tracking.ActiveConfig.isLRT
134 from ActsConfig.ActsSpacePointFormationConfig
import (
135 ActsPixelSpacePointFormationAlgCfg,ActsPixelSpacePointPreparationAlgCfg,
136 ActsStripSpacePointFormationAlgCfg,ActsStripSpacePointPreparationAlgCfg,
137 ActsStripOverlapSpacePointPreparationAlgCfg
139 acc.merge(ActsPixelSpacePointFormationAlgCfg(self.
flags,
141 useCache=self.
flags.Acts.useCache,
142 PixelClusters =
"ITkPixelClusters_Cached" if self.
flags.Acts.useCache
else "ITkPixelClusters_"+self.
signature,
143 PixelSpacePoints =
"ITkPixelSpacepoints_"+self.
signature))
145 acc.merge(ActsStripSpacePointFormationAlgCfg(self.
flags,
147 useCache=self.
flags.Acts.useCache,
148 StripClusters =
"ITkStripClusters_Cached" if self.
flags.Acts.useCache
else "ITkStripClusters_"+self.
signature,
149 StripSpacePoints =
"ITkStripSpacepoints_"+self.
signature,
150 StripOverlapSpacePoints=
"ITkStripOverlapSpacepoints_"+self.
signature))
152 if self.
flags.Acts.useCache:
153 acc.merge(ActsPixelSpacePointPreparationAlgCfg(self.
flags,
157 OutputCollection=
"ITkPixelSpacePoints_Cached",
158 InputIDC=
"ActsPixelSpacePointCache"))
160 acc.merge(ActsStripSpacePointPreparationAlgCfg(self.
flags,
164 OutputCollection=
"ITkStripSpacePoints_Cached",
165 InputIDC=
"ActsStripSpacePointCache"))
166 acc.merge(ActsStripOverlapSpacePointPreparationAlgCfg(self.
flags,
170 OutputCollection=
"ITkStripOverlapSpacePoints_Cached",
171 InputIDC=
"ActsStripOverlapSpacePointCache"))
176 extraFlags : AthConfigFlags =
None,
177 inputTracksName : str =
None) -> ComponentAccumulator:
178 acc = ComponentAccumulator()
180 from ActsConfig.ActsSeedingConfig
import (
181 ActsLargeRadiusStripSeedingToolCfg,
182 ActsPixelSeedingAlgCfg,
183 ActsStripSeedingAlgCfg,
186 isLRT = self.
flags.Tracking.ActiveConfig.isLRT
192 stripSpacePoints = [
'ITkStripSpacePoints_Cached',
193 'ITkStripOverlapSpacePoints_Cached']
if self.
flags.Acts.useCache
else [
'ITkStripSpacepoints_'+self.
signature,
'ITkStripOverlapSpacepoints_'+self.
signature]
195 "name":
"ActsStripSeedingAlg_"+self.
signature,
196 "InputSpacePoints": stripSpacePoints,
197 "SeedTool": acc.popToolsAndMerge(ActsLargeRadiusStripSeedingToolCfg(
199 name=
"ActsLargeRadiusStripSeedingTool_"+self.
signature)),
200 "useFastTracking":
True,
202 acc.merge(ActsStripSeedingAlgCfg(self.
flags, **seeding_args))
203 seed_labels.append(
"SSS")
204 seed_keys.append(
"ActsStripSeeds")
207 acc.merge(ActsPixelSeedingAlgCfg(self.
flags,
208 name=
"ActsPixelSeedingAlg_"+self.
signature,
209 InputSpacePoints=[
'ITkPixelSpacePoints_Cached']
if self.
flags.Acts.useCache
else [
'ITkPixelSpacepoints_'+self.
signature],
210 useFastTracking=
True))
211 seed_labels.append(
"PPP")
212 seed_keys.append(
"ActsPixelSeeds")
214 from ActsConfig.ActsTrackFindingConfig
import ActsMainTrackFindingAlgCfg
215 from ActsConfig.ActsEventCnvConfig
import ActsTrackToTrackParticleCnvAlgCfg
216 measurements = [
"ITkPixelClusters_Cached" if self.
flags.Acts.useCache
else "ITkPixelClusters_"+self.
signature,
217 "ITkStripClusters_Cached" if self.
flags.Acts.useCache
else "ITkStripClusters_"+self.
signature]
222 extra_tf_kwargs[
"refitSeeds"] =
True
224 from ActsConfig.ActsTrackParamsEstimationConfig
import ActsTrackParamsEstimationToolCfg
225 trackfinding = ActsMainTrackFindingAlgCfg(self.
flags,
226 name=
"ActsTrackFindingAlg_"+self.
signature,
227 ACTSTracksLocation=self.
flags.Tracking.ActiveConfig.trkTracks_FTF,
228 SeedLabels=seed_labels,
229 SeedContainerKeys=seed_keys,
230 UncalibratedMeasurementContainerKeys=measurements,
231 TrackParamsEstimationTool=[acc.popToolsAndMerge(ActsTrackParamsEstimationToolCfg(self.
flags, **extra_tf_kwargs))])
232 acc.merge(trackfinding)
233 acc.merge(ActsTrackToTrackParticleCnvAlgCfg(self.
flags,
234 name=
"ActsTrackParticleCreator_"+self.
signature,
235 ACTSTracksLocation=[self.
flags.Tracking.ActiveConfig.trkTracks_FTF],
236 TrackParticlesOutKey=self.
flags.Tracking.ActiveConfig.tracks_FTF))
241 acc = ComponentAccumulator()
245 from ActsConfig.ActsTrackFindingConfig
import ActsMainAmbiguityResolutionAlgCfg
246 acc.merge(ActsMainAmbiguityResolutionAlgCfg(self.
flags,
247 "ActsAmbiguityResolutionAlg_"+self.
signature,
248 TracksLocation=self.
flags.Tracking.ActiveConfig.trkTracks_FTF,
249 ResolvedTracksLocation=self.
flags.Tracking.ActiveConfig.trkTracks_IDTrig))
255 acc = ComponentAccumulator()
257 from ActsConfig.ActsEventCnvConfig
import ActsTrackToTrackParticleCnvAlgCfg
258 acc.merge(ActsTrackToTrackParticleCnvAlgCfg(self.
flags,
259 "ActsTrackParticleCreator_Ambi_"+self.
signature,
260 ACTSTracksLocation=[self.
flags.Tracking.ActiveConfig.trkTracks_IDTrig],
261 TrackParticlesOutKey=self.
flags.Tracking.ActiveConfig.tracks_IDTrig))