Belle II Software  release-06-01-15
DQMHistAnalysisSVDEfficiency.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 : DQMHistAnalysisSVDEfficiency.h
10 // Description : module for DQM histogram analysis of SVD sensors efficiencies
11 //-
12 
13 #pragma once
14 
15 #include <dqm/analysis/modules/DQMHistAnalysis.h>
16 #include <svd/dataobjects/SVDSummaryPlots.h>
17 
18 #include <TFile.h>
19 #include <TPaveText.h>
20 #include <TCanvas.h>
21 
22 namespace Belle2 {
30 
31  // Public functions
32  public:
33 
38 
43 
47  virtual void initialize() override;
48 
52  virtual void beginRun() override;
53 
57  virtual void event() override;
58 
62  virtual void endRun() override;
63 
67  virtual void terminate() override;
68 
69  private:
70 
71  //parameters
72  float m_effError;
73  float m_effWarning;
76 
78  std::string m_refFileName;
80  TFile* m_refFile = nullptr;
81 
82  TCanvas* m_cEfficiencyU = nullptr;
83  TCanvas* m_cEfficiencyV = nullptr;
85  TCanvas* m_cEfficiencyErrU = nullptr;
86  TCanvas* m_cEfficiencyErrV = nullptr;
89  Int_t findBinY(Int_t layer, Int_t sensor);
91  TPaveText* m_legProblem = nullptr;
92  TPaveText* m_legWarning = nullptr;
93  TPaveText* m_legNormal = nullptr;
94  TPaveText* m_legEmpty = nullptr;
97  enum effStatus {
98  good = 0,
99  warning = 1,
100  error = 2,
101  lowStat = 3
102  };
107  std::vector<VxdID> m_SVDModules;
108 
109  };
111 } // end namespace Belle2
112 
The base class for the histogram analysis module.
Class definition for the output module of Sequential ROOT I/O.
float m_statThreshold
minimal number of tracks per sensor to set green or red frame
TPaveText * m_legEmpty
efficiency plot legend, empty
TCanvas * m_cEfficiencyErrU
efficiency U error plot canvas
Int_t findBinY(Int_t layer, Int_t sensor)
find Y bin corresponding to sensor, efficiency plot
virtual void event() override
This method is called for each event.
std::vector< VxdID > m_SVDModules
IDs of all SVD Modules to iterate over.
effStatus m_effUstatus
number representing the status of the efficiency U side
virtual void endRun() override
This method is called if the current run ends.
virtual void terminate() override
This method is called at the end of the event processing.
TPaveText * m_legWarning
efficiency plot legend, warning
virtual void beginRun() override
Called when entering a new run.
float m_effWarning
warning level of the efficiency
effStatus m_effVstatus
number representing the status of the efficiency V side
TPaveText * m_legNormal
efficiency plot legend, normal
TCanvas * m_cEfficiencyErrV
efficiency V error plot canvas
TPaveText * m_legProblem
efficiency plot legend, problem
SVDSummaryPlots * m_hEfficiencyErr
efficiency error histo
TFile * m_refFile
The pointer to the reference file.
class to summarize SVD quantities per sensor and side
Abstract base class for different kinds of events.