]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - EMCAL/AliEMCALReconstructor.cxx
#100552: EMCal MC labels overflow and re-index bug fix (Jiri Kral)
[u/mrichter/AliRoot.git] / EMCAL / AliEMCALReconstructor.cxx
index 5a50202295933c40080e69602839b95ed9e7a1c9..55eb4a40a211157f4bdb79fb6fa5b0ac42f9274a 100644 (file)
@@ -729,6 +729,7 @@ Bool_t AliEMCALReconstructor::CalculateResidual(AliESDtrack *track, AliESDCaloCl
   // Otherwise use the TPCInner point
 
   dEta = -999, dPhi = -999;
+  Bool_t ITSTrackSA = 0;
 
   AliExternalTrackParam *trkParam = 0;
   
@@ -737,13 +738,19 @@ Bool_t AliEMCALReconstructor::CalculateResidual(AliESDtrack *track, AliESDCaloCl
     trkParam = const_cast<AliExternalTrackParam*>(friendTrack->GetTPCOut());
   else if(track->GetInnerParam())
     trkParam = const_cast<AliExternalTrackParam*>(track->GetInnerParam());
-  else
+  else{
     trkParam = new AliExternalTrackParam(*track); //If there is ITSSa track 
+    ITSTrackSA = 1;    
+  }
   if(!trkParam) return kFALSE;
   
   AliExternalTrackParam trkParamTmp (*trkParam);
-  if(!AliEMCALRecoUtils::ExtrapolateTrackToCluster(&trkParamTmp, cluster, track->GetMass(kTRUE), GetRecParam()->GetExtrapolateStep(), dEta, dPhi)) return kFALSE;
+  if(!AliEMCALRecoUtils::ExtrapolateTrackToCluster(&trkParamTmp, cluster, track->GetMass(kTRUE), GetRecParam()->GetExtrapolateStep(), dEta, dPhi)){
+       if(ITSTrackSA) delete trkParam;
+       return kFALSE;
+  }
 
+  if(ITSTrackSA) delete trkParam;
   return kTRUE;
 }