@@ -41,6 +41,7 @@ struct FemtoProducerDerivedToDerived {
4141 using FilteredFemtoCollision = FilteredFemtoCollisions::iterator;
4242
4343 using FemtoTracks = o2::soa::Join<o2::aod::FTracks, o2::aod::FTrackMasks>;
44+ using FemtoTracksWithMass = o2::soa::Join<FemtoTracks, o2::aod::FTrackMass>;
4445 using FemtoLambdas = o2::soa::Join<o2::aod::FLambdas, o2::aod::FLambdaMasks>;
4546 using FemtoK0shorts = o2::soa::Join<o2::aod::FK0shorts, o2::aod::FK0shortMasks>;
4647 using FemtoXis = o2::soa::Join<o2::aod::FXis, o2::aod::FXiMasks>;
@@ -113,7 +114,7 @@ struct FemtoProducerDerivedToDerived {
113114 cascadeBuilder.init (confCascadeBuilder);
114115 kinkBuilder.init (confKinkBuilder);
115116
116- if ((static_cast <int >(doprocessTracks) + static_cast <int >(doprocessTracksLambdas) + static_cast <int >(doprocessLambdas) + static_cast <int >(doprocessTracksXis) + static_cast <int >(doprocessTracksOmegas) + static_cast <int >(doprocessTracksK0shorts) + static_cast <int >(doprocessTracksSigma) + static_cast <int >(doprocessTracksSigmaPlus)) > 1 ) {
117+ if ((static_cast <int >(doprocessTracks) + static_cast <int >(doprocessTracksWithMass) + static_cast < int >( doprocessTracksLambdas) + static_cast <int >(doprocessLambdas) + static_cast <int >(doprocessTracksXis) + static_cast <int >(doprocessTracksOmegas) + static_cast <int >(doprocessTracksK0shorts) + static_cast <int >(doprocessTracksSigma) + static_cast <int >(doprocessTracksSigmaPlus)) > 1 ) {
117118 LOG (fatal) << " Only one proccess function can be activated" ;
118119 }
119120 }
@@ -129,6 +130,16 @@ struct FemtoProducerDerivedToDerived {
129130 }
130131 PROCESS_SWITCH (FemtoProducerDerivedToDerived, processTracks, " Process tracks" , true );
131132
133+ void processTracksWithMass (FilteredFemtoCollision const & col, FemtoTracksWithMass const & tracks)
134+ {
135+ if (trackBuilder.collisionHasTooFewTracks (col, tracks, trackPartition1, trackPartition2, cache)) {
136+ return ;
137+ }
138+ collisionBuilder.processCollision (col, collisionBuilderProducts);
139+ trackBuilder.processTracks (col, tracks, trackPartition1, trackPartition2, cache, trackBuilderProducts, collisionBuilderProducts);
140+ }
141+ PROCESS_SWITCH (FemtoProducerDerivedToDerived, processTracksWithMass, " Process tracks with mass" , false );
142+
132143 void processTracksLambdas (FilteredFemtoCollision const & col, FemtoTracks const & tracks, FemtoLambdas const & lambdas)
133144 {
134145 if (trackBuilder.collisionHasTooFewTracks (col, tracks, trackPartition1, trackPartition2, cache) || v0Builder.collisionHasTooFewLambdas (col, lambdas, lambdaPartition, cache)) {
0 commit comments