CGEM BOSS 6.6.5.i
BESIII Offline Software System
Loading...
Searching...
No Matches
DedxPID.h
Go to the documentation of this file.
1#ifndef ParticleID_DedxPID_H
2#define ParticleID_DedxPID_H
3//
4// DedxPID package: particle identification with dE/dx
5// read original chi from DstDedx,
6// make beta*gamma = p/m and dip angle cos(theta) dependent correction
7//
8// In 1st version, only the momentum dependent is taken into account
9// The corrections are made by: M.Yang, M.S. Chen, L.L. Wang, J.Y. Zhang and Y.Z. Sun
10// Author: K.L. He date: 11/12/2005, created
11//
12
14
15class DedxPID : public ParticleIDBase {
16
17 public:
18
19 static DedxPID * instance();
20 // constructor & desconstructor
22
23 void init();
24 void calculate();
25 bool IsPidInfoValid() const {return (m_ndof>0);}
26 double chi(int n) const {return m_chi[n];}
27 double prob(int n) const {return m_prob[n];}
28 double offset(int n) const {return m_offset[n];}
29 double sigma(int n) const {return m_sigma[n];}
30 int ndof() const {return m_ndof;}
31 double normPH() const { return m_normPH;}
32 double goodHits() const {return m_goodHits;}
33 int neuronPID() const {return -1;}
34 int getNhitCutDx() const {return m_nhitcutdx;}
35 void setNhitCutDx(const int nhitcuthdx = 5) {m_nhitcutdx = nhitcuthdx;}
36
37 protected:
38
40 int neuronPIDCalculation() {return -1;}
41 double offsetDedx(int n, double ptrk, double cost);
42 double sigmaDedx(int n, double ptrk, double cost);
43 int LikelihoodCalculation() {return -1;}
44 double mypol3(double x, double par0, double par1, double par2, double par3);
45 double mypol5(double x, double par0, double par1, double par2, double par3, double par4,
46 double par5);
47 void inputpar();
48 double CorrDedx(int n, double ptrk, double cost,double chi,int charge);
49 double iterate(double ptrk,double *mean,double *p);
50 double cal_par(int index1,double *m_jpsi_pip_ptrk_offset,double ptrk,double begin,double bin);
51 private:
52 double m_chi[5];
53 double m_prob[5];
54 double m_offset[5];
55 double m_sigma[5];
56 double m_chimin;
57 double m_pdfmin;
58 int m_ndof;
59 int m_nhitcutdx;
60 int m_readstate;
61 double m_normPH;
62 double m_probPH;
63 double m_goodHits;
64//lixr add
65 int m_runxx;
66
67 double m_jpsi_kap_ptrk_offset[12];
68 double m_jpsi_kap_ptrk_sigma[12];
69 double m_jpsi_kam_ptrk_offset[12];
70 double m_jpsi_kam_ptrk_sigma[12];
71 double m_jpsi_kap_theta_offset[18];
72 double m_jpsi_kap_theta_sigma[18];
73 double m_jpsi_kam_theta_offset[18];
74 double m_jpsi_kam_theta_sigma[18];
75
76 double m_jpsi_mc_kap_ptrk_offset[12];
77 double m_jpsi_mc_kap_ptrk_sigma[12];
78 double m_jpsi_mc_kam_ptrk_offset[12];
79 double m_jpsi_mc_kam_ptrk_sigma[12];
80 double m_jpsi_mc_kap_theta_offset[18];
81 double m_jpsi_mc_kap_theta_sigma[18];
82 double m_jpsi_mc_kam_theta_offset[18];
83 double m_jpsi_mc_kam_theta_sigma[18];
84
85
86
87 double m_jpsi_protonp_ptrk_offset[8];
88 double m_jpsi_protonp_ptrk_sigma[8];
89 double m_jpsi_protonm_ptrk_offset[8];
90 double m_jpsi_protonm_ptrk_sigma[8];
91 double m_jpsi_protonp_theta_offset[18];
92 double m_jpsi_protonp_theta_sigma[18];
93 double m_jpsi_protonm_theta_offset[18];
94 double m_jpsi_protonm_theta_sigma[18];
95
96
97 double m_jpsi_mc_protonp_ptrk_offset[8];
98 double m_jpsi_mc_protonp_ptrk_sigma[8];
99 double m_jpsi_mc_protonm_ptrk_offset[8];
100 double m_jpsi_mc_protonm_ptrk_sigma[8];
101 double m_jpsi_mc_protonp_theta_offset[18];
102 double m_jpsi_mc_protonp_theta_sigma[18];
103 double m_jpsi_mc_protonm_theta_offset[18];
104 double m_jpsi_mc_protonm_theta_sigma[18];
105
106
107
108//psip
109 double m_psip_kap_ptrk_offset[9];
110 double m_psip_kap_ptrk_sigma[9];
111 double m_psip_kam_ptrk_offset[9];
112 double m_psip_kam_ptrk_sigma[9];
113
114 double m_psip_mc_kap_ptrk_offset[9];
115 double m_psip_mc_kap_ptrk_sigma[9];
116 double m_psip_mc_kam_ptrk_offset[9];
117 double m_psip_mc_kam_ptrk_sigma[9];
118
119
120 double m_psip_protonp_ptrk_offset[9];
121 double m_psip_protonp_ptrk_sigma[9];
122 double m_psip_protonm_ptrk_offset[9];
123 double m_psip_protonm_ptrk_sigma[9];
124
125 double m_psip_mc_protonp_ptrk_offset[9];
126 double m_psip_mc_protonp_ptrk_sigma[9];
127 double m_psip_mc_protonm_ptrk_offset[9];
128 double m_psip_mc_protonm_ptrk_sigma[9];
129
130//psipp
131
132 double m_psipp_pi_ptrk_offset[18];
133 double m_psipp_pi_ptrk_sigma[18];
134 double m_psipp_pi_theta_offset[16];
135 double m_psipp_pi_theta_sigma[16];
136
137 double m_psipp_mc_pi_ptrk_offset[18];
138 double m_psipp_mc_pi_ptrk_sigma[18];
139 double m_psipp_mc_pi_theta_offset[16];
140 double m_psipp_mc_pi_theta_sigma[16];
141
142 double m_psipp_ka_ptrk_offset[17];
143 double m_psipp_ka_ptrk_sigma[17];
144 double m_psipp_ka_theta_offset[16];
145 double m_psipp_ka_theta_sigma[16];
146
147 double m_psipp_mc_ka_ptrk_offset[17];
148 double m_psipp_mc_ka_ptrk_sigma[17];
149 double m_psipp_mc_ka_theta_offset[16];
150 double m_psipp_mc_ka_theta_sigma[16];
151
152 double m_psipp_proton_ptrk_offset[18];
153 double m_psipp_proton_ptrk_sigma[18];
154 double m_psipp_proton_theta_offset[18];
155 double m_psipp_proton_theta_sigma[18];
156
157 double m_psipp_mc_proton_ptrk_offset[9];
158 double m_psipp_mc_proton_ptrk_sigma[9];
159 double m_psipp_mc_proton_theta_offset[18];
160 double m_psipp_mc_proton_theta_sigma[18];
161
162
163
164
165
166
167 private:
168 DedxPID();
169 static DedxPID *m_pointer;
170};
171
172#endif
const Int_t n
*******INTEGER m_nBinMax INTEGER m_NdiMax !No of bins in histogram for cell exploration division $ !Last vertex $ !Last active cell $ !Last cell in buffer $ !No of sampling when dividing cell $ !No of function total $ !Flag for random ceel for $ !Flag for type of for WtMax $ !Flag which decides whether vertices are included in the sampling $ entire domain is hyp !Maximum effective eevents per bin
Definition FoamA.h:85
double mypol3(double x, double par0, double par1, double par2, double par3)
Definition DedxPID.cxx:481
double mypol5(double x, double par0, double par1, double par2, double par3, double par4, double par5)
Definition DedxPID.cxx:488
int getNhitCutDx() const
Definition DedxPID.h:34
double sigma(int n) const
Definition DedxPID.h:29
int particleIDCalculation()
Definition DedxPID.cxx:51
int LikelihoodCalculation()
Definition DedxPID.h:43
bool IsPidInfoValid() const
Definition DedxPID.h:25
double CorrDedx(int n, double ptrk, double cost, double chi, int charge)
Definition DedxPID.cxx:134
~DedxPID()
Definition DedxPID.h:21
double sigmaDedx(int n, double ptrk, double cost)
Definition DedxPID.cxx:430
double prob(int n) const
Definition DedxPID.h:27
void inputpar()
Definition DedxPID.cxx:495
double iterate(double ptrk, double *mean, double *p)
Definition DedxPID.cxx:869
void init()
Definition DedxPID.cxx:26
int neuronPIDCalculation()
Definition DedxPID.h:40
int ndof() const
Definition DedxPID.h:30
double offsetDedx(int n, double ptrk, double cost)
Definition DedxPID.cxx:130
int neuronPID() const
Definition DedxPID.h:33
void setNhitCutDx(const int nhitcuthdx=5)
Definition DedxPID.h:35
double offset(int n) const
Definition DedxPID.h:28
double cal_par(int index1, double *m_jpsi_pip_ptrk_offset, double ptrk, double begin, double bin)
Definition DedxPID.cxx:878
void calculate()
Definition DedxPID.cxx:42
double chi(int n) const
Definition DedxPID.h:26
double normPH() const
Definition DedxPID.h:31
static DedxPID * instance()
Definition DedxPID.cxx:17
double goodHits() const
Definition DedxPID.h:32