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.
TH1 * MonitoredRange::bookGetPointer | ( | TH1 * | hist, |
const std::string & | tDir = "" |
||
) | const |
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.