Belle II Software  release-05-02-19
CrudeT0CalibrationAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Makoto Uchida *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 
11 #pragma once
12 #include <calibration/CalibrationAlgorithm.h>
13 #include <TH1F.h>
14 #include "vector"
15 namespace Belle2 {
20  namespace CDC {
24  class CrudeT0CalibrationAlgorithm: public CalibrationAlgorithm {
25  public:
33  virtual ~CrudeT0CalibrationAlgorithm() {}
34 
39  void setFitWindow(std::vector<unsigned short> window)
40  {
41  if (window.size() != 2) {
42  B2FATAL("Please specify [TDC_min, TDC_max]");
43  }
44  m_tdcMin = window.at(0);
45  m_tdcMax = window.at(1);
46  }
50  void setInitialValue(float t)
51  {
52  m_initT0 = t;
53  }
54 
58  void setZOffset(float z)
59  {
60  m_zOffset = z;
61  }
62 
67  void setCosmics(bool b)
68  {
69  m_cosmic = b;
70  }
71 
76  void saveHisto();
77  protected:
79  EResult calibrate() override;
81  virtual void createHisto(StoreObjPtr<EventMetaData>& evtPtr);
83  virtual void write(StoreObjPtr<EventMetaData>& evtPtr);
84  private:
85 
86  double m_t0b[300];
87  double m_t0[56][400];
88  bool m_flag[56][400] = {{false}};
90  TH1D* m_hTDC[56][400];
91  TH1D* m_hTDCBoard[300];
92  TH1D* m_hT0All;
93  unsigned short m_tdcMin = 4500;
94  unsigned short m_tdcMax = 5000;
95  float m_initT0 = 4887.;
96  unsigned short m_minEntries = 100;
97  float m_zOffset = 0.0;
98  bool m_cosmic = true;
99  };
100  }
102 }
103 
Belle2::CDC::CrudeT0CalibrationAlgorithm::createHisto
virtual void createHisto(StoreObjPtr< EventMetaData > &evtPtr)
create histo for each channel
Definition: CrudeT0CalibrationAlgorithm.cc:30
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_cosmic
bool m_cosmic
for cosmic case, tof of upper sector will be negative
Definition: CrudeT0CalibrationAlgorithm.h:106
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_hTDC
TH1D * m_hTDC[56][400]
TDC distribution histo.
Definition: CrudeT0CalibrationAlgorithm.h:98
Belle2::CDC::CrudeT0CalibrationAlgorithm::setFitWindow
void setFitWindow(std::vector< unsigned short > window)
Set window for fitting.
Definition: CrudeT0CalibrationAlgorithm.h:47
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_minEntries
unsigned short m_minEntries
minimum entries required by histo.
Definition: CrudeT0CalibrationAlgorithm.h:104
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_initT0
float m_initT0
Common initial T0 for fitting.
Definition: CrudeT0CalibrationAlgorithm.h:103
Belle2::CDC::CrudeT0CalibrationAlgorithm::~CrudeT0CalibrationAlgorithm
virtual ~CrudeT0CalibrationAlgorithm()
Destructor.
Definition: CrudeT0CalibrationAlgorithm.h:41
Belle2::CDC::CrudeT0CalibrationAlgorithm::CrudeT0CalibrationAlgorithm
CrudeT0CalibrationAlgorithm()
Constructor.
Definition: CrudeT0CalibrationAlgorithm.cc:22
Belle2::CDC::CrudeT0CalibrationAlgorithm::calibrate
EResult calibrate() override
Run algo on data.
Definition: CrudeT0CalibrationAlgorithm.cc:75
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_zOffset
float m_zOffset
z offset for calculate prop time, it is position of trigger counter,
Definition: CrudeT0CalibrationAlgorithm.h:105
Belle2::CDC::CrudeT0CalibrationAlgorithm::setZOffset
void setZOffset(float z)
Set z offset.
Definition: CrudeT0CalibrationAlgorithm.h:66
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_tdcMax
unsigned short m_tdcMax
maximum of TDC hist for fitting
Definition: CrudeT0CalibrationAlgorithm.h:102
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_t0
double m_t0[56][400]
T0 of each channel.
Definition: CrudeT0CalibrationAlgorithm.h:95
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_t0b
double m_t0b[300]
T0 for each board.
Definition: CrudeT0CalibrationAlgorithm.h:94
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_tdcMin
unsigned short m_tdcMin
minimum of TDC hist for fitting
Definition: CrudeT0CalibrationAlgorithm.h:101
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_flag
bool m_flag[56][400]
flag =1 for good, =0 for low statistic or bad fit
Definition: CrudeT0CalibrationAlgorithm.h:96
Belle2::CDC::CrudeT0CalibrationAlgorithm::setCosmics
void setCosmics(bool b)
Set cosmics mode.
Definition: CrudeT0CalibrationAlgorithm.h:75
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_hT0All
TH1D * m_hT0All
T0 distribution of all channel.
Definition: CrudeT0CalibrationAlgorithm.h:100
Belle2::CDC::CrudeT0CalibrationAlgorithm::m_hTDCBoard
TH1D * m_hTDCBoard[300]
T0 distribution of each board.
Definition: CrudeT0CalibrationAlgorithm.h:99
Belle2::CDC::CrudeT0CalibrationAlgorithm::setInitialValue
void setInitialValue(float t)
Set inital value for fitting.
Definition: CrudeT0CalibrationAlgorithm.h:58
Belle2::CDC::CrudeT0CalibrationAlgorithm::write
virtual void write(StoreObjPtr< EventMetaData > &evtPtr)
write outut or store db
Definition: CrudeT0CalibrationAlgorithm.cc:202
Belle2::CDC::CrudeT0CalibrationAlgorithm::saveHisto
void saveHisto()
Save hitograms of the calibration results.
Definition: CrudeT0CalibrationAlgorithm.cc:221