ATLAS Offline Software
ITkTrigSequence.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 AthenaConfiguration.AthConfigFlags import AthConfigFlags
5 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
6 from AthenaConfiguration.ComponentFactory import CompFactory
7 
8 from AthenaCommon.Logging import logging
9 
10 class ITkTrigSequence(InnerTrackerTrigSequence):
11  def __init__(self, flags : AthConfigFlags, signature : str, rois : str, inView : str):
12  super().__init__(flags, signature,rois,inView)
13  self.log = logging.getLogger("ITkTrigSequence")
14  self.log.info(f"signature: {self.signature} rois: {self.rois} inview: {self.inView}")
15 
16 
17  def viewDataVerifier(self, viewVerifier='IDViewDataVerifier') -> ComponentAccumulator:
18 
19  acc = ComponentAccumulator()
20 
21  ViewDataVerifier = CompFactory.AthViews.ViewDataVerifier(
22  name = viewVerifier + "_" + self.signature,
23  DataObjects= {('xAOD::EventInfo', 'StoreGateSvc+EventInfo'),
24  ('InDet::PixelClusterContainerCache', self.flags.Trigger.ITkTracking.PixelClusterCacheKey),
25  ('PixelRDO_Cache', self.flags.Trigger.ITkTracking.PixRDOCacheKey),
26  ('InDet::SCT_ClusterContainerCache', self.flags.Trigger.ITkTracking.SCTClusterCacheKey),
27  ('SCT_RDO_Cache', self.flags.Trigger.ITkTracking.SCTRDOCacheKey),
28  ('IDCInDetBSErrContainer_Cache' , self.flags.Trigger.ITkTracking.PixBSErrCacheKey ),
29  ('IDCInDetBSErrContainer_Cache' , self.flags.Trigger.ITkTracking.SCTBSErrCacheKey ),
30  ('IDCInDetBSErrContainer_Cache' , self.flags.Trigger.ITkTracking.SCTFlaggedCondCacheKey ),
31  ('SpacePointCache', self.flags.Trigger.ITkTracking.SpacePointCachePix),
32  ('SpacePointCache', self.flags.Trigger.ITkTracking.SpacePointCacheSCT),
33  ('xAOD::EventInfo', 'EventInfo'),
34  ('TrigRoiDescriptorCollection', str(self.rois)),
35  ( 'TagInfo' , 'DetectorStore+ProcessingTags' )} )
36 
37  if self.flags.Input.isMC:
38  ViewDataVerifier.DataObjects |= {( 'PixelRDO_Container' , 'StoreGateSvc+ITkPixelRDOs' ),
39  ( 'SCT_RDO_Container' , 'StoreGateSvc+ITkStripRDOs' ),
40  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map')}
41  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
42  sgil_load = [( 'PixelRDO_Container' , 'StoreGateSvc+ITkPixelRDOs' ),
43  ( 'SCT_RDO_Container' , 'StoreGateSvc+ITkStripRDOs' ),
44  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map')]
45  acc.merge(SGInputLoaderCfg(self.flags, Load=sgil_load))
46 
47  acc.addEventAlgo(ViewDataVerifier)
48  return acc
49 
50  def dataPreparation(self) -> ComponentAccumulator:
51 
52  signature = self.flags.Tracking.ActiveConfig.input_name
53 
54  acc = ComponentAccumulator()
55 
56  self.log.info(f"DataPrep signature: {self.signature} rois: {self.rois} inview: {self.inView}")
57 
58  if not self.inView:
59  from SGComps.SGInputLoaderConfig import SGInputLoaderCfg
60  loadRDOs = [( 'PixelRDO_Container' , 'StoreGateSvc+ITkPixelRDOs' ),
61  ( 'SCT_RDO_Container' , 'StoreGateSvc+ITkStripRDOs' ),
62  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map') ]
63  acc.merge(SGInputLoaderCfg(self.flags, Load=loadRDOs))
64 
65  #Clusterisation
66  from InDetConfig.InDetPrepRawDataFormationConfig import ITkTrigPixelClusterizationCfg, ITkTrigStripClusterizationCfg
67  acc.merge(ITkTrigPixelClusterizationCfg(self.flags, roisKey=self.rois, signature=signature))
68  acc.merge(ITkTrigStripClusterizationCfg(self.flags, roisKey=self.rois, signature=signature))
69 
70  return acc
71 
72  def viewDataVerifierAfterPattern(self, viewVerifier='IDViewDataVerifierForAmbi') -> ComponentAccumulator:
73 
74  acc = ComponentAccumulator()
75 
76  ViewDataVerifier = \
77  CompFactory.AthViews.ViewDataVerifier(
78  name = viewVerifier + "_" + self.signature,
79  DataObjects = {
80  ( 'InDet::PixelGangedClusterAmbiguities' , 'ITkPixelClusterAmbiguitiesMap'),
81  ( 'InDetSimDataCollection' , 'ITkPixelSDO_Map'),
82  }
83  )
84 
85  acc.addEventAlgo(ViewDataVerifier)
86  return acc
87 
88 
89  def spacePointFormation(self) -> ComponentAccumulator:
90 
91  signature = self.flags.Tracking.ActiveConfig.input_name
92  acc = ComponentAccumulator()
93 
94  from InDetConfig.SiSpacePointFormationConfig import ITkTrigSiTrackerSpacePointFinderCfg
95  acc.merge(ITkTrigSiTrackerSpacePointFinderCfg(self.flags, signature=signature))
96  return acc
97 
98  def fastTrackFinder(self,
99  extraFlags : AthConfigFlags = None,
100  inputTracksName : str = None) -> ComponentAccumulator:
101  acc = self.fastTrackFinderBase(extraFlags, inputTracksName)
102  signature = self.flags.Tracking.ActiveConfig.input_name
103 
104  if not self.flags.Tracking.ActiveConfig.doZFinderOnly:
105  from xAODTrackingCnv.xAODTrackingCnvConfig import ITkTrackParticleCnvAlgCfg
106  acc.merge(ITkTrackParticleCnvAlgCfg(self.flags,
107  name = "ITkTrigTrackParticleCnvAlg"+signature,
108  TrackContainerName = self.flags.Tracking.ActiveConfig.trkTracks_FTF,
109  xAODTrackParticlesFromTracksContainerName = self.flags.Tracking.ActiveConfig.tracks_FTF))
110  return acc
111 
112  def ambiguitySolver(self) -> ComponentAccumulator:
113 
114  acc = ComponentAccumulator()
115 
116  if self.inView:
117  acc.merge(self.viewDataVerifierAfterPattern())
118 
119  from TrkConfig.TrkAmbiguitySolverConfig import ITkTrkAmbiguityScoreCfg
120  acc.merge(
122  self.flags,
123  name = "TrkAmbiguityScore_",
124  SiSPSeededTrackCollectionKey=self.flags.Tracking.ActiveConfig.trkTracks_FTF
125  )
126  )
127 
128  from TrkConfig.TrkAmbiguitySolverConfig import ITkTrkAmbiguitySolverCfg
129  acc.merge(
131  self.flags,
132  name = "TrkAmbiguitySolver_",
133  ResolvedTrackCollectionKey=self.flags.Tracking.ActiveConfig.trkTracks_IDTrig+"_Amb"
134  )
135  )
136 
137  self.lastTrkCollection = self.flags.Tracking.ActiveConfig.trkTracks_IDTrig+"_Amb"
138  return acc
139 
140  def xAODParticleCreation(self) -> ComponentAccumulator:
141 
142  acc = ComponentAccumulator()
143 
144  from xAODTrackingCnv.xAODTrackingCnvConfig import ITkTrackParticleCnvAlgCfg
145  prefix = "ITk"
146  acc.merge(ITkTrackParticleCnvAlgCfg(
147  self.flags,
148  name = prefix+'xAODParticleCreatorAlg'+self.flags.Tracking.ActiveConfig.input_name+'_IDTrig',
149  TrackContainerName = self.lastTrkCollection,
150  xAODTrackParticlesFromTracksContainerName = self.flags.Tracking.ActiveConfig.tracks_IDTrig
151  ))
152  return acc
grepfile.info
info
Definition: grepfile.py:38
python.ITkTrigSequence.ITkTrigSequence.xAODParticleCreation
ComponentAccumulator xAODParticleCreation(self)
Definition: ITkTrigSequence.py:140
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.ITkTrigSequence.ITkTrigSequence.ambiguitySolver
ComponentAccumulator ambiguitySolver(self)
Definition: ITkTrigSequence.py:112
python.ITkTrigSequence.ITkTrigSequence.viewDataVerifierAfterPattern
ComponentAccumulator viewDataVerifierAfterPattern(self, viewVerifier='IDViewDataVerifierForAmbi')
Definition: ITkTrigSequence.py:72
python.InDetPrepRawDataFormationConfig.ITkTrigStripClusterizationCfg
def ITkTrigStripClusterizationCfg(flags, name="ITkTrigStripClusterization", roisKey="", signature="", **kwargs)
Definition: InDetPrepRawDataFormationConfig.py:222
python.TrkAmbiguitySolverConfig.ITkTrkAmbiguitySolverCfg
def ITkTrkAmbiguitySolverCfg(flags, name="ITkAmbiguitySolver", ResolvedTrackCollectionKey=None, **kwargs)
Definition: TrkAmbiguitySolverConfig.py:184
python.InDetPrepRawDataFormationConfig.ITkTrigPixelClusterizationCfg
def ITkTrigPixelClusterizationCfg(flags, name="ITkTrigPixelClusterization", roisKey="", signature="", **kwargs)
Definition: InDetPrepRawDataFormationConfig.py:120
xAODTrackingCnvConfig.ITkTrackParticleCnvAlgCfg
def ITkTrackParticleCnvAlgCfg(flags, name="ITkTrackParticleCnvAlg", ClusterSplitProbabilityName="", AssociationMapName="", bool isActsAmbi=False, **kwargs)
Definition: xAODTrackingCnvConfig.py:283
python.ITkTrigSequence.ITkTrigSequence.lastTrkCollection
lastTrkCollection
Definition: ITkTrigSequence.py:137
python.TrkAmbiguitySolverConfig.ITkTrkAmbiguityScoreCfg
def ITkTrkAmbiguityScoreCfg(flags, name="ITkAmbiguityScore", SiSPSeededTrackCollectionKey=None, ClusterSplitProbContainer='', **kwargs)
Definition: TrkAmbiguitySolverConfig.py:74
python.ITkTrigSequence.ITkTrigSequence.__init__
def __init__(self, AthConfigFlags flags, str signature, str rois, str inView)
Definition: ITkTrigSequence.py:11
SGInputLoaderConfig.SGInputLoaderCfg
def SGInputLoaderCfg(flags, Load=None, **kwargs)
Definition: SGInputLoaderConfig.py:7
python.ITkTrigSequence.ITkTrigSequence.log
log
Definition: ITkTrigSequence.py:13
python.ITkTrigSequence.ITkTrigSequence.fastTrackFinder
ComponentAccumulator fastTrackFinder(self, AthConfigFlags extraFlags=None, str inputTracksName=None)
Definition: ITkTrigSequence.py:98
python.ITkTrigSequence.ITkTrigSequence
Definition: ITkTrigSequence.py:10
str
Definition: BTagTrackIpAccessor.cxx:11
python.SiSpacePointFormationConfig.ITkTrigSiTrackerSpacePointFinderCfg
def ITkTrigSiTrackerSpacePointFinderCfg(flags, name="ITkTrigSiTrackerSpacePointFinder", signature="", **kwargs)
Definition: SiSpacePointFormationConfig.py:181
python.ITkTrigSequence.ITkTrigSequence.viewDataVerifier
ComponentAccumulator viewDataVerifier(self, viewVerifier='IDViewDataVerifier')
Definition: ITkTrigSequence.py:17
python.ITkTrigSequence.ITkTrigSequence.spacePointFormation
ComponentAccumulator spacePointFormation(self)
Definition: ITkTrigSequence.py:89
python.ITkTrigSequence.ITkTrigSequence.dataPreparation
ComponentAccumulator dataPreparation(self)
Definition: ITkTrigSequence.py:50