|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRIGMONTHISTSVC_THISTSVC_H
6 #define TRIGMONTHISTSVC_THISTSVC_H
8 #include "GaudiKernel/ITHistSvc.h"
21 #include <unordered_map>
24 #include <boost/regex.hpp>
27 #define NOSUPPORT(lvl, what) \
29 ATH_MSG_LVL(MSG::lvl, what << "is not supported by this implementation"); \
62 virtual std::vector<std::string>
getHists()
const override;
64 virtual StatusCode regShared(
const std::string&, std::unique_ptr<TH1>, LockedHandle<TH1>& )
override;
65 virtual StatusCode regShared(
const std::string&, std::unique_ptr<TH2>, LockedHandle<TH2>& )
override;
66 virtual StatusCode regShared(
const std::string&, std::unique_ptr<TH3>, LockedHandle<TH3>& )
override;
131 std::unordered_map<std::string, THistID>
m_hists;
141 template <
typename T>
T*
getHist_i(
const std::string&
id,
const size_t&
ind,
bool quiet =
false)
const;
142 template <
typename T> LockedHandle<T>
regShared_i(
const std::string&
id, std::unique_ptr<T>
hist);
143 template <
typename T> LockedHandle<T>
getShared_i(
const std::string&
id )
const;
150 "^/((run_[0-9]+/lb_[0-9]+/LB)|(SHIFT)|(EXPERT)|(DEBUG)|(EXPRESS)|(RUNSTAT))/.+/.+"};
153 Gaudi::Property<int>
m_autoSave{
this,
"AutoSave", 0,
"Not supported by TrigMonTHistSvc"};
154 Gaudi::Property<int>
m_autoFlush{
this,
"AutoFlush", 0,
"Not supported by TrigMonTHistSvc"};
155 Gaudi::Property<bool>
m_print{
this,
"PrintAll",
false,
"Not supported by TrigMonTHistSvc"};
156 Gaudi::Property<int>
m_maxFileSize{
this,
"MaxFileSize", 10240,
"Not supported by TrigMonTHistSvc"};
157 Gaudi::Property<std::vector<std::string>>
m_outputfile{
this,
"Output", {},
"Not supported by TrigMonTHistSvc"};
158 Gaudi::Property<std::vector<std::string>>
m_inputfile{
this,
"Input", {},
"Not supported by TrigMonTHistSvc"};
170 #endif // TRIGMONTHISTSVC_THISTSVC_H
Gaudi::Property< int > m_maxFileSize
virtual StatusCode getGraph(const std::string &, TGraph *&) const override
virtual StatusCode regEfficiency(const std::string &) override
std::unordered_map< std::string, THistID > m_hists
Registered histograms.
T * getHist_i(const std::string &id, const size_t &ind, bool quiet=false) const
virtual StatusCode regTree(const std::string &, std::unique_ptr< TTree >) override
virtual StatusCode regGraph(const std::string &) override
Helper struct that bundles the histogram, name and mutex.
virtual StatusCode getShared(const std::string &, LockedHandle< TEfficiency > &) const override
Gaudi::Property< std::string > m_excludeName
virtual StatusCode getTTrees(const std::string &, TList &, bool) const override
path
python interpreter configuration --------------------------------------—
virtual StatusCode regEfficiency(const std::string &, std::unique_ptr< TEfficiency >) override
virtual StatusCode initialize ATLAS_NOT_THREAD_SAFE() override
virtual StatusCode regGraph(const std::string &, std::unique_ptr< TGraph >) override
virtual std::vector< std::string > getEfficiencies() const override
virtual StatusCode merge(const std::string &) override
virtual StatusCode regGraph(const std::string &, TGraph *) override
Gaudi::Property< std::string > m_includeName
boost::regex m_excludeTypeRegex
Gaudi::Property< std::vector< std::string > > m_outputfile
virtual std::vector< std::string > getHists() const override
std::recursive_mutex m_svcMut
Protect access to histogram list.
virtual StatusCode regShared(const std::string &, std::unique_ptr< TH1 >, LockedHandle< TH1 > &) override
virtual StatusCode getTTrees(TDirectory *, TList &, bool, bool) override
boost::regex m_excludeNameRegex
Gaudi::Property< std::vector< std::string > > m_inputfile
LockedHandle< T > regShared_i(const std::string &id, std::unique_ptr< T > hist)
virtual std::vector< std::string > getTrees() const override
def recurse(rdir, dqregion, ignorepath, reffile=None)
virtual StatusCode getTEfficiencies(TDirectory *, TList &, bool, bool) override
Gaudi::Property< std::string > m_excludeType
virtual StatusCode getTTrees(TDirectory *, TList &, bool) const override
virtual bool exists(const std::string &name) const override
TrigMonTHistSvc(const std::string &name, ISvcLocator *svc)
virtual StatusCode getShared(const std::string &, LockedHandle< TH1 > &) const override
virtual StatusCode regShared(const std::string &, std::unique_ptr< TGraph >, LockedHandle< TGraph > &) override
virtual StatusCode deReg(TObject *obj) override
virtual StatusCode getShared(const std::string &, LockedHandle< TGraph > &) const override
virtual StatusCode regEfficiency(const std::string &, TEfficiency *) override
virtual bool existsTree(const std::string &) const override
boost::regex m_includeTypeRegex
::StatusCode StatusCode
StatusCode definition for legacy code.
bool isObjectAllowed(const std::string &path, const TObject *o) const
Does the histogram follow the naming rules ?
virtual bool existsHist(const std::string &name) const override
virtual StatusCode regHist(const std::string &name) override
virtual StatusCode merge(TObject *) override
AthROOTErrorHandlerSvc * svc
virtual StatusCode getTHists(TDirectory *td, TList &, bool recurse=false) const override
StatusCode getTHists_i(const std::string &name, TList &) const
Get TList of registered histograms.
virtual StatusCode getHist(const std::string &id, TH1 *&hist, size_t ind) const override
virtual StatusCode getEfficiency(const std::string &, TEfficiency *&) const override
LockedHandle< T > getShared_i(const std::string &id) const
HLT online histogram service.
Gaudi::Property< bool > m_print
StatusCode regHist_i(std::unique_ptr< T > hist, const std::string &name, bool shared, THistID *&phid)
Gaudi::Property< int > m_autoFlush
#define NOSUPPORT(lvl, what)
Gaudi::Property< std::string > m_includeType
virtual bool existsGraph(const std::string &) const override
virtual StatusCode getTEfficiencies(const std::string &, TList &, bool) const override
virtual StatusCode regTree(const std::string &, TTree *) override
virtual StatusCode stop() override
virtual StatusCode getTree(const std::string &, TTree *&) const override
virtual std::vector< std::string > getGraphs() const override
virtual StatusCode getTTrees(const std::string &, TList &, bool, bool) override
virtual StatusCode getTEfficiencies(TDirectory *, TList &, bool) const override
Gaudi::Property< int > m_autoSave
boost::regex m_includeNameRegex
Define macros for attributes used to control the static checker.
virtual StatusCode regShared(const std::string &, std::unique_ptr< TEfficiency >, LockedHandle< TEfficiency > &) override
virtual bool existsEfficiency(const std::string &) const override
virtual StatusCode finalize() override
virtual StatusCode getTEfficiencies(const std::string &, TList &, bool, bool) override
virtual StatusCode regTree(const std::string &) override
THistID(const std::string &s, TObject *o)