3 from TrigInDetConfig.InnerTrackerTrigSequence
import InnerTrackerTrigSequence
4 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory
import CompFactory
8 from AthenaCommon.Logging
import logging
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}")
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'),]
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' ),
53 (
'ActsTrk::Cache::Handles<xAOD::PixelCluster>::IDC' ,
'StoreGateSvc+ActsPixelClustersCache' ),
54 (
'ActsTrk::Cache::Handles<xAOD::StripCluster>::IDC' ,
'StoreGateSvc+ActsStripClustersCache' ),
55 (
'ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDC' ,
'StoreGateSvc+ActsPixelSpacePointCache' )}
57 ViewDataVerifier.DataObjects |= {
58 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkPixelDetectorElementStatus' ),
59 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkStripDetectorElementStatus' ),
62 acc.addEventAlgo(ViewDataVerifier)
68 self.
log.
info(f
"DataPrep signature: {self.signature} rois: {self.rois} inview: {self.inView}")
71 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
72 loadRDOs = [(
'PixelRDO_Container' ,
'StoreGateSvc+ITkPixelRDOs' ),
73 (
'SCT_RDO_Container' ,
'StoreGateSvc+ITkStripRDOs' ),
74 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map') ]
78 from ActsConfig.ActsClusterizationConfig
import ActsPixelClusterizationAlgCfg,ActsStripClusterizationAlgCfg,ActsPixelClusterPreparationAlgCfg,ActsStripClusterPreparationAlgCfg
81 name=
"ActsPixelClusterizationAlg_"+self.signature,
82 useCache=self.flags.Acts.useCache,
84 ClustersKey=
"ITkPixelClusters_"+self.signature))
86 name=
"ActsStripClusterizationAlg_"+self.signature,
87 useCache=self.flags.Acts.useCache,
89 ClustersKey=
"ITkStripClusters_"+self.signature))
92 if self.flags.Acts.useCache:
94 "ActsPixelClusterViewFiller_"+self.signature,
96 OutputCollection=
"ITkPixelClusters_Cached",
97 InputIDC=
"ActsPixelClustersCache",
100 "ActsStripClusterViewFiller_"+self.signature,
102 OutputCollection=
"ITkStripClusters_Cached",
103 InputIDC=
"ActsStripClustersCache",
113 CompFactory.AthViews.ViewDataVerifier(
114 name = viewVerifier +
"_" + self.signature,
116 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map'),
117 (
'ActsTrk::GeometryContext' ,
'StoreGateSvc+ActsAlignment' ),
118 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkPixelDetectorElementStatus' ),
119 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkStripDetectorElementStatus' ),
123 acc.addEventAlgo(ViewDataVerifier)
130 from ActsConfig.ActsSpacePointFormationConfig
import ActsPixelSpacePointFormationAlgCfg,ActsPixelSpacePointPreparationAlgCfg
132 name=
"ActsPixelSPFormation_"+self.signature,
133 useCache=self.flags.Acts.useCache,
134 PixelClusters =
"ITkPixelClusters_Cached" if self.flags.Acts.useCache
else "ITkPixelClusters_"+self.signature,
135 PixelSpacePoints =
"ITkPixelSpacepoints_"+self.signature))
137 if self.flags.Acts.useCache:
139 name=
"ActsPixelSPViewFiller_"+self.signature,
142 OutputCollection=
"ITkPixelSpacePoints_Cached",
143 InputIDC=
"ActsPixelSpacePointCache"))
148 extraFlags : AthConfigFlags =
None,
149 inputTracksName : str =
None) -> ComponentAccumulator:
152 from ActsConfig.ActsSeedingConfig
import ActsPixelSeedingAlgCfg
155 name=
"ActsPixelSeedingAlg_"+self.signature,
156 InputSpacePoints=[
'ITkPixelSpacePoints_Cached']
if self.flags.Acts.useCache
else [
'ITkPixelSpacepoints_'+self.signature],
157 useFastTracking=
True))
159 from ActsConfig.ActsTrackFindingConfig
import ActsMainTrackFindingAlgCfg, ActsTrackToTrackParticleCnvAlgCfg
160 measurements = [
"ITkPixelClusters_Cached" if self.flags.Acts.useCache
else "ITkPixelClusters_"+self.signature,
161 "ITkStripClusters_Cached" if self.flags.Acts.useCache
else "ITkStripClusters_"+self.signature]
164 name=
"ActsTrackFindingAlg_"+self.signature,
165 ACTSTracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_FTF,
167 SeedContainerKeys=[
"ActsPixelSeeds"],
168 DetectorElementsKeys=[
'ITkPixelDetectorElementCollection'],
169 UncalibratedMeasurementContainerKeys=measurements)
171 acc.merge(trackfinding)
173 name=
"ActsTrackParticleCreator_"+self.signature,
174 ACTSTracksLocation=[self.flags.Tracking.ActiveConfig.trkTracks_FTF],
175 TrackParticlesOutKey=self.flags.Tracking.ActiveConfig.tracks_FTF))
184 from ActsConfig.ActsTrackFindingConfig
import ActsMainAmbiguityResolutionAlgCfg
186 "ActsAmbiguityResolutionAlg_"+self.signature,
187 TracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_FTF,
188 ResolvedTracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_IDTrig))
196 from ActsConfig.ActsTrackFindingConfig
import ActsTrackToTrackParticleCnvAlgCfg
198 "ActsTrackParticleCreator_Ambi_"+self.signature,
199 ACTSTracksLocation=[self.flags.Tracking.ActiveConfig.trkTracks_IDTrig],
200 TrackParticlesOutKey=self.flags.Tracking.ActiveConfig.tracks_IDTrig))