1212// / \author David Rohr
1313
1414#include " GPUChainTracking.h"
15- #include " GPUTPCConvert.h"
16- #include " GPUTPCCompression.h"
1715#include " GPUTPCClusterData.h"
1816#include " GPUTPCSliceOutput.h"
1917#include " GPUTPCSliceOutTrack.h"
3129#include " GPUTRDTrackletLabels.h"
3230#include " GPUDisplay.h"
3331#include " GPUQA.h"
34- #include " GPUTPCClusterStatistics.h"
3532#include " GPULogging.h"
3633#include " GPUReconstructionConvert.h"
3734#include " GPUMemorySizeScalers.h"
3835
36+ #ifdef HAVE_O2HEADERS
37+ #include " GPUTPCClusterStatistics.h"
38+ #else
39+ #include " GPUO2FakeClasses.h"
40+ #endif
41+
3942#include " TPCFastTransform.h"
4043
4144#include " utils/linux_helpers.h"
@@ -263,6 +266,7 @@ int GPUChainTracking::Init()
263266
264267void GPUChainTracking::PrepareEventFromNative ()
265268{
269+ #ifdef HAVE_O2HEADERS
266270 ClusterNativeAccess* tmp = mClusterNativeAccess .get ();
267271 if (tmp != mIOPtrs .clustersNative ) {
268272 *tmp = *mIOPtrs .clustersNative ;
@@ -276,12 +280,14 @@ void GPUChainTracking::PrepareEventFromNative()
276280 processors ()->tpcCompressor .mMaxClusters = mIOPtrs .clustersNative ->nClustersTotal ;
277281 mRec ->MemoryScalers ()->nTPCHits = mIOPtrs .clustersNative ->nClustersTotal ;
278282 GPUInfo (" Event has %d TPC Clusters, %d TRD Tracklets" , tmp->nClustersTotal , mIOPtrs .nTRDTracklets );
283+ #endif
279284}
280285
281286int GPUChainTracking::PrepareEvent ()
282287{
283288 mRec ->MemoryScalers ()->nTRDTracklets = mIOPtrs .nTRDTracklets ;
284289 if (mIOPtrs .tpcPackedDigits ) {
290+ #ifdef HAVE_O2HEADERS
285291 mRec ->MemoryScalers ()->nTPCdigits = 0 ;
286292 size_t maxDigits = 0 ;
287293 for (unsigned int iSlice = 0 ; iSlice < NSLICES; iSlice++) {
@@ -299,6 +305,7 @@ int GPUChainTracking::PrepareEvent()
299305 processors ()->tpcCompressor .mMaxClusters = mRec ->MemoryScalers ()->nTPCHits ;
300306 processors ()->tpcConverter .mNClustersTotal = mRec ->MemoryScalers ()->nTPCHits ;
301307 GPUInfo (" Event has %lld TPC Digits" , (long long int )mRec ->MemoryScalers ()->nTPCdigits );
308+ #endif
302309 } else if (mIOPtrs .clustersNative ) {
303310 PrepareEventFromNative ();
304311 } else {
@@ -307,7 +314,9 @@ int GPUChainTracking::PrepareEvent()
307314 processors ()->tpcTrackers [iSlice].Data ().SetClusterData (mIOPtrs .clusterData [iSlice], mIOPtrs .nClusterData [iSlice], offset);
308315 offset += mIOPtrs .nClusterData [iSlice];
309316 }
317+ #ifdef HAVE_O2HEADERS
310318 processors ()->tpcCompressor .mMaxClusters = offset;
319+ #endif
311320 mRec ->MemoryScalers ()->nTPCHits = offset;
312321 GPUInfo (" Event has %d TPC Clusters (converted), %d TRD Tracklets" , offset, mIOPtrs .nTRDTracklets );
313322 }
@@ -689,6 +698,7 @@ void GPUChainTracking::WriteOutput(int iSlice, int threadId)
689698
690699void GPUChainTracking::ForwardTPCDigits ()
691700{
701+ #ifdef HAVE_O2HEADERS
692702 if (GetRecoStepsGPU () & RecoStep::TPCClusterFinding) {
693703 throw std::runtime_error (" Cannot forward TPC digits with Clusterizer on GPU" );
694704 }
@@ -725,6 +735,7 @@ void GPUChainTracking::ForwardTPCDigits()
725735 mIOPtrs .clustersNative = mClusterNativeAccess .get ();
726736 printf (" Forwarded %u TPC clusters\n " , nTotal);
727737 PrepareEventFromNative ();
738+ #endif
728739}
729740
730741int GPUChainTracking::GlobalTracking (int iSlice, int threadId)
0 commit comments