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' ),
54 ViewDataVerifier.DataObjects |= {
55 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkPixelDetectorElementStatus' ),
56 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkStripDetectorElementStatus' ),
59 acc.addEventAlgo(ViewDataVerifier)
63 acc = ComponentAccumulator()
65 self.
log.info(f
"DataPrep signature: {self.signature} rois: {self.rois} inview: {self.inView}")
68 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
69 loadRDOs = [(
'PixelRDO_Container' ,
'StoreGateSvc+ITkPixelRDOs' ),
70 (
'SCT_RDO_Container' ,
'StoreGateSvc+ITkStripRDOs' ),
71 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map') ]
72 acc.merge(SGInputLoaderCfg(self.
flags, Load=loadRDOs))
75 from ActsConfig.ActsClusterizationConfig
import ActsPixelClusterizationAlgCfg,ActsStripClusterizationAlgCfg,ActsPixelClusterPreparationAlgCfg,ActsStripClusterPreparationAlgCfg
77 acc.merge(ActsPixelClusterizationAlgCfg(self.
flags,
78 name=
"ActsPixelClusterizationAlg_"+self.
signature,
79 useCache=self.
flags.Acts.useCache,
81 ClustersKey=
"ITkPixelClusters_"+self.
signature))
82 acc.merge(ActsStripClusterizationAlgCfg(self.
flags,
83 name=
"ActsStripClusterizationAlg_"+self.
signature,
84 useCache=self.
flags.Acts.useCache,
86 ClustersKey=
"ITkStripClusters_"+self.
signature))
89 if self.
flags.Acts.useCache:
90 acc.merge(ActsPixelClusterPreparationAlgCfg(self.
flags,
93 OutputCollection=
"ITkPixelClusters_Cached",
94 InputIDC=
"ActsPixelClustersCache",
96 acc.merge(ActsStripClusterPreparationAlgCfg(self.
flags,
97 "ActsStripClusterViewFiller_"+self.
signature,
99 OutputCollection=
"ITkStripClusters_Cached",
100 InputIDC=
"ActsStripClustersCache",
125 acc = ComponentAccumulator()
127 from ActsConfig.ActsSpacePointFormationConfig
import ActsPixelSpacePointFormationAlgCfg,ActsPixelSpacePointPreparationAlgCfg
128 acc.merge(ActsPixelSpacePointFormationAlgCfg(self.
flags,
129 name=
"ActsPixelSPFormation_"+self.
signature,
130 useCache=self.
flags.Acts.useCache,
131 PixelClusters =
"ITkPixelClusters_Cached" if self.
flags.Acts.useCache
else "ITkPixelClusters_"+self.
signature,
132 PixelSpacePoints =
"ITkPixelSpacepoints_"+self.
signature))
134 if self.
flags.Acts.useCache:
135 acc.merge(ActsPixelSpacePointPreparationAlgCfg(self.
flags,
136 name=
"ActsPixelSPViewFiller_"+self.
signature,
139 OutputCollection=
"ITkPixelSpacePoints_Cached",
140 InputIDC=
"ActsPixelSpacePointCache"))
145 extraFlags : AthConfigFlags =
None,
146 inputTracksName : str =
None) -> ComponentAccumulator:
147 acc = ComponentAccumulator()
149 from ActsConfig.ActsSeedingConfig
import ActsPixelSeedingAlgCfg
151 acc.merge(ActsPixelSeedingAlgCfg(self.
flags,
152 name=
"ActsPixelSeedingAlg_"+self.
signature,
153 InputSpacePoints=[
'ITkPixelSpacePoints_Cached']
if self.
flags.Acts.useCache
else [
'ITkPixelSpacepoints_'+self.
signature],
154 useFastTracking=
True))
156 from ActsConfig.ActsTrackFindingConfig
import ActsMainTrackFindingAlgCfg
157 from ActsConfig.ActsEventCnvConfig
import ActsTrackToTrackParticleCnvAlgCfg
158 measurements = [
"ITkPixelClusters_Cached" if self.
flags.Acts.useCache
else "ITkPixelClusters_"+self.
signature,
159 "ITkStripClusters_Cached" if self.
flags.Acts.useCache
else "ITkStripClusters_"+self.
signature]
161 trackfinding = ActsMainTrackFindingAlgCfg(self.
flags,
162 name=
"ActsTrackFindingAlg_"+self.
signature,
163 ACTSTracksLocation=self.
flags.Tracking.ActiveConfig.trkTracks_FTF,
165 SeedContainerKeys=[
"ActsPixelSeeds"],
166 UncalibratedMeasurementContainerKeys=measurements)
168 acc.merge(trackfinding)
169 acc.merge(ActsTrackToTrackParticleCnvAlgCfg(self.
flags,
170 name=
"ActsTrackParticleCreator_"+self.
signature,
171 ACTSTracksLocation=[self.
flags.Tracking.ActiveConfig.trkTracks_FTF],
172 TrackParticlesOutKey=self.
flags.Tracking.ActiveConfig.tracks_FTF))
177 acc = ComponentAccumulator()
181 from ActsConfig.ActsTrackFindingConfig
import ActsMainAmbiguityResolutionAlgCfg
182 acc.merge(ActsMainAmbiguityResolutionAlgCfg(self.
flags,
183 "ActsAmbiguityResolutionAlg_"+self.
signature,
184 TracksLocation=self.
flags.Tracking.ActiveConfig.trkTracks_FTF,
185 ResolvedTracksLocation=self.
flags.Tracking.ActiveConfig.trkTracks_IDTrig))
191 acc = ComponentAccumulator()
193 from ActsConfig.ActsEventCnvConfig
import ActsTrackToTrackParticleCnvAlgCfg
194 acc.merge(ActsTrackToTrackParticleCnvAlgCfg(self.
flags,
195 "ActsTrackParticleCreator_Ambi_"+self.
signature,
196 ACTSTracksLocation=[self.
flags.Tracking.ActiveConfig.trkTracks_IDTrig],
197 TrackParticlesOutKey=self.
flags.Tracking.ActiveConfig.tracks_IDTrig))