Belle II Software development
DQMHistAnalysisEventT0TriggerJitter.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 : DQMHistAnalysisEventT0TriggerJitter.h
10// Description : module for DQM histogram analysis of trigger jitter
11//-
12
13#pragma once
14
15#include <dqm/core/DQMHistAnalysis.h>
16#include <TEfficiency.h>
17
18namespace Belle2 {
26
27 // Public functions
28 public:
29
34
36 void initialize() override final;
37
39 void beginRun() override final;
40
42 void event() override final;
43
45 void terminate() override final;
46
47 private:
48
50 std::string m_prefixCanvas;
54 uint m_nEntriesMin = 100;
62 bool processHistogram(TH1* h, TString tag);
63
68 static double fDoubleGaus(double* x, double* par);
69
73 void initializeCanvases();
74 void clearCanvases();
75 void printCanvases();
76 void deleteCanvases();
80 // ECLTRG jitter canvases
81 TCanvas* m_cECLTimeHadronsECLTRG = nullptr;
82 TCanvas* m_cECLTimeBhaBhaECLTRG = nullptr;
83 TCanvas* m_cECLTimeMuMuECLTRG = nullptr;
84 TCanvas* m_cCDCTimeHadronsECLTRG = nullptr;
85 TCanvas* m_cCDCTimeBhaBhaECLTRG = nullptr;
86 TCanvas* m_cCDCTimeMuMuECLTRG = nullptr;
87 TCanvas* m_cTOPTimeHadronsECLTRG = nullptr;
88 TCanvas* m_cTOPTimeBhaBhaECLTRG = nullptr;
89 TCanvas* m_cTOPTimeMuMuECLTRG = nullptr;
90 TCanvas* m_cSVDTimeHadronsECLTRG = nullptr;
91 TCanvas* m_cSVDTimeBhaBhaECLTRG = nullptr;
92 TCanvas* m_cSVDTimeMuMuECLTRG = nullptr;
94 // CDCTRG jitter canvases
95 TCanvas* m_cECLTimeHadronsCDCTRG = nullptr;
96 TCanvas* m_cECLTimeBhaBhaCDCTRG = nullptr;
97 TCanvas* m_cECLTimeMuMuCDCTRG = nullptr;
98 TCanvas* m_cCDCTimeHadronsCDCTRG = nullptr;
99 TCanvas* m_cCDCTimeBhaBhaCDCTRG = nullptr;
100 TCanvas* m_cCDCTimeMuMuCDCTRG = nullptr;
101 TCanvas* m_cTOPTimeHadronsCDCTRG = nullptr;
102 TCanvas* m_cTOPTimeBhaBhaCDCTRG = nullptr;
103 TCanvas* m_cTOPTimeMuMuCDCTRG = nullptr;
104 TCanvas* m_cSVDTimeHadronsCDCTRG = nullptr;
105 TCanvas* m_cSVDTimeBhaBhaCDCTRG = nullptr;
106 TCanvas* m_cSVDTimeMuMuCDCTRG = nullptr;
108 // TOPTRG jitter canvases
109 TCanvas* m_cECLTimeHadronsTOPTRG = nullptr;
110 TCanvas* m_cECLTimeBhaBhaTOPTRG = nullptr;
111 TCanvas* m_cECLTimeMuMuTOPTRG = nullptr;
112 TCanvas* m_cCDCTimeHadronsTOPTRG = nullptr;
113 TCanvas* m_cCDCTimeBhaBhaTOPTRG = nullptr;
114 TCanvas* m_cCDCTimeMuMuTOPTRG = nullptr;
115 TCanvas* m_cTOPTimeHadronsTOPTRG = nullptr;
116 TCanvas* m_cTOPTimeBhaBhaTOPTRG = nullptr;
117 TCanvas* m_cTOPTimeMuMuTOPTRG = nullptr;
118 TCanvas* m_cSVDTimeHadronsTOPTRG = nullptr;
119 TCanvas* m_cSVDTimeBhaBhaTOPTRG = nullptr;
120 TCanvas* m_cSVDTimeMuMuTOPTRG = nullptr;
121 };
123} // end namespace Belle2
124
TCanvas * m_cCDCTimeMuMuECLTRG
Canvas for CDC time ECLTRG jitter mumu.
TCanvas * m_cECLTimeHadronsECLTRG
Canvas for ECL time ECLTRG jitter hadrons.
void initialize() override final
create TCanvas and MonitoringObject
TCanvas * m_cTOPTimeHadronsECLTRG
Canvas for TOP time ECLTRG jitter hadrons.
TCanvas * m_cECLTimeHadronsCDCTRG
Canvas for ECL time CDCTRG jitter hadrons.
TCanvas * m_cECLTimeMuMuECLTRG
Canvas for ECL time ECLTRG jitter mumu.
TCanvas * m_cCDCTimeHadronsECLTRG
Canvas for CDC time ECLTRG jitter hadrons.
static double fDoubleGaus(double *x, double *par)
double gaussian fitting function for the jitter distribution
TCanvas * m_cCDCTimeBhaBhaECLTRG
Canvas for CDC time ECLTRG jitter bhabhas.
TCanvas * m_cSVDTimeMuMuTOPTRG
Canvas for SVD time TOPTRG jitter mumu.
TCanvas * m_cCDCTimeHadronsTOPTRG
Canvas for CDC time TOPTRG jitter hadrons.
TCanvas * m_cECLTimeBhaBhaECLTRG
Canvas for ECL time ECLTRG jitter bhabhas.
TCanvas * m_cCDCTimeBhaBhaCDCTRG
Canvas for CDC time CDCTRG jitter bhabhas.
std::string m_prefixCanvas
prefix to be added to canvas name when saved as pdf
TCanvas * m_cCDCTimeMuMuCDCTRG
Canvas for CDC time CDCTRG jitter mumu.
MonitoringObject * m_monObj
MonitoringObject to be produced by this module.
TCanvas * m_cCDCTimeMuMuTOPTRG
Canvas for CDC time TOPTRG jitter mumu.
TCanvas * m_cCDCTimeHadronsCDCTRG
Canvas for CDC time CDCTRG jitter hadrons.
TCanvas * m_cTOPTimeHadronsTOPTRG
Canvas for TOP time TOPTRG jitter hadrons.
void analyseTOPTRGEventT0Distributions()
Analyse the TOPTRG EventT0 distributions.
void event() override final
fit the histograms in the event
TCanvas * m_cECLTimeBhaBhaTOPTRG
Canvas for ECL time TOPTRG jitter bhabhas.
TCanvas * m_cTOPTimeBhaBhaECLTRG
Canvas for TOP time ECLTRG jitter bhabhas.
TCanvas * m_cSVDTimeHadronsTOPTRG
Canvas for SVD time TOPTRG jitter hadrons.
TCanvas * m_cTOPTimeBhaBhaTOPTRG
Canvas for TOP time TOPTRG jitter bhabhas.
TCanvas * m_cSVDTimeBhaBhaECLTRG
Canvas for SVD time ECLTRG jitter bhabhas.
TCanvas * m_cTOPTimeBhaBhaCDCTRG
Canvas for TOP time CDCTRG jitter bhabhas.
uint m_nEntriesMin
minimum number of entries to process the histogram
TCanvas * m_cECLTimeMuMuCDCTRG
Canvas for ECL time CDCTRG jitter mumu.
TCanvas * m_cSVDTimeMuMuCDCTRG
Canvas for SVD time CDCTRG jitter mumu.
TCanvas * m_cTOPTimeMuMuTOPTRG
Canvas for TOP time TOPTRG jitter mumu.
TCanvas * m_cECLTimeBhaBhaCDCTRG
Canvas for ECL time CDCTRG jitter bhabhas.
TCanvas * m_cTOPTimeHadronsCDCTRG
Canvas for TOP time CDCTRG jitter hadrons.
TCanvas * m_cECLTimeHadronsTOPTRG
Canvas for ECL time TOPTRG jitter hadrons.
TCanvas * m_cCDCTimeBhaBhaTOPTRG
Canvas for CDC time TOPTRG jitter bhabhas.
bool processHistogram(TH1 *h, TString tag)
process the EventT0 distribution fitting with two gaussians filling the MonitoringObject
TCanvas * m_cSVDTimeHadronsECLTRG
Canvas for SVD time ECLTRG jitter hadrons.
TCanvas * m_cECLTimeMuMuTOPTRG
Canvas for ECL time TOPTRG jitter mumu.
TCanvas * m_cTOPTimeMuMuCDCTRG
Canvas for TOP time CDCTRG jitter mumu.
TCanvas * m_cSVDTimeMuMuECLTRG
Canvas for SVD time ECLTRG jitter mumu.
TCanvas * m_cSVDTimeHadronsCDCTRG
Canvas for SVD time CDCTRG jitter hadrons.
void analyseECLTRGEventT0Distributions()
Analyse the ECLTRG EventT0 distributions.
TCanvas * m_cTOPTimeMuMuECLTRG
Canvas for TOP time ECLTRG jitter mumu.
TCanvas * m_cSVDTimeBhaBhaCDCTRG
Canvas for SVD time CDCTRG jitter bhabhas.
TCanvas * m_cSVDTimeBhaBhaTOPTRG
Canvas for SVD time TOPTRG jitter bhabhas.
void analyseCDCTRGEventT0Distributions()
Analyse the CDCTRG EventT0 distributions.
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.