Belle II Software  release-06-00-14
DQMHistAnalysisPXDCM.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 : DQMHistAnalysisPXDCM.h
10 // Description : DAQM Analysis for PXD Common Modes
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 #include <vxd/dataobjects/VxdID.h>
22 
23 #include <vector>
24 #include <map>
25 #include <TH2.h>
26 #include <TCanvas.h>
27 #include <TLine.h>
28 
29 namespace Belle2 {
37 
38  // Public functions
39  public:
40 
45  private:
46 
48  void initialize(void) override final;
49 
51  void beginRun(void) override final;
52  void event(void) override final;
53  void terminate(void) override final;
54 
55  // Data members
59  std::string m_pvPrefix;
61  int m_minEntries = 10000;
62 
64  double m_warnMeanAdhoc{};
66  double m_errorMeanAdhoc{};
73 
75  double m_warnMeanFull{};
77  double m_errorMeanFull{};
84 
86  std::vector<VxdID> m_PXDModules;
87 
89  TH2D* m_hCommonMode = nullptr;
91  TH2D* m_hCommonModeDelta = nullptr;
93  TH2D* m_hCommonModeOld = nullptr;
95  TCanvas* m_cCommonMode = nullptr;
97  TCanvas* m_cCommonModeDelta = nullptr;
99  TLine* m_line1 = nullptr;
101  TLine* m_lineA = nullptr;
103  TLine* m_lineF = nullptr;
104 
107 
110 
111 #ifdef _BELLE2_EPICS
113  std::vector <chid> mychid;
115  std::map <VxdID, chid> mychid_mean;
116 #endif
117  };
119 } // end namespace Belle2
120 
The base class for the histogram analysis module.
DQM Histogram Analysis for PXD Common Modes.
void terminate(void) override final
This method is called at the end of the event processing.
int m_minEntries
Update entry intervall.
double m_warnMeanAdhoc
warn level for mean adhoc plot
TCanvas * m_cCommonModeDelta
Final Canvas.
double m_errorMeanAdhoc
error level for mean adhoc plot
double m_warnOutsideFull
warn level for outside fraction
TH2D * m_hCommonModeOld
histogram covering all modules
void initialize(void) override final
Module functions to be called from main process.
TLine * m_lineA
Line in the Canvas to guide the eye.
double m_errorMeanFull
error level for mean adhoc plot
std::string m_pvPrefix
prefix for EPICS PVs
MonitoringObject * m_monObj
Monitoring Object.
TH2D * m_hCommonModeDelta
histogram covering all modules
std::vector< VxdID > m_PXDModules
IDs of all PXD Modules to iterate over.
std::string m_histogramDirectoryName
name of histogram directory
int m_upperLineAdhoc
threshold level/line for outside fraction
TLine * m_lineF
Line in the Canvas to guide the eye.
double m_warnMeanFull
warn level for mean adhoc plot
double m_errorOutsideAdhoc
error level for outside fraction
bool m_useEpics
flag if to export to EPICS
TLine * m_line1
Line in the Canvas to guide the eye.
TH2D * m_hCommonMode
histogram covering all modules
int m_upperLineFull
threshold level/line for outside fraction
double m_errorOutsideFull
error level for outside fraction
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.
double m_warnOutsideAdhoc
warn level for outside fraction
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.