Belle II Software  release-08-00-10
eclWaveformTemplateCalibrationC2Algorithm.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 /* ECL headers. */
12 #include <ecl/calibration/eclWaveformTemplateCalibrationC2Algorithm.h>
13 #include <ecl/dbobjects/ECLDigitWaveformParameters.h>
14 
15 /* Basf2 headers. */
16 #include <calibration/CalibrationAlgorithm.h>
17 #include <framework/database/DBObjPtr.h>
18 
19 namespace Belle2 {
24  namespace ECL {
25 
28  public:
29 
32 
35 
37  void setOutputName(const std::string& outputName) {m_outputName = outputName;}
38 
40  std::string getOutputName() {return m_outputName;}
41 
43  void setFirstCellID(int firstCellID) {m_firstCellID = firstCellID;}
44 
46  void setLastCellID(int lastCellID) {m_lastCellID = lastCellID;}
47 
49  void setAttemptLimit(int AttemptLimit) {m_AttemptLimit = AttemptLimit;}
50 
52  void setParamLimitFactor(int ParamLimitFactor) {m_ParamLimitFactor = ParamLimitFactor;}
53 
55  void setCollectorLimit(int CollectorLimit) {m_CollectorLimit = CollectorLimit;}
56 
57  protected:
58 
60  virtual EResult calibrate() override;
61 
62  private:
63 
64  std::string m_outputName = "eclWaveformTemplateCalibrationC2Algorithm.root";
68  int m_CollectorLimit = 6;
69  double m_ParamLimitFactor = 0.25;
70  int m_AttemptLimit = 10;
71  const int m_NumberofADCPoints = 31;
72  const int m_SimutaniousFitLimit = 3;
73  const int m_TotalCountsThreshold = 3;
74  double m_ParLimitFactorIterator = 0.5;
75  double m_ParLimitFactorLimit = 2.1;
76  double m_ResLimitIterator = 1.5;
77  const double m_BaseParamLimitFactor = 0.25;
79  };
80  }
82 } // namespace Belle2
83 
84 
Base class for calibration algorithms.
EResult
The result of calibration.
void setOutputName(const std::string &outputName)
Setter for m_outputName.
int m_AttemptLimit
Number of attempts before increasing parameter limits or resLimt.
double m_ParamLimitFactor
Factor to determine parameter limits in fit.
void setParamLimitFactor(int ParamLimitFactor)
Setter for m_ParamLimitFactor.
void setCollectorLimit(int CollectorLimit)
Setter for m_CollectorLimit.
const int m_SimutaniousFitLimit
Min number waveforms required for simultaneous fit.
const int m_TotalCountsThreshold
Min number waveforms required per crystal.
Abstract base class for different kinds of events.