Belle II Software  release-05-02-19
TestCalibrationAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Tadeas Bilka *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <calibration/CalibrationAlgorithm.h>
13 #include <optional>
14 
15 namespace Belle2 {
23  class TestCalibrationAlgorithm : public CalibrationAlgorithm {
24  public:
25 
28 
30  virtual ~TestCalibrationAlgorithm() {}
31 
33  void setForceFail(bool forceFail) {m_forceFail = forceFail;}
34 
36  bool getForceFail() {return m_forceFail;}
37 
39  void setMinEntries(int minEntries) {m_minEntries = minEntries;}
40 
42  int getMinEntries() {return m_minEntries;}
43 
45  void setDebugHisto(bool debugHisto) {m_debugHisto = debugHisto;}
46 
48  void setAllowedMeanShift(float value) {m_allowedMeanShift = value;}
49 
51  float getAllowedMeanShift() {return m_allowedMeanShift;}
52 
53  protected:
54 
56  virtual EResult calibrate() override;
57 
59  virtual bool isBoundaryRequired(const Calibration::ExpRun& currentRun) override;
60 
62  // Notice that we comment out the argument names because we want to avoid compiler warnings about not using them.
63  virtual void boundaryFindingSetup(std::vector<Calibration::ExpRun> /*runs*/, int /*iteration = 0*/) override
64  {
65  m_previousMean.reset();
66  };
67 
68  private:
69 
71  int m_minEntries = 100;
72 
74  int m_forceFail = false;
75 
77  int m_debugHisto = false;
78 
80  void createDebugHistogram();
81 
83  std::optional<float> m_previousMean;
84 
86  float m_allowedMeanShift = 0.5;
87  };
89 } // namespace Belle2
Belle2::TestCalibrationAlgorithm::setAllowedMeanShift
void setAllowedMeanShift(float value)
Setter for m_allowedMeanShift.
Definition: TestCalibrationAlgorithm.h:56
Belle2::TestCalibrationAlgorithm::getForceFail
bool getForceFail()
getter for m_willFail
Definition: TestCalibrationAlgorithm.h:44
Belle2::TestCalibrationAlgorithm::m_allowedMeanShift
float m_allowedMeanShift
Configurable parameter for deciding when to choose a new payload boundary (if used)
Definition: TestCalibrationAlgorithm.h:94
Belle2::TestCalibrationAlgorithm::m_debugHisto
int m_debugHisto
Set if a debugging histogram should be created in the algorithm output directory.
Definition: TestCalibrationAlgorithm.h:85
Belle2::TestCalibrationAlgorithm::setForceFail
void setForceFail(bool forceFail)
setter for m_willFail
Definition: TestCalibrationAlgorithm.h:41
Belle2::TestCalibrationAlgorithm::m_previousMean
std::optional< float > m_previousMean
During isBoundaryRequired this is used to define the previous run's mean.
Definition: TestCalibrationAlgorithm.h:91
Belle2::TestCalibrationAlgorithm::~TestCalibrationAlgorithm
virtual ~TestCalibrationAlgorithm()
Destructor.
Definition: TestCalibrationAlgorithm.h:38
Belle2::TestCalibrationAlgorithm::m_forceFail
int m_forceFail
Force always fail for testing.
Definition: TestCalibrationAlgorithm.h:82
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TestCalibrationAlgorithm::setMinEntries
void setMinEntries(int minEntries)
setter for m_minEntries
Definition: TestCalibrationAlgorithm.h:47
Belle2::TestCalibrationAlgorithm::setDebugHisto
void setDebugHisto(bool debugHisto)
setter for m_debugHisto
Definition: TestCalibrationAlgorithm.h:53
Belle2::TestCalibrationAlgorithm::createDebugHistogram
void createDebugHistogram()
Perform debug histogram file creation.
Definition: TestCalibrationAlgorithm.cc:30
Belle2::TestCalibrationAlgorithm::m_minEntries
int m_minEntries
Set when c_NotEnoughData will be returned.
Definition: TestCalibrationAlgorithm.h:79
Belle2::TestCalibrationAlgorithm::getAllowedMeanShift
float getAllowedMeanShift()
Getter for m_allowedMeanShift.
Definition: TestCalibrationAlgorithm.h:59
Belle2::TestCalibrationAlgorithm::calibrate
virtual EResult calibrate() override
Run algo on data.
Definition: TestCalibrationAlgorithm.cc:49
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::TestCalibrationAlgorithm::boundaryFindingSetup
virtual void boundaryFindingSetup(std::vector< Calibration::ExpRun >, int) override
Start boundary finding mode, we simply set the previous mean to be a silly amount.
Definition: TestCalibrationAlgorithm.h:71
Belle2::TestCalibrationAlgorithm::TestCalibrationAlgorithm
TestCalibrationAlgorithm()
Constructor set the prefix to TestCalibration.
Definition: TestCalibrationAlgorithm.cc:18
Belle2::TestCalibrationAlgorithm::getMinEntries
int getMinEntries()
getter for m_minEntries
Definition: TestCalibrationAlgorithm.h:50
Belle2::TestCalibrationAlgorithm::isBoundaryRequired
virtual bool isBoundaryRequired(const Calibration::ExpRun &currentRun) override
Decide if a run should be a payload boundary. Only used in certain Python Algorithm Starategies.
Definition: TestCalibrationAlgorithm.cc:132