Belle II Software  release-06-00-14
DQMHistAnalysisSVDOnMiraBelle.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 #pragma once
10 
11 #include <dqm/analysis/modules/DQMHistAnalysis.h>
12 
13 #include <vector>
14 
15 #include <TROOT.h>
16 #include <TCanvas.h>
17 #include <TH1F.h>
18 #include <TH2F.h>
19 
20 namespace Belle2 {
28 
29  public:
30 
36  virtual void initialize() override;
38  virtual void beginRun() override;
40  virtual void event() override;
42  virtual void endRun() override;
44  virtual void terminate() override;
45 
46  private:
47 
49  TCanvas* m_c_avgEfficiency = nullptr;
50  TCanvas* m_c_avgOffOccupancy = nullptr;
51  TCanvas* m_c_MPVChargeClusterOnTrack = nullptr;
52  TCanvas* m_c_MPVSNRClusterOnTrack = nullptr;
53  TCanvas* m_c_MPVTimeClusterOnTrack = nullptr;
55  nullptr;
59 
68  std::vector<float> highOccupancySensor(int iLayer, TH1F* hU, TH1F* hV, int iBin, int nEvents) const;
69 
80  std::vector<float> avgOccupancyUV(int iLayer, TH1F* hU, TH1F* hV, int min, int max, int offset, int step, int nEvents) const;
81 
89  std::vector<float> avgEfficiencyUV(TH2F* hMCU, TH2F* hMCV, TH2F* hFTU, TH2F* hFTV, int minX, int maxX, int minY, int maxY) const;
90 
96  float xForMaxY(TH1F* h) const;
97 
103  float histFWHM(TH1F* h) const;
104 
105  };
107 } // end namespace Belle2
108 
109 
110 
111 
112 
The base class for the histogram analysis module.
Class derived from HistoModule, for SVD monitoring variables at MiraBelle.
float histFWHM(TH1F *h) const
Calculate full width at half maximum of histogram.
TCanvas * m_c_MPVTimeClusterOnTrack
time for clusters on track
virtual void initialize() override
Module function initialize.
virtual void event() override
Module function event.
std::vector< float > avgEfficiencyUV(TH2F *hMCU, TH2F *hMCV, TH2F *hFTU, TH2F *hFTV, int minX, int maxX, int minY, int maxY) const
Calculate avg efficiency for specified sensors.
virtual void endRun() override
Module function endRun.
std::vector< float > avgOccupancyUV(int iLayer, TH1F *hU, TH1F *hV, int min, int max, int offset, int step, int nEvents) const
Calculate avg offline occupancy for specified sensors.
TCanvas * m_c_MPVChargeClusterOnTrack
charge for clusters on track
virtual void terminate() override
Module function terminate.
MonitoringObject * m_monObj
Monitoring Object to be produced by this module, which contain defined canvases and monitoring variab...
TCanvas * m_c_avgEfficiency
List of canvases to be added to MonitoringObject.
virtual void beginRun() override
Module function beginRun.
TCanvas * m_c_MPVSNRClusterOnTrack
SNR for clusters on track.
float xForMaxY(TH1F *h) const
Calculate abscissa of max Y bin.
TCanvas * m_c_avgOffOccupancy
number of ZS5 fired strips
TCanvas * m_c_avgMaxBinClusterOnTrack
average number of the APV sample which corresponds to the maximum amplitude for clusters on track
std::vector< float > highOccupancySensor(int iLayer, TH1F *hU, TH1F *hV, int iBin, int nEvents) const
Calculate avg offline occupancy for one specific sensor, especially with high occupancy.
MonitoringObject is a basic object to hold data for the run-dependency monitoring Run summary TCanvas...
Abstract base class for different kinds of events.