]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDkink.cxx
Additional ESD data members related to TRD tracking quality (M.Ivanov)
[u/mrichter/AliRoot.git] / STEER / AliESDkink.cxx
index a751bf878a14d7b59c4ad21aa66ee0f5b76b338b..7272275897d364ec7dd433d4afdea995520b3825 100644 (file)
@@ -32,43 +32,18 @@ AliESDkink::AliESDkink(){
   //
   //Dafault constructor
   //
-  fID = -1;
-  fDist1  = -1;
-  fDist2  = -1;
-  fPdr[0] = 0;
-  fPdr[1] = 0;
-  fPdr[2] = 0;
-  fXr[0] = 0;
-  fXr[1] = 0;
-  fXr[2] = 0;
-  fPm[0] = 0;
-  fPm[1] = 0;
-  fPm[2] = 0;
-  fAngle[0] = 0;
-  fAngle[1] = 0;
-  fAngle[2] = 0;
-  fRr     = -1;
-  fLab[0] = -1;
-  fLab[1] = -1;
-  fIndex[0] = -1;
-  fIndex[1] = -1;
-  fStatus = 0;
-  fTPCdensity[0][0]=-1;
-  fTPCdensity[0][1]=-1;
-  fTPCdensity[1][0]=-1;
-  fTPCdensity[1][1]=-1;
-  fTPCdensity2[0][0]=-1;
-  fTPCdensity2[0][1]=-1;
-  fTPCdensity2[1][0]=-1;
-  fTPCdensity2[1][1]=-1;
-  fShapeFactor = 0;
+  fDist1  =-1;
+  fDist2  =-1;
+  fRr     =-1;
+  for (Int_t i=0;i<12;i++) fStatus[i]=0;
   fRow0   =-1;
-  fMultiple[0] = 0;
-  fMultiple[1] = 0;
-  fZm[0] = 0;
-  fZm[1] = 0;
-  fFi[0] = 0;
-  fFi[1] = 0;
+  for (Int_t i=0;i<2;i++)
+    for (Int_t j=0;j<2;j++){
+      fTPCdensity[i][j]=-1;
+      fTPCdensity2[i][j]=-1;
+    }
+  fTPCncls[0]=0;
+  fTPCncls[1]=0;
 }
 
 void AliESDkink::SetMother(const AliExternalTrackParam & pmother)  {
@@ -91,7 +66,7 @@ void  AliESDkink::Update()
   //
   // updates Kink Info
   //
-  Float_t distance1,distance2;
+  Float_t distance2=1000;
   //
   AliHelix dhelix1(fParamDaughter);
   AliHelix mhelix(fParamMother);    
@@ -99,37 +74,38 @@ void  AliESDkink::Update()
   //find intersection linear
   //
   Double_t phase[2][2],radius[2];
-  Int_t  points = dhelix1.GetRPHIintersections(mhelix, phase, radius,200);
   Double_t delta1=10000,delta2=10000;  
+  Int_t points=0;
+  /*
+    Float_t distance1=0;
+  Int_t  points = dhelix1.GetRPHIintersections(mhelix, phase, radius,200);
   
   if (points>0){
     dhelix1.LinearDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-    dhelix1.LinearDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-    dhelix1.LinearDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
   }
   if (points==2){    
     dhelix1.LinearDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-    dhelix1.LinearDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-    dhelix1.LinearDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
   }
   distance1 = TMath::Min(delta1,delta2);
+  */
   //
   //find intersection parabolic
   //
-  points = dhelix1.GetRPHIintersections(mhelix, phase, radius);
+  points = dhelix1.GetRPHIintersections(mhelix, phase, radius,7);
+
   delta1=10000,delta2=10000;  
   Double_t d1=1000.,d2=10000.;
   if (points>0){
-    dhelix1.ParabolicDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-    dhelix1.ParabolicDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
+    dhelix1.ParabolicDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1,6);
+    //    dhelix1.ParabolicDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
     Double_t xd[3],xm[3];
     dhelix1.Evaluate(phase[0][0],xd);
     mhelix.Evaluate(phase[0][1],xm);
     d1 = (xd[0]-xm[0])*(xd[0]-xm[0])+(xd[1]-xm[1])*(xd[1]-xm[1])+(xd[2]-xm[2])*(xd[2]-xm[2]);
   }
   if (points==2){    
-    dhelix1.ParabolicDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-    dhelix1.ParabolicDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
+    dhelix1.ParabolicDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2,6);
+    //dhelix1.ParabolicDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
     Double_t xd[3],xm[3];
     dhelix1.Evaluate(phase[1][0],xd);
     mhelix.Evaluate(phase[1][1],xm);