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 {
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.