@@ -137,6 +137,7 @@ struct hyperRecoTask {
137137 Produces<aod::DataHypCands> outputDataTable;
138138 Produces<aod::DataHypCandsFlow> outputDataTableWithFlow;
139139 Produces<aod::MCHypCands> outputMCTable;
140+ Produces<aod::DataHypCandsWColl> outputDataTableWithCollID;
140141 Service<o2::ccdb::BasicCCDBManager> ccdb;
141142 Zorro zorro;
142143 OutputObj<ZorroSummary> zorroSummary{" zorroSummary" };
@@ -733,6 +734,34 @@ struct hyperRecoTask {
733734 }
734735 PROCESS_SWITCH (hyperRecoTask, processDataWithFlow, " Data analysis with flow" , false );
735736
737+ void processDataWithCollID (CollisionsFull const & collisions, aod::V0s const & V0s, TracksFull const & tracks, aod::AmbiguousTracks const & ambiTracks, aod::BCsWithTimestamps const & bcs)
738+ {
739+ goodCollision.clear ();
740+ goodCollision.resize (collisions.size (), false );
741+ hyperCandidates.clear ();
742+
743+ selectGoodCollisions (collisions);
744+ useCustomVertexer ? fillCustomV0s (collisions, tracks, ambiTracks, bcs) : fillV0s (collisions, tracks, V0s);
745+
746+ for (auto & hypCand : hyperCandidates) {
747+ auto collision = collisions.rawIteratorAt (hypCand.collisionID );
748+ float trackedHypClSize = !trackedClSize.empty () ? trackedClSize[hypCand.v0ID ] : 0 ;
749+ outputDataTableWithCollID (hypCand.collisionID , collision.centFT0A (), collision.centFT0C (), collision.centFT0M (),
750+ collision.posX (), collision.posY (), collision.posZ (),
751+ hypCand.isMatter ,
752+ hypCand.recoPtHe3 (), hypCand.recoPhiHe3 (), hypCand.recoEtaHe3 (),
753+ hypCand.recoPtPi (), hypCand.recoPhiPi (), hypCand.recoEtaPi (),
754+ hypCand.decVtx [0 ], hypCand.decVtx [1 ], hypCand.decVtx [2 ],
755+ hypCand.dcaV0dau , hypCand.he3DCAXY , hypCand.piDCAXY ,
756+ hypCand.nSigmaHe3 , hypCand.nTPCClustersHe3 , hypCand.nTPCClustersPi ,
757+ hypCand.nTPCpidClusHe3 , hypCand.nTPCpidClusPi ,
758+ hypCand.momHe3TPC , hypCand.momPiTPC , hypCand.tpcSignalHe3 , hypCand.tpcSignalPi , hypCand.tpcChi2He3 , hypCand.itsChi2He3 , hypCand.itsChi2Pi ,
759+ hypCand.massTOFHe3 ,
760+ hypCand.clusterSizeITSHe3 , hypCand.clusterSizeITSPi , hypCand.flags , trackedHypClSize);
761+ }
762+ }
763+ PROCESS_SWITCH (hyperRecoTask, processDataWithCollID, " Data analysis with collision ID" , false );
764+
736765 void processMC (CollisionsFullMC const & collisions, aod::McCollisions const & mcCollisions, aod::V0s const & V0s, TracksFull const & tracks, aod::AmbiguousTracks const & ambiTracks, aod::BCsWithTimestamps const & bcs, aod::McTrackLabels const & trackLabelsMC, aod::McParticles const & particlesMC)
737766 {
738767 filledMothers.clear ();
0 commit comments