316 const int par_cand( 5 );
317 const float Charge_Mass[par_cand] = { 0.00051100, 0.10566, 0.13957, 0.4937, 0.93827 };
319 double e_Par[5] = { 143.349, 1.7315, 0.192616, 2.90437, 1.08248 };
320 double Beta_Gamma[22] = { 0.373026, 0.479605, 0.586184, 0.692763, 0.799342, 782.779,
321 1565.56, 2348.34, 17.2727, 18.1245, 1.43297, 2.14946,
322 12.1803, 13.6132, 6.62515, 10.4109, 14.1967, 17.9825,
323 21.7683, 26.0274, 30.7596, 35.4919 };
324 double K_par[22] = { 4.64411e-05, 5.86544e-05, 8.05289e-05, 8.46981e-05, 8.92014e-05,
325 4.74517e-05, 4.51684e-05, 5.32732e-05, 6.12803e-05, 6.14592e-05,
326 8.08608e-05, 6.73184e-05, 5.46448e-05, 6.1377e-05, 6.57385e-05,
327 7.03053e-05, 6.61171e-05, 6.86824e-05, 6.246e-05, 7.25988e-05,
328 7.11034e-05, 6.24924e-05 };
329 double D_par[22] = { 0.0871504, 0.0956379, 0.117193, 0.118647, 0.127203, 0.0566449,
330 0.0529198, 0.0642525, 0.0764562, 0.081341, 0.0952263, 0.0987536,
331 0.0639901, 0.0845994, 0.0777062, 0.0823206, 0.0783874, 0.079537,
332 0.0815792, 0.0849875, 0.0824751, 0.0776296 };
333 double DSqr_par[22] = { 0.00759519, 0.0091466, 0.0137341, 0.0140772, 0.0161807,
334 0.00320864, 0.00280051, 0.00412839, 0.00584555, 0.00661636,
335 0.00906805, 0.00975227, 0.00409473, 0.00715706, 0.00603826,
336 0.00677668, 0.00614458, 0.00632613, 0.00665516, 0.00722288,
337 0.00680214, 0.00602635 };
339 beta_G = mom / Charge_Mass[
Particle];
340 if ( beta_G < 0.3 ) beta_G = 0.3;
341 double bet = beta_G / TMath::Sqrt( beta_G * beta_G + 1 );
342 double fterm = TMath::Log( e_Par[2] + 1 / pow( beta_G, e_Par[4] ) );
344 e_Par[0] / pow( bet, e_Par[3] ) * ( e_Par[1] - pow( bet, e_Par[3] ) - fterm );
345 TGraphErrors* gr1 =
new TGraphErrors( 22, Beta_Gamma, K_par, 0, 0 );
346 TGraphErrors* gr2 =
new TGraphErrors( 22, Beta_Gamma, DSqr_par, 0, 0 );
350 par[1] = gr1->Eval( m_theta );
351 par[2] = gr2->Eval( m_theta );
352 Double_t y = fabs(
cos( m_theta ) );
353 double electron_par[3] = { 334.032, 6.20658e-05, 0.00525673 };
354 double arg = TMath::Sqrt( y * y + par[2] );
356 double cal_factor = TMath::Exp( -( par[1] * par[0] ) /
arg );
357 double arg_electron = TMath::Sqrt( y * y + electron_par[2] );
360 double electron_factor = TMath::Exp( -( electron_par[1] * electron_par[0] ) / arg_electron );
362 double dedx_cal = dEdx / ( cal_factor / electron_factor );