Belle II Software  release-05-02-19
SVDCoGTimeCalibrationAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Luigi Corona, Giulia Casarosa *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 
13 #include <calibration/CalibrationAlgorithm.h>
14 
15 #include <optional>
16 
17 namespace Belle2 {
25  class SVDCoGTimeCalibrationAlgorithm : public CalibrationAlgorithm {
26  public:
27 
29  explicit SVDCoGTimeCalibrationAlgorithm(const std::string& str);
30 
33 
35  void setAllowedTimeShift(float value) {m_allowedTimeShift = value;}
36 
38  float getAllowedTimeShift() {return m_allowedTimeShift;}
39 
41  void setMinEntries(int minEntries) {m_minEntries = minEntries;}
42 
44  int getMinEntries() {return m_minEntries;}
45 
46  protected:
47 
49  virtual EResult calibrate() override;
50 
53  virtual bool isBoundaryRequired(const Calibration::ExpRun& currentRun) override;
54 
56  virtual void boundaryFindingSetup(std::vector<Calibration::ExpRun> /*runs*/, int /*iteration = 0*/) override
57  {
59  }
60 
61 
62  private:
63 
64  std::string m_id = "";
65  std::optional<float> m_previousRawTimeMeanL3V;
67  float m_allowedTimeShift = 2.;
68  float m_minEntries = 10000;
69  };
71 } // namespace Belle2
72 
73 
Belle2::SVDCoGTimeCalibrationAlgorithm::isBoundaryRequired
virtual bool isBoundaryRequired(const Calibration::ExpRun &currentRun) override
If the event T0 changes significantly return true.
Definition: SVDCoGTimeCalibrationAlgorithm.cc:158
Belle2::SVDCoGTimeCalibrationAlgorithm::setAllowedTimeShift
void setAllowedTimeShift(float value)
Setter for m_allowedT0Shift.
Definition: SVDCoGTimeCalibrationAlgorithm.h:43
Belle2::SVDCoGTimeCalibrationAlgorithm::m_allowedTimeShift
float m_allowedTimeShift
Allowed EventT0 shift.
Definition: SVDCoGTimeCalibrationAlgorithm.h:75
Belle2::SVDCoGTimeCalibrationAlgorithm::m_previousRawTimeMeanL3V
std::optional< float > m_previousRawTimeMeanL3V
CoG time mean of the previous run for V side of layer 3.
Definition: SVDCoGTimeCalibrationAlgorithm.h:73
Belle2::SVDCoGTimeCalibrationAlgorithm::getAllowedTimeShift
float getAllowedTimeShift()
Getter for m_allowedT0Shift.
Definition: SVDCoGTimeCalibrationAlgorithm.h:46
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SVDCoGTimeCalibrationAlgorithm::calibrate
virtual EResult calibrate() override
Run algo on data.
Definition: SVDCoGTimeCalibrationAlgorithm.cc:33
Belle2::SVDCoGTimeCalibrationAlgorithm::m_id
std::string m_id
Parameter given to set the UniqueID of the payload.
Definition: SVDCoGTimeCalibrationAlgorithm.h:72
Belle2::SVDCoGTimeCalibrationAlgorithm::m_minEntries
float m_minEntries
Set the minimun number of entries required in the histograms of layer 3.
Definition: SVDCoGTimeCalibrationAlgorithm.h:76
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::SVDCoGTimeCalibrationAlgorithm::boundaryFindingSetup
virtual void boundaryFindingSetup(std::vector< Calibration::ExpRun >, int) override
setup of the boundary finding
Definition: SVDCoGTimeCalibrationAlgorithm.h:64
Belle2::SVDCoGTimeCalibrationAlgorithm::setMinEntries
void setMinEntries(int minEntries)
Set the minimum entries required in the histograms.
Definition: SVDCoGTimeCalibrationAlgorithm.h:49
Belle2::SVDCoGTimeCalibrationAlgorithm::getMinEntries
int getMinEntries()
Get the minimum entries required in the histograms.
Definition: SVDCoGTimeCalibrationAlgorithm.h:52
Belle2::SVDCoGTimeCalibrationAlgorithm::~SVDCoGTimeCalibrationAlgorithm
virtual ~SVDCoGTimeCalibrationAlgorithm()
Destructor.
Definition: SVDCoGTimeCalibrationAlgorithm.h:40
Belle2::SVDCoGTimeCalibrationAlgorithm::SVDCoGTimeCalibrationAlgorithm
SVDCoGTimeCalibrationAlgorithm(const std::string &str)
Constructor set the prefix to SVDTimeCalibrationCollector.
Definition: SVDCoGTimeCalibrationAlgorithm.cc:26