Belle II Software  release-05-02-19
TOPModuleT0DeltaTAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * *
6  * Author: The Belle II Collaboration *
7  * Contributors: Marko Staric *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #pragma once
13 #include <calibration/CalibrationAlgorithm.h>
14 #include <TH1F.h>
15 
16 namespace Belle2 {
21  namespace TOP {
22 
32  class TOPModuleT0DeltaTAlgorithm : public CalibrationAlgorithm {
33  public:
34 
37 
39  virtual ~TOPModuleT0DeltaTAlgorithm() {}
40 
44  void setMinEntries(int minEntries) {m_minEntries = minEntries;}
45 
52  void setFitInitializers(double sigmaCore, double sigmaTail, double tailFract)
53  {
54  m_sigmaCoreInit = sigmaCore;
55  m_sigmaTailInit = sigmaTail;
56  m_tailFractInit = tailFract;
57  }
58 
64  void setCutoffEntries(int cutoffEntries) {m_cutoffEntries = cutoffEntries;}
65 
70  void setMinError(double minError) {m_minError = minError;}
71 
72  private:
73 
77  virtual EResult calibrate() final;
78 
84  int fitSingleGaus(std::shared_ptr<TH1F> h);
85 
91  int fitDoubleGaus(std::shared_ptr<TH1F> h);
92 
98  int fitHistogram(std::shared_ptr<TH1F> h);
99 
100  // algorithm parameters
101  int m_minEntries = 10;
102  double m_sigmaCoreInit = 0.120;
103  double m_sigmaTailInit = 0.240;
104  double m_tailFractInit = 0.20;
105  int m_cutoffEntries = 100;
106  double m_minError = 0.100;
108  // temporary store for results of a single fit
109  double m_delT0 = 0;
110  double m_error = 0;
111  double m_chi2 = 0;
112  double m_ndf = 0;
114  };
115 
116  } // end namespace TOP
118 } // end namespace Belle2
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_tailFractInit
double m_tailFractInit
fraction of tail gaussian
Definition: TOPModuleT0DeltaTAlgorithm.h:113
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::fitSingleGaus
int fitSingleGaus(std::shared_ptr< TH1F > h)
Fit single gaus + constant.
Definition: TOPModuleT0DeltaTAlgorithm.cc:220
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_delT0
double m_delT0
fitted delta T0
Definition: TOPModuleT0DeltaTAlgorithm.h:118
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_minError
double m_minError
minimal moduleT0 uncertainty [ns] to declare c_OK
Definition: TOPModuleT0DeltaTAlgorithm.h:115
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_cutoffEntries
int m_cutoffEntries
cutoff entries for single/double gaussian fit
Definition: TOPModuleT0DeltaTAlgorithm.h:114
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_error
double m_error
error on fitted delta T0
Definition: TOPModuleT0DeltaTAlgorithm.h:119
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::TOPModuleT0DeltaTAlgorithm
TOPModuleT0DeltaTAlgorithm()
Constructor.
Definition: TOPModuleT0DeltaTAlgorithm.cc:34
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_minEntries
int m_minEntries
minimal number of histogram entries to perform fit
Definition: TOPModuleT0DeltaTAlgorithm.h:110
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::fitDoubleGaus
int fitDoubleGaus(std::shared_ptr< TH1F > h)
Fit double gaus w/ same mean + constant.
Definition: TOPModuleT0DeltaTAlgorithm.cc:248
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::setMinEntries
void setMinEntries(int minEntries)
Sets minimal number of histogram entries to perform a fit.
Definition: TOPModuleT0DeltaTAlgorithm.h:53
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_sigmaTailInit
double m_sigmaTailInit
tail gaussian sigma [ns]
Definition: TOPModuleT0DeltaTAlgorithm.h:112
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::calibrate
virtual EResult calibrate() final
algorithm implementation
Definition: TOPModuleT0DeltaTAlgorithm.cc:40
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::fitHistogram
int fitHistogram(std::shared_ptr< TH1F > h)
Fit histogram.
Definition: TOPModuleT0DeltaTAlgorithm.cc:206
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_sigmaCoreInit
double m_sigmaCoreInit
core gaussian sigma [ns]
Definition: TOPModuleT0DeltaTAlgorithm.h:111
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::setCutoffEntries
void setCutoffEntries(int cutoffEntries)
Sets cutoff on the number of histogram entries for steering btw.
Definition: TOPModuleT0DeltaTAlgorithm.h:73
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_ndf
double m_ndf
NDF of the fit.
Definition: TOPModuleT0DeltaTAlgorithm.h:121
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::setFitInitializers
void setFitInitializers(double sigmaCore, double sigmaTail, double tailFract)
Sets values for the initialization of several fit parameters.
Definition: TOPModuleT0DeltaTAlgorithm.h:61
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::setMinError
void setMinError(double minError)
Sets minimal result uncertainty to declare this calibration as c_OK.
Definition: TOPModuleT0DeltaTAlgorithm.h:79
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::~TOPModuleT0DeltaTAlgorithm
virtual ~TOPModuleT0DeltaTAlgorithm()
Destructor.
Definition: TOPModuleT0DeltaTAlgorithm.h:48
Belle2::TOP::TOPModuleT0DeltaTAlgorithm::m_chi2
double m_chi2
chi2 of the fit
Definition: TOPModuleT0DeltaTAlgorithm.h:120