Concrete implementation of Monitor to monitor all Algorithm instances associated with chain in an event.
More...
#include <MonitorChainAlgorithm.h>
Concrete implementation of Monitor to monitor all Algorithm instances associated with chain in an event.
Definition at line 14 of file MonitorChainAlgorithm.h.
◆ MonitorChainAlgorithm() [1/3]
| MonitorChainAlgorithm::MonitorChainAlgorithm |
( |
| ) |
|
|
delete |
Forbid default constructor.
◆ MonitorChainAlgorithm() [2/3]
| MonitorChainAlgorithm::MonitorChainAlgorithm |
( |
const std::string & | name, |
|
|
const MonitoredRange * | parent ) |
Construct monitor.
- Parameters
-
| [in] | name | Monitor's name |
| [in] | parent | Monitor's parent Range, cached non-owning pointer. |
Definition at line 8 of file MonitorChainAlgorithm.cxx.
10}
MonitorBase()=delete
Forbid default constructor.
◆ ~MonitorChainAlgorithm()
| virtual MonitorChainAlgorithm::~MonitorChainAlgorithm |
( |
| ) |
|
|
virtualdefault |
◆ MonitorChainAlgorithm() [3/3]
◆ bookGetPointer()
| TH1 * MonitorBase::bookGetPointer |
( |
TH1 * | hist, |
|
|
const std::string & | tDir = "" ) const |
|
inherited |
Appends Monitor name (to histogram path) and forwards histogram book request to parent Range.
- Parameters
-
| [in] | hist | Bare pointer to histogram. Ownership transferred to THistSvc. |
| [in] | tDir | Histogram name & directory. |
- Returns
- Cached pointer to histogram. Used to fill histogram without having to perform THishSvc lookup.
Definition at line 37 of file Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.cxx.
37 {
39 if (tDir != "") {
42 }
44}
const MonitoredRange * getParent() const
Return cached non-owning const ptr to this Monitor's parent Range.
const std::string & getName() const
Getter for Monitor's name.
TH1 * bookGetPointer(TH1 *hist, const std::string &tDir="") const
Appends Range's name (to histogram path) and forwards histogram book request to parent Athena algorit...
◆ counterExists()
| bool MonitorBase::counterExists |
( |
const std::string & | name | ) |
const |
|
inherited |
Check if a counter of a given name exists.
- Parameters
-
- Returns
- True if counter already exists.
Definition at line 47 of file Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.cxx.
47 {
49}
std::unordered_map< std::string, std::unique_ptr< CounterBase > > m_counters
Storage of Monitor's collection of Counters.
◆ endEvent()
| StatusCode MonitorBase::endEvent |
( |
float | weight = 1. | ) |
|
|
virtualinherited |
Called by the framework.
Causes per-Event Variables to fill their histograms with their accumulated data.
Definition at line 29 of file Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.cxx.
29 {
31 ATH_CHECK( nameCounterPair.second->endEvent(weight) );
32 }
33 return StatusCode::SUCCESS;
34}
#define ATH_CHECK
Evaluate an expression and check for errors.
◆ getCounter()
| CounterBase * MonitorBase::getCounter |
( |
const std::string & | name | ) |
|
|
inherited |
Retrieve counter by name.
If no such counter exists, a new one will be instanced and returned.
- Parameters
-
- Returns
- Mutable base-class pointer to Counter.
Definition at line 52 of file Trigger/TrigCost/TrigCostAnalysis/src/MonitorBase.cxx.
52 {
55 return it->second.get();
56 }
57
60 return it->second.get();
61}
virtual std::unique_ptr< CounterBase > newCounter(const std::string &name)=0
Pure virtual Counter instantiation specialisation.
◆ getName()
| const std::string & MonitorBase::getName |
( |
| ) |
const |
|
inherited |
◆ getParent()
◆ msg() [1/2]
| MsgStream & MonitorBase::msg |
( |
| ) |
|
|
inherited |
◆ msg() [2/2]
| MsgStream & MonitorBase::msg |
( |
const MSG::Level | lvl | ) |
|
|
inherited |
◆ msgLvl()
| bool MonitorBase::msgLvl |
( |
const MSG::Level | lvl | ) |
|
|
inherited |
◆ newCounter()
| std::unique_ptr< CounterBase > MonitorChainAlgorithm::newCounter |
( |
const std::string & | name | ) |
|
|
overridevirtual |
Concrete counter instantiation.
Mints named counter of CounterAlgorithm type.
- Parameters
-
| [in] | name | Name of Counter to mint. |
- Returns
- Owning unique ptr object typed on the CounterBase base class which points to concrete Counter of specialised type.
Implements MonitorBase.
Definition at line 39 of file MonitorChainAlgorithm.cxx.
39 {
40 return std::make_unique<CounterAlgorithm>(name, this);
41}
◆ newEvent()
| StatusCode MonitorChainAlgorithm::newEvent |
( |
const CostData & | data, |
|
|
const float | weight = 1. ) |
|
overridevirtual |
Concrete dispatch method.
Iterate over all Algorithms associated with chain in event data and dispatch to owned Counters
- Parameters
-
| [in] | data | Access to event data |
| [in] | weight | Global event weight |
Implements MonitorBase.
Definition at line 12 of file MonitorChainAlgorithm.cxx.
12 {
13 const std::vector<TrigCompositeUtils::AlgToChainTool::ChainInfo>& seededChains =
data.seededChains();
14 for (
size_t i = 0;
i < seededChains.size(); ++
i){
15
16 if (!
data.chainToAlgMap().count(seededChains[i].name))
continue;
17
18 for (
const size_t algIndex :
data.chainToAlgMap().at(seededChains[i].name)){
20
22 if (slot !=
data.onlineSlot()) {
23 continue;
24 }
25
28
29 std::stringstream counterName;
30 counterName << seededChains[
i].name <<
"__" <<
algName;
32 }
33 }
34
35 return StatusCode::SUCCESS;
36}
char data[hepevt_bytes_allocation_ATLAS]
virtual StatusCode newEvent(const CostData &data, size_t index, float weight=1.0)=0
Pure virtual interface called by Monitor to instruct this Counter to perform its analysis.
CounterBase * getCounter(const std::string &name)
Retrieve counter by name.
static const std::string hash2string(HLTHash, const std::string &category="TE")
hash function translating identifiers into names (via internal dictionary)
const std::string & algName(ID id)
Converts a JetAlgorithmType::ID into a string.
TrigComposite_v1 TrigComposite
Declare the latest version of the class.
◆ operator=()
◆ m_counters
| std::unordered_map< std::string, std::unique_ptr<CounterBase> > MonitorBase::m_counters |
|
protectedinherited |
◆ m_msgStream
| MsgStream MonitorBase::m_msgStream |
|
protectedinherited |
◆ m_name
| const std::string MonitorBase::m_name |
|
privateinherited |
◆ m_parent
The documentation for this class was generated from the following files: