|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRIGT1RESULTBYTESTREAM_L1TRIGGERBYTESTREAMDECODERALG_H
6 #define TRIGT1RESULTBYTESTREAM_L1TRIGGERBYTESTREAMDECODERALG_H
35 this,
"DecoderTools", {},
"Array of tools performing the decoding work"};
38 this,
"ROBDataProviderSvc",
"ROBDataProviderSvc",
"ROB data provider"};
41 this,
"MonTool",
"",
"Monitoring tool"};
46 this,
"ByteStreamMetadataRHKey",
"InputMetaDataStore+ByteStreamMetadata",
47 "Key of the ByteStreamMetadataContainer to retrieve the detector mask"
51 this,
"MaybeMissingROBs", {},
52 "List of ROB IDs allowed to be missing. If a decoder tool requests one of these "
53 "and it is not available in the event, no errors will be reported",
58 this,
"ROBStatusCheckLevel",
"Warning",
59 "ROB status word check behaviour. Can be 'None' - status is not checked, 'Warning' - only print warnings "
60 "for non-zero status, 'Error' - only print errors for non-zero status, 'Fatal' - return FAILURE "
61 "from the algorithm if non-zero status is found. MaybeMissingROBs are always exempt from this check."
65 this,
"ROBFormatCheckLevel",
"Fatal",
66 "ROB format (data consistency) check behaviour. Can be 'None' - format is not checked, 'Warning' - only print warnings "
67 "for corrupted data, 'Error' - only print errors for corrupted data, 'Fatal' - return FAILURE "
68 "from the algorithm if corrupted data are found. MaybeMissingROBs are always exempt from this check."
83 const std::vector<uint32_t>&
ids,
84 std::string_view toolName,
85 const EventContext& eventContext)
const;
100 #endif // TRIGT1RESULTBYTESTREAM_L1TRIGGERBYTESTREAMDECODERALG_H
L1TriggerByteStreamDecoderAlg(const std::string &name, ISvcLocator *svcLoc)
Standard constructor.
virtual StatusCode execute(const EventContext &eventContext) const override
ROBCheckBehaviour m_robStatusCheck
SG::ReadHandleKey< ByteStreamMetadataContainer > m_bsMetaDataContRHKey
StoreGate key for the ByteStreamMetadata container to retrieve detector mask.
An algorithm that can be simultaneously executed in multiple threads.
ToolHandle< GenericMonitoringTool > m_monTool
Monitoring tool to create online histograms.
ToolHandleArray< IL1TriggerByteStreamTool > m_decoderTools
Tool performing the decoding work.
Gaudi::Property< std::string > m_robStatusCheckLevel
Set behaviour for non-zero ROB status words.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode initialize() override
virtual StatusCode finalize() override
std::set< uint32_t > m_maybeMissingRobs
Set of ROB IDs allowed to be missing because they are disabled.
std::vector< const ROBF * > VROBFRAG
ServiceHandle< IROBDataProviderSvc > m_robDataProviderSvc
ROBDataProvider service handle.
Gaudi::Property< std::string > m_robFormatCheckLevel
Set behaviour for corrupted ROB data.
Header file to be included by clients of the Monitored infrastructure.
virtual StatusCode start() override
ROBCheckBehaviour
The behaviour for non-zero ROB status words.
StatusCode filterRobs(const IROBDataProviderSvc::VROBFRAG &in, IROBDataProviderSvc::VROBFRAG &out, const std::vector< uint32_t > &ids, std::string_view toolName, const EventContext &eventContext) const
Copy over ROBFragment pointers from in to out for ROBs with IDs from the ids list.
ROBCheckBehaviour m_robFormatCheck
Algorithm calling tools to convert L1 ByteStream into xAOD collections.
std::vector< uint32_t > m_robIds
Vector of ROB IDs to request, filled from all decoder tools in initialize.
Gaudi::Property< std::vector< uint32_t > > m_maybeMissingRobsProp
Allow some ROBs to be missing.
StatusCode checkRobs(const IROBDataProviderSvc::VROBFRAG &robs, std::string_view toolName, const EventContext &eventContext) const
Check ROB status word and report if different from zero.