|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRIGSTEERINGEVENT_HLTResultMT_H
6 #define TRIGSTEERINGEVENT_HLTResultMT_H
15 #include "GaudiKernel/StatusCode.h"
18 #include "eformat/Status.h"
19 #include "eformat/StreamTag.h"
22 #include <boost/dynamic_bitset.hpp>
24 #include <unordered_map>
41 HLTResultMT(std::vector<eformat::helper::StreamTag> streamTags = {},
42 boost::dynamic_bitset<uint32_t> hltPassRawBits = boost::dynamic_bitset<uint32_t>(),
43 boost::dynamic_bitset<uint32_t> hltPrescaledBits = boost::dynamic_bitset<uint32_t>(),
44 std::unordered_map<uint16_t, std::vector<uint32_t> >
data = {});
56 const std::vector<eformat::helper::StreamTag>&
getStreamTags()
const;
94 void setHltBits(
const boost::dynamic_bitset<uint32_t>& passRawBitset,
95 const boost::dynamic_bitset<uint32_t>& prescaledBitset);
104 const std::unordered_map<uint16_t, std::vector<uint32_t> >&
getSerialisedData()
const;
130 const std::vector<uint32_t>&
getStatus()
const;
133 const std::vector<HLT::OnlineErrorCode>
getErrorCodes()
const;
145 eformat::GenericStatus::DATA_CORRUPTION,
146 eformat::FullEventStatus::PSC_PROBLEM
198 std::unordered_map<uint16_t, std::vector<uint32_t> >
m_data;
228 #endif // TRIGSTEERINGEVENT_HLTResultMT_H
bool m_severeTruncation
Should the event be sent to the debug stream due to severe truncation?
bool isAccepted() const
If there is at least one stream tag set, it means the event is accepted.
void setHltBits(const boost::dynamic_bitset< uint32_t > &passRawBitset, const boost::dynamic_bitset< uint32_t > &prescaledBitset)
Replace both HLT pass raw and prescaled bits with the given bitsets.
char data[hepevt_bytes_allocation_ATLAS]
const std::vector< eformat::helper::StreamTag > & getStreamTags() const
Const-getter for stream tags.
std::vector< uint32_t > m_status
FullEvent status words (first word is eformat::helper::Status, next words are optional error codes)
StatusCode addSerialisedDataWithCheck(const uint16_t moduleId, std::vector< uint32_t > data)
Add serialised data for a given moduleId.
boost::dynamic_bitset< uint32_t > m_hltPrescaledBits
A container class for data required to build online output from HLT.
std::ostream & operator<<(std::ostream &str, const HLT::HLTResultMT &hltResult)
operator<< overload for printing to std::ostream
std::vector< eformat::helper::StreamTag > m_streamTags
Stream tags of the event.
void updateHltBitWords()
Update m_hltBitWords with the contents of m_hltPassRawBits and m_hltPrescaledBits.
void setSerialisedData(std::unordered_map< uint16_t, std::vector< uint32_t > > data)
Replaces serialised data with a copy of the given data.
std::vector< uint32_t > m_hltBitWords
Vector storing m_hltBits converted to 4-byte words.
StatusCode addStreamTag(const eformat::helper::StreamTag &streamTag)
Append one stream tag to the stored list.
const std::vector< uint32_t > & getRobStatus(uint16_t moduleId) const
Status words for ROB with given moduleId.
const std::vector< HLT::OnlineErrorCode > getErrorCodes() const
Error codes getter (by value) - strips off the first bit-mask status word.
std::unordered_map< uint16_t, std::vector< uint32_t > > m_robStatus
ROBFragment status words for each moduleId.
const std::set< uint16_t > & getTruncatedModuleIds() const
Getter for the truncation information.
It used to be useful piece of code for replacing actual SG with other store of similar functionality ...
::StatusCode StatusCode
StatusCode definition for legacy code.
void addTruncatedModuleId(const uint16_t moduleId, bool severeTruncation=true)
Add module ID to the list of truncated results.
void addSerialisedData(const uint16_t moduleId, const std::vector< uint32_t > &data)
Append serialised data (copy of input) for a given moduleId, doesn't remove existing data.
std::unordered_map< uint16_t, std::vector< uint32_t > > m_data
Serialised result (ROBFragment payload) for each moduleId (0 for full result, >0 for data scouting)
RODMinorVersion m_version
Stores the ROD minor version of the HLT ROBFragments.
RODMinorVersion getVersion() const
ROD minor version getter.
StatusCode setStreamTags(const std::vector< eformat::helper::StreamTag > &streamTags)
Replace the stored list of stream tags with the given one.
const std::unordered_map< uint16_t, std::vector< uint32_t > > & getSerialisedData() const
Serialised data getter.
std::vector< eformat::helper::StreamTag > & getStreamTagsNonConst()
Non-const-getter for stream tags needed by the result maker to remove disabled ROBs/SubDets.
void setHltPrescaledBits(const boost::dynamic_bitset< uint32_t > &bitset)
Replace HLT prescaled bits with the given bitset.
std::pair< uint8_t, uint8_t > RODMinorVersion
Type to store decoded ROD minor version (16-bit version split into two 8-bit numbers)
Status
Athena specific StatusCode values.
bool severeTruncation() const
Truncation in at least one collection that is not allowed to be truncated.
std::set< uint16_t > m_truncatedModuleIds
List of module IDs with truncation.
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
void setVersion(RODMinorVersion version)
ROD minor version setter.
void setHltPassRawBits(const boost::dynamic_bitset< uint32_t > &bitset)
Replace HLT pass raw bits with the given bitset.
void addErrorCode(const HLT::OnlineErrorCode &errorCode, const eformat::helper::Status &firstStatusWord={ eformat::GenericStatus::DATA_CORRUPTION, eformat::FullEventStatus::PSC_PROBLEM })
Append an error code.
const std::vector< uint32_t > & getStatus() const
Full event status reference getter (1 bit-mask status word + error code words)
const boost::dynamic_bitset< uint32_t > & getHltPrescaledBits() const
Const-getter for HLT prescaled bits.
void setStatus(std::vector< uint32_t > status)
Replace the full status words with the given data.
const std::vector< uint32_t > & getHltBitsAsWords() const
Const-getter for HLT bits as uint32_t array. Ordering: PassRaw, Prescaled.
boost::dynamic_bitset< uint32_t > m_hltPassRawBits
HLT bits (flagging which chains passed)
macros to associate a CLID to a type
HLTResultMT(std::vector< eformat::helper::StreamTag > streamTags={}, boost::dynamic_bitset< uint32_t > hltPassRawBits=boost::dynamic_bitset< uint32_t >(), boost::dynamic_bitset< uint32_t > hltPrescaledBits=boost::dynamic_bitset< uint32_t >(), std::unordered_map< uint16_t, std::vector< uint32_t > > data={})
Standard constructor.
const boost::dynamic_bitset< uint32_t > & getHltPassRawBits() const
Const-getter for HLT pass raw bits.