Removing the dependence on AliHelix
authorbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 6 Sep 2006 09:20:27 +0000 (09:20 +0000)
committerbelikov <belikov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Wed, 6 Sep 2006 09:20:27 +0000 (09:20 +0000)
STEER/AliESDV0MI.cxx
STEER/AliESDV0MI.h
STEER/AliESDkink.cxx
STEER/AliESDkink.h

index 4d9ae02..6230b9a 100644 (file)
@@ -35,8 +35,6 @@
 #include <TMath.h>
 
 #include "AliESDV0MI.h"
-#include "AliHelix.h"
-
 
 ClassImp(AliESDV0MI)
 
@@ -397,146 +395,3 @@ Float_t AliESDV0MI::GetEffMass(UInt_t p1, UInt_t p2){
   return mass;
 }
 
-void  AliESDV0MI::Update(Float_t vertex[3])
-{
-  //
-  // updates Kink Info
-  //
-  //  Float_t distance1,distance2;
-  Float_t distance2;
-  //
-  AliHelix phelix(fParamP);
-  AliHelix mhelix(fParamM);    
-  //
-  //find intersection linear
-  //
-  Double_t phase[2][2],radius[2];
-  Int_t  points = phelix.GetRPHIintersections(mhelix, phase, radius,200);
-  Double_t delta1=10000,delta2=10000;  
-  /*
-  if (points<=0) return;
-  if (points>0){
-    phelix.LinearDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-    phelix.LinearDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-    phelix.LinearDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-  }
-  if (points==2){    
-    phelix.LinearDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-    phelix.LinearDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-    phelix.LinearDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-  }
-  distance1 = TMath::Min(delta1,delta2);
-  */
-  //
-  //find intersection parabolic
-  //
-  points = phelix.GetRPHIintersections(mhelix, phase, radius);
-  delta1=10000,delta2=10000;  
-  Double_t d1=1000.,d2=10000.;
-  Double_t err[3],angles[3];
-  if (points<=0) return;
-  if (points>0){
-    phelix.ParabolicDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-    phelix.ParabolicDCA(mhelix,phase[0][0],phase[0][1],radius[0],delta1);
-    if (TMath::Abs(fParamP.GetX()-TMath::Sqrt(radius[0])<3) && TMath::Abs(fParamM.GetX()-TMath::Sqrt(radius[0])<3)){
-      // if we are close to vertex use error parama
-      //
-      err[1] = fParamP.GetCovariance()[0]+fParamM.GetCovariance()[0]+0.05*0.05
-       +0.3*(fParamP.GetCovariance()[2]+fParamM.GetCovariance()[2]);
-      err[2] = fParamP.GetCovariance()[2]+fParamM.GetCovariance()[2]+0.05*0.05
-       +0.3*(fParamP.GetCovariance()[0]+fParamM.GetCovariance()[0]);
-      
-      phelix.GetAngle(phase[0][0],mhelix,phase[0][1],angles);
-      Double_t tfi  = TMath::Abs(TMath::Tan(angles[0]));
-      Double_t tlam = TMath::Abs(TMath::Tan(angles[1]));
-      err[0] = err[1]/((0.2+tfi)*(0.2+tfi))+err[2]/((0.2+tlam)*(0.2+tlam));
-      err[0] = ((err[1]*err[2]/((0.2+tfi)*(0.2+tfi)*(0.2+tlam)*(0.2+tlam))))/err[0];
-      phelix.ParabolicDCA2(mhelix,phase[0][0],phase[0][1],radius[0],delta1,err);
-    }
-    Double_t xd[3],xm[3];
-    phelix.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){    
-    phelix.ParabolicDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-    phelix.ParabolicDCA(mhelix,phase[1][0],phase[1][1],radius[1],delta2);
-    if (TMath::Abs(fParamP.GetX()-TMath::Sqrt(radius[1])<3) && TMath::Abs(fParamM.GetX()-TMath::Sqrt(radius[1])<3)){
-      // if we are close to vertex use error paramatrization
-      //
-      err[1] = fParamP.GetCovariance()[0]+fParamM.GetCovariance()[0]+0.05*0.05
-       +0.3*(fParamP.GetCovariance()[2]+fParamM.GetCovariance()[2]);
-      err[2] = fParamP.GetCovariance()[2]+fParamM.GetCovariance()[2]+0.05*0.05
-       +0.3*(fParamP.GetCovariance()[0]+fParamM.GetCovariance()[0]);
-      
-      phelix.GetAngle(phase[1][0],mhelix,phase[1][1],angles);
-      Double_t tfi  = TMath::Abs(TMath::Tan(angles[0]));
-      Double_t tlam = TMath::Abs(TMath::Tan(angles[1]));
-      err[0] = err[1]/((0.2+tfi)*(0.2+tfi))+err[2]/((0.2+tlam)*(0.2+tlam));     
-      err[0] = ((err[1]*err[2]/((0.2+tfi)*(0.2+tfi)*(0.2+tlam)*(0.2+tlam))))/err[0];
-      phelix.ParabolicDCA2(mhelix,phase[1][0],phase[1][1],radius[1],delta2,err);
-    }
-    Double_t xd[3],xm[3];
-    phelix.Evaluate(phase[1][0],xd);
-    mhelix.Evaluate(phase[1][1],xm);
-    d2 = (xd[0]-xm[0])*(xd[0]-xm[0])+(xd[1]-xm[1])*(xd[1]-xm[1])+(xd[2]-xm[2])*(xd[2]-xm[2]);
-  }
-  //
-  distance2 = TMath::Min(delta1,delta2);
-  if (delta1<delta2){
-    //get V0 info
-    Double_t xd[3],xm[3];
-    phelix.Evaluate(phase[0][0],xd);
-    mhelix.Evaluate(phase[0][1], xm);
-    fXr[0] = 0.5*(xd[0]+xm[0]);
-    fXr[1] = 0.5*(xd[1]+xm[1]);
-    fXr[2] = 0.5*(xd[2]+xm[2]);
-
-    Float_t wy = fParamP.GetCovariance()[0]/(fParamP.GetCovariance()[0]+fParamM.GetCovariance()[0]);
-    Float_t wz = fParamP.GetCovariance()[2]/(fParamP.GetCovariance()[2]+fParamM.GetCovariance()[2]);
-    fXr[0] = 0.5*( (1.-wy)*xd[0]+ wy*xm[0] + (1.-wz)*xd[0]+ wz*xm[0] );
-    fXr[1] = (1.-wy)*xd[1]+ wy*xm[1];
-    fXr[2] = (1.-wz)*xd[2]+ wz*xm[2];
-    //
-    phelix.GetMomentum(phase[0][0],fPP);
-    mhelix.GetMomentum(phase[0][1],fPM);
-    phelix.GetAngle(phase[0][0],mhelix,phase[0][1],fAngle);
-    fRr = TMath::Sqrt(fXr[0]*fXr[0]+fXr[1]*fXr[1]);
-  }
-  else{
-    Double_t xd[3],xm[3];
-    phelix.Evaluate(phase[1][0],xd);
-    mhelix.Evaluate(phase[1][1], xm);
-    fXr[0] = 0.5*(xd[0]+xm[0]);
-    fXr[1] = 0.5*(xd[1]+xm[1]);
-    fXr[2] = 0.5*(xd[2]+xm[2]);
-    Float_t wy = fParamP.GetCovariance()[0]/(fParamP.GetCovariance()[0]+fParamM.GetCovariance()[0]);
-    Float_t wz = fParamP.GetCovariance()[2]/(fParamP.GetCovariance()[2]+fParamM.GetCovariance()[2]);
-    fXr[0] = 0.5*( (1.-wy)*xd[0]+ wy*xm[0] + (1.-wz)*xd[0]+ wz*xm[0] );
-    fXr[1] = (1.-wy)*xd[1]+ wy*xm[1];
-    fXr[2] = (1.-wz)*xd[2]+ wz*xm[2];
-    //
-    phelix.GetMomentum(phase[1][0], fPP);
-    mhelix.GetMomentum(phase[1][1], fPM);
-    phelix.GetAngle(phase[1][0],mhelix,phase[1][1],fAngle);
-    fRr = TMath::Sqrt(fXr[0]*fXr[0]+fXr[1]*fXr[1]);
-  }
-  fDist1 = TMath::Sqrt(TMath::Min(d1,d2));
-  fDist2 = TMath::Sqrt(distance2);      
-  //            
-  //
-  Double_t v[3] = {fXr[0]-vertex[0],fXr[1]-vertex[1],fXr[2]-vertex[2]};
-  Double_t p[3] = {fPP[0]+fPM[0], fPP[1]+fPM[1],fPP[2]+fPM[2]};
-  Double_t vnorm2 = v[0]*v[0]+v[1]*v[1];
-  if (TMath::Abs(v[2])>100000) return;
-  Double_t vnorm3 = TMath::Sqrt(TMath::Abs(v[2]*v[2]+vnorm2));
-  vnorm2 = TMath::Sqrt(vnorm2);
-  Double_t pnorm2 = p[0]*p[0]+p[1]*p[1];
-  Double_t pnorm3 = TMath::Sqrt(p[2]*p[2]+pnorm2);
-  pnorm2 = TMath::Sqrt(pnorm2);  
-  fPointAngleFi = (v[0]*p[0]+v[1]*p[1])/(vnorm2*pnorm2);
-  fPointAngleTh = (v[2]*p[2]+vnorm2*pnorm2)/(vnorm3*pnorm3);  
-  fPointAngle   = (v[0]*p[0]+v[1]*p[1]+v[2]*p[2])/(vnorm3*pnorm3);
-  //
-}
-
index 55a307e..74b1fd5 100644 (file)
@@ -48,7 +48,6 @@ public:
   Int_t  GetStatus() const {return fStatus;}
   Float_t GetEffMass(UInt_t p1, UInt_t p2);
   Float_t GetProb(UInt_t p1, UInt_t p2);
