Concrete implementation of Monitor to monitor all Algorithm instances in an event, grouped by their instance class.
More...
#include <MonitorAlgorithmClass.h>
Concrete implementation of Monitor to monitor all Algorithm instances in an event, grouped by their instance class.
Definition at line 14 of file MonitorAlgorithmClass.h.
◆ MonitorAlgorithmClass() [1/3]
| MonitorAlgorithmClass::MonitorAlgorithmClass |
( |
| ) |
|
|
delete |
Forbid default constructor.
◆ MonitorAlgorithmClass() [2/3]
| MonitorAlgorithmClass::MonitorAlgorithmClass |
( |
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 MonitorAlgorithmClass.cxx.
10}
MonitorBase()=delete
Forbid default constructor.
◆ ~MonitorAlgorithmClass()
| virtual MonitorAlgorithmClass::~MonitorAlgorithmClass |
( |
| ) |
|
|
virtualdefault |
◆ MonitorAlgorithmClass() [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 > MonitorAlgorithmClass::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 28 of file MonitorAlgorithmClass.cxx.
28 {
29 return std::make_unique<CounterAlgorithmClass>(name, this);
30}
◆ newEvent()
| StatusCode MonitorAlgorithmClass::newEvent |
( |
const CostData & | data, |
|
|
const float | weight = 1. ) |
|
overridevirtual |
Concrete dispatch method.
Iterate over all Algorithms in event data and dispatch to owned Counters based on class name lookup
- Parameters
-
| [in] | data | Access to event data |
| [in] | weight | Global event weight |
Implements MonitorBase.
Definition at line 12 of file MonitorAlgorithmClass.cxx.
12 {
13
16 if (slot !=
data.onlineSlot()) {
17 continue;
18 }
20 const std::string&
name =
data.algNameToClassType(nameHash);
22 }
23
24 return StatusCode::SUCCESS;
25}
char data[hepevt_bytes_allocation_ATLAS]
virtual StatusCode newEvent(const CostData &data, const float weight=1.) override
Concrete dispatch method.
CounterBase * getCounter(const std::string &name)
Retrieve counter by name.
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: