BOSS 7.1.2
BESIII Offline Software System
Loading...
Searching...
No Matches
TofCorrPID.h
Go to the documentation of this file.
1#ifndef ParticleID_TofCorrPID_H
2#define ParticleID_TofCorrPID_H
3//
4// TofCorrPID package: particle Identification with TOF
5//
6// The offset for hadrons are corrected.
7//
8// Author: SUN Shengsen, LV Meng date: 01/16/2013, created
9//
10
11
13
14class TofCorrPID : public ParticleIDBase {
15
16 public:
17
18 static TofCorrPID * instance();
20
21 void init();
22 void calculate();
23 bool IsPidInfoValid() const { return (m_ndof > 0); }
24 double chi(int n) const { return m_chi[n]; }
25 double prob(int n) const { return m_prob[n]; }
26 double offset(int n) const { return m_offset[n]; }
27 double sigma(int n) const { return m_sigma[n]; }
28 int ndof() const { return m_ndof; }
29
30 int ipmt() const { return m_ipmt; }
31 double dt(int ipar, int ipmt) const { return m_dt[ipar][ipmt]; }
32 double dtCorr(int ipar, int ipmt) const { return m_dtCorr[ipar][ipmt]; }
33 double sigCorr(int ipar, int ipmt) const { return m_sigCorr[ipar][ipmt]; }
34 double chiCorr(int ipar, int ipmt) const { return m_chiCorr[ipar][ipmt]; }
35
36 protected:
37
39 int neuronPIDCalculation() { return -1;}
40 int LikelihoodCalculation() {return -1;}
41
42 void inputParameter( int run );
43 double offsetTof( unsigned int ispecies, bool barrel, unsigned int ipmt, double betaGamma, int charge, double zrhit, double dt );
44 double offsetTof( unsigned int ispecies, int tofid, double zrhit, double betaGamma, int charge, double dt );
45 double offsetTof( unsigned int ispecies, int tofid1, int tofid2, double zrhit1, double zrhit2, double betaGamma, int charge, double dt );
46 double sigmaTof( unsigned int ispecies, int charge, bool barrel, unsigned int ipmt, int tofid[2], double zrhit[2], double betaGamma );
47 double sigmaTof( unsigned int ispecies, int charge, bool barrel, unsigned int ipmt, double zrhit, double betaGamma );
48
49 double qCurveFunc( unsigned int layer, double betaGamma );
50 double bSigma( unsigned int end, int tofid, double zrhit );
51 double bSigma( int tofid[2], double zrhit[2] );
52 double eSigma( int tofid, double zrhit );
53
54 bool correlationCheck( unsigned int ipmt );
55
56 private:
57 double m_chi[5];
58 double m_offset[5], m_sigma[5];
59 double m_prob[5];
60 double m_chimin, m_chimax;
61 double m_pdfmin;
62 int m_ndof;
63
64 private:
65 int m_ipmt;
66 double m_dt[5][7], m_dtCorr[5][7], m_sigCorr[5][7], m_chiCorr[5][7];
67
68 private:
69 int m_runBegin, m_runEnd;
70 double m_p_weight[176][3][5], m_p_common, m_ec_sigma[96][3];
71 double m_q0_bg[3][5], m_par_ab[5][2][5], m_par_pbar_ab[5][2][5];
72 double m_par_sigma[4][8][12], m_par_sig_mom[3][7][3];
73 double m_p_offset[2][4][10][20], m_p_sigma[2][7][10][20];
74 double m_p_offset_12[2][7][20][46], m_p_sigma_12[2][7][20][46];
75 double m_p_offset_ec12[2][20][7], m_p_sigma_ec12[2][20][7];
76
77 double m_par_ab_12[2][5][2][2][11];
78
79 private:
80 TofCorrPID();
81 static TofCorrPID *m_pointer;
82};
83
84#endif
const Int_t n
TGraph2DErrors * dt
Definition McCor.cxx:45
double dtCorr(int ipar, int ipmt) const
Definition TofCorrPID.h:32
int neuronPIDCalculation()
Definition TofCorrPID.h:39
void inputParameter(int run)
bool IsPidInfoValid() const
Definition TofCorrPID.h:23
double qCurveFunc(unsigned int layer, double betaGamma)
void init()
int particleIDCalculation()
double chi(int n) const
Definition TofCorrPID.h:24
int ndof() const
Definition TofCorrPID.h:28
double chiCorr(int ipar, int ipmt) const
Definition TofCorrPID.h:34
double sigCorr(int ipar, int ipmt) const
Definition TofCorrPID.h:33
double sigma(int n) const
Definition TofCorrPID.h:27
double offset(int n) const
Definition TofCorrPID.h:26
double sigmaTof(unsigned int ispecies, int charge, bool barrel, unsigned int ipmt, int tofid[2], double zrhit[2], double betaGamma)
double dt(int ipar, int ipmt) const
Definition TofCorrPID.h:31
double prob(int n) const
Definition TofCorrPID.h:25
double bSigma(unsigned int end, int tofid, double zrhit)
void calculate()
double offsetTof(unsigned int ispecies, bool barrel, unsigned int ipmt, double betaGamma, int charge, double zrhit, double dt)
static TofCorrPID * instance()
double eSigma(int tofid, double zrhit)
int LikelihoodCalculation()
Definition TofCorrPID.h:40
int ipmt() const
Definition TofCorrPID.h:30
bool correlationCheck(unsigned int ipmt)