ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigSteer
HLTSeeding
src
RoIsUnpackingToolBase.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef HLTSEEDING_ROISUNPACKINGTOOLBASE_H
5
#define HLTSEEDING_ROISUNPACKINGTOOLBASE_H
6
7
#include "
IRoIsUnpackingTool.h
"
8
9
#include "
TrigCompositeUtils/TrigCompositeUtils.h
"
10
#include "
TrigCompositeUtils/HLTIdentifier.h
"
11
#include "
TrigConfData/L1Menu.h
"
12
#include "
TrigConfData/HLTMenu.h
"
13
#include "
TrigSteeringEvent/TrigRoiDescriptorCollection.h
"
14
#include "
xAODTrigger/TrigComposite.h
"
15
16
#include "
AthenaBaseComps/AthAlgTool.h
"
17
#include "
AthenaMonitoringKernel/GenericMonitoringTool.h
"
18
19
#include "
HLTSeeding/IRoiUpdaterTool.h
"
20
21
22
namespace
ROIB
{
23
class
RoIBResult
;
24
}
25
32
class
RoIsUnpackingToolBase
:
public
extends<AthAlgTool, IRoIsUnpackingTool> {
33
public
:
34
RoIsUnpackingToolBase
(
const
std::string&
type
,
35
const
std::string& name,
36
const
IInterface* parent);
37
38
virtual
StatusCode
initialize
()
override
;
39
40
virtual
StatusCode
unpack
(
const
EventContext&
/*ctx*/
,
41
const
ROIB::RoIBResult
&
/*roib*/
,
42
const
HLT::IDSet
&
/*activeChains*/
)
const override
{
return
StatusCode::SUCCESS; }
43
44
virtual
StatusCode
unpack
(
const
EventContext&
/*ctx*/
,
45
const
xAOD::TrigComposite
&
/*l1TriggerResult*/
,
46
const
HLT::IDSet
&
/*activeChains*/
)
const override
{
return
StatusCode::SUCCESS; }
47
48
protected
:
51
SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer>
m_decisionsKey
{
52
this
,
"Decisions"
,
"RoIDecisions"
,
"Decisions for each RoI"
};
53
54
SG::WriteHandleKey<TrigCompositeUtils::DecisionContainer>
m_decisionsKeyProbe
{
55
this
,
"DecisionsProbe"
,
""
,
"Optional secondary set of Decisions for each RoI for probe a.k.a. delayed a.k.a. rerun chains"
};
56
57
SG::WriteHandleKey<TrigRoiDescriptorCollection>
m_trigRoIsKey
{
58
this
,
"OutputTrigRoIs"
,
""
,
"Name of the RoIs collection produced by the unpacker"
};
59
60
SG::ReadHandleKey<TrigConf::L1Menu>
m_l1MenuKey
{
61
this
,
"L1TriggerMenu"
,
"DetectorStore+L1TriggerMenu"
,
"Name of the L1Menu object to read configuration from"
};
62
63
SG::ReadHandleKey<TrigConf::HLTMenu>
m_HLTMenuKey
{
64
this
,
"HLTTriggerMenu"
,
"DetectorStore+HLTTriggerMenu"
,
"Name of the HLTMenu object to read configuration from"
};
65
66
67
ToolHandle<GenericMonitoringTool>
m_monTool
{
this
,
"MonTool"
,
""
,
"Monitoring tool"
};
68
ToolHandle<IRoiUpdaterTool>
m_roiupdater
{
this
,
"RoiUpdater"
,
""
,
"Roi Updater"
};
69
70
std::map<HLT::Identifier, HLT::IDVec>
m_thresholdToChainMapping
;
71
std::map<HLT::Identifier, HLT::Identifier>
m_legToChainMapping
;
72
73
using
ThrVec
= std::vector<std::shared_ptr<TrigConf::L1Threshold>>;
74
using
ThrVecRef
= std::reference_wrapper<const ThrVec>;
83
StatusCode
getL1Thresholds
(
const
TrigConf::L1Menu
& l1Menu,
const
std::string& thrType, std::optional<ThrVecRef>& thrVec)
const
;
84
90
static
std::string
getProbeThresholdName
(
const
std::string& thresholdName);
91
98
StatusCode
decodeMapping
( std::function<
bool
(
const
std::string&)>&& filter );
99
100
void
addChainsToDecision
(
HLT::Identifier
thresholdId,
101
TrigCompositeUtils::Decision
* d,
102
const
HLT::IDSet
& activeChains )
const
;
103
};
104
105
#endif
AthAlgTool.h
GenericMonitoringTool.h
HLTMenu.h
IRoiUpdaterTool.h
IRoIsUnpackingTool.h
L1Menu.h
HLTIdentifier.h
TrigCompositeUtils.h
TrigComposite.h
TrigRoiDescriptorCollection.h
HLT::Identifier
Definition
TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:19
ROIB::RoIBResult
Class holding the LVL1 RoIB result build by the RoIBuilder.
Definition
RoIBResult.h:47
RoIsUnpackingToolBase::unpack
virtual StatusCode unpack(const EventContext &, const xAOD::TrigComposite &, const HLT::IDSet &) const override
Definition
RoIsUnpackingToolBase.h:44
RoIsUnpackingToolBase::m_legToChainMapping
std::map< HLT::Identifier, HLT::Identifier > m_legToChainMapping
Definition
RoIsUnpackingToolBase.h:71
RoIsUnpackingToolBase::m_decisionsKey
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_decisionsKey
Definition
RoIsUnpackingToolBase.h:51
RoIsUnpackingToolBase::m_roiupdater
ToolHandle< IRoiUpdaterTool > m_roiupdater
Definition
RoIsUnpackingToolBase.h:68
RoIsUnpackingToolBase::unpack
virtual StatusCode unpack(const EventContext &, const ROIB::RoIBResult &, const HLT::IDSet &) const override
Definition
RoIsUnpackingToolBase.h:40
RoIsUnpackingToolBase::ThrVec
std::vector< std::shared_ptr< TrigConf::L1Threshold > > ThrVec
Definition
RoIsUnpackingToolBase.h:73
RoIsUnpackingToolBase::RoIsUnpackingToolBase
RoIsUnpackingToolBase(const std::string &type, const std::string &name, const IInterface *parent)
Definition
RoIsUnpackingToolBase.cxx:10
RoIsUnpackingToolBase::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition
RoIsUnpackingToolBase.h:67
RoIsUnpackingToolBase::m_l1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_l1MenuKey
Definition
RoIsUnpackingToolBase.h:60
RoIsUnpackingToolBase::addChainsToDecision
void addChainsToDecision(HLT::Identifier thresholdId, TrigCompositeUtils::Decision *d, const HLT::IDSet &activeChains) const
Definition
RoIsUnpackingToolBase.cxx:88
RoIsUnpackingToolBase::ThrVecRef
std::reference_wrapper< const ThrVec > ThrVecRef
Definition
RoIsUnpackingToolBase.h:74
RoIsUnpackingToolBase::m_decisionsKeyProbe
SG::WriteHandleKey< TrigCompositeUtils::DecisionContainer > m_decisionsKeyProbe
Definition
RoIsUnpackingToolBase.h:54
RoIsUnpackingToolBase::initialize
virtual StatusCode initialize() override
Definition
RoIsUnpackingToolBase.cxx:16
RoIsUnpackingToolBase::m_trigRoIsKey
SG::WriteHandleKey< TrigRoiDescriptorCollection > m_trigRoIsKey
Definition
RoIsUnpackingToolBase.h:57
RoIsUnpackingToolBase::m_HLTMenuKey
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
Definition
RoIsUnpackingToolBase.h:63
RoIsUnpackingToolBase::getL1Thresholds
StatusCode getL1Thresholds(const TrigConf::L1Menu &l1Menu, const std::string &thrType, std::optional< ThrVecRef > &thrVec) const
Retrieve a vector of thresholds with type thrType from L1Menu.
Definition
RoIsUnpackingToolBase.cxx:33
RoIsUnpackingToolBase::decodeMapping
StatusCode decodeMapping(std::function< bool(const std::string &)> &&filter)
Fills mapping from L1 threshold -> to HLT chain.
Definition
RoIsUnpackingToolBase.cxx:52
RoIsUnpackingToolBase::getProbeThresholdName
static std::string getProbeThresholdName(const std::string &thresholdName)
Concatenate the probe identifier string with the threshold name string.
Definition
RoIsUnpackingToolBase.cxx:47
RoIsUnpackingToolBase::m_thresholdToChainMapping
std::map< HLT::Identifier, HLT::IDVec > m_thresholdToChainMapping
Definition
RoIsUnpackingToolBase.h:70
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition
StoreGate/StoreGate/WriteHandleKey.h:40
TrigConf::L1Menu
L1 menu configuration.
Definition
L1Menu.h:29
HLT::IDSet
std::set< HLT::Identifier > IDSet
Definition
TrigCompositeUtils/TrigCompositeUtils/HLTIdentifier.h:56
ROIB
Namespace of the LVL1 RoIB simulation.
Definition
ILvl1ResultAccessTool.h:19
TrigCompositeUtils::Decision
xAOD::TrigComposite Decision
Definition
TrigComposite.h:20
xAOD::TrigComposite
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
Definition
TrigComposite.h:16
type
Generated on
for ATLAS Offline Software by
1.17.0