Belle II Software  release-05-01-25
DQMHistAnalysisECL.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 - Belle II Collaboration *
4  * *
5  * ECL Data Quality Monitor (Analysis part) *
6  * *
7  * This module provides analysis of ECL DQM histograms *
8  * *
9  * Author: The Belle II Collaboration *
10  * Contributors: Dmitry Matvienko (d.v.matvienko@inp.nsk.su) *
11  * *
12  * This software is provided "as is" without any warranty. *
13  **************************************************************************/
14 
15 #pragma once
16 
17 //DQM
18 #include <dqm/analysis/modules/DQMHistAnalysis.h>
19 
20 //ROOT
21 #include <TCanvas.h>
22 #include <TLine.h>
23 #include <TGraphErrors.h>
24 #include <TH1F.h>
25 #include <TH2F.h>
26 #include <TLatex.h>
27 
28 namespace Belle2 {
38  class DQMHistAnalysisECLModule : public DQMHistAnalysisModule {
40  public:
41 
44 
46  virtual ~DQMHistAnalysisECLModule();
47 
49  virtual void initialize() override;
51  virtual void beginRun() override;
53  virtual void event() override;
55  virtual void endRun() override;
57  virtual void terminate() override;
58 
59  private:
60 
62  std::vector<double> m_HitMapThresholds{};
64  std::vector<std::string> m_WaveformOption{};
66  double m_CrateTimeOffsetsMax;
68  int m_LogicTestMax;
69 
71  std::vector<short> m_low{};
72 
74  TLine* m_lower_boundary_trigtag2 = nullptr;
76  TLine* m_upper_boundary_trigtag2 = nullptr;
77 
78  //TLine to show lower boundary for 'crate_time_offsets' graph. */
79  TLine* m_lower_boundary_time_offsets = nullptr;
80  //TLine to show upper boundary for 'crate_time_offsets' graph. */
81  TLine* m_upper_boundary_time_offsets = nullptr;
82 
84  TCanvas* c_crate_time_offsets = nullptr;
85 
87  TH1* h_time_crate_Thr1GeV = nullptr;
89  TGraphErrors* h_crate_time_offsets = nullptr;
90 
92  TCanvas* c_logic_summary = nullptr;
94  TH2F* h_logic_summary = nullptr;
95 
97  TCanvas* c_quality_analysis = nullptr;
99  TCanvas* c_quality_other_analysis = nullptr;
101  TCanvas* c_bad_quality_analysis = nullptr;
103  TCanvas* c_trigtag1_analysis = nullptr;
105  TCanvas* c_trigtag2_analysis = nullptr;
107  TCanvas* c_adc_hits_analysis = nullptr;
109  TCanvas* c_ampfail_quality_analysis = nullptr;
111  TCanvas* c_timefail_quality_analysis = nullptr;
113  TCanvas* c_quality_fit_data_analysis = nullptr;
114 
116  std::vector<TCanvas*> c_cid_analysis{};
117 
119  std::vector<TCanvas*> c_wf_analysis{};
120 
122  void normalize(TCanvas*, const std::string&, const Double_t&);
123  };
125 } // end namespace Belle2
126 
Belle2::DQMHistAnalysisECLModule::beginRun
virtual void beginRun() override
Call when a run begins.
Definition: DQMHistAnalysisECL.cc:116
Belle2::DQMHistAnalysisECLModule::m_HitMapThresholds
std::vector< double > m_HitMapThresholds
Parameters for hit map histograms.
Definition: DQMHistAnalysisECL.h:74
Belle2::DQMHistAnalysisECLModule::DQMHistAnalysisECLModule
DQMHistAnalysisECLModule()
< derived from DQMHistAnalysisModule class.
Definition: DQMHistAnalysisECL.cc:32
Belle2::DQMHistAnalysisECLModule::c_quality_fit_data_analysis
TCanvas * c_quality_fit_data_analysis
TCanvas for quality_fit_data .
Definition: DQMHistAnalysisECL.h:125
Belle2::DQMHistAnalysisECLModule::m_lower_boundary_trigtag2
TLine * m_lower_boundary_trigtag2
TLine to show lower boundary for 'trigtag2_trigid' histogram.
Definition: DQMHistAnalysisECL.h:86
Belle2::DQMHistAnalysisECLModule::m_low
std::vector< short > m_low
Vector for crates IDs w/ low statistics.
Definition: DQMHistAnalysisECL.h:83
Belle2::DQMHistAnalysisECLModule::c_trigtag1_analysis
TCanvas * c_trigtag1_analysis
TCanvas for trigtag1 .
Definition: DQMHistAnalysisECL.h:115
Belle2::DQMHistAnalysisECLModule::m_WaveformOption
std::vector< std::string > m_WaveformOption
Options for waveform histograms.
Definition: DQMHistAnalysisECL.h:76
Belle2::DQMHistAnalysisECLModule::c_quality_analysis
TCanvas * c_quality_analysis
TCanvas for quality .
Definition: DQMHistAnalysisECL.h:109
Belle2::DQMHistAnalysisECLModule::c_quality_other_analysis
TCanvas * c_quality_other_analysis
TCanvas for quality_other .
Definition: DQMHistAnalysisECL.h:111
Belle2::DQMHistAnalysisECLModule::c_wf_analysis
std::vector< TCanvas * > c_wf_analysis
Vector of TCanvases for waveforms .
Definition: DQMHistAnalysisECL.h:131
Belle2::DQMHistAnalysisECLModule::h_time_crate_Thr1GeV
TH1 * h_time_crate_Thr1GeV
Histogram showing signal times from ECL crates (Thr.
Definition: DQMHistAnalysisECL.h:99
Belle2::DQMHistAnalysisECLModule::c_bad_quality_analysis
TCanvas * c_bad_quality_analysis
TCanvas for bad_quality .
Definition: DQMHistAnalysisECL.h:113
Belle2::DQMHistAnalysisECLModule::m_upper_boundary_trigtag2
TLine * m_upper_boundary_trigtag2
TLine to show upper boundary for 'trigtag2_trigid' histogram.
Definition: DQMHistAnalysisECL.h:88
Belle2::DQMHistAnalysisECLModule::terminate
virtual void terminate() override
Terminate.
Definition: DQMHistAnalysisECL.cc:431
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::DQMHistAnalysisECLModule::initialize
virtual void initialize() override
Initialize the module.
Definition: DQMHistAnalysisECL.cc:49
Belle2::DQMHistAnalysisECLModule::event
virtual void event() override
Event processor.
Definition: DQMHistAnalysisECL.cc:142
Belle2::DQMHistAnalysisECLModule::c_adc_hits_analysis
TCanvas * c_adc_hits_analysis
TCanvas for adc_hits .
Definition: DQMHistAnalysisECL.h:119
Belle2::DQMHistAnalysisECLModule::normalize
void normalize(TCanvas *, const std::string &, const Double_t &)
Normalize histograms.
Definition: DQMHistAnalysisECL.cc:121
Belle2::DQMHistAnalysisECLModule::c_cid_analysis
std::vector< TCanvas * > c_cid_analysis
Vector of TCanvases for hit map .
Definition: DQMHistAnalysisECL.h:128
Belle2::DQMHistAnalysisECLModule::c_crate_time_offsets
TCanvas * c_crate_time_offsets
TCanvas for time offsets.
Definition: DQMHistAnalysisECL.h:96
Belle2::DQMHistAnalysisECLModule::m_LogicTestMax
int m_LogicTestMax
Maximum of fails for logic test.
Definition: DQMHistAnalysisECL.h:80
Belle2::DQMHistAnalysisECLModule::m_CrateTimeOffsetsMax
double m_CrateTimeOffsetsMax
Maximum boundary for crate time offsets.
Definition: DQMHistAnalysisECL.h:78
Belle2::DQMHistAnalysisECLModule::c_ampfail_quality_analysis
TCanvas * c_ampfail_quality_analysis
TCanvas for ampfail_quality .
Definition: DQMHistAnalysisECL.h:121
Belle2::DQMHistAnalysisECLModule::c_logic_summary
TCanvas * c_logic_summary
TCanvas for ECL logic summary.
Definition: DQMHistAnalysisECL.h:104
Belle2::DQMHistAnalysisECLModule::h_crate_time_offsets
TGraphErrors * h_crate_time_offsets
Graph for time offsets.
Definition: DQMHistAnalysisECL.h:101
Belle2::DQMHistAnalysisECLModule::~DQMHistAnalysisECLModule
virtual ~DQMHistAnalysisECLModule()
Destructor.
Definition: DQMHistAnalysisECL.cc:47
Belle2::DQMHistAnalysisECLModule::h_logic_summary
TH2F * h_logic_summary
Histogram for ECL logic summary.
Definition: DQMHistAnalysisECL.h:106
Belle2::DQMHistAnalysisECLModule::c_timefail_quality_analysis
TCanvas * c_timefail_quality_analysis
TCanvas for timefail_quality .
Definition: DQMHistAnalysisECL.h:123
Belle2::DQMHistAnalysisECLModule::c_trigtag2_analysis
TCanvas * c_trigtag2_analysis
TCanvas for trigtag2 .
Definition: DQMHistAnalysisECL.h:117
Belle2::DQMHistAnalysisECLModule::endRun
virtual void endRun() override
Call when a run ends.
Definition: DQMHistAnalysisECL.cc:425