Belle II Software  release-06-00-14
DQMHistAnalysisPXDCharge.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 : DQMHistAnalysisPXDCharge.h
10 // Description : DQM Analysis for PXD Cluster Charges
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 <TF1.h>
25 #include <TCanvas.h>
26 
27 namespace Belle2 {
35 
36  // Public functions
37  public:
38 
43  private:
44 
46  void initialize(void) override final;
47 
49  void beginRun(void) override final;
50  void event(void) override final;
51  void endRun(void) override final;
52  void terminate(void) override final;
53 
54  // Data members
58  std::string m_pvPrefix;
60  double m_rangeLow;
62  double m_rangeHigh;
63 
65  std::vector<VxdID> m_PXDModules;
66 
68  TF1* m_fLandau = nullptr;
70  TF1* m_fMean = nullptr;
72  TH1F* m_hCharge = nullptr;
74  TCanvas* m_cCharge = nullptr;
75 
78 
80  bool m_useEpics;
81 
82 #ifdef _BELLE2_EPICS
84  std::vector <chid> mychid;
85 #endif
86  };
88 } // end namespace Belle2
89 
The base class for the histogram analysis module.
DQM Histogram Analysis for PXD Cluster Charge.
void terminate(void) override final
This method is called at the end of the event processing.
double m_rangeLow
fit range lo edge for landau
void initialize(void) override final
Module functions to be called from main process.
TH1F * m_hCharge
Histogram covering all modules.
void endRun(void) override final
This method is called if the current run ends.
std::string m_pvPrefix
prefix for EPICS PVs
MonitoringObject * m_monObj
Monitoring Object.
TF1 * m_fMean
Fit the Mean for all modules.
std::vector< VxdID > m_PXDModules
IDs of all PXD Modules to iterate over.
std::string m_histogramDirectoryName
name of histogram directory
double m_rangeHigh
fit range hi edge for landau
bool m_useEpics
flag if to export to EPICS
TF1 * m_fLandau
only one fit function for all Landaus
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.
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.