@@ -800,12 +800,12 @@ void GPURecoWorkflowSpec::run(ProcessingContext& pc)
800800 };
801801
802802 setOutputAllocator (" COMPCLUSTERSFLAT" , mSpecConfig .outputCompClustersFlat , outputRegions.compressedClusters , std::make_tuple (gDataOriginTPC , (DataDescription) " COMPCLUSTERSFLAT" , 0 ));
803- setOutputAllocator (" CLUSTERNATIVE" , mClusterOutputIds .size () > 0 , outputRegions.clustersNative , std::make_tuple (gDataOriginTPC , mSpecConfig .sendClustersPerSector ? (DataDescription) " CLUSTERNATIVETMP" : (DataDescription) " CLUSTERNATIVE" , NSectors, clusterOutputSectorHeader), sizeof (o2::tpc::ClusterCountIndex));
803+ setOutputAllocator (" CLUSTERNATIVE" , mClusterOutputIds .size () > 0 , outputRegions.clustersNative , std::make_tuple (gDataOriginTPC , mSpecConfig .sendClustersPerSector ? (DataDescription) " CLUSTERNATIVETMP" : (mSpecConfig . useFilteredOutputSpecs ? ( DataDescription) " CLUSTERNATIVEF " : (DataDescription) " CLUSTERNATIVE" ) , NSectors, clusterOutputSectorHeader), sizeof (o2::tpc::ClusterCountIndex));
804804 setOutputAllocator (" CLSHAREDMAP" , mSpecConfig .outputSharedClusterMap , outputRegions.sharedClusterMap , std::make_tuple (gDataOriginTPC , (DataDescription) " CLSHAREDMAP" , 0 ));
805805 setOutputAllocator (" TPCOCCUPANCYMAP" , mSpecConfig .outputSharedClusterMap , outputRegions.tpcOccupancyMap , std::make_tuple (gDataOriginTPC , (DataDescription) " TPCOCCUPANCYMAP" , 0 ));
806- setOutputAllocator (" TRACKS" , mSpecConfig .outputTracks , outputRegions.tpcTracksO2 , std::make_tuple (gDataOriginTPC , (DataDescription) " TRACKS" , 0 ));
807- setOutputAllocator (" CLUSREFS" , mSpecConfig .outputTracks , outputRegions.tpcTracksO2ClusRefs , std::make_tuple (gDataOriginTPC , (DataDescription) " CLUSREFS" , 0 ));
808- setOutputAllocator (" TRACKSMCLBL" , mSpecConfig .outputTracks && mSpecConfig .processMC , outputRegions.tpcTracksO2Labels , std::make_tuple (gDataOriginTPC , (DataDescription) " TRACKSMCLBL" , 0 ));
806+ setOutputAllocator (" TRACKS" , mSpecConfig .outputTracks , outputRegions.tpcTracksO2 , std::make_tuple (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " TRACKSF " : (DataDescription) " TRACKS" , 0 ));
807+ setOutputAllocator (" CLUSREFS" , mSpecConfig .outputTracks , outputRegions.tpcTracksO2ClusRefs , std::make_tuple (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " CLUSREFSF " : (DataDescription) " CLUSREFS" , 0 ));
808+ setOutputAllocator (" TRACKSMCLBL" , mSpecConfig .outputTracks && mSpecConfig .processMC , outputRegions.tpcTracksO2Labels , std::make_tuple (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " TRACKSMCLBLF " : (DataDescription) " TRACKSMCLBL" , 0 ));
809809 setOutputAllocator (" TRIGGERWORDS" , mSpecConfig .caClusterer && mConfig ->configProcessing .param .tpcTriggerHandling , outputRegions.tpcTriggerWords , std::make_tuple (gDataOriginTPC , (DataDescription) " TRIGGERWORDS" , 0 ));
810810 o2::tpc::ClusterNativeHelper::ConstMCLabelContainerViewWithBuffer clustersMCBuffer;
811811 if (mSpecConfig .processMC && mSpecConfig .caClusterer ) {
@@ -979,7 +979,7 @@ void GPURecoWorkflowSpec::run(ProcessingContext& pc)
979979 if (mTPCSectorMask & (1ul << i)) {
980980 DataHeader::SubSpecificationType subspec = i;
981981 clusterOutputSectorHeader.sectorBits = (1ul << i);
982- char * buffer = pc.outputs ().make <char >({gDataOriginTPC , " CLUSTERNATIVE" , subspec, {clusterOutputSectorHeader}}, accessIndex.nClustersSector [i] * sizeof (*accessIndex.clustersLinear ) + sizeof (o2::tpc::ClusterCountIndex)).data ();
982+ char * buffer = pc.outputs ().make <char >({gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " CLUSTERNATIVEF " : (DataDescription) " CLUSTERNATIVE" , subspec, {clusterOutputSectorHeader}}, accessIndex.nClustersSector [i] * sizeof (*accessIndex.clustersLinear ) + sizeof (o2::tpc::ClusterCountIndex)).data ();
983983 o2::tpc::ClusterCountIndex* outIndex = reinterpret_cast <o2::tpc::ClusterCountIndex*>(buffer);
984984 memset (outIndex, 0 , sizeof (*outIndex));
985985 for (int32_t j = 0 ; j < o2::tpc::constants::MAXGLOBALPADROW; j++) {
@@ -996,7 +996,7 @@ void GPURecoWorkflowSpec::run(ProcessingContext& pc)
996996 }
997997 ConstMCLabelContainer contflat;
998998 cont.flatten_to (contflat);
999- pc.outputs ().snapshot ({gDataOriginTPC , " CLNATIVEMCLBL" , subspec, {clusterOutputSectorHeader}}, contflat);
999+ pc.outputs ().snapshot ({gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? DataDescription ( " CLNATIVEMCLBLF " ) : DataDescription ( " CLNATIVEMCLBL" ) , subspec, {clusterOutputSectorHeader}}, contflat);
10001000 }
10011001 }
10021002 }
@@ -1007,7 +1007,7 @@ void GPURecoWorkflowSpec::run(ProcessingContext& pc)
10071007 static_assert (sizeof (o2::tpc::ClusterCountIndex) == sizeof (accessIndex.nClusters ));
10081008 memcpy (outIndex, &accessIndex.nClusters [0 ][0 ], sizeof (o2::tpc::ClusterCountIndex));
10091009 if (mSpecConfig .processMC && mSpecConfig .caClusterer && accessIndex.clustersMCTruth ) {
1010- pc.outputs ().snapshot ({gDataOriginTPC , " CLNATIVEMCLBL" , subspec, {clusterOutputSectorHeader}}, clustersMCBuffer.first );
1010+ pc.outputs ().snapshot ({gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? DataDescription ( " CLNATIVEMCLBLF " ) : DataDescription ( " CLNATIVEMCLBL" ) , subspec, {clusterOutputSectorHeader}}, clustersMCBuffer.first );
10111011 }
10121012 }
10131013 }
@@ -1253,11 +1253,11 @@ Outputs GPURecoWorkflowSpec::outputs()
12531253 return outputSpecs;
12541254 }
12551255 if (mSpecConfig .outputTracks ) {
1256- outputSpecs.emplace_back (gDataOriginTPC , " TRACKS" , 0 , Lifetime::Timeframe);
1257- outputSpecs.emplace_back (gDataOriginTPC , " CLUSREFS" , 0 , Lifetime::Timeframe);
1256+ outputSpecs.emplace_back (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " TRACKSF " : (DataDescription) " TRACKS" , 0 , Lifetime::Timeframe);
1257+ outputSpecs.emplace_back (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " CLUSREFSF " : (DataDescription) " CLUSREFS" , 0 , Lifetime::Timeframe);
12581258 }
12591259 if (mSpecConfig .processMC && mSpecConfig .outputTracks ) {
1260- outputSpecs.emplace_back (gDataOriginTPC , " TRACKSMCLBL" , 0 , Lifetime::Timeframe);
1260+ outputSpecs.emplace_back (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " TRACKSMCLBLF " : (DataDescription) " TRACKSMCLBL" , 0 , Lifetime::Timeframe);
12611261 }
12621262 if (mSpecConfig .outputCompClustersRoot ) {
12631263 outputSpecs.emplace_back (gDataOriginTPC , " COMPCLUSTERS" , 0 , Lifetime::Timeframe);
@@ -1272,18 +1272,18 @@ Outputs GPURecoWorkflowSpec::outputs()
12721272 if (mSpecConfig .sendClustersPerSector ) {
12731273 outputSpecs.emplace_back (gDataOriginTPC , " CLUSTERNATIVETMP" , NSectors, Lifetime::Timeframe); // Dummy buffer the TPC tracker writes the inital linear clusters to
12741274 for (const auto sector : mTPCSectors ) {
1275- outputSpecs.emplace_back (gDataOriginTPC , " CLUSTERNATIVE" , sector, Lifetime::Timeframe);
1275+ outputSpecs.emplace_back (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " CLUSTERNATIVEF " : (DataDescription) " CLUSTERNATIVE" , sector, Lifetime::Timeframe);
12761276 }
12771277 } else {
1278- outputSpecs.emplace_back (gDataOriginTPC , " CLUSTERNATIVE" , NSectors, Lifetime::Timeframe);
1278+ outputSpecs.emplace_back (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? (DataDescription) " CLUSTERNATIVEF " : (DataDescription) " CLUSTERNATIVE" , NSectors, Lifetime::Timeframe);
12791279 }
12801280 if (mSpecConfig .processMC ) {
12811281 if (mSpecConfig .sendClustersPerSector ) {
12821282 for (const auto sector : mTPCSectors ) {
1283- outputSpecs.emplace_back (gDataOriginTPC , " CLNATIVEMCLBL" , sector, Lifetime::Timeframe);
1283+ outputSpecs.emplace_back (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? DataDescription ( " CLNATIVEMCLBLF " ) : DataDescription ( " CLNATIVEMCLBL" ) , sector, Lifetime::Timeframe);
12841284 }
12851285 } else {
1286- outputSpecs.emplace_back (gDataOriginTPC , " CLNATIVEMCLBL" , NSectors, Lifetime::Timeframe);
1286+ outputSpecs.emplace_back (gDataOriginTPC , mSpecConfig . useFilteredOutputSpecs ? DataDescription ( " CLNATIVEMCLBLF " ) : DataDescription ( " CLNATIVEMCLBL" ) , NSectors, Lifetime::Timeframe);
12871287 }
12881288 }
12891289 }
0 commit comments