coverity fix, possibility to have array index negative
authorgconesab <gustavo.conesa.balbastre@cern.ch>
Mon, 10 Feb 2014 13:31:53 +0000 (14:31 +0100)
committergconesab <gustavo.conesa.balbastre@cern.ch>
Mon, 10 Feb 2014 13:32:43 +0000 (14:32 +0100)
PWGGA/CaloTrackCorrelations/AliAnaInsideClusterInvariantMass.cxx

index 9838a47..ff82ac2 100755 (executable)
@@ -606,8 +606,8 @@ void AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(AliVCluster* clu
   if(nMax==1) nmaxima = nc ;
   
   //Find highest energy Local Maxima Towers
-  Int_t   imax  = -1;
-  Int_t   imax2 = -1;
+  Int_t   imax  = 999;
+  Int_t   imax2 = 999;
   Float_t emax  = -1;
   Float_t emax2 = -1;
   for(Int_t i = 0; i < nmaxima; i++)
@@ -619,6 +619,7 @@ void AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(AliVCluster* clu
       emax = elist[i];
     }
   }
+  
   //Find second highest
   for(Int_t i = 0; i < nmaxima; i++)
   {
@@ -626,7 +627,6 @@ void AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(AliVCluster* clu
     
     //printf("j %d: AbsId %d; E %2.3f\n",i,list[i],elist[i]);
     
-    
     if(elist[i] > emax2)
     {
       imax2 = i;
@@ -645,14 +645,14 @@ void AliAnaInsideClusterInvariantMass::CheckLocalMaximaMCOrigin(AliVCluster* clu
   
   // Check that the highest mc label and the max cluster label are the same
   Int_t mcLabelMax = -1 ;
-  if(imax >=0 )
+  if(imax >=0 && imax < 999)
   {
     mcLabelMax = GetEMCALCells()->GetCellMCLabel(list[imax]);
     GetReader()->RemapMCLabelForAODs(mcLabelMax);
   }
   
   Int_t mcLabelMax2 = -1 ;
-  if(imax >=0 )
+  if(imax2 >=0 && imax2 < 999)
   {
     mcLabelMax2 = GetEMCALCells()->GetCellMCLabel(list[imax2]);
     GetReader()->RemapMCLabelForAODs(mcLabelMax2);