-  void Update(Float_t vertex[3]);            //update
   void SetID(Int_t id){fID =id;}
   Int_t GetID() const { return fID;}
   Int_t GetIndex(Int_t i) const {return fIndex[i];}
index 36050f7..6985d95 100644 (file)
@@ -23,7 +23,6 @@
 #include <TMath.h>
 #include <TPDGCode.h>
 #include "AliESDkink.h"
-#include "AliHelix.h"
 
 
 ClassImp(AliESDkink)
@@ -78,97 +77,6 @@ void AliESDkink::SetDaughter(const AliExternalTrackParam & pdaughter){
 
 }
   
-void  AliESDkink::Update()
-{
-  //
-  // updates Kink Info
-  //
-  Float_t distance2=1000;
-  //
-  AliHelix dhelix1(fParamDaughter);
-  AliHelix mhelix(fParamMother);    
-  //
-  //find intersection linear
-  //
-  Double_t phase[2][2],radius[2];
-  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);
-  }
-  if (points==2){    
-    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,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,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,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);
-    d2 = (xd[0]-xm[0])*(xd[0]-xm[0])+(xd[1]-xm[1])*(xd[1]-xm[1])+(xd[2]-xm[2])*(xd[2]-xm[2]);
-  }
-  //
-  distance2 = TMath::Min(delta1,delta2);
-  if (delta1<delta2){
-    //get V0 info
-    //    dhelix1.Evaluate(phase[0][0],fXr);
-    Double_t xd[3],xm[3];
-    dhelix1.Evaluate(phase[0][0],xd);
-    mhelix.Evaluate(phase[0][1], xm);
-    fXr[0] = 0.5*(xd[0]+xm[0]);
-    fXr[1] = 0.5*(xd[1]+xm[1]);
-    fXr[2] = 0.5*(xd[2]+xm[2]);
-    //
-    dhelix1.GetMomentum(phase[0][0],fPdr);
-    mhelix.GetMomentum(phase[0][1],fPm);
-    dhelix1.GetAngle(phase[0][0],mhelix,phase[0][1],fAngle);
-    //fRr = TMath::Sqrt(radius[0]);
-    fRr = TMath::Sqrt(fXr[0]*fXr[0]+fXr[1]*fXr[1]);
-  }
-  else{
-    //dhelix1.Evaluate(phase[1][0],fXr);
-    Double_t xd[3],xm[3];
-    dhelix1.Evaluate(phase[1][0],xd);
-    mhelix.Evaluate(phase[1][1], xm);
-    fXr[0] = 0.5*(xd[0]+xm[0]);
-    fXr[1] = 0.5*(xd[1]+xm[1]);
-    fXr[2] = 0.5*(xd[2]+xm[2]);
-    //
-    dhelix1.GetMomentum(phase[1][0], fPdr);
-    mhelix.GetMomentum(phase[1][1], fPm);
-    dhelix1.GetAngle(phase[1][0],mhelix,phase[1][1],fAngle);
-    //    fRr = TMath::Sqrt(radius[1]); 
-    fRr = TMath::Sqrt(fXr[0]*fXr[0]+fXr[1]*fXr[1]);
-  }
-  fDist1 = TMath::Sqrt(TMath::Min(d1,d2));
-  fDist2 = TMath::Sqrt(distance2);      
-  //            
-  //
-
-}
-
 Float_t AliESDkink::GetTPCDensityFactor() const
 {
   //
index 3f29b80..a06d1f2 100644 (file)
@@ -26,7 +26,6 @@ public:
   Int_t GetID(){return fID;}
   void SetMother(const AliExternalTrackParam & pmother); 
   void SetDaughter(const AliExternalTrackParam & pdaughter);
-  void Update();            //update
   Float_t GetTPCDensityFactor() const;
   Float_t GetQt() const;    
   //