From a9459f9c42e5fcf385d754fb674cbb9dd2d4733d Mon Sep 17 00:00:00 2001 From: hristov Date: Tue, 25 Nov 2003 20:23:48 +0000 Subject: [PATCH] Additional arithmetic protections (Yu.Belikov) --- ITS/AliCascadeVertexer.cxx | 6 +++--- ITS/AliITStrackerV2.cxx | 13 +++++++------ ITS/AliV0vertexer.cxx | 8 ++++---- 3 files changed, 14 insertions(+), 13 deletions(-) diff --git a/ITS/AliCascadeVertexer.cxx b/ITS/AliCascadeVertexer.cxx index 3ac3ea898e8..be8cacd3000 100644 --- a/ITS/AliCascadeVertexer.cxx +++ b/ITS/AliCascadeVertexer.cxx @@ -50,11 +50,11 @@ Int_t AliCascadeVertexer::V0sTracks2CascadeVertices(AliESD *event) { TObjArray trks(ntr); for (i=0; iGetTrack(i); - Int_t status=esdtr->GetStatus(); + UInt_t status=esdtr->GetStatus(); + UInt_t flags=AliESDtrack::kITSin|AliESDtrack::kTPCin; if ((status&AliESDtrack::kITSrefit)==0) - if ((status&AliESDtrack::kITSout)!=0 || (status&AliESDtrack::kITSin)==0) - continue; + if ((status&flags)!=status) continue; AliITStrackV2 *iotrack=new AliITStrackV2(*esdtr); iotrack->SetLabel(i); // now it is the index in array of ESD tracks diff --git a/ITS/AliITStrackerV2.cxx b/ITS/AliITStrackerV2.cxx index e12775e0bbe..ad23d4f440f 100644 --- a/ITS/AliITStrackerV2.cxx +++ b/ITS/AliITStrackerV2.cxx @@ -370,12 +370,13 @@ Int_t AliITStrackerV2::PropagateBack(AliESD *event) { ResetTrackToFollow(*t); // propagete to vertex [SR, GSI 17.02.2003] - fTrackToFollow.PropagateTo(3.,0.0028,65.19); - fTrackToFollow.PropagateToVertex(); - - // Start Time measurement [SR, GSI 17.02.2003] - fTrackToFollow.StartTimeIntegral(); - fTrackToFollow.PropagateTo(3.,-0.0028,65.19); + // Start Time measurement [SR, GSI 17.02.2003], corrected by I.Belikov + if (fTrackToFollow.PropagateTo(3.,0.0028,65.19)) { + if (fTrackToFollow.PropagateToVertex()) { + fTrackToFollow.StartTimeIntegral(); + } + fTrackToFollow.PropagateTo(3.,-0.0028,65.19); + } fTrackToFollow.ResetCovariance(); fTrackToFollow.ResetClusters(); if (RefitAt(49.,&fTrackToFollow,t)) { diff --git a/ITS/AliV0vertexer.cxx b/ITS/AliV0vertexer.cxx index f8ec53cb137..120a9265063 100644 --- a/ITS/AliV0vertexer.cxx +++ b/ITS/AliV0vertexer.cxx @@ -45,11 +45,11 @@ Int_t AliV0vertexer::Tracks2V0vertices(AliESD *event) { Int_t i; for (i=0; iGetTrack(i); - Int_t status=esd->GetStatus(); + UInt_t status=esd->GetStatus(); + UInt_t flags=AliESDtrack::kITSin|AliESDtrack::kTPCin; - if ((status&AliESDtrack::kITSrefit)==0) - if ((status&AliESDtrack::kITSout)!=0 || (status&AliESDtrack::kITSin)==0) - continue; + if ((status&AliESDtrack::kITSrefit)==0) + if ((status&flags)!=status) continue; AliITStrackV2 *iotrack=new AliITStrackV2(*esd); iotrack->SetLabel(i); // now it is the index in array of ESD tracks -- 2.31.1