Belle II Software development
DQMHistAnalysisSVDOccupancy.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 : DQMHistAnalysisSVDOccupancy.h
10// Description : module for DQM histogram analysis of SVD sensors occupancies
11//-
12
13#pragma once
14
15#include <dqm/analysis/modules/DQMHistAnalysisSVD.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
25
26namespace Belle2 {
32
34
35 // Public functions
36 public:
37
42
47
51 void initialize() override final;
52
56 void beginRun() override final;
57
61 void event() override final;
62
66 void endRun() override final;
67
71 void terminate() override final;
72
73 private:
74
78 double m_occError;
79 double m_occWarning;
80 double m_occEmpty;
81
85
89
90 // plots and canvases
96
97 // histograms
98 TCanvas* m_cOccupancyU = nullptr;
99 TCanvas* m_cOccupancyV = nullptr;
100
101 TCanvas* m_cOnlineOccupancyU = nullptr;
102 TCanvas* m_cOnlineOccupancyV = nullptr;
103
104 TCanvas* m_cOccupancyU3Samples = nullptr;
105 TCanvas* m_cOccupancyV3Samples = nullptr;
106
107 TCanvas* m_cOnlineOccupancyU3Samples = nullptr;
108 TCanvas* m_cOnlineOccupancyV3Samples = nullptr;
109
110 TCanvas* m_cOccupancyUGroupId0 = nullptr;
111 TCanvas* m_cOccupancyVGroupId0 = nullptr;
112
113 // polyline histograms
114 TCanvas* m_cOccupancyRPhiViewU = nullptr;
115 TCanvas* m_cOccupancyRPhiViewV = nullptr;
116
117 TCanvas* m_cOnlineOccupancyRPhiViewU = nullptr;
118 TCanvas* m_cOnlineOccupancyRPhiViewV = nullptr;
119
120 TCanvas* m_cOccupancyRPhiViewU3Samples = nullptr;
121 TCanvas* m_cOccupancyRPhiViewV3Samples = nullptr;
122
125
126 TCanvas* m_cOccupancyRPhiViewUGroupId0 = nullptr;
127 TCanvas* m_cOccupancyRPhiViewVGroupId0 = nullptr;
128
129
131 bool m_additionalPlots = false;
132
134 bool m_RPhiView = false;
135
137 bool m_RPhiViewId0 = false;
138
140 TCanvas* m_cOccupancyChartChip = nullptr;
141
142 int m_sensors = 0;
144 TCanvas** m_cStripOccupancyU = nullptr;
146 TCanvas** m_cStripOccupancyV = nullptr;
147
148 static Float_t getOccupancy(float entries, int tmp_layer, int nEvents, bool sideV = false);
149 void setOccStatus(float occ, svdStatus& occupancyStatus, int histoType = kOffline);
150
151 std::string m_pvPrefix;
152
154 std::vector<VxdID> m_SVDModules;
155
158
161
164
167
170
171 };
172
173} // end namespace Belle2
174
DQMHistAnalysisSVDModule(bool panelTop=false, bool online=false, bool groupIDs=false)
Constructor.
TCanvas * m_cOnlineOccupancyU
online occupancy U histo canvas
svdStatus m_onlineOccV3Samples
0 = good, 4 = empty, 1 = warning, 2 = error for 3 sampes
svdStatus m_occVstatus
0 = good, 4 = empty, 1 = warning, 2 = error
TCanvas * m_cOccupancyRPhiViewVGroupId0
occupancy V histo canvas for cluster time group Id = 0
TCanvas * m_cOccupancyRPhiViewV3Samples
occupancy V plot canvas for 3 samples
TCanvas * m_cOnlineOccupancyRPhiViewU3Samples
occupancy U plot canvas for 3 samples
TCanvas ** m_cStripOccupancyV
u-side strip chart occupancy canvas
svdStatus m_occVGroupId0
0 = good, 4 = empty, 1 = warning, 2 = error for 3 sampels
std::vector< VxdID > m_SVDModules
IDs of all SVD Modules to iterate over.
double m_onlineOccError
error level of the onlineOccupancy
TCanvas * m_cOccupancyRPhiViewUGroupId0
occupancy U histo canvas for cluster time group Id = 0
TCanvas * m_cOccupancyVGroupId0
occupancy V histo canvas for cluster time group Id = 0
SVDSummaryPlots * m_hOccupancy3Samples
occupancy histos for 3 samples
svdStatus m_occU3Samples
0 = good, 4 = empty, 1 = warning, 2 = error for 3 samples
double m_onlineOccEmpty
empty level of the occupancy
svdStatus m_onlineOccUstatus
0 = good, 4 = empty, 1 = warning, 2 = error
SVDSummaryPlots * m_hOnlineOccupancy3Samples
online occupancy histos for 3 sampels
std::string m_pvPrefix
string prefix for EPICS PVs
TCanvas * m_cOnlineOccupancyRPhiViewV
online occupancy V plot canvas
double m_occWarning
warning level of the occupancy
svdStatus m_occUGroupId0
0 = good, 4 = empty, 1 = warning, 2 = error for 3 samples
void terminate() override final
This method is called at the end of the event processing.
TCanvas * m_cOccupancyU3Samples
occupancy U histo canvas for 3 sampes
SVDSummaryPlots * m_hOccupancyGroupId0
occupancy histos for cluster time group id=0
TCanvas * m_cOnlineOccupancyV3Samples
online Occupancy V histo canvas for 3 samples
TCanvas * m_cOccupancyChartChip
occupancy chart histo canvas
double m_groupIDsOccError
error level of the group IDs occupancy
void event() override final
This method is called for each event.
bool m_printCanvas
Parameters accesible from basf2 scripts.
TCanvas * m_cOnlineOccupancyRPhiViewV3Samples
occupancy V plot canvas for 3 samples
TCanvas ** m_cStripOccupancyU
u-side strip chart occupancy canvas
TH1F m_hStripOccupancyV[172]
u-side strip chart occupancy histos
static Float_t getOccupancy(float entries, int tmp_layer, int nEvents, bool sideV=false)
get occupancy value
svdStatus m_occV3Samples
0 = good, 4 = empty, 1 = warning, 2 = error for 3 sampels
double m_groupIDsOccWarning
warning level of the group IDs occupancy
bool m_3Samples
if true enable 3 samples histograms analysis
svdStatus m_onlineOccVstatus
0 = good, 4 = empty, 1 = warning, 2 = error
svdStatus m_onlineOccU3Samples
0 = good, 4 = empty, 1 = warning, 2 = error for 3 sample
void endRun() override final
This method is called if the current run ends.
TCanvas * m_cOccupancyRPhiViewU3Samples
occupancy U plot canvas for 3 samples
void beginRun() override final
Called when entering a new run.
SVDSummaryPlots * m_hOnlineOccupancy
online occupancy histos
TCanvas * m_cOccupancyRPhiViewU
occupancy U plot canvas
double m_groupIDsOccEmpty
empty level of the IDs occupancy
TCanvas * m_cOnlineOccupancyRPhiViewU
online occupancy U plot canvas
TCanvas * m_cOnlineOccupancyV
online Occupancy V histo canvas
TCanvas * m_cOccupancyUGroupId0
occupancy U histo canvas for cluster time group Id = 0
TCanvas * m_cOccupancyV3Samples
occupancy V histo canvas for 3 samples
double m_onlineOccWarning
warning level of the onlineOccupancy
TCanvas * m_cOnlineOccupancyU3Samples
online occupancy U histo canvas for 3 samples
svdStatus m_occUstatus
0 = good, 4 = empty, 1 = warning, 2 = error
TCanvas * m_cOccupancyRPhiViewV
occupancy V plot canvas
TH1F m_hStripOccupancyU[172]
u-side strip chart occupancy histos
void setOccStatus(float occ, svdStatus &occupancyStatus, int histoType=kOffline)
set occupancy status
class to summarize SVD quantities per sensor and side
Abstract base class for different kinds of events.