Skip to content

Commit 9ca2128

Browse files
committed
Add estimator type to CFMultiplicities table for task lookup
1 parent 7ce4a4d commit 9ca2128

2 files changed

Lines changed: 26 additions & 11 deletions

File tree

PWGCF/DataModel/CorrelationsDerived.h

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,20 @@ using CFMcParticle = CFMcParticles::iterator;
5858
namespace cfmultiplicity
5959
{
6060
DECLARE_SOA_COLUMN(Multiplicity, multiplicity, float);
61-
}
62-
DECLARE_SOA_TABLE(CFMultiplicities, "AOD", "CFMULTIPLICITY", cfmultiplicity::Multiplicity);
61+
DECLARE_SOA_COLUMN(Estimator, multiplicityEstimator, uint8_t); //! Source used for the multiplicity value
62+
enum EstimatorType : uint8_t {
63+
Tracks,
64+
FT0M,
65+
FT0C,
66+
FT0CVariant1,
67+
FT0CVariant2,
68+
FT0A,
69+
CentNGlobal,
70+
Run2V0M,
71+
MCParticles,
72+
};
73+
} // namespace cfmultiplicity
74+
DECLARE_SOA_TABLE(CFMultiplicities, "AOD", "CFMULTIPLICITY", cfmultiplicity::Multiplicity, cfmultiplicity::Estimator);
6375

6476
using CFMultiplicity = CFMultiplicities::iterator;
6577

PWGCF/TableProducer/filterCorrelations.cxx

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)