335 const int par_cand( 5 );
336 const float Charge_Mass[par_cand] = {0.00051100, 0.10566, 0.13957, 0.4937, 0.93827 };
338 double e_Par[5] = {143.349, 1.7315, 0.192616, 2.90437, 1.08248};
339 double Beta_Gamma[22] ={0.373026, 0.479605, 0.586184, 0.692763, 0.799342, 782.779, 1565.56,
340 2348.34, 17.2727, 18.1245, 1.43297, 2.14946, 12.1803, 13.6132, 6.62515, 10.4109,
341 14.1967, 17.9825, 21.7683, 26.0274, 30.7596, 35.4919 };
342 double K_par[22] ={4.64411e-05, 5.86544e-05, 8.05289e-05, 8.46981e-05, 8.92014e-05, 4.74517e-05,
343 4.51684e-05, 5.32732e-05, 6.12803e-05, 6.14592e-05, 8.08608e-05, 6.73184e-05, 5.46448e-05,
344 6.1377e-05, 6.57385e-05, 7.03053e-05, 6.61171e-05, 6.86824e-05, 6.246e-05, 7.25988e-05,
345 7.11034e-05, 6.24924e-05 };
346 double D_par[22] ={0.0871504, 0.0956379, 0.117193, 0.118647, 0.127203, 0.0566449, 0.0529198,
347 0.0642525, 0.0764562, 0.081341, 0.0952263, 0.0987536, 0.0639901, 0.0845994,0.0777062,
348 0.0823206, 0.0783874, 0.079537, 0.0815792, 0.0849875, 0.0824751,0.0776296 };
349 double DSqr_par[22] = {0.00759519, 0.0091466, 0.0137341, 0.0140772, 0.0161807, 0.00320864,
350 0.00280051, 0.00412839, 0.00584555, 0.00661636, 0.00906805, 0.00975227, 0.00409473,
351 0.00715706, 0.00603826, 0.00677668, 0.00614458, 0.00632613, 0.00665516, 0.00722288,
352 0.00680214, 0.00602635};
355 if(beta_G <0.3) beta_G =0.3;
356 double bet=beta_G/TMath::Sqrt(beta_G*beta_G+1);
357 double fterm=TMath::Log(e_Par[2]+1/pow(beta_G,e_Par[4]));
358 double fitval=e_Par[0]/pow(bet,e_Par[3])*(e_Par[1]-pow(bet,e_Par[3])-fterm);
359 TGraphErrors *gr1 =
new TGraphErrors(22,Beta_Gamma, K_par,0,0);
360 TGraphErrors *gr2 =
new TGraphErrors(22,Beta_Gamma, DSqr_par,0,0);
364 par[1] = gr1->Eval(m_theta);
365 par[2] = gr2->Eval(m_theta);
366 Double_t y = fabs(
cos(m_theta));
367 double electron_par[3] ={334.032, 6.20658e-05, 0.00525673};
368 double arg= TMath::Sqrt(y*y+ par[2]);
370 double cal_factor =TMath::Exp(-(par[1]* par[0])/
arg);
371 double arg_electron = TMath::Sqrt(y*y + electron_par[2]);
373 double electron_factor = TMath::Exp(-(electron_par[1]* electron_par[0])/arg_electron);
375 double dedx_cal = dEdx/(cal_factor/electron_factor);
void dedx_pid_exp(int vflag[3], float dedx, int trkalg, int Nhit, float mom, float theta, float t0, float lsamp, double dedx_ex[5], double ex_sigma[5], double pid_prob[5], double chi_dedx[5], std::vector< double > &DedxCurve_Parameter, std::vector< double > &DedxSigma_Parameter) const