Belle II Software  release-05-02-19
T0CalibrationAlgorithm.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: CDC Group *
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 <cdc/dbobjects/CDCGeometry.h>
15 #include <framework/database/DBObjPtr.h>
16 #include "string"
17 namespace Belle2 {
22  namespace CDC {
26  class T0CalibrationAlgorithm: public CalibrationAlgorithm {
27  public:
33  void storeHisto(bool storeHist = false) {m_storeHisto = storeHist;}
35  void setMinimumNDF(double minndf) {m_ndfmin = minndf;}
37  void setMinimumPval(double minPval) {m_Pvalmin = minPval;}
39  void setMaxRMSDt(double maxRMSDt) {m_maxRMSDt = maxRMSDt;}
41  void setMaxMeanDt(double maxMeanDt) {m_maxMeanDt = maxMeanDt;}
42 
44  void setCommonT0(double commonT0) {m_commonT0 = commonT0;}
45 
47  void enableTextOutput(bool output = true) {m_textOutput = output;}
48 
50  void setOutputFileName(std::string outputname) {m_outputT0FileName.assign(outputname);}
51 
53  void setHistFileName(const std::string& name) {m_histName = "histT0_" + name + ".root";}
54 
55  protected:
57  EResult calibrate() override;
59  void createHisto();
61  void write();
63  double getMeanT0(TH1F* h1);
64  private:
65  TH1F* m_hTotal;
66  TH1F* m_h1[56][385];
67  TH1F* m_hT0b[300];
68  double m_xmin = 0.07;
69  double m_ndfmin = 5;
70  double m_Pvalmin = 0.;
71  /*Condition to stop iterate minDt <m_maxDt and rmsDt<m_maxRMS*/
72  double m_maxMeanDt = 0.15;
73  double m_maxRMSDt = 0.8;
74  double dt[56][385] = {{0.}};
75  double err_dt[56][385] = {{0.}};
76  double dtb[300] = {0.};
77  double err_dtb[300] = {0.};
78  double m_commonT0 = 4825.;
80  bool m_storeHisto = false;
81  bool m_textOutput = false;
82  std::string m_outputT0FileName = "t0_new.dat";
83  std::string m_histName = "histT0.root";
85  };
86  }// name space CDC
88 } // namespace Belle2
89 
Belle2::CDC::T0CalibrationAlgorithm::m_Pvalmin
double m_Pvalmin
minimum pvalue required
Definition: T0CalibrationAlgorithm.h:78
Belle2::CDC::T0CalibrationAlgorithm::m_ndfmin
double m_ndfmin
minimum ndf required
Definition: T0CalibrationAlgorithm.h:77
Belle2::CDC::T0CalibrationAlgorithm::setMaxRMSDt
void setMaxRMSDt(double maxRMSDt)
Maximum RMS of dt of all channels distribution, condition to stop iterating.
Definition: T0CalibrationAlgorithm.h:47
Belle2::CDC::T0CalibrationAlgorithm::m_maxRMSDt
double m_maxRMSDt
RMS of dT distribution of all channels.
Definition: T0CalibrationAlgorithm.h:81
Belle2::CDC::T0CalibrationAlgorithm::setMinimumNDF
void setMinimumNDF(double minndf)
minimum ndf require for track.
Definition: T0CalibrationAlgorithm.h:43
Belle2::CDC::T0CalibrationAlgorithm::err_dt
double err_dt[56][385]
error of dt of each channel
Definition: T0CalibrationAlgorithm.h:83
Belle2::CDC::T0CalibrationAlgorithm::setMaxMeanDt
void setMaxMeanDt(double maxMeanDt)
Maximum mean of dt of all channels distribution, condition to stop iterating.
Definition: T0CalibrationAlgorithm.h:49
Belle2::CDC::T0CalibrationAlgorithm::m_commonT0
double m_commonT0
A common T0 of all channels.
Definition: T0CalibrationAlgorithm.h:86
Belle2::CDC::T0CalibrationAlgorithm::m_storeHisto
bool m_storeHisto
store histo or not
Definition: T0CalibrationAlgorithm.h:88
Belle2::CDC::T0CalibrationAlgorithm::m_hTotal
TH1F * m_hTotal
1D histogram of delta T whole channel
Definition: T0CalibrationAlgorithm.h:73
Belle2::CDC::T0CalibrationAlgorithm::setHistFileName
void setHistFileName(const std::string &name)
Set name for histogram output.
Definition: T0CalibrationAlgorithm.h:61
Belle2::CDC::T0CalibrationAlgorithm::m_maxMeanDt
double m_maxMeanDt
Mean of dT distribution of all channels;.
Definition: T0CalibrationAlgorithm.h:80
Belle2::CDC::T0CalibrationAlgorithm::m_outputT0FileName
std::string m_outputT0FileName
output t0 file name for text file
Definition: T0CalibrationAlgorithm.h:90
Belle2::CDC::T0CalibrationAlgorithm::m_xmin
double m_xmin
minimum drift length
Definition: T0CalibrationAlgorithm.h:76
Belle2::DBObjPtr
Class for accessing objects in the database.
Definition: DBObjPtr.h:31
Belle2::CDC::T0CalibrationAlgorithm::m_h1
TH1F * m_h1[56][385]
1D histogram for each channel
Definition: T0CalibrationAlgorithm.h:74
Belle2::CDC::T0CalibrationAlgorithm::setCommonT0
void setCommonT0(double commonT0)
set common T0
Definition: T0CalibrationAlgorithm.h:52
Belle2::CDC::T0CalibrationAlgorithm::m_histName
std::string m_histName
root file name
Definition: T0CalibrationAlgorithm.h:91
Belle2::CDC::T0CalibrationAlgorithm::enableTextOutput
void enableTextOutput(bool output=true)
Enable text output of calibration result.
Definition: T0CalibrationAlgorithm.h:55
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDC::T0CalibrationAlgorithm::createHisto
void createHisto()
create histo for each channel
Definition: T0CalibrationAlgorithm.cc:30
Belle2::CDC::T0CalibrationAlgorithm::dt
double dt[56][385]
dt of each channel
Definition: T0CalibrationAlgorithm.h:82
Belle2::CDC::T0CalibrationAlgorithm::getMeanT0
double getMeanT0(TH1F *h1)
calculate mean of the T0 distribution
Definition: T0CalibrationAlgorithm.cc:358
Belle2::CDC::T0CalibrationAlgorithm::setMinimumPval
void setMinimumPval(double minPval)
minimum pvalue requirement.
Definition: T0CalibrationAlgorithm.h:45
Belle2::CalibrationAlgorithm::EResult
EResult
The result of calibration.
Definition: CalibrationAlgorithm.h:50
Belle2::CDC::T0CalibrationAlgorithm::m_cdcGeo
DBObjPtr< CDCGeometry > m_cdcGeo
Geometry of CDC.
Definition: T0CalibrationAlgorithm.h:92
Belle2::CDC::T0CalibrationAlgorithm::m_textOutput
bool m_textOutput
output text file if true
Definition: T0CalibrationAlgorithm.h:89
Belle2::CDC::T0CalibrationAlgorithm::~T0CalibrationAlgorithm
~T0CalibrationAlgorithm()
Destructor.
Definition: T0CalibrationAlgorithm.h:39
Belle2::CDC::T0CalibrationAlgorithm::dtb
double dtb[300]
dt of each board
Definition: T0CalibrationAlgorithm.h:84
Belle2::CDC::T0CalibrationAlgorithm::err_dtb
double err_dtb[300]
error of dt of board
Definition: T0CalibrationAlgorithm.h:85
Belle2::CDC::T0CalibrationAlgorithm::calibrate
EResult calibrate() override
Run algo on data.
Definition: T0CalibrationAlgorithm.cc:106
Belle2::CDC::T0CalibrationAlgorithm::write
void write()
write outut or store db
Definition: T0CalibrationAlgorithm.cc:280
Belle2::CDC::T0CalibrationAlgorithm::T0CalibrationAlgorithm
T0CalibrationAlgorithm()
Constructor.
Definition: T0CalibrationAlgorithm.cc:22
Belle2::CDC::T0CalibrationAlgorithm::setOutputFileName
void setOutputFileName(std::string outputname)
output xt T0 file name (for text mode)
Definition: T0CalibrationAlgorithm.h:58
Belle2::CDC::T0CalibrationAlgorithm::storeHisto
void storeHisto(bool storeHist=false)
store Hisotgram or not.
Definition: T0CalibrationAlgorithm.h:41
Belle2::CDC::T0CalibrationAlgorithm::m_hT0b
TH1F * m_hT0b[300]
1D histogram for each board
Definition: T0CalibrationAlgorithm.h:75