#include <DecisionUnpackerAthena.h>
|
| DecisionUnpackerAthena (const SG::ReadHandleKey< TrigDec::TrigDecision > *olddeckey) |
|
virtual | ~DecisionUnpackerAthena () |
|
| DecisionUnpackerAthena (const DecisionUnpackerAthena &)=delete |
|
DecisionUnpackerAthena & | operator= (const DecisionUnpackerAthena &)=delete |
|
virtual StatusCode | unpackDecision (const EventContext &, std::unordered_map< std::string, const LVL1CTP::Lvl1Item * > &, std::map< CTPID, LVL1CTP::Lvl1Item > &, std::unordered_map< std::string, const HLT::Chain * > &, std::map< CHAIN_COUNTER, HLT::Chain > &, std::unordered_map< std::string, const HLT::Chain * > &, std::map< CHAIN_COUNTER, HLT::Chain > &, char &, bool) const override |
|
virtual StatusCode | unpackNavigation (const EventContext &, HLT::TrigNavStructure *) const override |
|
MsgStream & | msg () const |
|
MsgStream & | msg (const MSG::Level lvl) const |
|
bool | msgLvl (const MSG::Level lvl) const |
|
Definition at line 32 of file DecisionUnpackerAthena.h.
◆ CHAIN_COUNTER
◆ CTPID
◆ DecisionUnpackerAthena() [1/2]
◆ ~DecisionUnpackerAthena()
Trig::DecisionUnpackerAthena::~DecisionUnpackerAthena |
( |
| ) |
|
|
virtual |
◆ DecisionUnpackerAthena() [2/2]
◆ msg() [1/2]
MsgStream& Trig::Logger::msg |
( |
| ) |
const |
|
inlineinherited |
◆ msg() [2/2]
MsgStream& Trig::Logger::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
◆ msgLvl()
bool Trig::Logger::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
◆ operator=()
◆ unpackChains()
StatusCode Trig::DecisionUnpackerAthena::unpackChains |
( |
const std::vector< uint32_t > & |
serialized_chains, |
|
|
std::map< unsigned, HLT::Chain > & |
cache, |
|
|
std::unordered_map< std::string, const HLT::Chain * > & |
output |
|
) |
| const |
|
private |
Definition at line 43 of file DecisionUnpackerAthena.cxx.
47 if( serialized_chains.empty() ) {
49 return StatusCode::FAILURE;
54 std::vector<uint32_t>::const_iterator rawIt = serialized_chains.begin();
56 for ( ; rawIt != serialized_chains.end(); ++rawIt ) {
61 auto cacheIt = cache.find(cntr);
62 if ( cacheIt == cache.end() ) {
63 ATH_MSG_WARNING(
"Missing chain of counter in the configuration: " << cntr);
64 return StatusCode::FAILURE;
66 cacheIt->second.reset();
67 cacheIt->second.deserialize(*rawIt);
68 output[cacheIt->second.getChainName()] = &cacheIt->second;
72 return StatusCode::SUCCESS;
◆ unpackDecision()
StatusCode Trig::DecisionUnpackerAthena::unpackDecision |
( |
const EventContext & |
ctx, |
|
|
std::unordered_map< std::string, const LVL1CTP::Lvl1Item * > & |
itemsByName, |
|
|
std::map< CTPID, LVL1CTP::Lvl1Item > & |
itemsCache, |
|
|
std::unordered_map< std::string, const HLT::Chain * > & |
l2chainsByName, |
|
|
std::map< CHAIN_COUNTER, HLT::Chain > & |
l2chainsCache, |
|
|
std::unordered_map< std::string, const HLT::Chain * > & |
efchainsByName, |
|
|
std::map< CHAIN_COUNTER, HLT::Chain > & |
efchainsCache, |
|
|
char & |
bgCode, |
|
|
bool |
unpackHLT |
|
) |
| const |
|
overridevirtual |
Implements Trig::IDecisionUnpacker.
Definition at line 75 of file DecisionUnpackerAthena.cxx.
100 if (!unpackHLT)
return StatusCode::SUCCESS;
104 l2chainsByName.clear();
110 if (
unpackChains(l2_serialized_chains, l2chainsCache, l2chainsByName).isFailure() ) {
117 efchainsByName.clear();
119 ATH_MSG_DEBUG(ef_serialized_chains.size() <<
" EF/HLT chains");
121 if ( ! ef_serialized_chains.empty()) {
122 if (
unpackChains(ef_serialized_chains, efchainsCache, efchainsByName).isFailure() ) {
129 return StatusCode::SUCCESS;
◆ unpackItems()
Definition at line 24 of file DecisionUnpackerAthena.cxx.
27 itemsByName.reserve( itemsByName.size() + itemsCache.size() );
28 for (
auto& [ctpid,
item] : itemsCache ) {
30 const bool passBP =
result.isPassedBeforePrescale(ctpid);
31 const bool passAP =
result.isPassedAfterPrescale(ctpid);
32 const bool passAV =
result.isPassedAfterVeto(ctpid);
34 passBP, passAP, passAV,
35 item.prescaleFactor());
36 item = std::move (itemNew);
39 return StatusCode::SUCCESS;
◆ unpackNavigation()
Implements Trig::IDecisionUnpacker.
Definition at line 132 of file DecisionUnpackerAthena.cxx.
142 return StatusCode::FAILURE;
153 if ( ! unpacking_status ) {
158 msg() <<
", falling back to L2 Navigation of size: "
165 if ( ! unpacking_status ) {
172 return StatusCode::SUCCESS;
◆ ATLAS_THREAD_SAFE
asg::AsgTool* s_logger Trig::Logger::ATLAS_THREAD_SAFE {nullptr} |
|
inlinestaticprivateinherited |
◆ m_deckey
The documentation for this class was generated from the following files: