ATLAS Offline Software
ActsTrigSequence.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 
3 from TrigInDetConfig.InnerTrackerTrigSequence import InnerTrackerTrigSequence
4 from TrigInDetConfig.TrigInDetConfig import InDetCacheNames
5 from AthenaConfiguration.AthConfigFlags import AthConfigFlags
6 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
7 from AthenaConfiguration.ComponentFactory import CompFactory
8 
9 from AthenaCommon.Logging import logging
10 
11 class ActsTrigSequence(InnerTrackerTrigSequence):
12  def __init__(self, flags : AthConfigFlags, signature : str, rois : str, inView : str):
13  super().__init__(flags, signature,rois,inView)
14  self.log = logging.getLogger("ActsTrigSequence")
15  self.log.info(f"signature: {self.signature} rois: {self.rois} inview: {self.inView}")
16 
17 
18  def viewDataVerifier(self, viewVerifier='IDViewDataVerifier') -> ComponentAccumulator:
19 
20  acc = ComponentAccumulator()
21 
22  ViewDataVerifier = CompFactory.AthViews.ViewDataVerifier(
23  name = viewVerifier + "_" + self.signature,
24  DataObjects= {('xAOD::EventInfo', 'StoreGateSvc+EventInfo'),
25  ('PixelRDO_Cache', 'PixRDOCache'),
26  ('SCT_RDO_Cache', 'SctRDOCache'),
27  ( 'IDCInDetBSErrContainer_Cache' , InDetCacheNames.PixBSErrCacheKey ),
28  ( 'IDCInDetBSErrContainer_Cache' , InDetCacheNames.SCTBSErrCacheKey ),
29  ( 'IDCInDetBSErrContainer_Cache' , InDetCacheNames.SCTFlaggedCondCacheKey ),
30  ( 'ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend' , 'StoreGateSvc+ActsPixelSpacePointCache_Back' ),
31  ('ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend', 'StoreGateSvc+ActsStripSpacePointCache_Back'),
32  ('ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend', 'StoreGateSvc+ActsStripOverlapSpacePointCache_Back'),
33  ( 'ActsTrk::Cache::Handles<xAOD::PixelCluster>::IDCBackend' , 'StoreGateSvc+ActsPixelClusterCache_Back' ),
34  ( 'ActsTrk::Cache::Handles<xAOD::StripCluster>::IDCBackend' , 'StoreGateSvc+ActsStripClusterCache_Back' ),
35  ('xAOD::EventInfo', 'EventInfo'),
36  ( 'ActsGeometryContext' , 'StoreGateSvc+ActsAlignment' ),
37  ('TrigRoiDescriptorCollection', str(self.rois)),
38  ( 'TagInfo' , 'DetectorStore+ProcessingTags' )} )
39 
40  if self.flags.Input.isMC:
41  ViewDataVerifier.DataObjects |= {( 'PixelRDO_Container' , 'StoreGateSvc+ITkPixelRDOs' ),
42  ( 'SCT_RDO_Container' , 'StoreGateSvc+ITkStripRDOs' ),
43  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map'),
44  ( 'ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend' , 'StoreGateSvc+ActsPixelSpacePointCache_Back' ),
45  ('ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend', 'StoreGateSvc+ActsStripSpacePointCache_Back'),
46  ('ActsTrk::Cache::Handles<xAOD::SpacePoint>::IDCBackend', 'StoreGateSvc+ActsStripOverlapSpacePointCache_Back'),
47  ( 'ActsTrk::Cache::Handles<xAOD::PixelCluster>::IDCBackend' , 'StoreGateSvc+ActsPixelClusterCache_Back' ),
48  ( 'ActsTrk::Cache::Handles<xAOD::StripCluster>::IDCBackend' , 'StoreGateSvc+ActsStripClusterCache_Back' ),
49  ( 'ActsGeometryContext' , 'StoreGateSvc+ActsAlignment' )}
50  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
51  sgil_load = [( 'PixelRDO_Container' , 'StoreGateSvc+ITkPixelRDOs' ),
52  ( 'SCT_RDO_Container' , 'StoreGateSvc+ITkStripRDOs' ),
53  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map'),]
54  acc.merge(SGInputLoaderCfg(self.flags, Load=sgil_load))
55 
56  acc.addEventAlgo(ViewDataVerifier)
57  return acc
58 
59  def dataPreparation(self) -> ComponentAccumulator:
60  acc = ComponentAccumulator()
61 
62  self.log.info(f"DataPrep signature: {self.signature} rois: {self.rois} inview: {self.inView}")
63 
64  if not self.inView:
65  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
66  loadRDOs = [( 'PixelRDO_Container' , 'StoreGateSvc+ITkPixelRDOs' ),
67  ( 'SCT_RDO_Container' , 'StoreGateSvc+ITkStripRDOs' ),
68  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map') ]
69  acc.merge(SGInputLoaderCfg(self.flags, Load=loadRDOs))
70 
71  #Clusterisation
72  from ActsConfig.ActsClusterizationConfig import ActsPixelClusterizationAlgCfg,ActsStripClusterizationAlgCfg,ActsPixelClusterPreparationAlgCfg,ActsStripClusterPreparationAlgCfg
73 
74  acc.merge(ActsPixelClusterizationAlgCfg(self.flags, name="ActsPixelClusterizationAlg_"+self.signature,useCache=True, RoIs=self.rois,ClustersKey="ITkPixelClusters_"+self.signature))
75  acc.merge(ActsStripClusterizationAlgCfg(self.flags, name="ActsStripClusterizationAlg_"+self.signature,useCache=True, RoIs=self.rois,ClustersKey="ITkStripClusters_"+self.signature))
76 
77  if self.flags.Acts.useCache:
78  acc.merge(ActsPixelClusterPreparationAlgCfg(self.flags, "ActsPixelClusterViewFiller_"+self.signature, True,OutputCollection="ITkPixelClusters_Cached", InputIDC="ActsPixelClustersCache", RoIs=self.rois))
79  acc.merge(ActsStripClusterPreparationAlgCfg(self.flags, "ActsStripClusterViewFiller_"+self.signature, True,OutputCollection="ITkStripClusters_Cached", InputIDC="ActsStripClustersCache", RoIs=self.rois))
80 
81  return acc
82 
83  def viewDataVerifierAfterPattern(self, viewVerifier='ActsViewDataVerifierForAmbi') -> ComponentAccumulator:
84 
85  acc = ComponentAccumulator()
86 
87  ViewDataVerifier = \
88  CompFactory.AthViews.ViewDataVerifier(
89  name = viewVerifier + "_" + self.signature,
90  DataObjects = {
91  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map'),
92  ( 'ActsGeometryContext' , 'StoreGateSvc+ActsAlignment' )
93  }
94  )
95 
96  acc.addEventAlgo(ViewDataVerifier)
97  return acc
98 
99 
100  def spacePointFormation(self) -> ComponentAccumulator:
101  acc = ComponentAccumulator()
102 
103  from ActsConfig.ActsSpacePointFormationConfig import ActsPixelSpacePointFormationAlgCfg,ActsStripSpacePointFormationAlgCfg,ActsPixelSpacePointPreparationAlgCfg,ActsStripSpacePointPreparationAlgCfg,ActsStripOverlapSpacePointPreparationAlgCfg
104 
105  acc.merge(ActsPixelSpacePointFormationAlgCfg(self.flags,name="PixelSPFormation_"+self.signature,useCache=self.flags.Acts.useCache, PixelClusters = "ITkPixelClusters_Cached" if self.flags.Acts.useCache else "ITkPixelClusters_"+self.signature, PixelSpacePoints = "ITkPixelSpacepoints_"+self.signature))
106 
107  acc.merge(ActsStripSpacePointFormationAlgCfg(self.flags,name="StripSPFormation_"+self.signature,useCache=self.flags.Acts.useCache, StripClusters = "ITkStripClusters_Cached" if self.flags.Acts.useCache else "ITkStripClusters_"+self.signature, StripSpacePoints="ITkStripSpacepoints_"+self.signature, StripOverlapSpacePoints="ITkStripOverlapSpacepoints_"+self.signature))
108 
109  if self.flags.Acts.useCache:
110  acc.merge(ActsPixelSpacePointPreparationAlgCfg(self.flags,name="PixelSPVF_"+self.signature,useCache=True, RoIs=self.rois, OutputCollection="ITkPixelSpacePoints_Cached", InputIDC="ActsPixelSpacePointCache"))
111  acc.merge(ActsStripSpacePointPreparationAlgCfg(self.flags, name="StripSPVF_"+self.signature,useCache=True, RoIs=self.rois, OutputCollection="ITkStripSpacePoints_Cached", InputIDC="ActsStripSpacePointCache"))
112  acc.merge(ActsStripOverlapSpacePointPreparationAlgCfg(self.flags, name="StripOSPVF_"+self.signature,useCache=True, RoIs=self.rois, OutputCollection="ITkStripOverlapSpacePoints_Cached", InputIDC="ActsStripOverlapSpacePointCache"))
113 
114  return acc
115 
116  def fastTrackFinder(self,
117  extraFlags : AthConfigFlags = None,
118  inputTracksName : str = None) -> ComponentAccumulator:
119  acc = ComponentAccumulator()
120 
121  from ActsConfig.ActsSeedingConfig import ActsPixelSeedingAlgCfg, ActsStripSeedingAlgCfg
122 
123  acc.merge(ActsPixelSeedingAlgCfg(self.flags, name="ActsPixelSeedingAlg_"+self.signature, InputSpacePoints=['ITkPixelSpacePoints_Cached'] if self.flags.Acts.useCache else ['ITkPixelSpacepoints_'+self.signature]))
124  acc.merge(ActsStripSeedingAlgCfg(self.flags, name="ActsStripSeedingAlg_"+self.signature, InputSpacePoints=['ITkStripSpacePoints_Cached', 'ITkStripOverlapSpacePoints_Cached'] if self.flags.Acts.useCache else ['ITkStripSpacepoints_'+self.signature, 'ITkStripOverlapSpacepoints_'+self.signature]))
125 
126  from ActsConfig.ActsTrackFindingConfig import ActsMainTrackFindingAlgCfg, ActsTrackToTrackParticleCnvAlgCfg
127 
128  acc.merge(ActsMainTrackFindingAlgCfg(self.flags, name="ActsTrackFindingAlg_"+self.signature, ACTSTracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_FTF,SeedLabels=["PPP"],SeedContainerKeys=["ActsPixelSeeds"],UncalibratedMeasurementContainerKeys=["ITkPixelClusters_Cached" if self.flags.Acts.useCache else "ITkPixelClusters_"+self.signature ,"ITkStripClusters_Cached" if self.flags.Acts.useCache else "ITkStripClusters_"+self.signature],EstimatedTrackParametersKeys=["ActsPixelEstimatedTrackParams"]))
129  acc.merge(ActsTrackToTrackParticleCnvAlgCfg(self.flags,name="ActsTrackParticleCreator_"+self.signature, ACTSTracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_FTF, TrackParticlesOutKey=self.flags.Tracking.ActiveConfig.tracks_FTF))
130 
131  return acc
132 
133  def ambiguitySolver(self) -> ComponentAccumulator:
134  acc = ComponentAccumulator()
135 
136  if self.inView:
137  acc.merge(self.viewDataVerifierAfterPattern())
138 
139  from ActsConfig.ActsTrackFindingConfig import ActsMainAmbiguityResolutionAlgCfg
140 
141  acc.merge(ActsMainAmbiguityResolutionAlgCfg(self.flags, "ActsAmbiguityResolutionAlg_"+self.signature, TracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_FTF, ResolvedTracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_IDTrig))
142 
143 
144  return acc
145 
146  def xAODParticleCreation(self) -> ComponentAccumulator:
147 
148  acc = ComponentAccumulator()
149  from ActsConfig.ActsTrackFindingConfig import ActsTrackToTrackParticleCnvAlgCfg
150  acc.merge(ActsTrackToTrackParticleCnvAlgCfg(self.flags,"ActsTrackParticleCreator_Ambi_"+self.signature, ACTSTracksLocation=self.flags.Tracking.ActiveConfig.trkTracks_IDTrig, TrackParticlesOutKey=self.flags.Tracking.ActiveConfig.tracks_IDTrig))
151 
152  return acc
grepfile.info
info
Definition: grepfile.py:38
ActsClusterizationConfig.ActsPixelClusterizationAlgCfg
ComponentAccumulator ActsPixelClusterizationAlgCfg(flags, str name='ActsPixelClusterizationAlg', *bool useCache=False, **kwargs)
Definition: ActsClusterizationConfig.py:95
python.ActsTrigSequence.ActsTrigSequence.spacePointFormation
ComponentAccumulator spacePointFormation(self)
Definition: ActsTrigSequence.py:100
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
ActsSeedingConfig.ActsPixelSeedingAlgCfg
ComponentAccumulator ActsPixelSeedingAlgCfg(flags, str name='ActsPixelSeedingAlg', **kwargs)
Definition: ActsSeedingConfig.py:219
python.ActsTrigSequence.ActsTrigSequence.fastTrackFinder
ComponentAccumulator fastTrackFinder(self, AthConfigFlags extraFlags=None, str inputTracksName=None)
Definition: ActsTrigSequence.py:116
python.ActsTrigSequence.ActsTrigSequence.ambiguitySolver
ComponentAccumulator ambiguitySolver(self)
Definition: ActsTrigSequence.py:133
python.ActsTrigSequence.ActsTrigSequence.log
log
Definition: ActsTrigSequence.py:14
ActsSpacePointFormationConfig.ActsStripOverlapSpacePointPreparationAlgCfg
ComponentAccumulator ActsStripOverlapSpacePointPreparationAlgCfg(flags, str name='ActsStripOverlapSpacePointPreparationAlg', *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:106
ActsClusterizationConfig.ActsStripClusterizationAlgCfg
ComponentAccumulator ActsStripClusterizationAlgCfg(flags, str name='ActsStripClusterizationAlg', bool useCache=False, **kwargs)
Definition: ActsClusterizationConfig.py:129
ActsSeedingConfig.ActsStripSeedingAlgCfg
ComponentAccumulator ActsStripSeedingAlgCfg(flags, str name='ActsStripSeedingAlg', **kwargs)
Definition: ActsSeedingConfig.py:278
ActsSpacePointFormationConfig.ActsPixelSpacePointPreparationAlgCfg
ComponentAccumulator ActsPixelSpacePointPreparationAlgCfg(flags, str name="ActsPixelSpacePointPreparationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:56
ActsSpacePointFormationConfig.ActsStripSpacePointFormationAlgCfg
ComponentAccumulator ActsStripSpacePointFormationAlgCfg(flags, str name="ActsStripSpacePointFormationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:146
python.ActsTrigSequence.ActsTrigSequence.dataPreparation
ComponentAccumulator dataPreparation(self)
Definition: ActsTrigSequence.py:59
SGInputLoaderConfig.SGInputLoaderCfg
def SGInputLoaderCfg(flags, Load=None, **kwargs)
Definition: SGInputLoaderConfig.py:7
python.ActsTrigSequence.ActsTrigSequence.viewDataVerifier
ComponentAccumulator viewDataVerifier(self, viewVerifier='IDViewDataVerifier')
Definition: ActsTrigSequence.py:18
python.ActsTrigSequence.ActsTrigSequence.xAODParticleCreation
ComponentAccumulator xAODParticleCreation(self)
Definition: ActsTrigSequence.py:146
ActsClusterizationConfig.ActsStripClusterPreparationAlgCfg
ComponentAccumulator ActsStripClusterPreparationAlgCfg(flags, str name="ActsStripClusterPreparationAlg", bool useCache=False, **kwargs)
Definition: ActsClusterizationConfig.py:195
ActsSpacePointFormationConfig.ActsPixelSpacePointFormationAlgCfg
ComponentAccumulator ActsPixelSpacePointFormationAlgCfg(flags, str name="ActsPixelSpacePointFormationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:114
ActsTrackFindingConfig.ActsMainAmbiguityResolutionAlgCfg
ComponentAccumulator ActsMainAmbiguityResolutionAlgCfg(flags, str name="ActsAmbiguityResolutionAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:232
python.ActsTrigSequence.ActsTrigSequence.__init__
def __init__(self, AthConfigFlags flags, str signature, str rois, str inView)
Definition: ActsTrigSequence.py:12
python.ActsTrigSequence.ActsTrigSequence
Definition: ActsTrigSequence.py:11
ActsSpacePointFormationConfig.ActsStripSpacePointPreparationAlgCfg
ComponentAccumulator ActsStripSpacePointPreparationAlgCfg(flags, str name="ActsStripSpacePointPreparationAlg", *bool useCache=False, **dict kwargs)
Definition: ActsSpacePointFormationConfig.py:81
ActsTrackFindingConfig.ActsMainTrackFindingAlgCfg
ComponentAccumulator ActsMainTrackFindingAlgCfg(flags, str name="ActsTrackFindingAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:47
ActsClusterizationConfig.ActsPixelClusterPreparationAlgCfg
ComponentAccumulator ActsPixelClusterPreparationAlgCfg(flags, str name="ActsPixelClusterPreparationAlg", bool useCache=False, **kwargs)
Definition: ActsClusterizationConfig.py:171
str
Definition: BTagTrackIpAccessor.cxx:11
python.ActsTrigSequence.ActsTrigSequence.viewDataVerifierAfterPattern
ComponentAccumulator viewDataVerifierAfterPattern(self, viewVerifier='ActsViewDataVerifierForAmbi')
Definition: ActsTrigSequence.py:83
ActsTrackFindingConfig.ActsTrackToTrackParticleCnvAlgCfg
ComponentAccumulator ActsTrackToTrackParticleCnvAlgCfg(flags, str name="ActsTrackToTrackParticleCnvAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:274