Belle II Software  release-05-01-25
XTCalibration.h
1 #include "string"
2 #include "TH2D.h"
3 #include "TH1D.h"
4 #include "TF1.h"
5 namespace Belle2 {
10  namespace CDC {
14  class XTCalibration {
15  public:
17  XTCalibration();
19  virtual ~XTCalibration() {}
21  virtual void BField(bool bfield) {m_BField = bfield;}
23  virtual void setDebug(bool debug = false) {m_debug = debug; }
25  virtual void setUseDB(bool useDB = false) {m_useDB = useDB; }
27  virtual void setMinimumNDF(double minndf) {m_ndfmin = minndf;}
29  virtual void setMinimumPval(double minPval) {m_Pvalmin = minPval;}
31  virtual void inputFileNames(std::string inputname) {m_inputRootFileNames.assign(inputname);}
33  virtual void profileFileNames(std::string profileFileName) {m_profileFileName.assign(profileFileName);}
35  virtual void useProfileFromInputXT(bool useProfileXTFromInputXT) {m_useProfileXTFromInputXT = useProfileXTFromInputXT;}
37  virtual void setXTFileName(std::string name) {m_xtfile.assign(name);}
39  virtual void setMode(unsigned short mode = 1) {m_xtmode = mode;}
41  virtual void setStoreHisto(bool storeHist = false) {m_storeHisto = storeHist;}
43  void setLRSeparate(bool lr = true) {m_LRseparate = lr;}
44 
45 
47  void execute()
48  {
49  calibrate();
50  }
51 
52  protected:
54  virtual bool calibrate();
56  virtual void readXTFromDB();
58  virtual void readXTFromText();
60  virtual void CreateHisto();
62  virtual void readProfile();
64  virtual void readXT();
66  virtual void Write();
68  virtual void storeHisto();
69 
70  private:
71  double m_ndfmin = 5;
72  double m_Pvalmin = 0.;
73  bool m_debug = false;
74  bool m_storeHisto = false;
75  bool m_useDB = false;
77  bool m_LRseparate = true;
78  bool m_useSliceFit = false;
79  bool m_BField = true;
81  double m_XT_fit[56][2][18][7][8];
82  double xtold[56][2][18][7][8];
83  int fitflag[56][2][20][10];
84  TF1* xtf5r[56][2][20][10];
86  TProfile* hprof[56][2][20][10];
87  TH2D* hist2d[56][2][20][10];
88  TH2D* hist2d_draw[56][20][10];
89  TH1D* hist2d_1[56][2][20][10];
90  /*********************************
91  Fit Flag
92  =-1: low statitic
93  =1: good
94  =0: Fit failure
95  =2: Error Outer
96  =3: Error Inner part;
97  **********************************/
98 
99  std::string m_OutputXTFileName = "xt_new.dat";
100  std::string m_inputRootFileNames = "rootfile/output*";
101  std::string m_profileFileName = "xt_profile";
102  std::string m_xtfile = "cdc/data/xt.dat";
107  int m_lastRun;
109  // double m_alpha[18][3];//alpha bin, 18bin, 0=low, 1 = up, 2 = alpha
110  //double m_theta[10][3];//alpha bin, 18bin, 0=low, 1 = up, 2 = alpha
111  // unsigned short m_xtParamMode; /*!< Mode for xt parameterization */
112  //unsigned short m_nXtParams; /*!< no. of xt parameters per bin */
113  int m_nalpha;
114  int m_ntheta;
115  double l_alpha[18];
116  double u_alpha[18];
117  double ialpha[18];
118  double l_theta[7];
119  double u_theta[7];
120  double itheta[7];
124  double l_alpha_old[18];
125  double u_alpha_old[18];
126  double ialpha_old[18];
127  double l_theta_old[7];
128  double u_theta_old[7];
129  double itheta_old[7];
131  unsigned short xtmode_old;
132  int m_MAXalpha = 18;
133  int m_MAXtheta = 7;
134  unsigned short m_xtmode = 1;
136  double m_par6[56] = {89, 91, 94, 99, 104, 107, 110, 117,
138  126, 144, 150, 157, 170, 180,
139  160, 167, 183, 205, 200, 194,
140  177, 189, 192, 206, 224, 234,
141  193, 206, 209, 215, 222, 239,
142  204, 212, 217, 227, 235, 240,
143  215, 222, 230, 239, 246, 253,
144  227, 232, 239, 243, 253, 258,
145  231, 243, 246, 256, 263, 300
146  };
147 
148  };
149  }
151 }
Belle2::CDC::XTCalibration::m_storeHisto
bool m_storeHisto
Store histogram or not.
Definition: XTCalibration.h:74
Belle2::CDC::XTCalibration::setUseDB
virtual void setUseDB(bool useDB=false)
Set to run with database mode or text mode.
Definition: XTCalibration.h:25
Belle2::CDC::XTCalibration::u_alpha
double u_alpha[18]
Upper boundays of alpha bins.
Definition: XTCalibration.h:116
Belle2::CDC::XTCalibration::m_MAXtheta
int m_MAXtheta
max theta bin
Definition: XTCalibration.h:133
Belle2::CDC::XTCalibration::execute
void execute()
Run calibration.
Definition: XTCalibration.h:47
Belle2::CDC::XTCalibration::m_LRseparate
bool m_LRseparate
Separate LR in calibration or mix.
Definition: XTCalibration.h:77
Belle2::CDC::XTCalibration::hist2d_draw
TH2D * hist2d_draw[56][20][10]
2d histo for draw
Definition: XTCalibration.h:88
Belle2::CDC::XTCalibration::CreateHisto
virtual void CreateHisto()
Create histogram for calibration.
Definition: XTCalibration.cc:46
Belle2::CDC::XTCalibration::inputFileNames
virtual void inputFileNames(std::string inputname)
Input root file name, output of collector.
Definition: XTCalibration.h:31
Belle2::CDC::XTCalibration::xtmode_old
unsigned short xtmode_old
XT mode old, 0-polynomial, 1 Cheb.
Definition: XTCalibration.h:131
Belle2::CDC::XTCalibration::xtf5r
TF1 * xtf5r[56][2][20][10]
XTFunction.
Definition: XTCalibration.h:84
Belle2::CDC::XTCalibration::u_theta
double u_theta[7]
Upper boundays of theta bins.
Definition: XTCalibration.h:119
Belle2::CDC::XTCalibration::nalpha_old
int nalpha_old
number of alpha bins from input
Definition: XTCalibration.h:122
Belle2::CDC::XTCalibration::setLRSeparate
void setLRSeparate(bool lr=true)
Set LR separate mode (default is true).
Definition: XTCalibration.h:43
Belle2::CDC::XTCalibration::storeHisto
virtual void storeHisto()
Store histogram to file.
Definition: XTCalibration.cc:369
Belle2::CDC::XTCalibration::m_ndfmin
double m_ndfmin
minimum ndf required
Definition: XTCalibration.h:71
Belle2::CDC::XTCalibration::hist2d
TH2D * hist2d[56][2][20][10]
2D histo of xt
Definition: XTCalibration.h:87
Belle2::CDC::XTCalibration::readProfile
virtual void readProfile()
Read profile xt file.
Definition: XTCalibration.cc:144
Belle2::CDC::XTCalibration::l_theta
double l_theta[7]
Lower boundays of theta bins.
Definition: XTCalibration.h:118
Belle2::CDC::XTCalibration::m_profileFileName
std::string m_profileFileName
profile file name
Definition: XTCalibration.h:101
Belle2::CDC::XTCalibration::setXTFileName
virtual void setXTFileName(std::string name)
input xt file name incase text mode is used.
Definition: XTCalibration.h:37
Belle2::CDC::XTCalibration::itheta
double itheta[7]
represented alphas of theta bins.
Definition: XTCalibration.h:120
Belle2::CDC::XTCalibration::calibrate
virtual bool calibrate()
Run algo on data.
Definition: XTCalibration.cc:195
Belle2::CDC::XTCalibration::setMode
virtual void setMode(unsigned short mode=1)
set xt mode, 0 is polynimial, 1 is Chebshev polynomial
Definition: XTCalibration.h:39
Belle2::CDC::XTCalibration::XTCalibration
XTCalibration()
Constructor.
Definition: XTCalibration.cc:30
Belle2::CDC::XTCalibration::m_xtfile
std::string m_xtfile
Input xt file name, incase text mode.
Definition: XTCalibration.h:102
Belle2::CDC::XTCalibration::itheta_old
double itheta_old[7]
represented alphas of theta bins from input.
Definition: XTCalibration.h:129
Belle2::CDC::XTCalibration::m_BField
bool m_BField
with b field or none
Definition: XTCalibration.h:79
Belle2::CDC::XTCalibration::xtold
double xtold[56][2][18][7][8]
Old paremeter.
Definition: XTCalibration.h:82
Belle2::CDC::XTCalibration::m_Pvalmin
double m_Pvalmin
minimum pvalue required
Definition: XTCalibration.h:72
Belle2::CDC::XTCalibration::m_firstRun
int m_firstRun
First run.
Definition: XTCalibration.h:105
Belle2::CDC::XTCalibration::m_smallestEntryRequire
int m_smallestEntryRequire
minimum number of hit per hitosgram.
Definition: XTCalibration.h:135
Belle2::CDC::XTCalibration::setMinimumPval
virtual void setMinimumPval(double minPval)
set minimum Prob(Chi2) requirement
Definition: XTCalibration.h:29
Belle2::CDC::XTCalibration::fitflag
int fitflag[56][2][20][10]
Fit flag.
Definition: XTCalibration.h:83
Belle2::CDC::XTCalibration::m_OutputXTFileName
std::string m_OutputXTFileName
Out put xt filename.
Definition: XTCalibration.h:99
Belle2::CDC::XTCalibration::m_xtmode
unsigned short m_xtmode
Mode of xt; 0 is polynomial;1 is Chebyshev.
Definition: XTCalibration.h:134
Belle2::CDC::XTCalibration::ialpha
double ialpha[18]
represented alphas of alpha bins.
Definition: XTCalibration.h:117
Belle2::CDC::XTCalibration::m_useDB
bool m_useDB
Use Database or text mode.
Definition: XTCalibration.h:75
Belle2::CDC::XTCalibration::hist2d_1
TH1D * hist2d_1[56][2][20][10]
1D xt histo, results of slice fit
Definition: XTCalibration.h:89
Belle2::CDC::XTCalibration::useProfileFromInputXT
virtual void useProfileFromInputXT(bool useProfileXTFromInputXT)
if you want to change xt bining, you have to set this to true
Definition: XTCalibration.h:35
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::CDC::XTCalibration::readXT
virtual void readXT()
read xt paramter (wrap text mode and database mode)
Definition: XTCalibration.cc:403
Belle2::CDC::XTCalibration::l_theta_old
double l_theta_old[7]
Lower boundays of theta bins from input.
Definition: XTCalibration.h:127
Belle2::CDC::XTCalibration::m_inputRootFileNames
std::string m_inputRootFileNames
input root filename
Definition: XTCalibration.h:100
Belle2::CDC::XTCalibration::m_firstExperiment
int m_firstExperiment
First experiment.
Definition: XTCalibration.h:104
Belle2::CDC::XTCalibration::profileFileNames
virtual void profileFileNames(std::string profileFileName)
Profile file name incase you want to change the xt binning.
Definition: XTCalibration.h:33
Belle2::CDC::XTCalibration::Write
virtual void Write()
Store calibrated constand.
Definition: XTCalibration.cc:291
Belle2::CDC::XTCalibration::ntheta_old
int ntheta_old
number of theta bins from input
Definition: XTCalibration.h:123
Belle2::CDC::XTCalibration::setMinimumNDF
virtual void setMinimumNDF(double minndf)
set minimum number of degree of freedom requirement
Definition: XTCalibration.h:27
Belle2::CDC::XTCalibration::m_lastExperiment
int m_lastExperiment
Last experiment.
Definition: XTCalibration.h:106
Belle2::CDC::XTCalibration::m_debug
bool m_debug
run in debug or silent
Definition: XTCalibration.h:73
Belle2::CDC::XTCalibration::readXTFromDB
virtual void readXTFromDB()
Read old xt parameter from database.
Definition: XTCalibration.cc:534
Belle2::CDC::XTCalibration::hprof
TProfile * hprof[56][2][20][10]
Profile xt histo.
Definition: XTCalibration.h:86
Belle2::CDC::XTCalibration::u_theta_old
double u_theta_old[7]
Upper boundays of theta bins from input.
Definition: XTCalibration.h:128
Belle2::CDC::XTCalibration::readXTFromText
virtual void readXTFromText()
Read old xt parameter from text file, incase text mode is used.
Definition: XTCalibration.cc:432
Belle2::CDC::XTCalibration::m_nalpha
int m_nalpha
number of alpha bins
Definition: XTCalibration.h:113
Belle2::CDC::XTCalibration::u_alpha_old
double u_alpha_old[18]
Upper boundays of alpha bins from input.
Definition: XTCalibration.h:125
Belle2::CDC::XTCalibration::ialpha_old
double ialpha_old[18]
represented alphas of alpha bins from input.
Definition: XTCalibration.h:126
Belle2::CDC::XTCalibration::m_useSliceFit
bool m_useSliceFit
Use slice fit or profile.
Definition: XTCalibration.h:78
Belle2::CDC::XTCalibration::m_ntheta
int m_ntheta
number of theta bins
Definition: XTCalibration.h:114
Belle2::CDC::XTCalibration::m_par6
double m_par6[56]
boundary parameter for fitting, semi-experiment number
Definition: XTCalibration.h:137
Belle2::CDC::XTCalibration::setStoreHisto
virtual void setStoreHisto(bool storeHist=false)
set to store histogram or not.
Definition: XTCalibration.h:41
Belle2::CDC::XTCalibration::l_alpha
double l_alpha[18]
Lower boundays of alpha bins.
Definition: XTCalibration.h:115
Belle2::CDC::XTCalibration::l_alpha_old
double l_alpha_old[18]
Lower boundays of alpha bins from input.
Definition: XTCalibration.h:124
Belle2::CDC::XTCalibration::BField
virtual void BField(bool bfield)
set to use BField
Definition: XTCalibration.h:21
Belle2::CDC::XTCalibration::setDebug
virtual void setDebug(bool debug=false)
Run in debug or silent.
Definition: XTCalibration.h:23
Belle2::CDC::XTCalibration::~XTCalibration
virtual ~XTCalibration()
Destructor.
Definition: XTCalibration.h:19
Belle2::CDC::XTCalibration::m_lastRun
int m_lastRun
Last run.
Definition: XTCalibration.h:107
Belle2::CDC::XTCalibration
Class to perform xt calibration for drift chamber.
Definition: XTCalibration.h:14
Belle2::CDC::XTCalibration::m_XT_fit
double m_XT_fit[56][2][18][7][8]
Fitted parameter.
Definition: XTCalibration.h:81
Belle2::CDC::XTCalibration::m_useProfileXTFromInputXT
bool m_useProfileXTFromInputXT
use profile from text file or default in input xt
Definition: XTCalibration.h:76
Belle2::CDC::XTCalibration::m_MAXalpha
int m_MAXalpha
max alpha bin
Definition: XTCalibration.h:132