ATLAS Offline Software
|
Implementation of IHistogramProvider for lumi block based histograms. More...
#include <LumiblockHistogramProvider.h>
Public Member Functions | |
LumiblockHistogramProvider (GenericMonitoringTool *const gmTool, std::shared_ptr< HistogramFactory > factory, const HistogramDef &histDef) | |
Constructor. More... | |
TNamed * | histogram () override |
Getter of ROOT object. More... | |
Private Attributes | |
GenericMonitoringTool *const | m_gmTool |
std::shared_ptr< HistogramFactory > | m_factory |
const HistogramDef | m_histDef |
std::map< unsigned, std::pair< HistogramDef, TNamed * > > | m_hists |
Map storing upper end of lumi page (or lumiblock if depth==1) with the corresponding histogram definition and pointer of currently active histograms. More... | |
std::mutex | m_mutex |
! mutex for the map More... | |
Static Private Attributes | |
static const unsigned | s_deregDelay {5} |
Number of lumiblocks before histogram gets deregistered/deleted. More... | |
Implementation of IHistogramProvider for lumi block based histograms.
This provider produces histograms that groups data based on current lumi block and defined history depth. Note: kLBNHistoryDepth must be defined in histogram definition options
Definition at line 25 of file LumiblockHistogramProvider.h.
|
inline |
|
inlineoverridevirtual |
Getter of ROOT object.
Return the histogram for the current lumiblock. Create a new one if needed. A configurable number of histograms is kept active at a given time.
Implements Monitored::IHistogramProvider.
Definition at line 51 of file LumiblockHistogramProvider.h.
|
private |
Definition at line 99 of file LumiblockHistogramProvider.h.
|
private |
Definition at line 98 of file LumiblockHistogramProvider.h.
|
private |
Definition at line 100 of file LumiblockHistogramProvider.h.
|
private |
Map storing upper end of lumi page (or lumiblock if depth==1) with the corresponding histogram definition and pointer of currently active histograms.
Note: map is sorted by key (lumiblock)
Definition at line 117 of file LumiblockHistogramProvider.h.
|
private |
! mutex for the map
Definition at line 118 of file LumiblockHistogramProvider.h.
|
staticprivate |
Number of lumiblocks before histogram gets deregistered/deleted.
This number needs to be set large enough for each histogram to be at least published once in the online. E.g. with a publication interval of 80 seconds, it needs to be at least 2 (see ADHI-4905).
Definition at line 108 of file LumiblockHistogramProvider.h.