@@ -123,7 +123,7 @@ void DataRequest::requestTPCTracks(bool mc)
123123 addInput ({" trackTPCClRefs" , " TPC" , " CLUSREFS" , 0 , Lifetime::Timeframe});
124124 if (requestMap.find (" clusTPC" ) != requestMap.end ()) {
125125 addInput ({" clusTPCshmap" , " TPC" , " CLSHAREDMAP" , 0 , Lifetime::Timeframe});
126- addInput ({ " clusTPCoccmap " , " TPC " , " TPCOCCUPANCYMAP " , 0 , Lifetime::Timeframe} );
126+ requestTPCOccMap ( );
127127 }
128128 if (mc) {
129129 addInput ({" trackTPCMCTR" , " TPC" , " TRACKSMCLBL" , 0 , Lifetime::Timeframe});
@@ -267,6 +267,12 @@ void DataRequest::requestMFTClusters(bool mc)
267267 requestMap[" clusMFT" ] = mc;
268268}
269269
270+ void DataRequest::requestTPCOccMap ()
271+ {
272+ addInput ({" clusTPCoccmap" , " TPC" , " TPCOCCUPANCYMAP" , 0 , Lifetime::Timeframe});
273+ requestMap[" TPCOcc" ] = false ;
274+ }
275+
270276void DataRequest::requestTPCClusters (bool mc)
271277{
272278 addInput ({" clusTPC" , ConcreteDataTypeMatcher{" TPC" , " CLUSTERNATIVE" }, Lifetime::Timeframe});
@@ -275,7 +281,7 @@ void DataRequest::requestTPCClusters(bool mc)
275281 }
276282 if (requestMap.find (" trackTPC" ) != requestMap.end ()) {
277283 addInput ({" clusTPCshmap" , " TPC" , " CLSHAREDMAP" , 0 , Lifetime::Timeframe});
278- addInput ({ " clusTPCoccmap " , " TPC " , " TPCOCCUPANCYMAP " , 0 , Lifetime::Timeframe} );
284+ requestTPCOccMap ( );
279285 }
280286 if (mc) {
281287 addInput ({" clusTPCMC" , ConcreteDataTypeMatcher{" TPC" , " CLNATIVEMCLBL" }, Lifetime::Timeframe});
@@ -704,10 +710,17 @@ void RecoContainer::collectData(ProcessingContext& pc, const DataRequest& reques
704710 addMFTClusters (pc, req->second );
705711 }
706712
713+ req = reqMap.find (" TPCOcc" );
714+ bool TPCOccDone = false ;
715+ if (req != reqMap.end ()) {
716+ TPCOccDone = true ;
717+ addTPCOccMap (pc);
718+ }
719+
707720 req = reqMap.find (" clusTPC" );
708721 if (req != reqMap.end ()) {
709722 auto tracksON = reqMap.find (" trackTPC" ) != reqMap.end ();
710- addTPCClusters (pc, req->second , tracksON, tracksON);
723+ addTPCClusters (pc, req->second , tracksON, tracksON && (!TPCOccDone) );
711724 }
712725
713726 req = reqMap.find (" trigTPC" );
@@ -1100,6 +1113,12 @@ void RecoContainer::addMFTClusters(ProcessingContext& pc, bool mc)
11001113 }
11011114}
11021115
1116+ // __________________________________________________________
1117+ void RecoContainer::addTPCOccMap (ProcessingContext& pc)
1118+ {
1119+ occupancyMapTPC = pc.inputs ().get <gsl::span<unsigned int >>(" clusTPCoccmap" );
1120+ }
1121+
11031122// __________________________________________________________
11041123void RecoContainer::addTPCClusters (ProcessingContext& pc, bool mc, bool shmap, bool occmap)
11051124{
0 commit comments