![]() |
ATLAS Offline Software
|
#include <CacheGlobalMemory.h>
Classes | |
| class | AnyTypeDeleter |
Public Member Functions | |
| CacheGlobalMemory ()=default | |
| ~CacheGlobalMemory ()=default | |
| const Trig::ChainGroup * | createChainGroup (const std::vector< std::string > &patterns, const std::string &alias="", TrigDefs::Group props=TrigDefs::Group::Default) const |
| creates new chain group | |
| void | update (const TrigConf::HLTChainList *confChains, const TrigConf::CTPConfig *ctp) |
| Updates configuration of the chain groups (i.e. | |
| const LVL1CTP::Lvl1Item * | item (const std::string &name) const |
| CTP item from given name. | |
| const LVL1CTP::Lvl1Item * | item (const TrigConf::TriggerItem &i) const |
| CTP item from given config item. | |
| const TrigConf::TriggerItem * | config_item (const std::string &name) const |
| CTP config item from given name. | |
| float | item_prescale (int ctpid) const |
| Prescale for CPT item. | |
| const HLT::Chain * | chain (const std::string &name) const |
| HLT chain object from given name (0 pointer returned if no match) | |
| const HLT::Chain * | chain (const TrigConf::HLTChain &chIt) const |
| HLT chain object from given config chain. | |
| const TrigConf::HLTChain * | config_chain (const std::string &name) const |
| HLT config chain from given name. | |
| const HLT::TrigNavStructure * | navigation () const |
| void | navigation (HLT::TrigNavStructure *nav) |
| sets navigation object pointer | |
| const Trig::ChainGroup * | getChainGroup (const std::vector< std::string > &triggerNames, TrigDefs::Group props) const |
| size_t | nChainGroups () const |
| const std::map< std::string, std::vector< std::string > > & | getStreams () const |
| bool | assert_decision () const |
| checks if new event arrived with the decision Need to use before any call to CacheGlobalMemory. | |
| void | reset_decision () |
| invalidate previously unpacked decision Needs to be called at the start of a new event. | |
| void | setStore (asg::EventStoreType *store) |
| Set the event store to be used by the object. | |
| const asg::EventStoreType * | store () const |
| Get the event store that the object is using. | |
| void | setDecisionKeyPtr (SG::ReadHandleKey< xAOD::TrigDecision > *k) |
| void | setRun2NavigationKeyPtr (SG::ReadHandleKey< xAOD::TrigNavigation > *k) |
| void | setRun3NavigationKeyPtr (SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > *k) |
| const SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > & | getRun3NavigationKey () const |
| const SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > * | getRun3NavigationKeyPtr () const |
| void | setOldDecisionKeyPtr (SG::ReadHandleKey< TrigDec::TrigDecision > *k) |
| void | setOldEventInfoKeyPtr (SG::ReadHandleKey< EventInfo > *k) |
| const SG::ReadHandleKey< xAOD::TrigDecision > * | xAODTrigDecisionKey () const |
| template<class T> | |
| void | deleteAtTheEndOfEvent (T t) const |
| MsgStream & | msg () const |
| MsgStream & | msg (const MSG::Level lvl) const |
| bool | msgLvl (const MSG::Level lvl) const |
Private Types | |
| typedef unsigned | CTPID |
| typedef unsigned | CHAIN_COUNTER |
| typedef std::unordered_map< std::string, const TrigConf::HLTChain * > | ChainHashMap_t |
Private Member Functions | |
| StatusCode | unpackDecision (const EventContext &ctx) |
| unpacks whole trigger decision for the event | |
| StatusCode | unpackNavigation () |
| unpacks HLT navigation structure (object access) | |
| void | updateChainGroup (Trig::ChainGroup &chainGroup, TrigDefs::Group props=TrigDefs::Group::Default) |
| unpacks everything that belongs to a ChainGroup | |
Private Attributes | |
| const asg::EventStoreType * | m_store {nullptr} |
| Pointer to the event store in use. | |
| std::unique_ptr< IDecisionUnpacker > m_unpacker | ATLAS_THREAD_SAFE |
| Trigger decision unpacker helper. | |
| bool | m_decisionUnpacked {false} |
| Was decision unpacked for this event? | |
| bool | m_navigationUnpacked {false} |
| Was navigation unpacked for this event? | |
| HLT::TrigNavStructure * | m_navigation {nullptr} |
| Navigation owned by CGM. | |
| std::map< std::vector< std::string >, Trig::ChainGroup > m_chainGroups | ATLAS_THREAD_SAFE |
| primary storage for chain groups | |
| std::map< std::vector< std::string >, Trig::ChainGroup * > m_chainGroupsRef | ATLAS_THREAD_SAFE |
| this map keeps the chain group more than once i.e. | |
| std::unordered_map< std::string, const LVL1CTP::Lvl1Item * > | m_itemsByName |
| items keyed by configuration name (chainging every event) | |
| std::unordered_map< std::string, const HLT::Chain * > | m_l2chainsByName |
| L2 chains keyed by chain name (chainging every event) | |
| std::unordered_map< std::string, const HLT::Chain * > | m_efchainsByName |
| L2 chains keyed by chain name (chainging every event) | |
| std::map< CTPID, LVL1CTP::Lvl1Item > | m_itemsCache |
| cache of all CTP items possible (given configuration) | |
| std::map< CHAIN_COUNTER, HLT::Chain > | m_l2chainsCache |
| cache of all L2 chains possible (given configuration) | |
| std::map< CHAIN_COUNTER, HLT::Chain > | m_efchainsCache |
| cache of all EF chains possible (given configuration) | |
| std::map< std::string, std::vector< std::string > > | m_groups |
| mapping from group to list of chains | |
| std::map< std::string, std::vector< std::string > > | m_streams |
| mapping from stream to list of chains | |
| const TrigConf::ItemContainer * | m_confItems {nullptr} |
| items configuration | |
| const TrigConf::HLTChainList * | m_confChains {nullptr} |
| all chains configuration | |
| SG::ReadHandleKey< xAOD::TrigDecision > * | m_decisionKeyPtr {nullptr} |
| Parent TDT's read handle key. | |
| SG::ReadHandleKey< TrigDec::TrigDecision > * | m_oldDecisionKeyPtr {nullptr} |
| Parent TDT's read handle key. | |
| SG::ReadHandleKey< EventInfo > * | m_oldEventInfoKeyPtr {nullptr} |
| Parent TDT's read handle key. | |
| SG::ReadHandleKey< xAOD::TrigNavigation > * | m_run2NavigationKeyPtr {nullptr} |
| Parent TDT's read handle key. | |
| SG::ReadHandleKey< TrigCompositeUtils::DecisionContainer > * | m_run3NavigationKeyPtr {nullptr} |
| Parent TDT's read handle key. | |
| ChainHashMap_t | m_mConfChains |
| map of conf chains | |
| char | m_bgCode {0} |
| the encoded bunchgroup information | |
| AnyTypeDeleter m_deleteAtEndOfEvent | ATLAS_THREAD_SAFE |
| std::recursive_mutex | m_cgmMutex |
| R3 MT protection only against –threads > 1. | |
Friends | |
| class | DecisionAccess |
Definition at line 67 of file CacheGlobalMemory.h.
|
private |
Definition at line 204 of file CacheGlobalMemory.h.
|
private |
Definition at line 225 of file CacheGlobalMemory.h.
|
private |
Definition at line 203 of file CacheGlobalMemory.h.
|
default |
|
default |
| bool Trig::CacheGlobalMemory::assert_decision | ( | ) | const |
checks if new event arrived with the decision Need to use before any call to CacheGlobalMemory.
It is marked const since it is frequently called from const methods and is internally locked.
Definition at line 266 of file CacheGlobalMemory.cxx.
| const HLT::Chain * Trig::CacheGlobalMemory::chain | ( | const std::string & | name | ) | const |
HLT chain object from given name (0 pointer returned if no match)
Definition at line 201 of file CacheGlobalMemory.cxx.
| const HLT::Chain * Trig::CacheGlobalMemory::chain | ( | const TrigConf::HLTChain & | chIt | ) | const |
HLT chain object from given config chain.
Definition at line 214 of file CacheGlobalMemory.cxx.
| const TrigConf::HLTChain * Trig::CacheGlobalMemory::config_chain | ( | const std::string & | name | ) | const |
HLT config chain from given name.
Definition at line 218 of file CacheGlobalMemory.cxx.
| const TrigConf::TriggerItem * Trig::CacheGlobalMemory::config_item | ( | const std::string & | name | ) | const |
CTP config item from given name.
Definition at line 234 of file CacheGlobalMemory.cxx.
| const Trig::ChainGroup * Trig::CacheGlobalMemory::createChainGroup | ( | const std::vector< std::string > & | patterns, |
| const std::string & | alias = "", | ||
| TrigDefs::Group | props = TrigDefs::Group::Default ) const |
creates new chain group
| patterns | list of patterns i.e. regexes, if chain groups already exists it is just given back The chain group is considered to exist if the patterns are the same. Patterns are stored and made unique i.e. "EF_mu4", "EF_mu6" is the same as "EF_mu6", "EF_mu4". It is not the same though as "EF_mu.*" even if in particular case that would mean the same 2 chains. |
| alias | is the short human readable name for the triggers which are in the group i.e. myMuons |
| props | are additional properties for the chain group creation (e.g. disable regex parsing) |
Definition at line 54 of file CacheGlobalMemory.cxx.
|
inline |
Definition at line 156 of file CacheGlobalMemory.h.
| const Trig::ChainGroup * Trig::CacheGlobalMemory::getChainGroup | ( | const std::vector< std::string > & | triggerNames, |
| TrigDefs::Group | props ) const |
Definition at line 83 of file CacheGlobalMemory.cxx.
|
inline |
Definition at line 144 of file CacheGlobalMemory.h.
|
inline |
Definition at line 145 of file CacheGlobalMemory.h.
|
inline |
Definition at line 119 of file CacheGlobalMemory.h.
| const LVL1CTP::Lvl1Item * Trig::CacheGlobalMemory::item | ( | const std::string & | name | ) | const |
CTP item from given name.
Definition at line 260 of file CacheGlobalMemory.cxx.
| const LVL1CTP::Lvl1Item * Trig::CacheGlobalMemory::item | ( | const TrigConf::TriggerItem & | i | ) | const |
CTP item from given config item.
Definition at line 252 of file CacheGlobalMemory.cxx.
| float Trig::CacheGlobalMemory::item_prescale | ( | int | ctpid | ) | const |
Prescale for CPT item.
Definition at line 241 of file CacheGlobalMemory.cxx.
|
inlineinherited |
Definition at line 29 of file Trigger/TrigAnalysis/TrigDecisionTool/TrigDecisionTool/Logger.h.
|
inlineinherited |
Definition at line 33 of file Trigger/TrigAnalysis/TrigDecisionTool/TrigDecisionTool/Logger.h.
|
inlineinherited |
Definition at line 34 of file Trigger/TrigAnalysis/TrigDecisionTool/TrigDecisionTool/Logger.h.
|
inline |
< gives back pointer to navigation object (unpacking if necessary)
Definition at line 104 of file CacheGlobalMemory.h.
|
inline |
sets navigation object pointer
Definition at line 114 of file CacheGlobalMemory.h.
| size_t Trig::CacheGlobalMemory::nChainGroups | ( | ) | const |
Definition at line 97 of file CacheGlobalMemory.cxx.
| void Trig::CacheGlobalMemory::reset_decision | ( | ) |
invalidate previously unpacked decision Needs to be called at the start of a new event.
Definition at line 372 of file CacheGlobalMemory.cxx.
|
inline |
Definition at line 141 of file CacheGlobalMemory.h.
|
inline |
Definition at line 148 of file CacheGlobalMemory.h.
|
inline |
Definition at line 149 of file CacheGlobalMemory.h.
|
inline |
Definition at line 142 of file CacheGlobalMemory.h.
|
inline |
Definition at line 143 of file CacheGlobalMemory.h.
|
inline |
Set the event store to be used by the object.
Definition at line 137 of file CacheGlobalMemory.h.
|
inline |
|
private |
unpacks whole trigger decision for the event
Definition at line 377 of file CacheGlobalMemory.cxx.
|
private |
unpacks HLT navigation structure (object access)
Definition at line 393 of file CacheGlobalMemory.cxx.
| void Trig::CacheGlobalMemory::update | ( | const TrigConf::HLTChainList * | confChains, |
| const TrigConf::CTPConfig * | ctp ) |
Updates configuration of the chain groups (i.e.
regexes are reapplied to new set of chains)
Definition at line 109 of file CacheGlobalMemory.cxx.
|
private |
unpacks everything that belongs to a ChainGroup
Definition at line 104 of file CacheGlobalMemory.cxx.
|
inline |
Definition at line 152 of file CacheGlobalMemory.h.
|
friend |
Definition at line 162 of file CacheGlobalMemory.h.
|
mutableprivate |
Trigger decision unpacker helper.
Definition at line 187 of file CacheGlobalMemory.h.
|
mutableprivate |
primary storage for chain groups
Definition at line 196 of file CacheGlobalMemory.h.
|
mutableprivate |
this map keeps the chain group more than once i.e.
when alias is given
Definition at line 197 of file CacheGlobalMemory.h.
|
mutableprivate |
Definition at line 272 of file CacheGlobalMemory.h.
|
private |
|
mutableprivate |
R3 MT protection only against –threads > 1.
Needs refacotring...
Definition at line 274 of file CacheGlobalMemory.h.
|
private |
|
private |
|
private |
|
private |
Was decision unpacked for this event?
Definition at line 189 of file CacheGlobalMemory.h.
|
private |
L2 chains keyed by chain name (chainging every event)
Definition at line 201 of file CacheGlobalMemory.h.
|
private |
cache of all EF chains possible (given configuration)
Definition at line 207 of file CacheGlobalMemory.h.
|
private |
mapping from group to list of chains
Definition at line 209 of file CacheGlobalMemory.h.
|
private |
items keyed by configuration name (chainging every event)
Definition at line 199 of file CacheGlobalMemory.h.
|
private |
cache of all CTP items possible (given configuration)
Definition at line 205 of file CacheGlobalMemory.h.
|
private |
L2 chains keyed by chain name (chainging every event)
Definition at line 200 of file CacheGlobalMemory.h.
|
private |
cache of all L2 chains possible (given configuration)
Definition at line 206 of file CacheGlobalMemory.h.
|
private |
map of conf chains
Definition at line 226 of file CacheGlobalMemory.h.
|
private |
|
private |
Was navigation unpacked for this event?
Definition at line 190 of file CacheGlobalMemory.h.
|
private |
|
private |
|
private |
|
private |
|
private |
Pointer to the event store in use.
Definition at line 184 of file CacheGlobalMemory.h.
|
private |
mapping from stream to list of chains
Definition at line 210 of file CacheGlobalMemory.h.