5#ifndef AthenaMonitoringKernel_HistogramFiller_HistogramFactory_h
6#define AthenaMonitoringKernel_HistogramFiller_HistogramFactory_h
9#include "TEfficiency.h"
11#include "GaudiKernel/ServiceHandle.h"
12#include "GaudiKernel/ITHistSvc.h"
83 template<
class H,
class HBASE,
typename... Types>
164 static void setLabels(TAxis* axis,
const std::vector<std::string>& labels);
static void setLabels(TH1 *hist, const HistogramDef &def)
Set labels for all axes.
std::string getFullName(const HistogramDef &def) const
Invent path name.
TEfficiency * createEfficiency(const HistogramDef &def)
Create and register efficiency graph.
bool m_deleteOnRemove
delete histogram during remove
static std::mutex s_histDirMutex
virtual TNamed * create(const HistogramDef &def)
Book and register ROOT object for given definition.
static std::mutex & globalROOTMutex()
TTree * createTree(const HistogramDef &def)
Create and register tree.
TH2 * create2D(const HistogramDef &def)
Helper for generic 'create' method for 2D histograms.
ServiceHandle< ITHistSvc > m_histSvc
TH1 * create1DProfile(const HistogramDef &def)
Helper for generic 'create' method for 1DProfile histograms.
TH1 * create1D(const HistogramDef &def)
Helper for generic 'create' method for 1D histograms.
std::string m_groupName
defines location of group of histograms
std::string m_streamName
defines the stream for THistSvc
virtual void remove(const HistogramDef &def)
Removes histogram (used to get rid of old LB tagged histograms)
static void setOpts(TH1 *hist, const HistogramDef &def)
Setup various histogram options.
HistogramFactory(const ServiceHandle< ITHistSvc > &histSvc, const std::string &groupName)
Default constructor.
TH2 * create2DProfile(const HistogramDef &def)
Helper for generic 'create' method for 2DProfile histograms.
virtual ~HistogramFactory()
Virtual destructor.
Generic monitoring tool for athena components.
the internal class used to keep parsed Filler properties