8const int ParticleIDBase::USE_DEDX = 1;
9const int ParticleIDBase::USE_TOF1 = 2;
10const int ParticleIDBase::USE_TOF2 = 4;
11const int ParticleIDBase::USE_TOFE = 8;
12const int ParticleIDBase::USE_TOFQ = 16;
13const int ParticleIDBase::USE_EMC = 32;
14const int ParticleIDBase::USE_MUC = 64;
15const int ParticleIDBase::USE_TOF = 128;
16const int ParticleIDBase::USE_TOFC = 256;
17const int ParticleIDBase::USE_TOFCorr = 512;
19const int ParticleIDBase::IDENTIFY_ELECTRON = 1;
20const int ParticleIDBase::IDENTIFY_MUON = 2;
21const int ParticleIDBase::IDENTIFY_PION = 4;
22const int ParticleIDBase::IDENTIFY_KAON = 8;
23const int ParticleIDBase::IDENTIFY_PROTON = 16;
25const int ParticleIDBase::PROBABILITY_PID = 1;
26const int ParticleIDBase::LIKELIHOOD_PID = 2;
27const int ParticleIDBase::NEURONNETWORK_PID = 4;
29const int ParticleIDBase::DEDX_VALID = 1;
30const int ParticleIDBase::TOF1_VALID = 2;
31const int ParticleIDBase::TOF2_VALID = 4;
32const int ParticleIDBase::TOFE_VALID = 8;
33const int ParticleIDBase::TOFQ_VALID = 16;
34const int ParticleIDBase::EMC_VALID = 32;
35const int ParticleIDBase::MUC_VALID = 64;
36const int ParticleIDBase::TOF_VALID = 128;
37const int ParticleIDBase::TOFC_VALID = 256;
38const int ParticleIDBase::TOFCorr_VALID = 512;
57 path = string(s_path);
59 char* env_path = getenv(
"PARTICLEIDROOT");
61 cout <<
" ParticleIDBase::set_path ERROR:"
62 " the environment PARTICLEIDROOT not defined " << endl;
65 path = string(env_path);
71 double mass[5] = {0.000511, 0.105658, 0.139570,0.493677, 0.938272};
72 if(n < 0 || n >=5)
return 0.0;
78 double vel = 299.792458;
84 if(chi2 < 0)
return p;
85 p = TMath::Prob(chi2,
ndof);
94 double chi2 = -0.5*offset*offset/(sigma*sigma);
95 double pdf =
exp(chi2)/(sigma*sqrt(
twoPi));
101 if(!m_trk)
return val;
109 if(!m_trk)
return val;
117 if(!m_trk)
return val;
120 val = mdcTrk->
charge() + 0.0;
125 double c1 = (y[0]-y[1])*(
x[1]-
x[2])-(
x[0]-
x[1])*(y[1]-y[2]);
126 double c2 = (
x[0]*
x[0]-
x[1]*
x[1])*(
x[1]-
x[2])-(
x[1]*
x[1]-
x[2]*
x[2])*(
x[0]-
x[1]);
128 double b1 = (y[0]-y[1])*(
x[1]*
x[1]-
x[2]*
x[2])-(
x[0]*
x[0]-
x[1]*
x[1])*(y[1]-y[2]);
129 double b2 = (
x[0]-
x[1])*(
x[1]*
x[1]-
x[2]*
x[2])-(
x[1]-
x[2])*(
x[0]*
x[0]-
x[1]*
x[1]);
131 double a = y[0] - b*
x[0]-c*
x[0]*
x[0];
132 double y1 = a + b*x1 +c*x1*x1;
139 return par[0] + y*(par[1] + y*(par[2]));
145 return par[0] + y*(par[1] + y*(par[2] + y*(par[3])));
151 return par[0] + y*(par[1] + y*(par[2] + y*(par[3] + y*(par[4]))));
EvtComplex exp(const EvtComplex &c)
double pol2(double x, double *par)
virtual int ndof() const =0
double interpolation(double *x, double *y, double x1)
double probCalculate(double chi2, int n)
double pol4(double x, double *par)
double pol3(double x, double *par)
double pdfCalculate(double offset, double sigma)
void set_path(const char *s_path=0)