const AliTPCRecoParam * recoParam = AliTPCReconstructor::GetRecoParam();
Int_t reject=0;
AliExternalTrackParam param(t);
+
const AliExternalTrackParam *tpcout=(t.GetFriendTrack())? ((AliESDfriendTrack*)(t.GetFriendTrack()))->GetTPCOut():0;
const AliExternalTrackParam *tpcin = t.GetInnerParam();
const AliExternalTrackParam *tpc=(tpcout)?tpcout:tpcin;
if (param.GetCovariance()[2]>kmaxC[1]*kmaxC[1]) isOK=kFALSE;
if (param.GetCovariance()[5]>kmaxC[2]*kmaxC[2]) isOK=kFALSE;
if (param.GetCovariance()[9]>kmaxC[3]*kmaxC[3]) isOK=kFALSE;
+ param.Rotate(tpc->GetAlpha());
+ Double_t oldX=param.GetX(), oldY=param.GetY(), oldZ=param.GetZ();
if (!isOK ){
param=*tpc;
isOK=kTRUE;
reject=1;
}
- param.Rotate(tpc->GetAlpha());
isOK=AliTracker::PropagateTrackToBxByBz(¶m,tpc->GetX(),t.GetMass(),2.,kFALSE);
if (param.GetCovariance()[0]>kmaxC[0]*kmaxC[0]) isOK=kFALSE;
if (param.GetCovariance()[2]>kmaxC[1]*kmaxC[1]) isOK=kFALSE;
StartTimeIntegral();
Double_t times[10]; t.GetIntegratedTimes(times); SetIntegratedTimes(times);
SetIntegratedLength(t.GetIntegratedLength());
+
+ if (GetX()>oldX) {
+ Double_t dX=GetX()-oldX, dY=GetY()-oldY, dZ=GetZ()-oldZ;
+ Double_t d=TMath::Sqrt(dX*dX + dY*dY + dZ*dZ);
+ AddTimeStep(d);
+ }
}
//_____________________________________________________________________________