ATLAS Offline Software
|
Container which represents a time range and holds a collection of Monitors which monitor this range. More...
#include <MonitoredRange.h>
Public Member Functions | |
MonitoredRange ()=delete | |
Forbid default constructor. More... | |
MonitoredRange (const std::string &name, TrigCostAnalysis *parent) | |
Construct Range. More... | |
~MonitoredRange ()=default | |
Default destructor. More... | |
MonitoredRange & | operator= (const MonitoredRange &)=delete |
Forbid assignment. More... | |
MonitoredRange (const MonitoredRange &)=delete | |
Forbid copy. More... | |
const std::string & | getName () const |
Getter for Range's name. More... | |
const TrigCostAnalysis * | getParent () const |
Return cached non-owning ptr to this Monitor's parent TrigCostAnalysis Athena algorithm. More... | |
TH1 * | bookGetPointer (TH1 *hist, const std::string &tDir="") const |
Appends Range's name (to histogram path) and forwards histogram book request to parent Athena algorithm. More... | |
std::set< std::unique_ptr< MonitorBase > > & | getMonitors () |
Getter for Range's owned Monitors. More... | |
StatusCode | addMonitor (std::unique_ptr< MonitorBase > monitor) |
Adds a new Monitor into this Range. More... | |
StatusCode | newEvent (const CostData &data, const float weight=1., const bool skipMonitoringThisEvent=false) |
Interface called by TrigCostAnalysis algorithm to instruct this Range to trigger all its Monitors. More... | |
Private Attributes | |
const std::string | m_name |
Name of the Monitored Range. More... | |
TrigCostAnalysis * | m_parent |
Cached ptr to the parent Athena algorithm. More... | |
TH1 * | m_cachedLifetimeHistPtr |
Cached histogram ptr used to store normalisation quantities. More... | |
std::set< std::unique_ptr< MonitorBase > > | m_monitors |
Storage of Range's Monitors. More... | |
std::set< uint32_t > | m_seenLB |
Luminosity blocks for which we have seen at least one event. More... | |
Container which represents a time range and holds a collection of Monitors which monitor this range.
A job is configured to use a suite of Monitors. However, we also want to separate different regions of the run via lumi block splitting. This class represents one such time interval and hosts a complete set of Monitors which are used to monitor the time range.
Definition at line 29 of file MonitoredRange.h.
|
delete |
Forbid default constructor.
MonitoredRange::MonitoredRange | ( | const std::string & | name, |
TrigCostAnalysis * | parent | ||
) |
Construct Range.
Range constructor sets up a histogram which is used to keep track of normalisation quantities.
Definition at line 11 of file MonitoredRange.cxx.
|
default |
Default destructor.
|
delete |
Forbid copy.
StatusCode MonitoredRange::addMonitor | ( | std::unique_ptr< MonitorBase > | monitor | ) |
Adds a new Monitor into this Range.
@pram[in] Owning unique ptr of new Monitor to add. Typed on Monitor's base class.
Definition at line 49 of file MonitoredRange.cxx.
Appends Range's name (to histogram path) and forwards histogram book request to parent Athena algorithm.
[in] | hist | Bare pointer to histogram. Ownership transferred to THistSvc. |
[in] | tDir | Histogram name & directory. |
Definition at line 34 of file MonitoredRange.cxx.
std::set< std::unique_ptr< MonitorBase > > & MonitoredRange::getMonitors | ( | ) |
Getter for Range's owned Monitors.
Definition at line 44 of file MonitoredRange.cxx.
const std::string & MonitoredRange::getName | ( | ) | const |
Getter for Range's name.
Definition at line 24 of file MonitoredRange.cxx.
const TrigCostAnalysis * MonitoredRange::getParent | ( | ) | const |
Return cached non-owning ptr to this Monitor's parent TrigCostAnalysis Athena algorithm.
Definition at line 29 of file MonitoredRange.cxx.
StatusCode MonitoredRange::newEvent | ( | const CostData & | data, |
const float | weight = 1. , |
||
const bool | skipMonitoringThisEvent = false |
||
) |
Interface called by TrigCostAnalysis algorithm to instruct this Range to trigger all its Monitors.
[in] | data | Access to event data |
[in] | weight | Global event weight |
Definition at line 55 of file MonitoredRange.cxx.
|
delete |
Forbid assignment.
|
private |
Cached histogram ptr used to store normalisation quantities.
Definition at line 103 of file MonitoredRange.h.
|
private |
Storage of Range's Monitors.
Keyed by Monitor's name.
Definition at line 104 of file MonitoredRange.h.
|
private |
Definition at line 101 of file MonitoredRange.h.
|
private |
Cached ptr to the parent Athena algorithm.
Definition at line 102 of file MonitoredRange.h.
|
private |
Luminosity blocks for which we have seen at least one event.
Definition at line 105 of file MonitoredRange.h.