Belle II Software  release-06-02-00
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/analysis/modules/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;
84  bool m_useEpics;
85 
87  // cppcheck-suppress unusedPrivateFunction
88  void cleanPVs(void);
89 
91  TH1F* m_hInjectionLERPXD = nullptr;
93  TCanvas* m_cInjectionLERPXD = nullptr;
95  TH1F* m_hInjectionLERPXDOcc = nullptr;
97  TCanvas* m_cInjectionLERPXDOcc = nullptr;
99  TH1F* m_hInjectionLERSVD = nullptr;
101  TCanvas* m_cInjectionLERSVD = nullptr;
103  TH1F* m_hInjectionLERSVDOcc = nullptr;
105  TCanvas* m_cInjectionLERSVDOcc = nullptr;
107  TH1F* m_hInjectionLERECL = nullptr;
109  TCanvas* m_cInjectionLERECL = nullptr;
111  TH1F* m_hBurstLERECL = nullptr;
113  TCanvas* m_cBurstLERECL = nullptr;
115  TH1F* m_hInjectionLERTOP = nullptr;
117  TCanvas* m_cInjectionLERTOP = nullptr;
119  TH1F* m_hInjectionLERARICH = nullptr;
121  TCanvas* m_cInjectionLERARICH = nullptr;
123  TH1F* m_hInjectionLERKLM = nullptr;
125  TCanvas* m_cInjectionLERKLM = nullptr;
127  TH1F* m_hInjectionHERPXD = nullptr;
129  TCanvas* m_cInjectionHERPXD = nullptr;
131  TH1F* m_hInjectionHERPXDOcc = nullptr;
133  TCanvas* m_cInjectionHERPXDOcc = nullptr;
135  TH1F* m_hInjectionHERSVD = nullptr;
137  TCanvas* m_cInjectionHERSVD = nullptr;
139  TH1F* m_hInjectionHERSVDOcc = nullptr;
141  TCanvas* m_cInjectionHERSVDOcc = nullptr;
143  TH1F* m_hInjectionHERECL = nullptr;
145  TCanvas* m_cInjectionHERECL = nullptr;
147  TH1F* m_hBurstHERECL = nullptr;
149  TCanvas* m_cBurstHERECL = nullptr;
151  TH1F* m_hInjectionHERTOP = nullptr;
153  TCanvas* m_cInjectionHERTOP = nullptr;
155  TH1F* m_hInjectionHERARICH = nullptr;
157  TCanvas* m_cInjectionHERARICH = nullptr;
159  TH1F* m_hInjectionHERKLM = nullptr;
161  TCanvas* m_cInjectionHERKLM = nullptr;
162 
163 #ifdef _BELLE2_EPICS
165  std::vector <MYNODE> m_nodes;
166 #endif
167  };
169 } // end namespace Belle2
170 
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.
bool m_useEpics
whether to use EPICs
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.