|
ATLAS Offline Software
|
Go to the documentation of this file.
17 #if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS) // Full athena
26 const std::vector< uint32_t >&
vec ) {
32 return ( ( ( word >> (
index % 32 ) ) & 0
x1 ) != 0 );
41 : m_deckey(deckey), m_navikey(navikey)
51 std::unordered_map< std::string,const LVL1CTP::Lvl1Item* >& itemsByName,
52 std::map< CTPID, LVL1CTP::Lvl1Item >& itemsCache,
53 std::unordered_map< std::string, const HLT::Chain* >& l2chainsByName,
54 std::map< CHAIN_COUNTER, HLT::Chain >& l2chainsCache,
55 std::unordered_map< std::string, const HLT::Chain* >& efchainsByName,
56 std::map< CHAIN_COUNTER, HLT::Chain >& efchainsCache,
58 bool unpackHLT )
const {
65 return StatusCode::FAILURE;
75 if(
unpackItems( *xaoddec, itemsCache,itemsByName ).isFailure() ) {
82 return StatusCode::SUCCESS;
86 l2chainsByName.clear();
92 l2chainsByName ).isFailure() ) {
97 efchainsByName.clear();
103 efchainsByName ).isFailure() ) {
107 return StatusCode::SUCCESS;
116 return StatusCode::SUCCESS;
122 if( ! serializedNav ) {
123 [[maybe_unused]]
static std::atomic<bool> warningPrinted =
126 return StatusCode::FAILURE;
134 bool navi_nonempty = !(serializedNav->
serialized().empty());
136 #if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS)
141 return StatusCode::FAILURE;
151 if ( ! unpacking_status ) {
158 return StatusCode::SUCCESS;
164 std::map< unsigned, LVL1CTP::Lvl1Item >& itemsCache,
165 std::unordered_map< std::string, const LVL1CTP::Lvl1Item* >& itemsByName )
const {
166 itemsByName.reserve( itemsByName.size() + itemsCache.size() );
167 for(
auto& [ctpid,
item] : itemsCache ) {
174 <<
" ap: " << passAP <<
" av: "
178 passBP, passAP, passAV,
179 item.prescaleFactor());
180 item = std::move (itemNew);
184 return StatusCode::SUCCESS;
191 const std::vector< uint32_t >& raw,
192 const std::vector< uint32_t >& passedthrough,
193 const std::vector< uint32_t >& prescaled,
194 const std::vector< uint32_t >& resurrected,
195 std::unordered_map< std::string, const HLT::Chain* >&
output )
const {
198 for(
auto& [cntr,
chain] : cache ) {
212 return StatusCode::SUCCESS;
const std::vector< uint32_t > & efPrescaled() const
Get the EF prescaled bits.
const_pointer_type cptr()
Dereference the pointer.
const std::vector< uint32_t > & efResurrected() const
Get the EF resurrected bits.
virtual bool deserialize(const std::vector< uint32_t > &)=0
The common trigger namespace for trigger analysis tools.
const SG::ReadHandleKey< xAOD::TrigNavigation > * m_navikey
Key of the trigger navigation object in the event.
bool deserialize(const std::vector< uint32_t > &input)
const std::vector< uint32_t > & tav() const
Get the Trigger After Veto bits.
virtual void reset(bool inFinalize=false)
resets all the navigation, goes to the factory and asks to withdraw all produced objects
std::vector< size_t > vec
virtual StatusCode 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 override
Function unpacking the payload of the trigger decision.
#define ATH_MSG_VERBOSE(x)
Property holding a SG store/key/clid from which a ReadHandle is made.
const std::vector< unsigned int > & serialized() const
expose the navigation information (in serialized form)
virtual void reset(bool inFinalize=false)
resets all the navigation, goes to the factory and asks to withdraw all produced objects
const std::vector< uint32_t > & lvl2PassedThrough() const
Get the LVL2 pass-through bits.
The NavigationCore class, adds on top of the TrigNavStructure the EDM read-only handling.
StatusCode unpackItems(const xAOD::TrigDecision &trigDec, std::map< CTPID, LVL1CTP::Lvl1Item > &itemsCache, std::unordered_map< std::string, const LVL1CTP::Lvl1Item * > &itemsByName) const
Function unpacking the decision of the LVL1 items.
const SG::ReadHandleKey< xAOD::TrigDecision > * m_deckey
Key of the trigger decision object in the event.
virtual ~DecisionUnpackerStandalone()
Destructor.
::StatusCode StatusCode
StatusCode definition for legacy code.
const std::vector< uint32_t > & efPassedThrough() const
Get the EF pass-through bits.
DecisionUnpackerStandalone(const SG::ReadHandleKey< xAOD::TrigDecision > *, const SG::ReadHandleKey< xAOD::TrigNavigation > *navikey)
Constructor with arguments.
const std::vector< uint32_t > & efPassedRaw() const
Get the EF passed-raw bits.
virtual StatusCode unpackNavigation(const EventContext &ctx, HLT::TrigNavStructure *nav) const override
Function unpacking the payload of the trigger navigation.
bool get32BitDecision(unsigned int index, const std::vector< uint32_t > &vec)
const std::vector< uint32_t > & tap() const
Get the Trigger After Prescale bits.
char bgCode() const
Get the bunch group code of the current event.
const std::vector< uint32_t > & lvl2Prescaled() const
Get the LVL2 prescaled bits.
#define ATH_MSG_WARNING(x)
Interface to the raw trigger navigation information of the event.
const std::vector< uint32_t > & tbp() const
Get the Trigger Before Prescale bits.
const std::vector< uint32_t > & lvl2Resurrected() const
Get the LVL2 resurrected bits.
Interface to the raw trigger decision information of the event.
const std::vector< uint32_t > & lvl2PassedRaw() const
Get the LVL2 passed-raw bits.
StatusCode unpackChains(std::map< unsigned, HLT::Chain > &cache, const std::vector< uint32_t > &raw, const std::vector< uint32_t > &passedThrough, const std::vector< uint32_t > &prescaled, const std::vector< uint32_t > &resurrected, std::unordered_map< std::string, const HLT::Chain * > &output) const
Function unpacking the decision of the HLT chains.