Skip to content

Commit 64bc631

Browse files
committed
GPU: TPC Decoding: add missing checks on track model parameters
1 parent 66e1fef commit 64bc631

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

GPU/GPUTracking/Global/GPUChainTrackingCompression.cxx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,14 +246,21 @@ int32_t GPUChainTracking::RunTPCDecompression()
246246
mRec->PushNonPersistentMemory(qStr2Tag("TPCDCMPR"));
247247
RecoStep myStep = RecoStep::TPCDecompression;
248248
bool doGPU = GetRecoStepsGPU() & RecoStep::TPCDecompression;
249-
bool runFiltering = GetProcessingSettings().tpcApplyCFCutsAtDecoding;
249+
bool runFiltering = param().tpcCutTimeBin > 0;
250250
GPUTPCDecompression& Decompressor = processors()->tpcDecompressor;
251251
GPUTPCDecompression& DecompressorShadow = doGPU ? processorsShadow()->tpcDecompressor : Decompressor;
252252
const auto& threadContext = GetThreadContext();
253253
CompressedClusters cmprClsHost = *mIOPtrs.tpcCompressedClusters;
254254
CompressedClusters& inputGPU = Decompressor.mInputGPU;
255255
CompressedClusters& inputGPUShadow = DecompressorShadow.mInputGPU;
256256

257+
if (cmprClsHost.nTracks && cmprClsHost.solenoidBz != -1e6f && cmprClsHost.solenoidBz != param().bzkG) {
258+
throw std::runtime_error("Configured solenoid Bz does not match value used for track model encoding");
259+
}
260+
if (cmprClsHost.nTracks && cmprClsHost.maxTimeBin != -1e6 && cmprClsHost.maxTimeBin != param().continuousMaxTimeBin) {
261+
throw std::runtime_error("Configured max time bin does not match value used for track model encoding");
262+
}
263+
257264
int32_t inputStream = 0;
258265
int32_t unattachedStream = mRec->NStreams() - 1;
259266
inputGPU = cmprClsHost;

0 commit comments

Comments
 (0)