3from TrigInDetConfig.InnerTrackerTrigSequence
import InnerTrackerTrigSequence
4from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
5from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7from AthenaCommon.Logging
import logging
8from AthenaConfiguration.ComponentFactory
import CompFactory
11 def __init__(self, flags : AthConfigFlags, signature : str, rois : str, inView : str):
12 super().
__init__(flags, signature,rois,inView)
13 self.
log = logging.getLogger(
"AccelTrigTrigSequence")
14 self.
log.info(f
"EFTracking signature: {self.signature} rois: {self.rois} inview: {self.inView}")
15 def sequence(self, recoType : str) -> ComponentAccumulator:
16 """ main method to instantiate tracking in the trigger menu
17 recoType can be used to generate a specific step. The pattern recognition
18 and production of xAOD trackparticles should happen in FastTrackFinder step
20 ca = ComponentAccumulator()
27 if recoType ==
"FastTrackFinder":
32 def f100(self) -> ComponentAccumulator:
33 import EFTrackConfig.F100Config
as F100Config
34 from TrigInDetConfig.ActsTrigSequence
import ActsTrigSequence
36 ca = ComponentAccumulator()
41 ca.merge(seq.fastTrackFinder())
46 from TrigInDetConfig.ActsTrigSequence
import ActsTrigSequence
48 ca = ComponentAccumulator()
53 ca.merge(seq.sequenceAfterPattern())
58 ca = ComponentAccumulator()
60 self.
log.info(f
'merge EFTrackPipeline {self.flags.Trigger.EFTrackPipeline}')
62 match self.
flags.Trigger.EFTrackPipeline:
77 """ this method is used by the menu to generate precision tracking step.
78 for AccelTrackTrigSequence it should just make tracks from pattern available again
80 ca = ComponentAccumulator()
82 match self.
flags.Trigger.EFTrackPipeline:
98 acc = ComponentAccumulator()
100 ViewDataVerifier = CompFactory.AthViews.ViewDataVerifier(
101 name = viewVerifier +
"_" + self.
signature,
102 DataObjects= {(
'xAOD::EventInfo',
'StoreGateSvc+EventInfo'),
103 (
'PixelRDO_Cache',
'PixRDOCache'),
104 (
'SCT_RDO_Cache',
'SctRDOCache'),
109 (
'xAOD::EventInfo',
'EventInfo'),
110 (
'ActsTrk::GeometryContext' ,
'StoreGateSvc+ActsAlignment' ),
111 (
'TrigRoiDescriptorCollection', str(self.
rois)),
112 (
'TagInfo' ,
'DetectorStore+ProcessingTags' )} )
114 if self.
flags.Input.isMC:
115 ViewDataVerifier.DataObjects |= {(
'PixelRDO_Container' ,
'StoreGateSvc+ITkPixelRDOs' ),
116 (
'SCT_RDO_Container' ,
'StoreGateSvc+ITkStripRDOs' ),
117 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map'),
118 (
'ActsTrk::GeometryContext' ,
'StoreGateSvc+ActsAlignment' )}
119 from SGComps.SGInputLoaderConfig
import SGInputLoaderCfg
120 sgil_load = [(
'PixelRDO_Container' ,
'StoreGateSvc+ITkPixelRDOs' ),
121 (
'SCT_RDO_Container' ,
'StoreGateSvc+ITkStripRDOs' ),
122 (
'InDetSimDataCollection' ,
'ITkPixelSDO_Map'),]
123 acc.merge(SGInputLoaderCfg(self.
flags, Load=sgil_load))
125 ViewDataVerifier.DataObjects |= {
126 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkPixelDetectorElementStatus' ),
127 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkStripDetectorElementStatus' ),
130 acc.addEventAlgo(ViewDataVerifier)
ComponentAccumulator sequence(self, str recoType)
__init__(self, AthConfigFlags flags, str signature, str rois, str inView)
ComponentAccumulator sequenceAfterPattern(self, rois="")
ComponentAccumulator f100(self)
ComponentAccumulator f100_precision(self)
ComponentAccumulator viewDataVerifier(self, viewVerifier='IDViewDataVerifier')
ComponentAccumulator trackFinding(self)