Belle II Software  release-06-01-15
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 
50 
54  void initialize(void) override final;
55 
59  void beginRun(void) override final;
60 
64  void event(void) override final;
65 
69  void terminate(void) override final;
70 
71  private:
72 
73  // Data members
77  std::string m_pvPrefix;
79  int m_minEntries = 10000;
80 
82  double m_warnMeanAdhoc{};
84  double m_errorMeanAdhoc{};
91 
93  double m_warnMeanFull{};
95  double m_errorMeanFull{};
102 
104  std::vector <std::string> m_par_module_list;
106  std::vector <std::vector<int>> m_par_gate_list;
107 
109  std::map <VxdID, std::vector<int>> m_masked_gates;
110 
112  std::vector<VxdID> m_PXDModules;
113 
115  TH2D* m_hCommonMode = nullptr;
117  TH2D* m_hCommonModeDelta = nullptr;
119  TH2D* m_hCommonModeOld = nullptr;
121  TCanvas* m_cCommonMode = nullptr;
123  TCanvas* m_cCommonModeDelta = nullptr;
125  TLine* m_line1 = nullptr;
127  TLine* m_lineA = nullptr;
129  TLine* m_lineF = nullptr;
130 
133 
136 
137 #ifdef _BELLE2_EPICS
139  std::vector <chid> mychid;
141  std::map <VxdID, chid> mychid_mean;
142 #endif
143  };
145 } // end namespace Belle2
146 
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
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
Initializer.
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.
std::map< VxdID, std::vector< int > > m_masked_gates
Module wise gate masking in CM plot and alarm.
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
std::vector< std::vector< int > > m_par_gate_list
Double-gate list for mask.
std::vector< std::string > m_par_module_list
Module list for mask.
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
Called when entering a new run.
void event(void) override final
This method is called for each event.
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.