Temporary fix in the calculation of the track time/length (bug #46034)
authorhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Jan 2009 16:35:53 +0000 (16:35 +0000)
committerhristov <hristov@f7af4fe6-9843-0410-8265-dc069ae4e863>
Thu, 22 Jan 2009 16:35:53 +0000 (16:35 +0000)
ITS/AliITStrackV2.cxx
ITS/AliITStrackV2.h
ITS/AliITStrackerMI.cxx

index fcac295..0fcfe39 100644 (file)
@@ -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) );
index 5231ba7..ddce1fc 100644 (file)
@@ -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);
index cf77f77..0e39231 100644 (file)
@@ -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");