Skip to content

Commit 8578668

Browse files
authored
PWG-LF: split processMC into rec and gen functions (#2507)
* PWG-LF: split processMC into rec and gen functions * clang-format fix
1 parent bc74ca7 commit 8578668

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

PWGLF/Tasks/NucleiSpectraTask.cxx

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -458,17 +458,15 @@ struct NucleiSpectraTask {
458458
}
459459
PROCESS_SWITCH(NucleiSpectraTask, processData, "Data analysis", true);
460460

461-
void processMC(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels>>::iterator const& collision, TrackCandidates const& tracks, aod::McTrackLabels const& trackLabelsMC, aod::McParticles const& particlesMC, aod::BCsWithTimestamps const&)
461+
void processMCrec(soa::Filtered<soa::Join<aod::Collisions, aod::EvSels>>::iterator const& collision, TrackCandidates const& tracks, aod::McTrackLabels const& trackLabelsMC, aod::McParticles const& particlesMC, aod::BCsWithTimestamps const&)
462462
{
463463
fillDataInfo(collision, tracks);
464-
std::vector<bool> isReconstructed(particlesMC.size(), false);
465464
for (auto& c : nuclei::candidates) {
466465
auto label = trackLabelsMC.iteratorAt(c.globalIndex);
467466
if (label.mcParticleId() < -1 || label.mcParticleId() >= particlesMC.size()) {
468467
continue;
469468
}
470469
auto particle = particlesMC.iteratorAt(label.mcParticleId());
471-
isReconstructed[particle.globalIndex()] = true;
472470
if (particle.isPhysicalPrimary()) {
473471
c.flags |= kIsPhysicalPrimary;
474472
} else if (particle.has_mothers()) {
@@ -485,7 +483,20 @@ struct NucleiSpectraTask {
485483
}
486484
}
487485
}
486+
}
487+
PROCESS_SWITCH(NucleiSpectraTask, processMCrec, "MC analysis rec", false);
488488

489+
void processMCgen(aod::McTrackLabels const& trackLabelsMC, aod::McParticles const& particlesMC)
490+
{
491+
std::vector<bool> isReconstructed(particlesMC.size(), false);
492+
for (auto& c : nuclei::candidates) {
493+
auto label = trackLabelsMC.iteratorAt(c.globalIndex);
494+
if (label.mcParticleId() < -1 || label.mcParticleId() >= particlesMC.size()) {
495+
continue;
496+
}
497+
auto particle = particlesMC.iteratorAt(label.mcParticleId());
498+
isReconstructed[particle.globalIndex()] = true;
499+
}
489500
int index{0};
490501
for (auto& particle : particlesMC) {
491502
int pdg{std::abs(particle.pdgCode())};
@@ -504,7 +515,6 @@ struct NucleiSpectraTask {
504515
} else {
505516
flags |= kIsSecondaryFromMaterial;
506517
}
507-
508518
if (!isReconstructed[index] && (cfgTreeConfig->get(iS, 0u) || cfgTreeConfig->get(iS, 1u))) {
509519
nucleiTableMC(0, 0, 0, 0, 0, 0, flags, 0, 0, particle.pt(), particle.eta(), particle.pdgCode());
510520
}
@@ -513,7 +523,7 @@ struct NucleiSpectraTask {
513523
index++;
514524
}
515525
}
516-
PROCESS_SWITCH(NucleiSpectraTask, processMC, "MC analysis", false);
526+
PROCESS_SWITCH(NucleiSpectraTask, processMCgen, "MC analysis gen", false);
517527
};
518528

519529
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)