Belle II Software  release-05-02-19
TOPCalTimeWalk.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2020 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Marko Staric *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <TObject.h>
14 #include <vector>
15 
16 namespace Belle2 {
26  class TOPCalTimeWalk: public TObject {
27 
28  public:
29 
33  enum EStatus {
34  c_Default = 0,
35  c_Calibrated = 1,
36  c_Unusable = 2
37  };
38 
43  {}
44 
51  void set(const std::vector<double>& timeWalkParams, double noise, double quadratic);
52 
56  void setUnusable() {m_status = c_Unusable;}
57 
62  const std::vector<double>& getTimeWalkParams() const {return m_timeWalkParams;}
63 
68  double getNoiseCoefficient() const {return m_noise;}
69 
74  double getQuadraticCoefficient() const {return m_quadratic;}
75 
81  double getTimeWalk(int pulseHeight) const;
82 
88  double getSigmaSq(int pulseHeight) const;
89 
95  double getSigma(int pulseHeight) const;
96 
101  bool isCalibrated() const {return m_status == c_Calibrated;}
102 
107  bool isDefault() const {return m_status == c_Default;};
108 
113  bool isUnusable() const {return m_status == c_Unusable;};
114 
115  private:
116 
117  std::vector<double> m_timeWalkParams;
118  double m_noise = 0;
119  double m_quadratic = 0;
124  };
125 
126 
128 } // end namespace Belle2
Belle2::TOPCalTimeWalk::getTimeWalk
double getTimeWalk(int pulseHeight) const
Returns time-walk at given pulse height.
Definition: TOPCalTimeWalk.cc:37
Belle2::TOPCalTimeWalk::getSigma
double getSigma(int pulseHeight) const
Returns an excess of electronic time resolution at given pulse height.
Definition: TOPCalTimeWalk.cc:58
Belle2::TOPCalTimeWalk::isUnusable
bool isUnusable() const
Returns calibration status.
Definition: TOPCalTimeWalk.h:121
Belle2::TOPCalTimeWalk::isCalibrated
bool isCalibrated() const
Returns calibration status.
Definition: TOPCalTimeWalk.h:109
Belle2::TOPCalTimeWalk::EStatus
EStatus
Calibration status of a constant.
Definition: TOPCalTimeWalk.h:41
Belle2::TOPCalTimeWalk
Calibration constants for time-walk correction and for tuning of electronic time resolution in digiti...
Definition: TOPCalTimeWalk.h:34
Belle2::TOPCalTimeWalk::ClassDef
ClassDef(TOPCalTimeWalk, 1)
ClassDef.
Belle2::TOPCalTimeWalk::isDefault
bool isDefault() const
Returns calibration status.
Definition: TOPCalTimeWalk.h:115
Belle2::TOPCalTimeWalk::set
void set(const std::vector< double > &timeWalkParams, double noise, double quadratic)
Sets all the parameters and switches status to calibrated.
Definition: TOPCalTimeWalk.cc:28
Belle2::TOPCalTimeWalk::c_Default
@ c_Default
uncalibrated default value
Definition: TOPCalTimeWalk.h:42
Belle2::TOPCalTimeWalk::c_Unusable
@ c_Unusable
bad calibrated value
Definition: TOPCalTimeWalk.h:44
Belle2::TOPCalTimeWalk::TOPCalTimeWalk
TOPCalTimeWalk()
Default constructor.
Definition: TOPCalTimeWalk.h:50
Belle2::TOPCalTimeWalk::setUnusable
void setUnusable()
Switches calibration status to unusable to flag badly calibrated constants.
Definition: TOPCalTimeWalk.h:64
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TOPCalTimeWalk::getNoiseCoefficient
double getNoiseCoefficient() const
Returns noise term excess coefficient of electronic time resolution.
Definition: TOPCalTimeWalk.h:76
Belle2::TOPCalTimeWalk::m_status
EStatus m_status
calibration status
Definition: TOPCalTimeWalk.h:128
Belle2::TOPCalTimeWalk::getQuadraticCoefficient
double getQuadraticCoefficient() const
Returns quadratic term coefficient of electronic time resolution.
Definition: TOPCalTimeWalk.h:82
Belle2::TOPCalTimeWalk::c_Calibrated
@ c_Calibrated
good calibrated value
Definition: TOPCalTimeWalk.h:43
Belle2::TOPCalTimeWalk::getTimeWalkParams
const std::vector< double > & getTimeWalkParams() const
Returns polynomial coefficients of time walk calibration curve.
Definition: TOPCalTimeWalk.h:70
Belle2::TOPCalTimeWalk::m_noise
double m_noise
noise term excess coefficient [ns]
Definition: TOPCalTimeWalk.h:126
Belle2::TOPCalTimeWalk::m_timeWalkParams
std::vector< double > m_timeWalkParams
parameters of calibration curve [ns]
Definition: TOPCalTimeWalk.h:121
Belle2::TOPCalTimeWalk::getSigmaSq
double getSigmaSq(int pulseHeight) const
Returns an excess of electronic time resolution at given pulse height.
Definition: TOPCalTimeWalk.cc:51
Belle2::TOPCalTimeWalk::m_quadratic
double m_quadratic
quadratic term coefficient [ns]
Definition: TOPCalTimeWalk.h:127