Belle II Software development
ECLTimingNormalization.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#pragma once
10
11#include <TObject.h>
12#include <array>
13
14namespace Belle2 {
19
21 class ECLTimingNormalization: public TObject {
22
23
24 //---------------------------------------------------
25 public:
26
34
35
36 //---------------------------------------------------
37 //..Getters for the parameters
38
41 const std::array< std::array<float, 7>, 8736>& getTimeWalkPar() const {return m_timeWalkPar;}
42
45 const std::array< std::array<float, 5>, 8736>& getBackgroundPar() const {return m_backgroundPar;}
46
49 const std::array< std::array<float, 7>, 8736>& getEnergyPar() const {return m_energyPar;}
50
53
54
55 //---------------------------------------------------
56 //..Setters for the parmeters
57
59 void setTimeWalkPar(const std::array< std::array<float, 7>, 8736>& timeWalkPar) {m_timeWalkPar = timeWalkPar;}
60
62 void setBackgroundPar(const std::array< std::array<float, 5>, 8736>& backgroundPar) {m_backgroundPar = backgroundPar;}
63
65 void setEnergyPar(const std::array< std::array<float, 7>, 8736>& energyPar) {m_energyPar = energyPar;}
66
68 void setMinTNormalization(const float minTNormalization) {m_minTNormalization = minTNormalization;}
69
70
71 //---------------------------------------------------
72 private:
73
74 std::array< std::array<float, 7>, 8736> m_timeWalkPar;
75 std::array< std::array<float, 5>, 8736> m_backgroundPar;
76 std::array< std::array<float, 7>, 8736> m_energyPar;
78
80 };
81
82}
83
84
float getMinTNormalization() const
Get the minimum value for the time normalization.
void setBackgroundPar(const std::array< std::array< float, 5 >, 8736 > &backgroundPar)
Set the parameters to correct for dependence on background level.
const std::array< std::array< float, 5 >, 8736 > & getBackgroundPar() const
Get the parameters to correct for dependence on background level intercept / slope / p2 / min ootCrys...
const std::array< std::array< float, 7 >, 8736 > & getTimeWalkPar() const
Get the parameters to correct for time walk E0 / bias at E0 / lowE slope / highE slope / curvature / ...
std::array< std::array< float, 7 >, 8736 > m_timeWalkPar
time walk correction
std::array< std::array< float, 5 >, 8736 > m_backgroundPar
dependence on background level
float m_minTNormalization
minimum value for tNormalization (ns)
void setTimeWalkPar(const std::array< std::array< float, 7 >, 8736 > &timeWalkPar)
Set the parameters to correct for time walk.
ClassDef(ECLTimingNormalization, 1)
ClassDef.
std::array< std::array< float, 7 >, 8736 > m_energyPar
dependence on energy
void setEnergyPar(const std::array< std::array< float, 7 >, 8736 > &energyPar)
Set the parameters to correct for dependence on crystal energy.
void setMinTNormalization(const float minTNormalization)
Set the minimum value for the time normalization.
const std::array< std::array< float, 7 >, 8736 > & getEnergyPar() const
Get the parameters to correct for dependence on crystal energy E0 / res at E0 / lowE slope / highE sl...
Abstract base class for different kinds of events.