- Double_t r00=cerry*cerry, r01=0., r11=cerrz*cerrz;
- r00+=fC00; r01+=fC10; r11+=fC11;
- //
- Double_t det=r00*r11 - r01*r01;
- if (TMath::Abs(det) < 1.e-30) {
- Int_t n=GetNumberOfClusters();
- if (n>kWARN)
- Warning("GetPredictedChi2","Singular matrix (%d) !\n",n);
- return 1e10;
- }
- Double_t tmp=r00; r00=r11; r11=tmp; r01=-r01;
-
- Double_t dy=cy - fP0, dz=cz - fP1;
-
- return (dy*r00*dy + 2*r01*dy*dz + dz*r11*dz)/det;
-}
-
-//____________________________________________________________________________
-Int_t AliITStrackMI::CorrectForMaterial(Double_t d, Double_t x0) {
- //------------------------------------------------------------------
- //This function corrects the track parameters for crossed material
- //------------------------------------------------------------------
- // Double_t p2=(1.+ GetTgl()*GetTgl())/(Get1Pt()*Get1Pt());
- Double_t p2=(1.+ fP3*fP3)/(Get1Pt()*Get1Pt());
- Double_t et = p2 + GetMass()*GetMass();
- Double_t beta2=p2/et;
- et = sqrt(et);
- d*=TMath::Sqrt((1.+ fP3*fP3)/(1.- fP2*fP2));
- //d*=TMath::Sqrt(1.+ fP3*fP3 +fP2*fP2/(1.- fP2*fP2));
-
- //Multiple scattering******************
- if (d!=0) {
- Double_t theta2=14.1*14.1/(beta2*p2*1e6)*TMath::Abs(d);
- //Double_t theta2=1.0259e-6*14*14/28/(beta2*p2)*TMath::Abs(d)*9.36*2.33;
- fC22 += theta2*(1.- fP2*fP2)*(1. + fP3*fP3);
- fC33 += theta2*(1. + fP3*fP3)*(1. + fP3*fP3);
- fC43 += theta2*fP3*fP4*(1. + fP3*fP3);
- fC44 += theta2*fP3*fP4*fP3*fP4;
- }
-
- //Energy losses************************
- if (x0!=0.) {
- d*=x0;
- // Double_t dE=0.153e-3/beta2*(log(5940*beta2/(1-beta2)) - beta2)*d;
- //Double_t dE=0;
- Double_t dE = 0.265*0.153e-3*(39.2-55.6*beta2+28.7*beta2*beta2+27.41/beta2)*d;
- /*
- if (beta2/(1-beta2)>3.5*3.5){
- dE=0.153e-3/beta2*(log(3.5*5940)+0.5*log(beta2/(1-beta2)) - beta2)*d;
- }
- else{
- dE=0.153e-3/beta2*(log(5940*beta2/(1-beta2)) - beta2)*d;
- dE+=0.06e-3/(beta2*beta2)*d;
- }
- */
- fP4*=(1.- et/p2*dE);
- Double_t delta44 = (dE*fP4*et/p2);
- delta44*=delta44;
- fC44+= delta44/400.;
- }
-
- if (!Invariant()) return 0;
-
- return 1;