59 std::cout <<
"read tofC" << std::endl;
60 std::string tofdata_mom_file =
path +
"/share/pidparatof/tofpdata.txt";
61 ifstream inputmomdata( tofdata_mom_file.c_str(), std::ios_base::in );
64 cout <<
" can not open: " << tofdata_mom_file << endl;
68 std::string tofdata_theta_file =
path +
"/share/pidparatof/tofthetadata.txt";
69 ifstream inputthetadata( tofdata_theta_file.c_str(), std::ios_base::in );
70 if ( !inputthetadata )
72 cout <<
" can not open: " << tofdata_theta_file << endl;
76 std::string tofdata_endcap_file =
path +
"/share/pidparatof/tofendcapdata.txt";
77 ifstream inputendcapdata( tofdata_endcap_file.c_str(), std::ios_base::in );
78 if ( !inputendcapdata )
80 cout <<
" can not open: " << tofdata_endcap_file << endl;
84 std::string tofmc_mom_file =
path +
"/share/pidparatof/tofpmc.txt";
85 ifstream inputmommc( tofmc_mom_file.c_str(), std::ios_base::in );
88 cout <<
" can not open: " << tofmc_mom_file << endl;
92 std::string tofmc_theta_file =
path +
"/share/pidparatof/tofthetamc.txt";
93 ifstream inputthetamc( tofmc_theta_file.c_str(), std::ios_base::in );
96 cout <<
" can not open: " << tofmc_theta_file << endl;
100 std::string tofmc_endcap_file =
path +
"/share/pidparatof/tofendcapmc.txt";
101 ifstream inputendcapmc( tofmc_endcap_file.c_str(), std::ios_base::in );
102 if ( !inputendcapmc )
104 cout <<
" can not open: " << tofmc_endcap_file << endl;
110 for (
int i = 0; i < 5; i++ )
112 for (
int j = 0; j < 8; j++ ) { inputthetadata >> m_thetapara[i][j]; }
115 for (
int i = 0; i < 5; i++ )
117 for (
int j = 0; j < 12; j++ ) { inputmomdata >> m_momentpara[i][j]; }
120 for (
int i = 0; i < 5; i++ )
122 for (
int j = 0; j < 4; j++ ) { inputendcapdata >> m_endcappara[i][j]; }
127 for (
int i = 0; i < 5; i++ )
129 for (
int j = 0; j < 8; j++ ) { inputthetamc >> m_thetapara[i][j]; }
132 for (
int i = 0; i < 5; i++ )
134 for (
int j = 0; j < 12; j++ ) { inputmommc >> m_momentpara[i][j]; }
137 for (
int i = 0; i < 5; i++ )
139 for (
int j = 0; j < 4; j++ ) { inputendcapmc >> m_endcappara[i][j]; }
247 double offsetp = 0.0;
248 double offsetc = 0.0;
261 if ( ptrk < 0.3 ) ptemp = 0.3;
262 if ( ptrk > 1.3 ) ptemp = 1.3;
266 if ( ptrk < 0.3 ) ptemp = 0.3;
267 if ( ptrk > 1.3 ) ptemp = 1.3;
270 double plog = log( ptemp );
271 double costcos =
cos( costm );
272 offsetp =
mypol5( plog, m_momentpara[0][0], m_momentpara[0][1], m_momentpara[0][2],
273 m_momentpara[0][3], m_momentpara[0][4], m_momentpara[0][5] );
274 sigp =
mypol5( plog, m_momentpara[0][6], m_momentpara[0][7], m_momentpara[0][8],
275 m_momentpara[0][9], m_momentpara[0][10], m_momentpara[0][11] );
279 offsetc = m_endcappara[0][0];
280 sigcos = m_endcappara[0][2];
284 offsetc = m_endcappara[0][1];
285 sigcos = m_endcappara[0][3];
287 if ( fabs( costm ) <= 0.83 )
289 offsetc =
mypol3( costcos, m_thetapara[0][0], m_thetapara[0][1], m_thetapara[0][2],
291 sigcos =
mypol3( costcos, m_thetapara[0][4], m_thetapara[0][5], m_thetapara[0][6],
295 offset = offsetc + sigcos * offsetp;
297 offset = offsetp + sigp * offsetc;
306 if ( ptrk < 0.3 ) ptemp = 0.3;
307 if ( ptrk > 1.3 ) ptemp = 1.3;
311 if ( ptrk < 0.3 ) ptemp = 0.3;
312 if ( ptrk > 1.3 ) ptemp = 1.3;
315 double plog = log( ptemp );
316 double costcos =
cos( costm );
317 offsetp =
mypol5( plog, m_momentpara[1][0], m_momentpara[1][1], m_momentpara[1][2],
318 m_momentpara[1][3], m_momentpara[1][4], m_momentpara[1][5] );
319 sigp =
mypol5( plog, m_momentpara[1][6], m_momentpara[1][7], m_momentpara[1][8],
320 m_momentpara[1][9], m_momentpara[1][10], m_momentpara[1][11] );
324 offsetc = m_endcappara[1][0];
325 sigcos = m_endcappara[1][2];
329 offsetc = m_endcappara[1][1];
330 sigcos = m_endcappara[1][3];
332 if ( fabs( costm ) <= 0.83 )
334 offsetc =
mypol3( costcos, m_thetapara[1][0], m_thetapara[1][1], m_thetapara[1][2],
336 sigcos =
mypol3( costcos, m_thetapara[1][4], m_thetapara[1][5], m_thetapara[1][6],
340 offset = offsetc + sigcos * offsetp;
342 offset = offsetp + sigp * offsetc;
351 if ( ptrk < 0.3 ) ptemp = 0.3;
352 if ( ptrk > 1.6 ) ptemp = 1.6;
356 if ( ptrk < 0.3 ) ptemp = 0.3;
357 if ( ptrk > 1.6 ) ptemp = 1.6;
360 double plog = log( ptemp );
361 double costcos =
cos( costm );
362 offsetp =
mypol5( plog, m_momentpara[2][0], m_momentpara[2][1], m_momentpara[2][2],
363 m_momentpara[2][3], m_momentpara[2][4], m_momentpara[2][5] );
364 sigp =
mypol5( plog, m_momentpara[2][6], m_momentpara[2][7], m_momentpara[2][8],
365 m_momentpara[2][9], m_momentpara[2][10], m_momentpara[2][11] );
369 offsetc = m_endcappara[2][0];
370 sigcos = m_endcappara[2][2];
374 offsetc = m_endcappara[2][1];
375 sigcos = m_endcappara[2][3];
377 if ( fabs( costm ) <= 0.83 )
379 offsetc =
mypol3( costcos, m_thetapara[2][0], m_thetapara[2][1], m_thetapara[2][2],
381 sigcos =
mypol3( costcos, m_thetapara[2][4], m_thetapara[2][5], m_thetapara[2][6],
385 offset = offsetc + sigcos * offsetp;
387 offset = offsetp + sigp * offsetc;
396 if ( ptrk < 0.4 ) ptemp = 0.4;
397 if ( ptrk > 1.3 ) ptemp = 1.3;
401 if ( ptrk < 0.4 ) ptemp = 0.4;
402 if ( ptrk > 1.3 ) ptemp = 1.3;
404 double plog = log( ptemp );
405 double costcos =
cos( costm );
406 offsetp =
mypol5( plog, m_momentpara[3][0], m_momentpara[3][1], m_momentpara[3][2],
407 m_momentpara[3][3], m_momentpara[3][4], m_momentpara[3][5] );
408 sigp =
mypol5( plog, m_momentpara[3][6], m_momentpara[3][7], m_momentpara[3][8],
409 m_momentpara[3][9], m_momentpara[3][10], m_momentpara[3][11] );
413 offsetc = m_endcappara[3][0];
414 sigcos = m_endcappara[3][2];
418 offsetc = m_endcappara[3][1];
419 sigcos = m_endcappara[3][3];
421 if ( fabs( costm ) <= 0.83 )
423 offsetc =
mypol3( costcos, m_thetapara[3][0], m_thetapara[3][1], m_thetapara[3][2],
425 sigcos =
mypol3( costcos, m_thetapara[3][4], m_thetapara[3][5], m_thetapara[3][6],
429 offset = offsetc + sigcos * offsetp;
431 offset = offsetp + sigp * offsetc;
440 if ( ptrk < 0.5 ) ptemp = 0.5;
441 if ( ptrk > 1.3 ) ptemp = 1.3;
445 if ( ptrk < 0.5 ) ptemp = 0.5;
446 if ( ptrk > 1.3 ) ptemp = 1.3;
448 double plog = log( ptemp );
449 double costcos =
cos( costm );
450 offsetp =
mypol5( plog, m_momentpara[4][0], m_momentpara[4][1], m_momentpara[4][2],
451 m_momentpara[4][3], m_momentpara[4][4], m_momentpara[4][5] );
452 sigp =
mypol5( plog, m_momentpara[4][6], m_momentpara[4][7], m_momentpara[4][8],
453 m_momentpara[4][9], m_momentpara[4][10], m_momentpara[4][11] );
457 offsetc = m_endcappara[4][0];
458 sigcos = m_endcappara[4][2];
462 offsetc = m_endcappara[4][1];
463 sigcos = m_endcappara[4][3];
465 if ( fabs( costm ) <= 0.83 )
467 offsetc =
mypol3( costcos, m_thetapara[4][0], m_thetapara[4][1], m_thetapara[4][2],
469 sigcos =
mypol3( costcos, m_thetapara[4][4], m_thetapara[4][5], m_thetapara[4][6],
473 offset = offsetc + sigcos * offsetp;
475 offset = offsetp + sigp * offsetc;
479 default:
offset = 0.0;
break;
499 if ( ptrk < 0.3 ) ptemp = 0.3;
500 if ( ptrk > 1.3 ) ptemp = 1.3;
504 if ( ptrk < 0.3 ) ptemp = 0.3;
505 if ( ptrk > 1.3 ) ptemp = 1.3;
508 double plog = log( ptemp );
509 double costcos =
cos( costm );
511 sigmap =
mypol5( plog, m_momentpara[0][6], m_momentpara[0][7], m_momentpara[0][8],
512 m_momentpara[0][9], m_momentpara[0][10], m_momentpara[0][11] );
514 if ( costm < -0.83 ) { sigmac = m_endcappara[0][2]; }
515 if ( costm > 0.83 ) { sigmac = m_endcappara[0][3]; }
516 if ( fabs( costm ) < 0.83 )
518 sigmac =
mypol3( costcos, m_thetapara[0][4], m_thetapara[0][5], m_thetapara[0][6],
522 sigma = sigmap * sigmac;
532 if ( ptrk < 0.3 ) ptemp = 0.3;
533 if ( ptrk > 1.3 ) ptemp = 1.3;
537 if ( ptrk < 0.3 ) ptemp = 0.3;
538 if ( ptrk > 1.3 ) ptemp = 1.3;
541 double plog = log( ptemp );
542 double costcos =
cos( costm );
544 sigmap =
mypol5( plog, m_momentpara[1][6], m_momentpara[1][7], m_momentpara[1][8],
545 m_momentpara[1][9], m_momentpara[1][10], m_momentpara[1][11] );
547 if ( costm < -0.83 ) { sigmac = m_endcappara[1][2]; }
548 if ( costm > 0.83 ) { sigmac = m_endcappara[1][3]; }
549 if ( fabs( costm ) < 0.83 )
551 sigmac =
mypol3( costcos, m_thetapara[1][4], m_thetapara[1][5], m_thetapara[1][6],
555 sigma = sigmap * sigmac;
565 if ( ptrk < 0.3 ) ptemp = 0.3;
566 if ( ptrk > 1.6 ) ptemp = 1.6;
570 if ( ptrk < 0.3 ) ptemp = 0.3;
571 if ( ptrk > 1.6 ) ptemp = 1.6;
574 double plog = log( ptemp );
575 double costcos =
cos( costm );
576 sigmap =
mypol5( plog, m_momentpara[2][6], m_momentpara[2][7], m_momentpara[2][8],
577 m_momentpara[2][9], m_momentpara[2][10], m_momentpara[2][11] );
579 if ( costm < -0.83 ) { sigmac = m_endcappara[2][2]; }
580 if ( costm > 0.83 ) { sigmac = m_endcappara[2][3]; }
581 if ( fabs( costm ) < 0.83 )
583 sigmac =
mypol3( costcos, m_thetapara[2][4], m_thetapara[2][5], m_thetapara[2][6],
587 sigma = sigmap * sigmac;
599 if ( ptrk < 0.4 ) ptemp = 0.4;
600 if ( ptrk > 1.3 ) ptemp = 1.3;
604 if ( ptrk < 0.4 ) ptemp = 0.4;
605 if ( ptrk > 1.3 ) ptemp = 1.3;
607 double plog = log( ptemp );
608 double costcos =
cos( costm );
609 sigmap =
mypol5( plog, m_momentpara[3][6], m_momentpara[3][7], m_momentpara[3][8],
610 m_momentpara[3][9], m_momentpara[3][10], m_momentpara[3][11] );
612 if ( costm < -0.83 ) { sigmac = m_endcappara[3][2]; }
613 if ( costm > 0.83 ) { sigmac = m_endcappara[3][3]; }
614 if ( fabs( costm ) < 0.83 )
616 sigmac =
mypol3( costcos, m_thetapara[3][4], m_thetapara[3][5], m_thetapara[3][6],
620 sigma = sigmap * sigmac;
630 if ( ptrk < 0.5 ) ptemp = 0.5;
631 if ( ptrk > 1.3 ) ptemp = 1.3;
635 if ( ptrk < 0.5 ) ptemp = 0.5;
636 if ( ptrk > 1.3 ) ptemp = 1.3;
638 double plog = log( ptemp );
639 double costcos =
cos( costm );
640 sigmap =
mypol5( plog, m_momentpara[4][6], m_momentpara[4][7], m_momentpara[4][8],
641 m_momentpara[4][9], m_momentpara[4][10], m_momentpara[4][11] );
643 if ( costm < -0.83 ) { sigmac = m_endcappara[4][2]; }
644 if ( costm > 0.83 ) { sigmac = m_endcappara[4][3]; }
645 if ( fabs( costm ) < 0.83 )
647 sigmac =
mypol3( costcos, m_thetapara[4][4], m_thetapara[4][5], m_thetapara[4][6],
651 sigma = sigmap * sigmac;
656 default:
sigma = 1.0;
break;