Belle II Software  release-08-01-10
DQMHistAnalysisECL.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 //DQM
12 #include <dqm/core/DQMHistAnalysis.h>
13 
14 //ROOT
15 #include <TCanvas.h>
16 #include <TLine.h>
17 #include <TGraphErrors.h>
18 #include <TH1F.h>
19 #include <TH2F.h>
20 #include <TLatex.h>
21 
22 namespace Belle2 {
34  public:
35 
38 
41 
43  void initialize() override final;
45  void beginRun() override final;
47  void event() override final;
49  void endRun() override final;
51  void terminate() override final;
52 
53  private:
54 
56  std::vector<double> m_HitMapThresholds{};
58  std::vector<std::string> m_WaveformOption{};
64  std::string m_pvPrefix;
65 
67  std::vector<short> m_low{};
68 
70  double m_crate_time_offsets[52] = {};
72  std::map<std::string, double> m_wf_fraction;
73 
75  TLine* m_lower_boundary_trigtag2 = nullptr;
77  TLine* m_upper_boundary_trigtag2 = nullptr;
78 
83 
85  TCanvas* c_crate_time_offsets = nullptr;
86 
88  TH1* h_time_crate_Thr1GeV = nullptr;
90  TGraphErrors* h_crate_time_offsets = nullptr;
91 
93  TCanvas* c_logic_summary = nullptr;
95  TH2F* h_logic_summary = nullptr;
96 
98  TCanvas* c_quality_analysis = nullptr;
100  TCanvas* c_quality_other_analysis = nullptr;
102  TCanvas* c_bad_quality_analysis = nullptr;
104  TCanvas* c_trigtag1_analysis = nullptr;
106  TCanvas* c_trigtag2_analysis = nullptr;
108  TCanvas* c_adc_hits_analysis = nullptr;
110  TCanvas* c_ampfail_quality_analysis = nullptr;
112  TCanvas* c_timefail_quality_analysis = nullptr;
114  TCanvas* c_quality_fit_data_analysis = nullptr;
115 
117  std::vector<TCanvas*> c_cid_analysis{};
118 
120  std::vector<TCanvas*> c_wf_analysis{};
121 
125  void normalize(TCanvas*, const std::string&, const Double_t&);
126  };
128 } // end namespace Belle2
129 
This module is for analysis of ECL DQM histograms.
std::vector< double > m_HitMapThresholds
Parameters for hit map histograms.
void normalize(TCanvas *, const std::string &, const Double_t &)
Normalize histograms.
void initialize() override final
Initialize the module.
TCanvas * c_bad_quality_analysis
TCanvas for bad_quality .
std::vector< TCanvas * > c_wf_analysis
Vector of TCanvases for waveforms .
TLine * m_lower_boundary_trigtag2
TLine to show lower boundary for 'trigtag2_trigid' histogram.
int m_LogicTestMax
Maximum of fails for logic test.
TCanvas * c_crate_time_offsets
TCanvas for time offsets.
TH1 * h_time_crate_Thr1GeV
Histogram showing signal times from ECL crates (Thr.
DQMHistAnalysisECLModule()
< derived from DQMHistAnalysisModule class.
TCanvas * c_quality_fit_data_analysis
TCanvas for quality_fit_data .
TCanvas * c_ampfail_quality_analysis
TCanvas for ampfail_quality .
std::string m_pvPrefix
Prefix to use for PVs registered by this module.
MonitoringObject * m_monObj
MiraBelle monitoring object.
void terminate() override final
Terminate.
double m_crate_time_offsets[52]
Values of crate time offsets.
TLine * m_upper_boundary_time_offsets
TLine to show upper boundary for 'crate_time_offsets' graph.
void event() override final
Event processor.
std::map< std::string, double > m_wf_fraction
Minimum fraction of saved waveforms for each waveform type.
TLine * m_upper_boundary_trigtag2
TLine to show upper boundary for 'trigtag2_trigid' histogram.
std::vector< short > m_low
Vector for crates IDs w/ low statistics.
std::vector< std::string > m_WaveformOption
Options for waveform histograms.
TCanvas * c_quality_analysis
TCanvas for quality .
TH2F * h_logic_summary
Histogram for ECL logic summary.
void endRun() override final
Call when a run ends.
TCanvas * c_adc_hits_analysis
TCanvas for adc_hits .
TCanvas * c_logic_summary
TCanvas for ECL logic summary.
void beginRun() override final
Call when a run begins.
TGraphErrors * h_crate_time_offsets
Graph for time offsets.
TLine * m_lower_boundary_time_offsets
TLine to show lower boundary for 'crate_time_offsets' graph.
TCanvas * c_quality_other_analysis
TCanvas for quality_other .
std::vector< TCanvas * > c_cid_analysis
Vector of TCanvases for hit map .
TCanvas * c_trigtag1_analysis
TCanvas for trigtag1 .
double m_CrateTimeOffsetsMax
Maximum boundary for crate time offsets.
TCanvas * c_trigtag2_analysis
TCanvas for trigtag2 .
TCanvas * c_timefail_quality_analysis
TCanvas for timefail_quality .
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.