diff --git a/HLT/ITS/trackingSAP/AliHLTITSSAPTrackerComponent.cxx b/HLT/ITS/trackingSAP/AliHLTITSSAPTrackerComponent.cxx index 226e21cba6e..d6486d90ae0 100644 --- a/HLT/ITS/trackingSAP/AliHLTITSSAPTrackerComponent.cxx +++ b/HLT/ITS/trackingSAP/AliHLTITSSAPTrackerComponent.cxx @@ -360,7 +360,7 @@ int AliHLTITSSAPTrackerComponent::DoEvent } } else { - HLTWarning("No SPD vertex, skip ITS standalone reconstruction"); + //HLTWarning("No SPD vertex, skip ITS standalone reconstruction"); return 0; } } diff --git a/HLT/ITS/trackingSAP/AliITSSAPTracker.cxx b/HLT/ITS/trackingSAP/AliITSSAPTracker.cxx index 9853a220f7b..4e0ccbd5b37 100644 --- a/HLT/ITS/trackingSAP/AliITSSAPTracker.cxx +++ b/HLT/ITS/trackingSAP/AliITSSAPTracker.cxx @@ -266,9 +266,12 @@ Bool_t AliITSSAPTracker::FindTracklets() return kFALSE; } float rv2 = fSPDVertex->GetX()*fSPDVertex->GetX()+fSPDVertex->GetY()*fSPDVertex->GetY(); - if (rv2>0.25*fgkRLayITS[kLrBeamPime]*fgkRLayITS[kLrBeamPime]) { - // AliInfo("SPD vertex is too far from beam line"); + float rv2_limit = 0.25*fgkRLayITS[kLrBeamPime]*fgkRLayITS[kLrBeamPime]; + if (rv2>rv2_limit) { + AliInfo(Form("SPD vertex is too far from beam line: rv2=%f, rv2limit=%f", rv2, rv2_limit)); +#ifdef _DEBUG_ fSPDVertex->Print(); +#endif return kFALSE; } fPhiShiftSc = fPhiShift*TMath::Abs(fBz/5.0); diff --git a/HLT/TPCLib/tracking-ca/AliHLTTPCCATracker.cxx b/HLT/TPCLib/tracking-ca/AliHLTTPCCATracker.cxx index bae170b2c39..7745ceb6712 100644 --- a/HLT/TPCLib/tracking-ca/AliHLTTPCCATracker.cxx +++ b/HLT/TPCLib/tracking-ca/AliHLTTPCCATracker.cxx @@ -754,8 +754,20 @@ GPUh() void AliHLTTPCCATracker::WriteOutput() const AliHLTTPCCARow &row = fData.Row( iRow ); + if (ih >= row.NHits()) + { + printf("Array out of bounds access (Sector Row) (Hit %d / %d - NumC %d): Sector %d Row %d Index %d\n", ith, iTrack.NHits(), fClusterData->NumberOfClusters(), fParam.ISlice(), iRow, ih); + fflush(stdout); + continue; + } int clusterIndex = fData.ClusterDataIndex( row, ih ); + if (clusterIndex >= fClusterData->NumberOfClusters()) + { + printf("Array out of bounds access (Cluster Data) (Hit %d / %d - NumC %d): Sector %d Row %d Hit %d, Clusterdata Index\n", ith, iTrack.NHits(), fClusterData->NumberOfClusters(), fParam.ISlice(), iRow, ih, clusterIndex); + fflush(stdout); + continue; + } float origX = fClusterData->X( clusterIndex ); float origY = fClusterData->Y( clusterIndex ); float origZ = fClusterData->Z( clusterIndex ); diff --git a/HLT/TPCLib/tracking-ca/cagpu/opencl/AliHLTTPCCAGPUTrackerOpenCL.cxx b/HLT/TPCLib/tracking-ca/cagpu/opencl/AliHLTTPCCAGPUTrackerOpenCL.cxx index ba497ba5f66..c697307e216 100644 --- a/HLT/TPCLib/tracking-ca/cagpu/opencl/AliHLTTPCCAGPUTrackerOpenCL.cxx +++ b/HLT/TPCLib/tracking-ca/cagpu/opencl/AliHLTTPCCAGPUTrackerOpenCL.cxx @@ -441,6 +441,8 @@ int AliHLTTPCCAGPUTrackerOpenCL::Reconstruct(AliHLTTPCCASliceOutput** pOutput, A ResetHelperThreads(0); return(1); } + + clFinish(ocl->command_queue[0]); for (int iSlice = 0;iSlice < sliceCountLocal;iSlice++) {