ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
EFTracking
EFTrackConfig
python
AccelTrackTrigSequence.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2025 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
7
from
AthenaCommon.Logging
import
logging
8
from
AthenaConfiguration.ComponentFactory
import
CompFactory
9
10
class
AccelTrackTrigSequence
(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(
"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
19
"""
20
ca = ComponentAccumulator()
21
22
if
self.
inView
:
23
#to invoke VDV to make sure RoI and other info is available in view
24
ca.merge(self.
viewDataVerifier
())
25
26
#if there is need for splitting of the sequence in steps it can be added here
27
if
recoType ==
"FastTrackFinder"
:
28
ca.merge(self.
trackFinding
())
29
30
return
ca
31
32
def
f100
(self) -> ComponentAccumulator:
33
import
EFTrackConfig.F100Config
as
F100Config
34
from
TrigInDetConfig.ActsTrigSequence
import
ActsTrigSequence
35
36
ca = ComponentAccumulator()
37
38
seq = ActsTrigSequence(self.
flags
, self.
signature
, self.
rois
, self.
inView
)
39
40
ca.merge(F100Config.dataPreparation(self.
flags
, self.
signature
, self.
inView
, self.
rois
))
41
ca.merge(seq.fastTrackFinder())
42
43
return
ca
44
45
def
f100_precision
(self) -> ComponentAccumulator:
46
from
TrigInDetConfig.ActsTrigSequence
import
ActsTrigSequence
47
48
ca = ComponentAccumulator()
49
50
seq = ActsTrigSequence(self.
flags
, self.
signature
, self.
rois
, self.
inView
)
51
52
#this does not require new data preparation of its own
53
ca.merge(seq.sequenceAfterPattern())
54
55
return
ca
56
57
def
trackFinding
(self) -> ComponentAccumulator:
58
ca = ComponentAccumulator()
59
60
self.
log
.info(f
'merge EFTrackPipeline {self.flags.Trigger.EFTrackPipeline}'
)
61
62
match self.
flags
.Trigger.EFTrackPipeline:
63
case
"F100"
:
64
ca.merge(self.
f100
())
65
pass
66
case
"G200"
:
67
pass
68
69
#other pipelines can be added here
70
71
case _:
72
pass
73
74
return
ca
75
76
def
sequenceAfterPattern
(self, rois="") -> ComponentAccumulator:
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
79
"""
80
ca = ComponentAccumulator()
81
82
match self.
flags
.Trigger.EFTrackPipeline:
83
case
"F100"
:
84
ca.merge(self.
f100_precision
())
85
pass
86
case
"G200"
:
87
pass
88
89
#other pipelines can be added here
90
91
case _:
92
pass
93
94
return
ca
95
96
def
viewDataVerifier
(self, viewVerifier='IDViewDataVerifier') -> ComponentAccumulator:
97
98
acc = ComponentAccumulator()
99
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'
),
105
#enable later when BS ready
106
#( 'IDCInDetBSErrContainer_Cache' , self.flags.Trigger.ITkTracking.PixBSErrCacheKey ),
107
#( 'IDCInDetBSErrContainer_Cache' , self.flags.Trigger.ITkTracking.SCTBSErrCacheKey ),
108
#( 'IDCInDetBSErrContainer_Cache' , self.flags.Trigger.ITkTracking.SCTFlaggedCondCacheKey ),
109
(
'xAOD::EventInfo'
,
'EventInfo'
),
110
(
'ActsTrk::GeometryContext'
,
'StoreGateSvc+ActsAlignment'
),
111
(
'TrigRoiDescriptorCollection'
, str(self.
rois
)),
112
(
'TagInfo'
,
'DetectorStore+ProcessingTags'
)} )
113
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))
124
125
ViewDataVerifier.DataObjects |= {
126
(
'InDet::SiDetectorElementStatus'
,
'StoreGateSvc+ITkPixelDetectorElementStatus'
),
127
(
'InDet::SiDetectorElementStatus'
,
'StoreGateSvc+ITkStripDetectorElementStatus'
),
128
}
129
130
acc.addEventAlgo(ViewDataVerifier)
131
return
acc
132
python.AccelTrackTrigSequence.AccelTrackTrigSequence
Definition
AccelTrackTrigSequence.py:10
python.AccelTrackTrigSequence.AccelTrackTrigSequence.sequence
ComponentAccumulator sequence(self, str recoType)
Definition
AccelTrackTrigSequence.py:15
python.AccelTrackTrigSequence.AccelTrackTrigSequence.__init__
__init__(self, AthConfigFlags flags, str signature, str rois, str inView)
Definition
AccelTrackTrigSequence.py:11
python.AccelTrackTrigSequence.AccelTrackTrigSequence.sequenceAfterPattern
ComponentAccumulator sequenceAfterPattern(self, rois="")
Definition
AccelTrackTrigSequence.py:76
python.AccelTrackTrigSequence.AccelTrackTrigSequence.inView
inView
Definition
AccelTrackTrigSequence.py:22
python.AccelTrackTrigSequence.AccelTrackTrigSequence.f100
ComponentAccumulator f100(self)
Definition
AccelTrackTrigSequence.py:32
python.AccelTrackTrigSequence.AccelTrackTrigSequence.f100_precision
ComponentAccumulator f100_precision(self)
Definition
AccelTrackTrigSequence.py:45
python.AccelTrackTrigSequence.AccelTrackTrigSequence.flags
flags
Definition
AccelTrackTrigSequence.py:40
python.AccelTrackTrigSequence.AccelTrackTrigSequence.signature
signature
Definition
AccelTrackTrigSequence.py:40
python.AccelTrackTrigSequence.AccelTrackTrigSequence.viewDataVerifier
ComponentAccumulator viewDataVerifier(self, viewVerifier='IDViewDataVerifier')
Definition
AccelTrackTrigSequence.py:96
python.AccelTrackTrigSequence.AccelTrackTrigSequence.rois
rois
Definition
AccelTrackTrigSequence.py:40
python.AccelTrackTrigSequence.AccelTrackTrigSequence.trackFinding
ComponentAccumulator trackFinding(self)
Definition
AccelTrackTrigSequence.py:57
python.AccelTrackTrigSequence.AccelTrackTrigSequence.log
log
Definition
AccelTrackTrigSequence.py:13
Generated on
for ATLAS Offline Software by
1.17.0