Belle II Software development
DQMHistAnalysisSVD.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// File : DQMHistAnalysisSVDModule.h
10// Description : base module for DQM histogram analysis of SVD
11//-
12
13#pragma once
14
15#include <dqm/core/DQMHistAnalysis.h>
16#include <vxd/dataobjects/VxdID.h>
17#include <svd/dataobjects/SVDSummaryPlots.h>
18
19#include <TFile.h>
20#include <TText.h>
21#include <TPaveText.h>
22#include <TCanvas.h>
23#include <TH2F.h>
24#include <TText.h>
25#include <TLine.h>
26#include <TArrow.h>
27
28namespace Belle2 {
36
37 // Public functions
38 public:
39
43 DQMHistAnalysisSVDModule(bool panelTop = false, bool online = false);
44
48 ~ DQMHistAnalysisSVDModule();
49
50 void setStatusOfCanvas(int status, TCanvas* canvas, bool plotLeg = true, bool online = false);
52 protected:
53 TPaveText* m_legProblem = nullptr;
54 TPaveText* m_legNormal = nullptr;
55 TPaveText* m_legLowStat = nullptr;
56 TPaveText* m_legEmpty = nullptr;
57 TPaveText* m_legWarning = nullptr;
59 TPaveText* m_legOnlineProblem = nullptr;
60 TPaveText* m_legOnlineWarning = nullptr;
61 TPaveText* m_legOnlineNormal = nullptr;
63 std::pair<std::vector<TText*>, std::vector<TText*>> textModuleNumbers();
64 void drawText();
66 std::vector<TText*> m_laddersText;
67 std::vector<TText*> m_sensorsText;
69 TLine* m_lx = nullptr;
70 TLine* m_ly = nullptr;
71 TArrow* m_arrowx = nullptr;
72 TArrow* m_arrowy = nullptr;
74 int m_colzMinimum = 0;
75 int m_colzMaximum = -1111;
76 bool m_setColzRange = false;
78 float m_valueMinimum = -1;
79 float m_valueMaximum = -1;
82 enum svdStatus {
83 good = 0,
84 warning = 1,
85 error = 2,
86 noStat = 3,
87 lowStat = 4
88 };
89
90 void updateCanvases(SVDSummaryPlots* histo, TCanvas* canvas, TCanvas* canvasRPhi, svdStatus status, bool isU,
91 bool online = false);
92 void updateErrCanvases(SVDSummaryPlots* histo, TCanvas* canvas, TCanvas* canvasRPhi, bool isU);
94 };
96} // end namespace Belle2
97
The base class for the histogram analysis module.
Class definition for common method.
int m_colzMaximum
Maximum of the histogram.
TPaveText * m_legOnlineNormal
onlineOccupancy plot legend, normal
std::pair< std::vector< TText * >, std::vector< TText * > > textModuleNumbers()
create vectors of TText to write on the canvas
float m_valueMaximum
Maxiimum value of parameter
TPaveText * m_legEmpty
plot legend, empty
int m_colzMinimum
Minimum of the histogram.
TPaveText * m_legLowStat
plot legend, low stats
TPaveText * m_legWarning
plot legend, warning
void setStatusOfCanvas(int status, TCanvas *canvas, bool plotLeg=true, bool online=false)
set status of Canvas
TArrow * m_arrowx
x-axis direction
std::vector< TText * > m_sensorsText
list of sensors to write on the cancas
void drawText()
draw text on the RPhi view
float m_valueMinimum
Minimum value of parameter
TPaveText * m_legNormal
plot legend, normal
TArrow * m_arrowy
y-axis direction
std::vector< TText * > m_laddersText
list of ladders to write on the canvas
TPaveText * m_legProblem
plot legend, problem
TPaveText * m_legOnlineProblem
onlineOccupancy plot legend, problem
TPaveText * m_legOnlineWarning
onlineOccupancy plot legend, warning
void updateErrCanvases(SVDSummaryPlots *histo, TCanvas *canvas, TCanvas *canvasRPhi, bool isU)
update error canvases
void updateCanvases(SVDSummaryPlots *histo, TCanvas *canvas, TCanvas *canvasRPhi, svdStatus status, bool isU, bool online=false)
update canvases
bool m_setColzRange
set the range of the histogram in colz
class to summarize SVD quantities per sensor and side
Abstract base class for different kinds of events.