Belle II Software  release-06-02-00
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/analysis/modules/DQMHistAnalysis.h>
16 
17 #include <TFile.h>
18 #include <TMath.h>
19 #include <TCanvas.h>
20 #include <TH1.h>
21 #include <TF1.h>
22 
23 namespace Belle2 {
31 
32  // Public functions
33  public:
34 
39 
41  virtual void initialize() override;
42 
44  virtual void beginRun() override;
45 
47  virtual void endRun() override;
48 
50  virtual void terminate() override;
51 
52  std::string m_prefixCanvas;
55  private:
56 
57  int m_nEntriesMin = 100;
66  bool processHistogram(TH1* h, TString tag);
67 
69  static double fDoubleGaus(double* x, double* par);
70 
71  TCanvas* m_cECLTRG = nullptr;
72  TCanvas* m_cCDCTRG = nullptr;
73  TPad* m_pad1ECLTRG = nullptr;
74  TPad* m_pad2ECLTRG = nullptr;
75  TPad* m_pad3ECLTRG = nullptr;
77  TPad* m_pad1CDCTRG = nullptr;
78  TPad* m_pad2CDCTRG = nullptr;
79  TPad* m_pad3CDCTRG = nullptr;
82  };
84 } // end namespace Belle2
85 
Class definition for the output module of Sequential ROOT I/O.
int m_nEntriesMin
minimum number of entries to process the histogram
static double fDoubleGaus(double *x, double *par)
double gaussian fitting function for the jitter distribution
TCanvas * m_cECLTRG
TOP EventT0 for ECLTRG plots canvas.
virtual void initialize() override
create TCanvas and MonitoringObject
std::string m_prefixCanvas
prefix to be added to canvas name when saved as pdf
virtual void endRun() override
fit the histograms
virtual void terminate() override
delete pointers
MonitoringObject * m_monObj
MonitoringObject to be produced by this module.
bool m_printCanvas
if true print the pdf of the canvases
TPad * m_pad2ECLTRG
pad for ECLTRG bhabhas
TPad * m_pad1CDCTRG
pad for CDCTRG hadrons
virtual void beginRun() override
clear TCanvas
bool processHistogram(TH1 *h, TString tag)
process the EventT0 distribution fitting with two gaussians filling the MonitoringObject
TCanvas * m_cCDCTRG
TOP EventT0 for Hadron CDCTRG plots canvas.
TPad * m_pad2CDCTRG
pad for CDCTRG bhabhas
TPad * m_pad1ECLTRG
pad for ECLTRG hadrons
TPad * m_pad3ECLTRG
pad for ECLTRG mumuss
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.