5#ifndef TRIGCOSTANALYSIS_MONITOREDRANGE_H
6#define TRIGCOSTANALYSIS_MONITOREDRANGE_H 1
8#include "GaudiKernel/StatusCode.h"
64 const std::string&
getName()
const;
78 TH1*
bookGetPointer(TH1* hist,
const std::string& tDir =
"")
const;
84 std::set< std::unique_ptr<MonitorBase> >&
getMonitors();
90 StatusCode
addMonitor(std::unique_ptr<MonitorBase> monitor);
97 StatusCode
newEvent(
const CostData&
data,
const float weight = 1.,
const bool skipMonitoringThisEvent =
false);
char data[hepevt_bytes_allocation_ATLAS]
Caches and propagates event data to be used by monitoring algorithms.
MonitoredRange(const MonitoredRange &)=delete
Forbid copy.
StatusCode addMonitor(std::unique_ptr< MonitorBase > monitor)
Adds a new Monitor into this Range.
const TrigCostAnalysis * getParent() const
Return cached non-owning ptr to this Monitor's parent TrigCostAnalysis Athena algorithm.
std::set< std::unique_ptr< MonitorBase > > m_monitors
Storage of Range's Monitors.
TrigCostAnalysis * m_parent
Cached ptr to the parent Athena algorithm.
const std::string m_name
Name of the Monitored Range.
std::set< std::unique_ptr< MonitorBase > > & getMonitors()
Getter for Range's owned Monitors.
std::set< uint32_t > m_seenLB
Luminosity blocks for which we have seen at least one event.
TH1 * m_cachedLifetimeHistPtr
Cached histogram ptr used to store normalisation quantities.
const std::string & getName() const
Getter for Range's name.
MonitoredRange()=delete
Forbid default constructor.
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...
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.
MonitoredRange & operator=(const MonitoredRange &)=delete
Forbid assignment.
~MonitoredRange()=default
Default destructor.
Athena algorithm used to process Trigger cost monitoring data in Run 3 and above.