Belle II Software  release-06-01-15
DQMHistAnalysisCDCDedx.h
1 /**************************************************************************
2  * basf2 (Belle II Analysis Software Framework) *
3  * Author: The Belle II Collaboration *
4  * *
5  * See git log for contributors and copyright holders. *
6  * This file is licensed under LGPL-3.0, see LICENSE.md. *
7  **************************************************************************/
8 
9 #pragma once
10 
11 #include <boost/format.hpp>
12 #include <TROOT.h>
13 
14 #include "TLine.h"
15 #include "TPaveText.h"
16 #include "TStyle.h"
17 #include "TGaxis.h"
18 #include "TColor.h"
19 
20 #include "TF1.h"
21 #include "TCanvas.h"
22 #include "TH1.h"
23 #include "TH2D.h"
24 
25 #include <dqm/analysis/modules/DQMHistAnalysis.h>
26 
27 namespace Belle2 {
41 
42  // Public functions
43  public:
44 
49 
54 
58  virtual void initialize() override;
59 
63  virtual void beginRun() override;
64 
68  virtual void event() override;
69 
73  virtual void endRun() override;
74 
78  virtual void terminate() override;
79 
83  void getMetadata();
84 
88  void drawDedxPR();
89 
93  void drawDedxIR();
94 
98  void drawWireStatus();
99 
103  void drawDedxCosPhi();
104 
108  void drawBandPlot();
109 
113  void fitHistogram(TH1D*& temphist, std::string& status);
114 
118  void set_Plot_Style();
119 
123  void set_Text_Style(TPaveText*& obj);
124 
128  void set_Hist_Style(TH1* obj);
129 
133  void set_Pad_Style(double l, double r, double t, double b);
134 
135 
136  private:
137 
138  std::string m_iexprun{""};
139  std::string m_status{""};
140  double m_mean{0.0};
141  double m_sigma{0.0};
143  int m_exp{0};
144  int m_run{0};
145  double m_dbrg{0.};
146  int m_nallevt{0};
147  int m_nbhabhaevt{0};
148  int m_nhadevt{0};
150  std::string mmode;
152  //DQM analysis and Mirabelle
153  TCanvas* c_pr_dedx = nullptr;
154  TCanvas* c_ir_dedx = nullptr;
156  TF1* f_gaus = nullptr;
157  TLine* l_line = nullptr;
159  unsigned first{0};
160  unsigned last{0};
164  };
166 } // end namespace Belle2
167 
DQM analysis module grab canvases from DQM module and perform higher level operation like histogram f...
void drawDedxCosPhi()
funtion to draw dEdx vs costh and phi
void drawBandPlot()
funtion to dedx bands P
void drawWireStatus()
funtion to draw ADC-based dead wire status of CDC
virtual void initialize() override
init function for default values
virtual void event() override
event by event function
void set_Pad_Style(double l, double r, double t, double b)
funtion to reset pad margins
virtual void endRun() override
end of each run
virtual void terminate() override
terminating at the end of last run
MonitoringObject * m_monObj
MonitoringObject for mirabelle.
TCanvas * c_ir_dedx
intra-run dedx status
void set_Plot_Style()
funtion to add plot style
virtual void beginRun() override
begin each run
void getMetadata()
funtion to get metadata from histogram
void drawDedxPR()
funtion to draw dEdx+Fit
void fitHistogram(TH1D *&temphist, std::string &status)
funtion to fit gaussian dist.
void set_Hist_Style(TH1 *obj)
funtion to reset pad margins
void drawDedxIR()
funtion to draw dEdx+Fit for run variation
void set_Text_Style(TPaveText *&obj)
funtion to add text style
std::string mmode
monitoring mode all/basic
The base class for the histogram analysis module.
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.