Belle II Software development
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
22namespace Belle2 {
27
31
33
34 public:
35
38
40 void initialize() override final;
42 void beginRun() override final;
44 void event() override final;
46 void endRun() override final;
48 void terminate() override final;
49
50 private:
51
53 std::vector<double> m_HitMapThresholds{};
55 std::vector<std::string> m_WaveformOption{};
61 std::string m_pvPrefix;
62
64 std::vector<short> m_low{};
65
67 double m_crate_time_offsets[52] = {};
69 std::map<std::string, double> m_wf_fraction;
70
72 TLine* m_lower_boundary_trigtag2 = nullptr;
74 TLine* m_upper_boundary_trigtag2 = nullptr;
75
80
82 TCanvas* c_crate_time_offsets = nullptr;
83
85 TH1* h_time_crate_Thr1GeV = nullptr;
87 TGraphErrors* h_crate_time_offsets = nullptr;
88
90 TCanvas* c_logic_summary = nullptr;
92 TH2F* h_logic_summary = nullptr;
93
95 TCanvas* c_quality_analysis = nullptr;
97 TCanvas* c_quality_other_analysis = nullptr;
99 TCanvas* c_bad_quality_analysis = nullptr;
101 TCanvas* c_trigtag1_analysis = nullptr;
103 TCanvas* c_trigtag2_analysis = nullptr;
105 TCanvas* c_adc_hits_analysis = nullptr;
107 TCanvas* c_ampfail_quality_analysis = nullptr;
109 TCanvas* c_timefail_quality_analysis = nullptr;
111 TCanvas* c_quality_fit_data_analysis = nullptr;
112
114 std::vector<TCanvas*> c_cid_analysis{};
115
117 std::vector<TCanvas*> c_wf_analysis{};
118
120
122 void normalize(TCanvas*, const std::string&, const Double_t&);
123 };
124
125} // end namespace Belle2
126
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 .
DQMHistAnalysisModule()
Constructor / Destructor.
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.