Belle II Software  release-05-02-19
DQMHistAnalysis.h
1 //+
2 // File : DQMHistAnalysis.h
3 // Description : Histogram analysis module for DQM
4 //
5 // Author : Tomoyuki Konno, Tokyo Metropolitan University
6 // Date : 25 - Dec - 2015 ; first commit
7 //-
8 
9 #pragma once
10 
11 #include <framework/core/Module.h>
12 #include <dqm/dataobjects/MonitoringObject.h>
13 #include <TH1.h>
14 
15 #include <string>
16 #include <map>
17 
18 namespace Belle2 {
27  class DQMHistAnalysisModule : public Module {
28 
29  public:
33  enum EParamType {
46  };
50  typedef std::map<std::string, EParamType> ParamTypeList;
54  typedef std::map<std::string, int> IntValueList;
58  typedef std::map<std::string, float> FloatValueList;
62  typedef std::map<std::string, std::string> TextList;
66  typedef std::map<std::string, TH1*> HistList;
70  typedef std::map<std::string, MonitoringObject*> MonObjList;
71 
72 
73 
74  private:
90  static TextList g_text;
94  static HistList g_hist;
99 
100 
101  public:
106  static const HistList& getHistList();
111  static const MonObjList& getMonObjList();
112 
118  static TH1* findHist(const std::string& histname);
125  static TH1* findHist(const std::string& dirname,
126  const std::string& histname);
133  static TH1* findHist(const TDirectory* histdir, const TString& histname);
139  static MonitoringObject* findMonitoringObject(const std::string& objName);
145  static void setIntValue(const std::string& parname, int vint);
146 
152  static void setFloatValue(const std::string& parname, float vfloat);
158  static void setText(const std::string& parname, const std::string& text);
159 
160  public:
167  static void addHist(const std::string& dirname,
168  const std::string& histname, TH1* h);
169 
174  static MonitoringObject* getMonitoringObject(const std::string& histname);
175 
179  static void resetHist() { g_hist = std::map<std::string, TH1*>(); }
184  static HistList& getHists() { return g_hist; }
189  static ParamTypeList& getParNames() { return g_parname; }
194  static IntValueList& getIntValues() { return g_vint; }
199  static FloatValueList& getFloatValues() { return g_vfloat; }
204  static TextList& getTexts() { return g_text; }
205 
206  // Public functions
207  public:
208 
211  virtual ~DQMHistAnalysisModule();
212 
213  // Data members
214  private:
215 
216  };
218 } // end namespace Belle2
219 
Belle2::DQMHistAnalysisModule::getTexts
static TextList & getTexts()
Get the list of string parameters.
Definition: DQMHistAnalysis.h:204
Belle2::DQMHistAnalysisModule::getMonObjList
static const MonObjList & getMonObjList()
Get the list of MonitoringObjects.
Definition: DQMHistAnalysis.cc:77
Belle2::DQMHistAnalysisModule::getHistList
static const HistList & getHistList()
Get the list of the histograms.
Definition: DQMHistAnalysis.cc:72
Belle2::DQMHistAnalysisModule::setFloatValue
static void setFloatValue(const std::string &parname, float vfloat)
Set the float value of the parameter.
Definition: DQMHistAnalysis.cc:181
Belle2::DQMHistAnalysisModule::g_parname
static ParamTypeList g_parname
The list of module parameter types.
Definition: DQMHistAnalysis.h:78
Belle2::DQMHistAnalysisModule::getHists
static HistList & getHists()
Get the list of histograms.
Definition: DQMHistAnalysis.h:184
Belle2::DQMHistAnalysisModule::setIntValue
static void setIntValue(const std::string &parname, int vint)
Set the integer value of the parameter.
Definition: DQMHistAnalysis.cc:169
Belle2::DQMHistAnalysisModule::findHist
static TH1 * findHist(const std::string &histname)
Find histogram.
Definition: DQMHistAnalysis.cc:83
Belle2::DQMHistAnalysisModule::c_ParamTEXT
@ c_ParamTEXT
The string type for module parameter.
Definition: DQMHistAnalysis.h:45
Belle2::DQMHistAnalysisModule::TextList
std::map< std::string, std::string > TextList
The type of list of string module parameter.
Definition: DQMHistAnalysis.h:62
Belle2::DQMHistAnalysisModule::g_hist
static HistList g_hist
The list of histograms.
Definition: DQMHistAnalysis.h:94
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::DQMHistAnalysisModule::IntValueList
std::map< std::string, int > IntValueList
The type of list of integer module parameter.
Definition: DQMHistAnalysis.h:54
Belle2::DQMHistAnalysisModule::g_vfloat
static FloatValueList g_vfloat
The list of float module parameter.
Definition: DQMHistAnalysis.h:86
Belle2::DQMHistAnalysisModule::getFloatValues
static FloatValueList & getFloatValues()
Get the list of float parameters.
Definition: DQMHistAnalysis.h:199
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DQMHistAnalysisModule::HistList
std::map< std::string, TH1 * > HistList
The type of list of histograms.
Definition: DQMHistAnalysis.h:66
Belle2::DQMHistAnalysisModule::getIntValues
static IntValueList & getIntValues()
Get the list of integer parameters.
Definition: DQMHistAnalysis.h:194
Belle2::DQMHistAnalysisModule::EParamType
EParamType
The enumeration types for the module parameters.
Definition: DQMHistAnalysis.h:33
Belle2::DQMHistAnalysisModule::g_monObj
static MonObjList g_monObj
The list of MonitoringObjects.
Definition: DQMHistAnalysis.h:98
Belle2::DQMHistAnalysisModule::FloatValueList
std::map< std::string, float > FloatValueList
The type of list of float module parameter.
Definition: DQMHistAnalysis.h:58
Belle2::DQMHistAnalysisModule::setText
static void setText(const std::string &parname, const std::string &text)
Set the string value of the parameter.
Definition: DQMHistAnalysis.cc:193
Belle2::DQMHistAnalysisModule::g_text
static TextList g_text
The list of string module parameter.
Definition: DQMHistAnalysis.h:90
Belle2::DQMHistAnalysisModule::c_ParamFLOAT
@ c_ParamFLOAT
The float type for module parameter.
Definition: DQMHistAnalysis.h:41
Belle2::DQMHistAnalysisModule::g_vint
static IntValueList g_vint
The list of integer module parameter.
Definition: DQMHistAnalysis.h:82
Belle2::DQMHistAnalysisModule::findMonitoringObject
static MonitoringObject * findMonitoringObject(const std::string &objName)
Find MonitoringObject.
Definition: DQMHistAnalysis.cc:153
Belle2::DQMHistAnalysisModule::resetHist
static void resetHist()
Clear and reset the list of histograms.
Definition: DQMHistAnalysis.h:179
Belle2::DQMHistAnalysisModule::DQMHistAnalysisModule
DQMHistAnalysisModule()
Constructor / Destructor.
Definition: DQMHistAnalysis.cc:34
Belle2::DQMHistAnalysisModule::ParamTypeList
std::map< std::string, EParamType > ParamTypeList
The type of list of module parameter types.
Definition: DQMHistAnalysis.h:50
Belle2::DQMHistAnalysisModule::MonObjList
std::map< std::string, MonitoringObject * > MonObjList
The type of list of MonitoringObjects.
Definition: DQMHistAnalysis.h:70
Belle2::DQMHistAnalysisModule::getMonitoringObject
static MonitoringObject * getMonitoringObject(const std::string &histname)
Get MonitoringObject with given name (new object is created if non-existing)
Definition: DQMHistAnalysis.cc:55
Belle2::MonitoringObject
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Definition: MonitoringObject.h:41
Belle2::DQMHistAnalysisModule::addHist
static void addHist(const std::string &dirname, const std::string &histname, TH1 *h)
Add histogram.
Definition: DQMHistAnalysis.cc:46
Belle2::DQMHistAnalysisModule::getParNames
static ParamTypeList & getParNames()
Get the list of the names and types of the parameters.
Definition: DQMHistAnalysis.h:189
Belle2::DQMHistAnalysisModule
The base class for the histogram analysis module.
Definition: DQMHistAnalysis.h:27
Belle2::DQMHistAnalysisModule::c_ParamINT
@ c_ParamINT
The integer type for module parameter.
Definition: DQMHistAnalysis.h:37