Belle II Software  release-08-01-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 /* Basf2 headers. */
12 #include <calibration/CalibrationAlgorithm.h>
13 
14 namespace Belle2 {
19  namespace ECL {
20 
23  public:
24 
27 
30 
32  void setOutputName(const std::string& outputName) {m_outputName = outputName;}
33 
35  std::string getOutputName() {return m_outputName;}
36 
38  void setFirstCellID(int firstCellID) {m_firstCellID = firstCellID;}
39 
41  void setLastCellID(int lastCellID) {m_lastCellID = lastCellID;}
42 
44  void setAttemptLimit(int AttemptLimit) {m_AttemptLimit = AttemptLimit;}
45 
47  void setParamLimitFactor(int ParamLimitFactor) {m_ParamLimitFactor = ParamLimitFactor;}
48 
50  void setCollectorLimit(int CollectorLimit) {m_CollectorLimit = CollectorLimit;}
51 
52  protected:
53 
55  virtual EResult calibrate() override;
56 
57  private:
58 
59  std::string m_outputName = "eclWaveformTemplateCalibrationC2Algorithm.root";
63  int m_CollectorLimit = 6;
64  double m_ParamLimitFactor = 0.25;
65  int m_AttemptLimit = 10;
66  const int m_NumberofADCPoints = 31;
67  const int m_SimutaniousFitLimit = 3;
68  const int m_TotalCountsThreshold = 3;
69  double m_ParLimitFactorIterator = 0.5;
70  double m_ParLimitFactorLimit = 2.1;
71  double m_ResLimitIterator = 1.5;
72  const double m_BaseParamLimitFactor = 0.25;
74  };
75  }
77 } // namespace Belle2
78 
79 
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.