ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TriggerCommon
TriggerMenuMT
python
HLT
CalibCosmicMon
BeamspotChainConfiguration.py
Go to the documentation of this file.
1
# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2
3
from
AthenaCommon.Logging
import
logging
4
logging.getLogger().info(
"Importing %s"
,__name__)
5
log = logging.getLogger(__name__)
6
7
from
TriggerMenuMT.HLT.Config.ChainConfigurationBase
import
ChainConfigurationBase
8
9
from
AthenaConfiguration.ComponentFactory
import
CompFactory
10
from
TrigStreamerHypo.TrigStreamerHypoConfig
import
StreamerHypoToolGenerator
11
from
TrigInDetConfig.utils
import
getFlagsForActiveConfig
12
from
TrigInDetConfig.TrigInDetConfig
import
trigInDetFastTrackingCfg
13
from
..Config.MenuComponents
import
MenuSequence, SelectionCA, InEventRecoCA, InViewRecoCA
14
from
TriggerMenuMT.HLT.CommonSequences.RejectSequences
import
RejectSequence
15
16
def
allTE_trkfastSequenceGenCfg
( flags, signature="FS" ):
17
18
19
20
_signature=signature
21
if
(signature ==
"FS"
):
22
_signature =
"beamSpotFS"
23
24
beamspotSequence = InViewRecoCA(
'beamspotSequence_'
+signature)
25
26
flagsWithTrk = getFlagsForActiveConfig(flags, _signature, log)
27
beamspotSequence.mergeReco(trigInDetFastTrackingCfg(flagsWithTrk,
28
roisKey=beamspotSequence.inputMaker().InViewRoIs,
29
signatureName=_signature))
30
31
from
TrigT2BeamSpot.T2VertexBeamSpotConfig
import
T2VertexBeamSpot_activeAllTE
32
vertexAlg = T2VertexBeamSpot_activeAllTE(flags,
"vertex_"
+_signature )
33
vertexAlg.TrackCollection = flagsWithTrk.Tracking.ActiveConfig.trkTracks_FTF
34
35
36
beamspotSequence.addRecoAlgo(vertexAlg)
37
beamspotViewsSequence = SelectionCA(
'beamspotViewsSequence'
+_signature)
38
beamspotViewsSequence.mergeReco(beamspotSequence)
39
40
41
#hypo
42
beamspotHypoAlg = CompFactory.TrigStreamerHypoAlg(
"BeamspotHypoAlg_"
+_signature)
43
beamspotHypoAlg.RuntimeValidation =
False
#Needed to avoid the ERROR ! Decision has no 'feature' ElementLink
44
45
beamspotViewsSequence.addHypoAlgo(beamspotHypoAlg)
46
47
# Accept every event
48
beamspotHypoToolGen = StreamerHypoToolGenerator
49
50
return
MenuSequence( flags,
51
beamspotViewsSequence,
52
HypoToolGen = beamspotHypoToolGen )
53
54
55
def
getBeamspotVtxSequenceGenCfg
(flags):
56
signature =
"BeamspotJet"
57
58
# run at event level
59
inputMakerAlg = CompFactory.InputMakerForRoI(
"IM_beamspotJet_"
+signature)
60
inputMakerAlg.RoITool = CompFactory.ViewCreatorInitialROITool()
61
62
#-- Configuring Beamspot vertex alg
63
from
TrigT2BeamSpot.T2VertexBeamSpotConfig
import
T2VertexBeamSpot_activeAllTE
64
vertexAlg = T2VertexBeamSpot_activeAllTE(flags,
"vertex_"
+signature )
65
vertexAlg.TrackCollection = flags.Trigger.InDetTracking.fullScan.trkTracks_FTF
66
67
#-- Setting up beamspotSequence
68
beamspotSequence = InEventRecoCA(
'beamspotJetSequence_'
+signature,inputMaker=inputMakerAlg)
69
beamspotSequence.addRecoAlgo(vertexAlg)
70
beamspotViewsSequence = SelectionCA(
'beamspotJetViewsSequence'
+signature)
71
beamspotViewsSequence.mergeReco(beamspotSequence)
72
73
#-- now use universal rejectsequence
74
HypoName =
"BeamspotHypoAlg_"
+signature
75
msca = RejectSequence(flags, HypoName, beamspotViewsSequence)
76
77
return
msca
78
79
80
#----------------------------------------------------------------
81
# Class to configure chain
82
#----------------------------------------------------------------
83
class
BeamspotChainConfiguration
(ChainConfigurationBase):
84
85
def
__init__
(self, chainDict, jc_name = None):
86
ChainConfigurationBase.__init__(self,chainDict)
87
self.
jc_name
=jc_name
88
89
90
def
assembleChainImpl
(self, flags):
91
chainSteps = []
92
log.debug(
"Assembling chain for %s"
, self.
chainName
)
93
stepDictionary = self.
getStepDictionary
()
94
key =
''
95
96
if
self.chainPart[
'beamspotChain'
] !=
''
:
97
stepName = f
"Step4_{self.jc_name}_beamspotJet"
98
chainSteps = [self.getStep(flags, stepName, [getBeamspotVtxSequenceGenCfg])]
99
100
else
:
101
key = self.chainPart[
'addInfo'
][0] +
"_"
+ self.chainPart[
'l2IDAlg'
][0]
#TODO: hardcoded index
102
103
steps=stepDictionary[key]
104
for
step
in
steps:
105
chainstep = getattr(self, step)(flags)
106
chainSteps+=[chainstep]
107
108
myChain = self.buildChain(chainSteps)
109
return
myChain
110
111
def
getStepDictionary
(self):
112
# --------------------
113
# define here the names of the steps and obtain the chainStep configuration
114
# --------------------
115
stepDictionary = {
116
"allTE_trkfast"
:[
'getAllTEStep'
],
117
"trkFS_trkfast"
:[
'getTrkFSStep'
],
118
}
119
return
stepDictionary
120
121
# --------------------
122
# Configuration TrkFS step
123
# --------------------
124
def
getTrkFSStep
(self, flags):
125
return
self.getStep(flags,
"trkFS_trkfast"
,[allTE_trkfastSequenceGenCfg],signature=
"FS"
)
126
127
# --------------------
128
# Configuration of costmonitor (costmonitor ?? but isn't this is the actua chain configuration ??)
129
# --------------------
130
def
getAllTEStep
(self, flags):
131
return
self.getStep(flags,
"allTE_trkfast"
,[allTE_trkfastSequenceGenCfg],signature=
"beamSpot"
)
if
if(pathvar)
Definition
SealSharedLib.cxx:168
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration
Definition
BeamspotChainConfiguration.py:83
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration.jc_name
jc_name
Definition
BeamspotChainConfiguration.py:87
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration.assembleChainImpl
assembleChainImpl(self, flags)
Definition
BeamspotChainConfiguration.py:90
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration.chainName
chainName
Definition
BeamspotChainConfiguration.py:92
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration.getStepDictionary
getStepDictionary(self)
Definition
BeamspotChainConfiguration.py:111
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration.__init__
__init__(self, chainDict, jc_name=None)
Definition
BeamspotChainConfiguration.py:85
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration.getAllTEStep
getAllTEStep(self, flags)
Definition
BeamspotChainConfiguration.py:130
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.BeamspotChainConfiguration.getTrkFSStep
getTrkFSStep(self, flags)
Definition
BeamspotChainConfiguration.py:124
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.getBeamspotVtxSequenceGenCfg
getBeamspotVtxSequenceGenCfg(flags)
Definition
BeamspotChainConfiguration.py:55
python.HLT.CalibCosmicMon.BeamspotChainConfiguration.allTE_trkfastSequenceGenCfg
allTE_trkfastSequenceGenCfg(flags, signature="FS")
Definition
BeamspotChainConfiguration.py:16
Generated on
for ATLAS Offline Software by
1.17.0