@@ -339,6 +339,9 @@ struct FilterCF {
339339 template <bool applyDCA, typename TCollision, typename TTracks>
340340 float getCorrectedMultiplicity (const TCollision& collision, const TTracks& tracks, uint64_t timestamp)
341341 {
342+ if (collision.multiplicityEstimator () != aod::cfmultiplicity::Tracks) {
343+ LOGF (fatal, " Efficiency-corrected multiplicity requires MultiplicitySelector::processTracks, but estimator type %u was configured" , static_cast <unsigned int >(collision.multiplicityEstimator ()));
344+ }
342345 auto * efficiency = loadMultiplicityEfficiency (timestamp);
343346 double correctedMultiplicity = 0 .;
344347 for (const auto & track : tracks) {
@@ -719,69 +722,69 @@ struct MultiplicitySelector {
719722
720723 void processTracks (aod::Collision const &, soa::Filtered<soa::Join<aod::Tracks, aod::TrackSelection>> const & tracks)
721724 {
722- output (tracks.size ());
725+ output (tracks.size (), aod::cfmultiplicity::Tracks );
723726 }
724727 PROCESS_SWITCH (MultiplicitySelector, processTracks, " Select track count as multiplicity" , false );
725728
726729 void processFT0M (aod::CentFT0Ms const & centralities)
727730 {
728731 for (auto & c : centralities) {
729- output (c.centFT0M ());
732+ output (c.centFT0M (), aod::cfmultiplicity:: FT0M );
730733 }
731734 }
732735 PROCESS_SWITCH (MultiplicitySelector, processFT0M, " Select FT0M centrality as multiplicity" , false );
733736
734737 void processFT0C (aod::CentFT0Cs const & centralities)
735738 {
736739 for (auto & c : centralities) {
737- output (c.centFT0C ());
740+ output (c.centFT0C (), aod::cfmultiplicity:: FT0C );
738741 }
739742 }
740743 PROCESS_SWITCH (MultiplicitySelector, processFT0C, " Select FT0C centrality as multiplicity" , false );
741744
742745 void processFT0CVariant1 (aod::CentFT0CVariant1s const & centralities)
743746 {
744747 for (auto & c : centralities) {
745- output (c.centFT0CVariant1 ());
748+ output (c.centFT0CVariant1 (), aod::cfmultiplicity::FT0CVariant1 );
746749 }
747750 }
748751 PROCESS_SWITCH (MultiplicitySelector, processFT0CVariant1, " Select FT0CVariant1 centrality as multiplicity" , false );
749752
750753 void processFT0CVariant2 (aod::CentFT0CVariant2s const & centralities)
751754 {
752755 for (auto & c : centralities) {
753- output (c.centFT0CVariant2 ());
756+ output (c.centFT0CVariant2 (), aod::cfmultiplicity::FT0CVariant2 );
754757 }
755758 }
756759 PROCESS_SWITCH (MultiplicitySelector, processFT0CVariant2, " Select FT0CVariant2 centrality as multiplicity" , false );
757760
758761 void processFT0A (aod::CentFT0As const & centralities)
759762 {
760763 for (auto & c : centralities) {
761- output (c.centFT0A ());
764+ output (c.centFT0A (), aod::cfmultiplicity:: FT0A );
762765 }
763766 }
764767 PROCESS_SWITCH (MultiplicitySelector, processFT0A, " Select FT0A centrality as multiplicity" , false );
765768
766769 void processCentNGlobal (aod::CentNGlobals const & centralities)
767770 {
768771 for (auto & c : centralities) {
769- output (c.centNGlobal ());
772+ output (c.centNGlobal (), aod::cfmultiplicity::CentNGlobal );
770773 }
771774 }
772775 PROCESS_SWITCH (MultiplicitySelector, processCentNGlobal, " Select CentNGlobal centrality as multiplicity" , false );
773776
774777 void processRun2V0M (aod::CentRun2V0Ms const & centralities)
775778 {
776779 for (auto & c : centralities) {
777- output (c.centRun2V0M ());
780+ output (c.centRun2V0M (), aod::cfmultiplicity::Run2V0M );
778781 }
779782 }
780783 PROCESS_SWITCH (MultiplicitySelector, processRun2V0M, " Select V0M centrality as multiplicity" , true );
781784
782785 void processMCGen (aod::McCollision const &, aod::McParticles const & particles)
783786 {
784- output (particles.size ());
787+ output (particles.size (), aod::cfmultiplicity::MCParticles );
785788 }
786789 PROCESS_SWITCH (MultiplicitySelector, processMCGen, " Select MC particle count as multiplicity" , false );
787790};
0 commit comments