Belle II Software  release-05-02-19
ECLCrystalCalib.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * General DB object to store one calibration number per ECL crystal *
6  * *
7  * Author: The Belle II Collaboration *
8  * Contributors: Christopher Hearty (hearty@physics.ubc.ca) *
9  * *
10  * This software is provided "as is" without any warranty. *
11  **************************************************************************/
12 
13 #pragma once
14 #include <TObject.h>
15 #include <framework/logging/Logger.h>
16 
17 namespace Belle2 {
24  class ECLCrystalCalib: public TObject {
25 
26  public:
27 
30 
32  const std::vector<float>& getCalibVector() const {return m_CalibConst;};
33 
35  const std::vector<float>& getCalibUncVector() const {return m_CalibConstUnc;};
36 
38  void setCalibVector(const std::vector<float>& CalibConst, const std::vector<float>& CalibConstUnc)
39  {
40  if (CalibConst.size() != 8736 || CalibConstUnc.size() != 8736) {B2FATAL("ECLCrystalCalib: wrong size vector uploaded, " << CalibConst.size() << " " << CalibConstUnc.size() << " instead of 8736");}
41  m_CalibConst = CalibConst;
42  m_CalibConstUnc = CalibConstUnc;
43  };
44 
45  private:
46  std::vector<float> m_CalibConst;
47  std::vector<float> m_CalibConstUnc;
50  };
52 }
Belle2::ECLCrystalCalib::ClassDef
ClassDef(ECLCrystalCalib, 1)
ClassDef.
Belle2::ECLCrystalCalib::ECLCrystalCalib
ECLCrystalCalib()
Constructor.
Definition: ECLCrystalCalib.h:39
Belle2::ECLCrystalCalib
General DB object to store one calibration number per ECL crystal.
Definition: ECLCrystalCalib.h:34
Belle2::ECLCrystalCalib::getCalibVector
const std::vector< float > & getCalibVector() const
Get vector of calibration constants.
Definition: ECLCrystalCalib.h:42
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::ECLCrystalCalib::m_CalibConstUnc
std::vector< float > m_CalibConstUnc
Uncertainty on constants.
Definition: ECLCrystalCalib.h:57
Belle2::ECLCrystalCalib::m_CalibConst
std::vector< float > m_CalibConst
Calibration constants.
Definition: ECLCrystalCalib.h:53
Belle2::ECLCrystalCalib::getCalibUncVector
const std::vector< float > & getCalibUncVector() const
Get vector of uncertainties on calibration constants.
Definition: ECLCrystalCalib.h:45
Belle2::ECLCrystalCalib::setCalibVector
void setCalibVector(const std::vector< float > &CalibConst, const std::vector< float > &CalibConstUnc)
Set vector of constants with uncertainties.
Definition: ECLCrystalCalib.h:48