@@ -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
519529WorkflowSpec defineDataProcessing (ConfigContext const & cfgc)
0 commit comments