Skip to content

Commit d017bac

Browse files
committed
GPU: Implement TPC timebin cut.
1 parent dae698e commit d017bac

File tree

4 files changed

+185
-169
lines changed

4 files changed

+185
-169
lines changed

GPU/GPUTracking/Global/GPUChainTrackingClusterizer.cxx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,8 @@ int32_t GPUChainTracking::RunTPCClusterizer(bool synchronizeOutput)
587587
return ForwardTPCDigits();
588588
}
589589
#ifdef GPUCA_TPC_GEOMETRY_O2
590-
[[maybe_unused]] int32_t tpcTimeBinCut = (mUpdateNewCalibObjects && mNewCalibValues->newTPCTimeBinCut) ? mNewCalibValues->tpcTimeBinCut : param().tpcCutTimeBin; // TODO: Implement time bin cut fultering
590+
int32_t tpcTimeBinCut = (mUpdateNewCalibObjects && mNewCalibValues->newTPCTimeBinCut) ? mNewCalibValues->tpcTimeBinCut : param().tpcCutTimeBin;
591+
591592
mRec->PushNonPersistentMemory(qStr2Tag("TPCCLUST"));
592593
const auto& threadContext = GetThreadContext();
593594
const bool doGPU = GetRecoStepsGPU() & RecoStep::TPCClusterFinding;
@@ -898,13 +899,13 @@ int32_t GPUChainTracking::RunTPCClusterizer(bool synchronizeOutput)
898899
break;
899900
case ZSVersionRowBased10BitADC:
900901
case ZSVersionRowBased12BitADC:
901-
runKernel<GPUTPCCFDecodeZS>({GetGridBlk(nBlocks, lane), {iSector}}, firstHBF);
902+
runKernel<GPUTPCCFDecodeZS>({GetGridBlk(nBlocks, lane), {iSector}}, firstHBF, tpcTimeBinCut);
902903
break;
903904
case ZSVersionLinkBasedWithMeta:
904-
runKernel<GPUTPCCFDecodeZSLink>({GetGridBlk(nBlocks, lane), {iSector}}, firstHBF);
905+
runKernel<GPUTPCCFDecodeZSLink>({GetGridBlk(nBlocks, lane), {iSector}}, firstHBF, tpcTimeBinCut);
905906
break;
906907
case ZSVersionDenseLinkBased:
907-
runKernel<GPUTPCCFDecodeZSDenseLink>({GetGridBlk(nBlocks, lane), {iSector}}, firstHBF);
908+
runKernel<GPUTPCCFDecodeZSDenseLink>({GetGridBlk(nBlocks, lane), {iSector}}, firstHBF, tpcTimeBinCut);
908909
break;
909910
}
910911
TransferMemoryResourceLinkToHost(RecoStep::TPCClusterFinding, clusterer.mMemoryId, lane);
@@ -1260,6 +1261,11 @@ int32_t GPUChainTracking::RunTPCClusterizer(bool synchronizeOutput)
12601261
mTriggerBuffer->triggers.clear();
12611262
}
12621263

1264+
// Number of clusters is logged by tracking. This ensures clusters are still printed if it's not running
1265+
if (!(GetRecoSteps() & GPUDataTypes::RecoStep::TPCSectorTracking)) {
1266+
GPUInfo("Event has %zu TPC Clusters", nClsTotal);
1267+
}
1268+
12631269
ClusterNativeAccess::ConstMCLabelContainerView* mcLabelsConstView = nullptr;
12641270
if (propagateMCLabels) {
12651271
// TODO: write to buffer directly

0 commit comments

Comments
 (0)