17 double rob,
res,
c[5], darg, absX, roba[5];
43 for (
it = 0;
it < NTRK ; ++
it) {
45 if(trk->
Id < 0)
continue;
51 double halfPi=
M_PI/2.;
52 for (
it = 0;
it < NTRK; ++
it) {
54 if(trk->
Id < 0)
continue;
55 c[0]=
c[1]=
c[2]=
c[3]=
c[4]=0.;
56 for(
k = 0;
k < 5;
k++){
63 for (
k = 0;
k < 5; ++
k) {
64 darg =
c[
k]*
c[
k]*trk->
e[
k];
65 if(darg < 1.
e-10) darg = 1.e-10;
68 if(irob == 1)C = 1.58*Scl;
69 if(irob == 2)C = 2.9846*Scl;
70 if(irob == 3)C = 2.3849*Scl;
72 if(irob == 5)C = 1.3998*Scl;
73 if(irob == 6)C = 1.345 *Scl;
74 if(irob == 7)C = 1.2107 *Scl;
77 if(irob == 1)rob = 1. / (darg/C2 + 1.);
78 if(irob == 2)rob = C2*(1. -
exp(-darg/C2) )/darg;
79 if(irob == 3)rob = C2*
log(darg/C2 + 1.)/darg;
80 if(irob == 4)rob = 4.*(sqrt(darg / 2. + 1.) - 1.)/darg;
81 if(irob == 5)rob = 2.*C2*(absX/C -
log(absX/C + 1.))/darg;
82 if(irob == 6)rob = C>absX ? 1. : (2*C/absX - C*C/darg) ;
83 if(irob == 7)rob = halfPi>(absX/C) ? 2*C*C*(1-
cos(absX/C))/darg :
84 2*(C*absX+C*C*(1.-halfPi))/darg;
86 if(rob>0.99)roba[
k] = 1.;
88 for (
i = 0;
i < 5; ++
i)
if(roba[
i]<1.
e-3)roba[
i]=1.e-3;
90 for (
i = 0;
i < 5; ++
i) {
91 for (j = 0; j <=
i; ++j) {
93 for (
k = 0;
k < 5; ++
k) {
94 res += trk->
v[
k][
i] * trk->
e[
k] * trk->
v[
k][j]*roba[
k];
100 vk->
vk_fitterControl->vk_forcft.robres[
it] = roba[0] * roba[1] * roba[2] * roba[3] * roba[4];