]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - ITS/AliITStrackerV2.cxx
Test for Coverity
[u/mrichter/AliRoot.git] / ITS / AliITStrackerV2.cxx
index 9a3fd95af3f657e28dd87820e1ca20fbe947a7d0..5a049d032dc596311c53f1e193fb437a22c0c531 100644 (file)
@@ -282,14 +282,8 @@ Int_t AliITStrackerV2::Clusters2Tracks(AliESDEvent *event) {
       if (esd->GetStatus()&AliESDtrack::kTPCout) continue;
       if (esd->GetStatus()&AliESDtrack::kITSin) continue;
 
-      AliITStrackV2 *t=0;
-      try {
-        t=new AliITStrackV2(*esd);
-      } catch (const Char_t *msg) {
-        Warning("Clusters2Tracks",msg);
-        delete t;
-        continue;
-      }
+      AliITStrackV2 *t = new AliITStrackV2(*esd);
+
       if (TMath::Abs(t->GetD(GetX(),GetY()))>4) {
        delete t;
        continue;
@@ -363,14 +357,7 @@ Int_t AliITStrackerV2::PropagateBack(AliESDEvent *event) {
      if ((esd->GetStatus()&AliESDtrack::kITSin)==0) continue;
      if (esd->GetStatus()&AliESDtrack::kITSout) continue;
 
-     AliITStrackV2 *t=0;
-     try {
-        t=new AliITStrackV2(*esd);
-     } catch (const Char_t *msg) {
-        Warning("PropagateBack",msg);
-        delete t;
-        continue;
-     }
+     AliITStrackV2 *t = new AliITStrackV2(*esd);
 
      ResetTrackToFollow(*t);
 
@@ -424,14 +411,7 @@ Int_t AliITStrackerV2::RefitInward(AliESDEvent *event) {
     if (esd->GetStatus()&AliESDtrack::kTPCout)
     if ((esd->GetStatus()&AliESDtrack::kTPCrefit)==0) continue;
 
-    AliITStrackV2 *t=0;
-    try {
-        t=new AliITStrackV2(*esd);
-    } catch (const Char_t *msg) {
-        Warning("RefitInward",msg);
-        delete t;
-        continue;
-    }
+    AliITStrackV2 *t = new AliITStrackV2(*esd);
 
     if (CorrectForDeadZoneMaterial(t)!=0) {
        Warning("RefitInward",
@@ -450,8 +430,8 @@ Int_t AliITStrackerV2::RefitInward(AliESDEvent *event) {
        CookLabel(&fTrackToFollow,0.); //For comparison only
 
        if (fTrackToFollow.PropagateTo(3.,0.0028,65.19)) {//The beam pipe 
+        fTrackToFollow.UpdateESDtrack(AliESDtrack::kITSrefit);
          AliESDtrack  *esdTrack =fTrackToFollow.GetESDtrack();
-         esdTrack->UpdateTrackParams(&fTrackToFollow,AliESDtrack::kITSrefit);
          Double_t r[3]={0.,0.,0.};
          Double_t maxD=3.;
         esdTrack->RelateToVertex(event->GetVertex(),GetBz(r),maxD);
@@ -634,7 +614,7 @@ Int_t AliITStrackerV2::TakeNextProlongation() {
     if (TMath::Abs(fTrackToFollow.GetD(GetX(),GetY()))>4) return 0;
 
   fTrackToFollow.
-    SetSampledEdx(cc->GetQ(),fTrackToFollow.GetNumberOfClusters()-1); //b.b.
+    SetSampledEdx(cc->GetQ(),fI-2); //b.b.
 
   {
   Double_t x0;
@@ -668,7 +648,10 @@ AliITStrackerV2::AliITSlayer::AliITSlayer():
   //--------------------------------------------------------------------
   
   for (Int_t i=0; i<kNsector; i++) fN[i]=0;
-
+  for (Int_t i=0; i<AliITSRecoParam::kMaxClusterPerLayer; i++){
+    fClusters[i]=0;
+    fIndex[i]=0;
+  }
 }
 
 AliITStrackerV2::AliITSlayer::
@@ -688,8 +671,10 @@ AliITSlayer(Double_t r,Double_t p,Double_t z,Int_t nl,Int_t nd):
 
   for (Int_t i=0; i<kNsector; i++) fN[i]=0;
 
-  for (Int_t i=0; i<AliITSRecoParam::fgkMaxClusterPerLayer; i++) fClusters[i]=0;
-
+  for (Int_t i=0; i<AliITSRecoParam::kMaxClusterPerLayer; i++){
+    fClusters[i]=0;
+    fIndex[i]=0;
+  }
 }
 
 AliITStrackerV2::AliITSlayer::~AliITSlayer() {
@@ -1025,13 +1010,21 @@ Bool_t AliITStrackerV2::RefitAt(Double_t xx,AliITStrackV2 *t,
  
      {
      Double_t hI=i-0.5*step; 
-     if (TMath::Abs(hI-1.5)<0.01 || TMath::Abs(hI-3.5)<0.01) {             
-        Double_t rs=0.5*(fgLayers[i-step].GetR() + r);
-        Double_t d=0.0034, x0=38.6; 
-        if (TMath::Abs(hI-1.5)<0.01) {rs=9.; d=0.0097; x0=42;}
-        if (!t->PropagateTo(rs,-step*d,x0)) {
-          return kFALSE;
-        }
+     if (TMath::Abs(hI-1.5)<0.01 || TMath::Abs(hI-3.5)<0.01) {  
+       Int_t iLay = i-step;
+       Double_t rs = 0.;
+       if(iLay<0 || iLay>= AliITSgeomTGeo::kNLayers){
+        AliError(Form("Invalid layer %d ",iLay));
+        return kFALSE;
+       }
+       else{
+        rs=0.5*(fgLayers[i-step].GetR() + r);
+       }
+       Double_t d=0.0034, x0=38.6; 
+       if (TMath::Abs(hI-1.5)<0.01) {rs=9.; d=0.0097; x0=42;}
+       if (!t->PropagateTo(rs,-step*d,x0)) {
+        return kFALSE;
+       }
      }
      }
 
@@ -1088,7 +1081,7 @@ Bool_t AliITStrackerV2::RefitAt(Double_t xx,AliITStrackV2 *t,
        if (!t->Update(cl,maxchi2,idx)) {
           return kFALSE;
        }
-       t->SetSampledEdx(cl->GetQ(),t->GetNumberOfClusters()-1);
+       t->SetSampledEdx(cl->GetQ(),i-2);
      }
 
      {