Belle II Software  release-08-01-10
DQMHistInjection.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 : DQMHistInjection.h
10 // Description : DQM module, which gives occupancies in time after injection
11 //-
12 
13 #pragma once
14 
15 #ifdef _BELLE2_EPICS
16 // EPICS
17 #include "cadef.h"
18 #endif
19 
20 #include <dqm/core/DQMHistAnalysis.h>
21 
22 #include <TH1.h>
23 #include <TCanvas.h>
24 
25 namespace Belle2 {
33 
34 #ifdef _BELLE2_EPICS
35  typedef struct MYNODE_struct {
36  chid mychid;
37  TH1* histo = {};
38  std::vector <double> data;
39  } MYNODE;
40 
41 #endif
42 
43  // Public functions
44  public:
45 
50 
55 
59  void initialize(void) override final;
60 
64  void beginRun(void) override final;
65 
69  void event(void) override final;
70 
74  void terminate(void) override final;
75 
76  private:
77 
78  // Data members
82  std::string m_pvPrefix;
83 
85  // cppcheck-suppress unusedPrivateFunction
86  void cleanPVs(void);
87 
89  TH1F* m_hInjectionLERPXD = nullptr;
91  TCanvas* m_cInjectionLERPXD = nullptr;
93  TH1F* m_hInjectionLERPXDOcc = nullptr;
95  TCanvas* m_cInjectionLERPXDOcc = nullptr;
97  TH1F* m_hInjectionLERSVD = nullptr;
99  TCanvas* m_cInjectionLERSVD = nullptr;
101  TH1F* m_hInjectionLERSVDOcc = nullptr;
103  TCanvas* m_cInjectionLERSVDOcc = nullptr;
105  TH1F* m_hInjectionLERECL = nullptr;
107  TCanvas* m_cInjectionLERECL = nullptr;
109  TH1F* m_hBurstLERECL = nullptr;
111  TCanvas* m_cBurstLERECL = nullptr;
113  TH1F* m_hInjectionLERTOP = nullptr;
115  TCanvas* m_cInjectionLERTOP = nullptr;
117  TH1F* m_hInjectionLERARICH = nullptr;
119  TCanvas* m_cInjectionLERARICH = nullptr;
121  TH1F* m_hInjectionLERKLM = nullptr;
123  TCanvas* m_cInjectionLERKLM = nullptr;
125  TH1F* m_hInjectionHERPXD = nullptr;
127  TCanvas* m_cInjectionHERPXD = nullptr;
129  TH1F* m_hInjectionHERPXDOcc = nullptr;
131  TCanvas* m_cInjectionHERPXDOcc = nullptr;
133  TH1F* m_hInjectionHERSVD = nullptr;
135  TCanvas* m_cInjectionHERSVD = nullptr;
137  TH1F* m_hInjectionHERSVDOcc = nullptr;
139  TCanvas* m_cInjectionHERSVDOcc = nullptr;
141  TH1F* m_hInjectionHERECL = nullptr;
143  TCanvas* m_cInjectionHERECL = nullptr;
145  TH1F* m_hBurstHERECL = nullptr;
147  TCanvas* m_cBurstHERECL = nullptr;
149  TH1F* m_hInjectionHERTOP = nullptr;
151  TCanvas* m_cInjectionHERTOP = nullptr;
153  TH1F* m_hInjectionHERARICH = nullptr;
155  TCanvas* m_cInjectionHERARICH = nullptr;
157  TH1F* m_hInjectionHERKLM = nullptr;
159  TCanvas* m_cInjectionHERKLM = nullptr;
160 
161 #ifdef _BELLE2_EPICS
163  std::vector <MYNODE> m_nodes;
164 #endif
165  };
167 } // end namespace Belle2
168 
The base class for the histogram analysis module.
DQM Histogram Analysis for PXD Efficiency.
void terminate(void) override final
This method is called at the end of the event processing.
TH1F * m_hInjectionLERKLM
KLM occupancy after LER injection.
TCanvas * m_cInjectionLERSVD
Final Canvas.
TCanvas * m_cInjectionLERECL
Final Canvas.
TCanvas * m_cInjectionHERPXDOcc
Final Canvas.
TCanvas * m_cBurstLERECL
Final Canvas.
TCanvas * m_cInjectionHERSVDOcc
Final Canvas.
TCanvas * m_cInjectionLERKLM
Canvas for KLM occupancy after LER injection.
TCanvas * m_cInjectionLERPXDOcc
Final Canvas.
void initialize(void) override final
Initializer.
TCanvas * m_cInjectionLERPXD
Final Canvas.
std::string m_pvPrefix
prefix for EPICS PVs
TCanvas * m_cBurstHERECL
Final Canvas.
TCanvas * m_cInjectionHERECL
Final Canvas.
void cleanPVs(void)
Clean up PVs.
TCanvas * m_cInjectionLERTOP
Final Canvas.
TCanvas * m_cInjectionHERTOP
Final Canvas.
TCanvas * m_cInjectionHERKLM
Canvas for KLM occupancy after HER injection.
std::string m_histogramDirectoryName
name of histogram directory
TH1F * m_hInjectionHERKLM
KLM occupancy after HER injection.
TCanvas * m_cInjectionHERARICH
Final Canvas.
TH1F * m_hInjectionHERSVDOcc
SVD Occ norm.
TCanvas * m_cInjectionLERARICH
Final Canvas.
TH1F * m_hInjectionHERPXDOcc
PXD Occ norm.
TCanvas * m_cInjectionLERSVDOcc
Final Canvas.
TH1F * m_hInjectionLERSVDOcc
SVD Occ norm.
TCanvas * m_cInjectionHERSVD
Final Canvas.
TH1F * m_hInjectionLERPXDOcc
PXD Occ norm.
TCanvas * m_cInjectionHERPXD
Final Canvas.
void beginRun(void) override final
Called when entering a new run.
void event(void) override final
This method is called for each event.
Abstract base class for different kinds of events.