3 from TrigInDetConfig.InnerTrackerTrigSequence
import InnerTrackerTrigSequence
4 from AthenaConfiguration.AthConfigFlags
import AthConfigFlags
5 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
7 from AthenaCommon.Logging
import logging
8 from 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
27 if recoType ==
"FastTrackFinder":
32 def f100(self) -> ComponentAccumulator:
33 import EFTrackConfig.F100Config
as F100Config
34 from TrigInDetConfig.ActsTrigSequence
import ActsTrigSequence
38 seq = ActsTrigSequence(self.flags, self.signature, self.rois, self.inView)
40 ca.merge(F100Config.dataPreparation(self.flags, self.signature, self.inView, self.rois))
41 ca.merge(seq.fastTrackFinder())
46 from TrigInDetConfig.ActsTrigSequence
import ActsTrigSequence
50 seq = ActsTrigSequence(self.flags, self.signature, self.rois, self.inView)
53 ca.merge(seq.sequenceAfterPattern())
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
82 match self.flags.Trigger.EFTrackPipeline:
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 (
'ActsGeometryContext' ,
'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 (
'ActsGeometryContext' ,
'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'),]
125 ViewDataVerifier.DataObjects |= {
126 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkPixelDetectorElementStatus' ),
127 (
'InDet::SiDetectorElementStatus' ,
'StoreGateSvc+ITkStripDetectorElementStatus' ),
130 acc.addEventAlgo(ViewDataVerifier)