Belle II Software  release-06-00-14
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  private:
51 
53  void initialize(void) override final;
54 
56  void beginRun(void) override final;
57  void event(void) override final;
58  void terminate(void) override final;
59 
60  // Data members
64  std::string m_pvPrefix;
66  bool m_useEpics;
67 
69  // cppcheck-suppress unusedPrivateFunction
70  void cleanPVs(void);
71 
73  TH1F* m_hInjectionLERPXD = nullptr;
75  TCanvas* m_cInjectionLERPXD = nullptr;
77  TH1F* m_hInjectionLERPXDOcc = nullptr;
79  TCanvas* m_cInjectionLERPXDOcc = nullptr;
81  TH1F* m_hInjectionLERSVD = nullptr;
83  TCanvas* m_cInjectionLERSVD = nullptr;
85  TH1F* m_hInjectionLERSVDOcc = nullptr;
87  TCanvas* m_cInjectionLERSVDOcc = nullptr;
89  TH1F* m_hInjectionLERECL = nullptr;
91  TCanvas* m_cInjectionLERECL = nullptr;
93  TH1F* m_hBurstLERECL = nullptr;
95  TCanvas* m_cBurstLERECL = nullptr;
97  TH1F* m_hInjectionLERTOP = nullptr;
99  TCanvas* m_cInjectionLERTOP = nullptr;
101  TH1F* m_hInjectionLERARICH = nullptr;
103  TCanvas* m_cInjectionLERARICH = nullptr;
105  TH1F* m_hInjectionLERKLM = nullptr;
107  TCanvas* m_cInjectionLERKLM = nullptr;
109  TH1F* m_hInjectionHERPXD = nullptr;
111  TCanvas* m_cInjectionHERPXD = nullptr;
113  TH1F* m_hInjectionHERPXDOcc = nullptr;
115  TCanvas* m_cInjectionHERPXDOcc = nullptr;
117  TH1F* m_hInjectionHERSVD = nullptr;
119  TCanvas* m_cInjectionHERSVD = nullptr;
121  TH1F* m_hInjectionHERSVDOcc = nullptr;
123  TCanvas* m_cInjectionHERSVDOcc = nullptr;
125  TH1F* m_hInjectionHERECL = nullptr;
127  TCanvas* m_cInjectionHERECL = nullptr;
129  TH1F* m_hBurstHERECL = nullptr;
131  TCanvas* m_cBurstHERECL = nullptr;
133  TH1F* m_hInjectionHERTOP = nullptr;
135  TCanvas* m_cInjectionHERTOP = nullptr;
137  TH1F* m_hInjectionHERARICH = nullptr;
139  TCanvas* m_cInjectionHERARICH = nullptr;
141  TH1F* m_hInjectionHERKLM = nullptr;
143  TCanvas* m_cInjectionHERKLM = nullptr;
144 
145 #ifdef _BELLE2_EPICS
147  std::vector <MYNODE> m_nodes;
148 #endif
149  };
151 } // end namespace Belle2
152 
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
Module functions to be called from main process.
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
Module functions to be called from event process.
void event(void) override final
This method is the core of the module.
Abstract base class for different kinds of events.