@@ -796,6 +796,8 @@ struct ResonanceInitializer {
796796 v0.dcapostopv (),
797797 v0.dcanegtopv (),
798798 v0.dcav0topv (),
799+ static_cast <uint8_t >(v0.template posTrack_as <TrackType>().tpcNClsCrossedRows ()),
800+ static_cast <uint8_t >(v0.template negTrack_as <TrackType>().tpcNClsCrossedRows ()),
799801 v0.mLambda (),
800802 v0.mAntiLambda (),
801803 v0.mK0Short (),
@@ -858,6 +860,9 @@ struct ResonanceInitializer {
858860 casc.dcaXYCascToPV (),
859861 casc.dcaZCascToPV (),
860862 casc.sign (),
863+ static_cast <uint8_t >(casc.template posTrack_as <TrackType>().tpcNClsCrossedRows ()),
864+ static_cast <uint8_t >(casc.template negTrack_as <TrackType>().tpcNClsCrossedRows ()),
865+ static_cast <uint8_t >(casc.template bachelor_as <TrackType>().tpcNClsCrossedRows ()),
861866 casc.mLambda (),
862867 casc.mXi (),
863868 casc.v0radius (), casc.cascradius (), casc.x (), casc.y (), casc.z ());
@@ -1736,6 +1741,9 @@ struct ResonanceInitializer {
17361741 resoSpheroCollisions (computeSpherocity (tracks, trackSphMin, trackSphDef));
17371742 resoEvtPlCollisions (0 , 0 , 0 , 0 );
17381743 fillMCCollision<false >(collision, mcParticles);
1744+ // Loop over all MC particles
1745+ auto mcParts = selectedMCParticles->sliceBy (perMcCollision, collision.mcCollision ().globalIndex ());
1746+ fillMCParticles (mcParts, mcParticles);
17391747
17401748 // Loop over tracks
17411749 if (FilterForDerivedTables.cfgBypassNoPairV0s && (V0s.size () < 1 )) {
@@ -1746,10 +1754,6 @@ struct ResonanceInitializer {
17461754 fillMicroTracks<true >(collision, tracks);
17471755 }
17481756 fillV0s<true >(collision, V0s, tracks);
1749-
1750- // Loop over all MC particles
1751- auto mcParts = selectedMCParticles->sliceBy (perMcCollision, collision.mcCollision ().globalIndex ());
1752- fillMCParticles (mcParts, mcParticles);
17531757 }
17541758 PROCESS_SWITCH (ResonanceInitializer, processTrackV0MC, " Process for MC" , false );
17551759
@@ -1825,6 +1829,9 @@ struct ResonanceInitializer {
18251829 mult = mcCollision.multMCNParticlesEta10 ();
18261830
18271831 fillMCCollision<false >(collision, mcParticles, impactpar, mult);
1832+ // Loop over all MC particles
1833+ auto mcParts = selectedMCParticles->sliceBy (perMcCollision, mcId);
1834+ fillMCParticles (mcParts, mcParticles);
18281835
18291836 // Loop over tracks
18301837 if (FilterForDerivedTables.cfgBypassNoPairV0s && (V0s.size () < 1 )) {
@@ -1839,16 +1846,11 @@ struct ResonanceInitializer {
18391846 }
18401847 fillV0s<true >(collision, V0s, tracks);
18411848 fillCascades<true >(collision, Cascades, tracks);
1842-
1843- // Loop over all MC particles
1844- auto mcParts = selectedMCParticles->sliceBy (perMcCollision, mcId);
1845- fillMCParticles (mcParts, mcParticles);
18461849 }
18471850 PROCESS_SWITCH (ResonanceInitializer, processTrackV0CascMC, " Process for MC" , false );
18481851
18491852 // Following the discussions at the PAG meeting (https://indico.cern.ch/event/1583408/)
18501853 // we have introduced an auxiliary task that, when the resonanceInitializer.cxx is used,
1851- // Only consider N_rec / N_gen i.e. not consider level of N_gen at least once
18521854 void processMCgen (soa::Join<aod::McCollisions, aod::McCentFT0Ms, aod::MultMCExtras>::iterator const & mcCollision,
18531855 aod::McParticles const & mcParticles,
18541856 const soa::SmallGroups<o2::soa::Join<ResoEvents001, aod::McCollisionLabels>>& collisions,
0 commit comments