Belle II Software  release-08-00-10
DQMHistAnalysisEventT0.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 : DQMHistAnalysisEventT0.h
10 // Description : module for DQM histogram analysis of trigger jitter
11 //-
12 
13 #pragma once
14 
15 #include <dqm/core/DQMHistAnalysis.h>
16 
17 namespace Belle2 {
25 
26  // Public functions
27  public:
28 
33 
35  void initialize() override final;
36 
38  void beginRun() override final;
39 
41  void endRun() override final;
42 
44  void terminate() override final;
45 
46  private:
47 
49  std::string m_prefixCanvas;
53  uint m_nEntriesMin = 100;
61  bool processHistogram(TH1* h, TString tag);
62 
67  static double fDoubleGaus(double* x, double* par);
68 
69  TCanvas* m_cTOPTimeForECLTRG = nullptr;
70  TCanvas* m_cTOPTimeForCDCTRG = nullptr;
71  TCanvas* m_cSVDTimeForECLTRG = nullptr;
72  TCanvas* m_cSVDTimeForCDCTRG = nullptr;
74  TPad* m_topPad1ECLTRG = nullptr;
75  TPad* m_topPad2ECLTRG = nullptr;
76  TPad* m_topPad3ECLTRG = nullptr;
78  TPad* m_topPad1CDCTRG = nullptr;
79  TPad* m_topPad2CDCTRG = nullptr;
80  TPad* m_topPad3CDCTRG = nullptr;
82  TPad* m_svdPad1ECLTRG = nullptr;
83  TPad* m_svdPad2ECLTRG = nullptr;
84  TPad* m_svdPad3ECLTRG = nullptr;
86  TPad* m_svdPad1CDCTRG = nullptr;
87  TPad* m_svdPad2CDCTRG = nullptr;
88  TPad* m_svdPad3CDCTRG = nullptr;
91  };
93 } // end namespace Belle2
94 
TCanvas * m_cTOPTimeForECLTRG
TOP EventT0 for ECLTRG plots canvas.
TCanvas * m_cSVDTimeForECLTRG
SVD EventT0 for ECLTRG plots canvas.
void initialize() override final
create TCanvas and MonitoringObject
static double fDoubleGaus(double *x, double *par)
double gaussian fitting function for the jitter distribution
TPad * m_svdPad1CDCTRG
pad for SVD time CDCTRG hadrons
TPad * m_svdPad3CDCTRG
pad for SVD time CDCTRG mumu
std::string m_prefixCanvas
prefix to be added to canvas name when saved as pdf
TPad * m_svdPad2ECLTRG
pad for SVD time ECLTRG bhabhas
MonitoringObject * m_monObj
MonitoringObject to be produced by this module.
void terminate() override final
delete pointers
bool m_printCanvas
if true print the pdf of the canvases
TPad * m_svdPad2CDCTRG
pad for SVD time CDCTRG bhabhas
TPad * m_topPad1CDCTRG
pad for TOP time CDCTRG hadrons
uint m_nEntriesMin
minimum number of entries to process the histogram
void endRun() override final
fit the histograms
TPad * m_topPad3CDCTRG
pad for TOP time CDCTRG mumu
TPad * m_svdPad1ECLTRG
pad for SVD time ECLTRG hadrons
bool processHistogram(TH1 *h, TString tag)
process the EventT0 distribution fitting with two gaussians filling the MonitoringObject
void beginRun() override final
clear TCanvas
TPad * m_topPad2CDCTRG
pad for TOP time CDCTRG bhabhas
TPad * m_topPad3ECLTRG
pad for TOP time ECLTRG mumu
TPad * m_topPad2ECLTRG
pad for TOP time ECLTRG bhabhas
TCanvas * m_cTOPTimeForCDCTRG
TOP EventT0 for CDCTRG plots canvas.
TCanvas * m_cSVDTimeForCDCTRG
SVD EventT0 for CDCTRG plots canvas.
TPad * m_topPad1ECLTRG
pad for TOP time ECLTRG hadrons
TPad * m_svdPad3ECLTRG
pad for SVD time ECLTRG mumu
The base class for the histogram analysis 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.