From db355ee719a08edc8a4101ab7ffb2fcdf6ed1116 Mon Sep 17 00:00:00 2001 From: hristov Date: Thu, 22 Jan 2009 16:35:53 +0000 Subject: [PATCH] Temporary fix in the calculation of the track time/length (bug #46034) --- ITS/AliITStrackV2.cxx | 4 ++-- ITS/AliITStrackV2.h | 6 +++--- ITS/AliITStrackerMI.cxx | 5 +++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/ITS/AliITStrackV2.cxx b/ITS/AliITStrackV2.cxx index fcac295603e..0fcfe39678b 100644 --- a/ITS/AliITStrackV2.cxx +++ b/ITS/AliITStrackV2.cxx @@ -190,7 +190,7 @@ Bool_t AliITStrackV2::PropagateTo(Double_t xk, Double_t d, Double_t x0) { } //____________________________________________________________________________ -Bool_t AliITStrackV2::PropagateToTGeo(Double_t xToGo, Int_t nstep, Double_t &xOverX0, Double_t &xTimesRho) { +Bool_t AliITStrackV2::PropagateToTGeo(Double_t xToGo, Int_t nstep, Double_t &xOverX0, Double_t &xTimesRho, Bool_t addTime) { //------------------------------------------------------------------- // Propagates the track to a reference plane x=xToGo in n steps. // These n steps are only used to take into account the curvature. @@ -219,7 +219,7 @@ Bool_t AliITStrackV2::PropagateToTGeo(Double_t xToGo, Int_t nstep, Double_t &xOv } } - if (IsStartedTimeIntegral() && GetX()>startx) { + if (addTime && IsStartedTimeIntegral() && GetX()>startx) { Double_t l2 = ( (GetX()-startx)*(GetX()-startx) + (GetY()-starty)*(GetY()-starty) + (GetZ()-startz)*(GetZ()-startz) ); diff --git a/ITS/AliITStrackV2.h b/ITS/AliITStrackV2.h index 5231ba7643e..ddce1fc687c 100644 --- a/ITS/AliITStrackV2.h +++ b/ITS/AliITStrackV2.h @@ -36,9 +36,9 @@ public: return AliExternalTrackParam::CorrectForMaterial(d,x0,GetMass()); } Bool_t PropagateTo(Double_t xr, Double_t d, Double_t x0=AliITSRecoParam::GetX0Air()); - Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep, Double_t &xOverX0, Double_t &xTimesRho); - Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep=1) { - Double_t dummy1,dummy2; return PropagateToTGeo(xToGo,nstep,dummy1,dummy2); + Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep, Double_t &xOverX0, Double_t &xTimesRho, Bool_t addTime=kTRUE); + Bool_t PropagateToTGeo(Double_t xToGo, Int_t nstep=1, Bool_t addTime=kTRUE) { + Double_t dummy1,dummy2; return PropagateToTGeo(xToGo,nstep,dummy1,dummy2,addTime); } Double_t GetPredictedChi2(const AliCluster *cluster) const; Bool_t Update(const AliCluster *cl, Double_t chi2, Int_t i); diff --git a/ITS/AliITStrackerMI.cxx b/ITS/AliITStrackerMI.cxx index cf77f775edd..0e392310ae7 100644 --- a/ITS/AliITStrackerMI.cxx +++ b/ITS/AliITStrackerMI.cxx @@ -2348,7 +2348,7 @@ Bool_t AliITStrackerMI::RefitAt(Double_t xx,AliITStrackMI *track, } // end loop on layers - if (!track->Propagate(xx)) return kFALSE; + if (!track->PropagateTo(xx,0.,0.)) return kFALSE; return kTRUE; } @@ -4953,6 +4953,7 @@ Int_t AliITStrackerMI::CorrectForLayerMaterial(AliITStrackMI *t, Int_t nsteps=1; Double_t rOld,xOld; + Bool_t addTime = kFALSE; switch(mode) { case 0: xOverX0 = fgLayers[layerindex].GetThickness(t->GetY(),t->GetZ(),x0); @@ -4967,7 +4968,7 @@ Int_t AliITStrackerMI::CorrectForLayerMaterial(AliITStrackMI *t, if (!t->GetLocalXat(rOld,xOld)) return 0; if (!t->Propagate(xOld)) return 0; // back before material (no correction) nsteps = (Int_t)(TMath::Abs(xOld-xToGo)/AliITSReconstructor::GetRecoParam()->GetStepSizeTGeo())+1; - if (!t->PropagateToTGeo(xToGo,nsteps)) return 0; // cross the material and apply correction + if (!t->PropagateToTGeo(xToGo,nsteps,addTime)) return 0; // cross the material and apply correction break; case 2: if(fxOverX0Layer[layerindex]<0) BuildMaterialLUT("Layers"); -- 2.43.0