@@ -78,7 +78,6 @@ struct HfTaskDs {
7878
7979 HfHelper hfHelper;
8080
81- using CentralityEstimator = o2::hf_centrality::CentralityEstimator;
8281 using TH1_ptr = std::shared_ptr<TH1>;
8382 using TH2_ptr = std::shared_ptr<TH2>;
8483 using THnSparse_ptr = std::shared_ptr<THnSparse>;
@@ -101,15 +100,8 @@ struct HfTaskDs {
101100 using CandDsMcRecoWithMl = soa::Filtered<soa::Join<aod::HfCand3Prong, aod::HfSelDsToKKPi, aod::HfCand3ProngMcRec, aod::HfMlDsToKKPi>>;
102101 using CandDsMcGen = soa::Join<aod::McParticles, aod::HfCand3ProngMcGen>;
103102
104- Preslice<CandDsData> candDsDataPerCollision = aod::hf_cand::collisionId;
105- Preslice<CandDsDataWithMl> candDsDataWithMlPerCollision = aod::hf_cand::collisionId;
106- Preslice<CandDsMcReco> candDsMcRecoPerCollision = aod::hf_cand::collisionId;
107- Preslice<CandDsMcRecoWithMl> candDsMcRecoWithMlPerCollision = aod::hf_cand::collisionId;
108-
109- PresliceUnsorted<CollisionsMc> colPerMcCollision = aod::mccollisionlabel::mcCollisionId;
110- PresliceUnsorted<CollisionsMcWithFT0C> colPerMcCollisionWithFT0C = aod::mccollisionlabel::mcCollisionId;
111- PresliceUnsorted<CollisionsMcWithFT0M> colPerMcCollisionWithFT0M = aod::mccollisionlabel::mcCollisionId;
112- PresliceUnsorted<CollisionsMcWithNTracksPV> colPerMcCollisionWithNTracksPV = aod::mccollisionlabel::mcCollisionId;
103+ Preslice<aod::HfCand3Prong> candDsPerCollision = aod::hf_cand::collisionId;
104+ PresliceUnsorted<aod::McCollisionLabels> colPerMcCollision = aod::mccollisionlabel::mcCollisionId;
113105 SliceCache cache;
114106
115107 int offsetDplusDecayChannel = aod::hf_cand_3prong::DecayChannelDToKKPi::DplusToPhiPi - aod::hf_cand_3prong::DecayChannelDToKKPi::DsToPhiPi; // Offset between Dplus and Ds to use the same decay channel. See aod::hf_cand_3prong::DecayChannelDToKKPi
@@ -128,12 +120,6 @@ struct HfTaskDs {
128120 std::unordered_map<std::string, histTypes> mcDplusBkgHistograms = {};
129121 std::unordered_map<std::string, histTypes> mcBkgHistograms = {};
130122
131- std::map<CentralityEstimator, std::variant<PresliceUnsorted<CollisionsMc>, PresliceUnsorted<CollisionsMcWithFT0C>, PresliceUnsorted<CollisionsMcWithFT0M>, PresliceUnsorted<CollisionsMcWithNTracksPV>>> colPerMcCollisionMap{
132- {CentralityEstimator::None, colPerMcCollision},
133- {CentralityEstimator::FT0C, colPerMcCollisionWithFT0C},
134- {CentralityEstimator::FT0M, colPerMcCollisionWithFT0M},
135- {CentralityEstimator::NTracksPV, colPerMcCollisionWithNTracksPV}};
136-
137123 std::array<std::unordered_map<std::string, histTypes>, DataType::kDataTypes > histosPtr = {dataHistograms, mcDsPromptHistograms, mcDsNonPromptHistograms, mcDplusPromptHistograms, mcDplusNonPromptHistograms, mcDplusBkgHistograms, mcBkgHistograms};
138124
139125 void init (InitContext&)
@@ -511,7 +497,7 @@ struct HfTaskDs {
511497 // TODO: add histograms for reflections
512498 }
513499
514- template <CentralityEstimator centDetector, typename Coll>
500+ template <typename Coll>
515501 void fillMcGenHistos (CandDsMcGen const & mcParticles,
516502 Coll const & recoCollisions)
517503 {
@@ -523,7 +509,7 @@ struct HfTaskDs {
523509 double y{0 .f };
524510
525511 unsigned maxNumContrib = 0 ;
526- const auto & recoCollsPerMcColl = recoCollisions.sliceBy (std::get<PresliceUnsorted<Coll>>(colPerMcCollisionMap. at (centDetector)) , particle.mcCollision ().globalIndex ());
512+ const auto & recoCollsPerMcColl = recoCollisions.sliceBy (colPerMcCollision , particle.mcCollision ().globalIndex ());
527513 for (const auto & recCol : recoCollsPerMcColl) {
528514 maxNumContrib = recCol.numContrib () > maxNumContrib ? recCol.numContrib () : maxNumContrib;
529515 }
@@ -588,7 +574,7 @@ struct HfTaskDs {
588574 }
589575
590576 template <typename Coll, typename CandsDs>
591- void runDataAnalysisPerCollision (const Coll& collisions, const CandsDs& candsDs, Preslice<CandsDs> candDsPerCollision )
577+ void runDataAnalysisPerCollision (const Coll& collisions, const CandsDs& candsDs)
592578 {
593579 for (const auto & collision : collisions) {
594580 auto thisCollId = collision.globalIndex ();
@@ -615,11 +601,10 @@ struct HfTaskDs {
615601 }
616602 }
617603
618- template <CentralityEstimator centDetector, typename Coll, typename CandsDs, typename CandDsMcGen>
604+ template <typename Coll, typename CandsDs, typename CandDsMcGen>
619605 void runMcAnalysisPerCollision (const Coll& collisions,
620606 const CandsDs& candsDs,
621- const CandDsMcGen& mcParticles,
622- Preslice<CandsDs> candDsPerCollision)
607+ const CandDsMcGen& mcParticles)
623608 {
624609 for (const auto & collision : collisions) {
625610 auto thisCollId = collision.globalIndex ();
@@ -673,70 +658,70 @@ struct HfTaskDs {
673658 }
674659 fillNPvContribHisto (collision, nCandsPerType, nCandsInSignalRegionDsPerType, nCandsInSignalRegionDplusPerType);
675660 }
676- fillMcGenHistos<centDetector> (mcParticles, collisions);
661+ fillMcGenHistos (mcParticles, collisions);
677662 }
678663
679664 void processDataWithCentFT0C (CollisionsWithFT0C const & collisions,
680665 CandDsData const & candsDs,
681666 aod::Tracks const &)
682667 {
683- runDataAnalysisPerCollision (collisions, candsDs, candDsDataPerCollision );
668+ runDataAnalysisPerCollision (collisions, candsDs);
684669 }
685670 PROCESS_SWITCH (HfTaskDs, processDataWithCentFT0C, " Process data w/o ML information on Ds, with information on centrality from FT0C" , false );
686671
687672 void processDataWithCentFT0M (CollisionsWithFT0M const & collisions,
688673 CandDsData const & candsDs,
689674 aod::Tracks const &)
690675 {
691- runDataAnalysisPerCollision (collisions, candsDs, candDsDataPerCollision );
676+ runDataAnalysisPerCollision (collisions, candsDs);
692677 }
693678 PROCESS_SWITCH (HfTaskDs, processDataWithCentFT0M, " Process data w/o ML information on Ds, with information on centrality from FT0M" , false );
694679
695680 void processDataWithCentNTracksPV (CollisionsWithNTracksPV const & collisions,
696681 CandDsData const & candsDs,
697682 aod::Tracks const &)
698683 {
699- runDataAnalysisPerCollision (collisions, candsDs, candDsDataPerCollision );
684+ runDataAnalysisPerCollision (collisions, candsDs);
700685 }
701686 PROCESS_SWITCH (HfTaskDs, processDataWithCentNTracksPV, " Process data w/o ML information on Ds, with information on centrality from NTracksPV" , false );
702687
703688 void processData (soa::Join<aod::Collisions, aod::EvSels> const & collisions,
704689 CandDsData const & candsDs,
705690 aod::Tracks const &)
706691 {
707- runDataAnalysisPerCollision (collisions, candsDs, candDsDataPerCollision );
692+ runDataAnalysisPerCollision (collisions, candsDs);
708693 }
709694 PROCESS_SWITCH (HfTaskDs, processData, " Process data w/o ML information on Ds, w/o information on centrality" , true );
710695
711696 void processDataWithMlAndCentFT0C (CollisionsWithFT0C const & collisions,
712697 CandDsDataWithMl const & candsDs,
713698 aod::Tracks const &)
714699 {
715- runDataAnalysisPerCollision (collisions, candsDs, candDsDataWithMlPerCollision );
700+ runDataAnalysisPerCollision (collisions, candsDs);
716701 }
717702 PROCESS_SWITCH (HfTaskDs, processDataWithMlAndCentFT0C, " Process data with ML information on Ds, with information on centrality from FT0C" , false );
718703
719704 void processDataWithMlAndCentFT0M (CollisionsWithFT0M const & collisions,
720705 CandDsDataWithMl const & candsDs,
721706 aod::Tracks const &)
722707 {
723- runDataAnalysisPerCollision (collisions, candsDs, candDsDataWithMlPerCollision );
708+ runDataAnalysisPerCollision (collisions, candsDs);
724709 }
725710 PROCESS_SWITCH (HfTaskDs, processDataWithMlAndCentFT0M, " Process data with ML information on Ds, with information on centrality from FT0M" , false );
726711
727712 void processDataWithMlAndCentNTracksPV (CollisionsWithNTracksPV const & collisions,
728713 CandDsDataWithMl const & candsDs,
729714 aod::Tracks const &)
730715 {
731- runDataAnalysisPerCollision (collisions, candsDs, candDsDataWithMlPerCollision );
716+ runDataAnalysisPerCollision (collisions, candsDs);
732717 }
733718 PROCESS_SWITCH (HfTaskDs, processDataWithMlAndCentNTracksPV, " Process data with ML information on Ds, with information on centrality" , false );
734719
735720 void processDataWithMl (soa::Join<aod::Collisions, aod::EvSels> const & collisions,
736721 CandDsDataWithMl const & candsDs,
737722 aod::Tracks const &)
738723 {
739- runDataAnalysisPerCollision (collisions, candsDs, candDsDataWithMlPerCollision );
724+ runDataAnalysisPerCollision (collisions, candsDs);
740725 }
741726 PROCESS_SWITCH (HfTaskDs, processDataWithMl, " Process data with ML information on Ds, w/o information on centrality" , false );
742727
@@ -746,7 +731,7 @@ struct HfTaskDs {
746731 aod::McCollisions const &,
747732 aod::TracksWMc const &)
748733 {
749- runMcAnalysisPerCollision<CentralityEstimator::FT0C, CollisionsMcWithFT0C>(collisions, candsDs, mcParticles, candDsMcRecoPerCollision );
734+ runMcAnalysisPerCollision<CollisionsMcWithFT0C>(collisions, candsDs, mcParticles);
750735 }
751736 PROCESS_SWITCH (HfTaskDs, processMcWithCentFT0C, " Process MC w/o ML information on Ds, with information on centrality from FT0C" , false );
752737
@@ -756,7 +741,7 @@ struct HfTaskDs {
756741 aod::McCollisions const &,
757742 aod::TracksWMc const &)
758743 {
759- runMcAnalysisPerCollision<CentralityEstimator::FT0M, CollisionsMcWithFT0M>(collisions, candsDs, mcParticles, candDsMcRecoPerCollision );
744+ runMcAnalysisPerCollision<CollisionsMcWithFT0M>(collisions, candsDs, mcParticles);
760745 }
761746 PROCESS_SWITCH (HfTaskDs, processMcWithCentFT0M, " Process MC w/o ML information on Ds, with information on centrality from FT0M" , false );
762747
@@ -766,7 +751,7 @@ struct HfTaskDs {
766751 aod::McCollisions const &,
767752 aod::TracksWMc const &)
768753 {
769- runMcAnalysisPerCollision<CentralityEstimator::NTracksPV, CollisionsMcWithNTracksPV>(collisions, candsDs, mcParticles, candDsMcRecoPerCollision );
754+ runMcAnalysisPerCollision<CollisionsMcWithNTracksPV>(collisions, candsDs, mcParticles);
770755 }
771756 PROCESS_SWITCH (HfTaskDs, processMcWithCentNTracksPV, " Process MC w/o ML information on Ds, with information on centrality from NTracksPV" , false );
772757
@@ -776,7 +761,7 @@ struct HfTaskDs {
776761 aod::McCollisions const &,
777762 aod::TracksWMc const &)
778763 {
779- runMcAnalysisPerCollision<CentralityEstimator::None, CollisionsMc>(collisions, candsDs, mcParticles, candDsMcRecoPerCollision );
764+ runMcAnalysisPerCollision<CollisionsMc>(collisions, candsDs, mcParticles);
780765 }
781766 PROCESS_SWITCH (HfTaskDs, processMc, " Process MC w/o ML information on Ds, w/o information on centrality" , false );
782767
@@ -786,7 +771,7 @@ struct HfTaskDs {
786771 aod::McCollisions const &,
787772 aod::TracksWMc const &)
788773 {
789- runMcAnalysisPerCollision<CentralityEstimator::FT0C, CollisionsMcWithFT0C>(collisions, candsDs, mcParticles, candDsMcRecoWithMlPerCollision );
774+ runMcAnalysisPerCollision<CollisionsMcWithFT0C>(collisions, candsDs, mcParticles);
790775 }
791776 PROCESS_SWITCH (HfTaskDs, processMcWithMlAndCentFT0C, " Process MC with ML information on Ds, with information on centrality from FT0C" , false );
792777
@@ -796,7 +781,7 @@ struct HfTaskDs {
796781 aod::McCollisions const &,
797782 aod::TracksWMc const &)
798783 {
799- runMcAnalysisPerCollision<CentralityEstimator::FT0M, CollisionsMcWithFT0M>(collisions, candsDs, mcParticles, candDsMcRecoWithMlPerCollision );
784+ runMcAnalysisPerCollision<CollisionsMcWithFT0M>(collisions, candsDs, mcParticles);
800785 }
801786 PROCESS_SWITCH (HfTaskDs, processMcWithMlAndCentFT0M, " Process MC with ML information on Ds, with information on centrality from FT0M" , false );
802787
@@ -806,7 +791,7 @@ struct HfTaskDs {
806791 aod::McCollisions const &,
807792 aod::TracksWMc const &)
808793 {
809- runMcAnalysisPerCollision<CentralityEstimator::NTracksPV, CollisionsMcWithNTracksPV>(collisions, candsDs, mcParticles, candDsMcRecoWithMlPerCollision );
794+ runMcAnalysisPerCollision<CollisionsMcWithNTracksPV>(collisions, candsDs, mcParticles);
810795 }
811796 PROCESS_SWITCH (HfTaskDs, processMcWithMlAndCentNTracksPV, " Process MC with ML information on Ds, with information on centrality from NTracksPV" , false );
812797
@@ -816,7 +801,7 @@ struct HfTaskDs {
816801 aod::McCollisions const &,
817802 aod::TracksWMc const &)
818803 {
819- runMcAnalysisPerCollision<CentralityEstimator::None, CollisionsMc>(collisions, candsDs, mcParticles, candDsMcRecoWithMlPerCollision );
804+ runMcAnalysisPerCollision<CollisionsMc>(collisions, candsDs, mcParticles);
820805 }
821806 PROCESS_SWITCH (HfTaskDs, processMcWithMl, " Process MC with ML information on Ds, w/o information on centrality" , false );
822807};
0 commit comments