@@ -114,7 +114,8 @@ struct FemtoProducerDerivedToDerived {
114114 {
115115 const int activeProcesses =
116116 static_cast <int >(doprocessTracks) + static_cast <int >(doprocessTracksWithMass) +
117- static_cast <int >(doprocessTracksLambdas) + static_cast <int >(doprocessLambdas) +
117+ static_cast <int >(doprocessTracksLambdas) + static_cast <int >(doprocessTracksWithMassLambdas) +
118+ static_cast <int >(doprocessLambdas) +
118119 static_cast <int >(doprocessTracksXis) + static_cast <int >(doprocessTracksOmegas) +
119120 static_cast <int >(doprocessTracksK0shorts) + static_cast <int >(doprocessTracksSigma) +
120121 static_cast <int >(doprocessTracksSigmaPlus);
@@ -163,6 +164,18 @@ struct FemtoProducerDerivedToDerived {
163164 }
164165 PROCESS_SWITCH (FemtoProducerDerivedToDerived, processTracksLambdas, " Process lambdas and tracks" , false );
165166
167+ void processTracksWithMassLambdas (FilteredFemtoCollision const & col, FemtoTracksWithMass const & tracks, FemtoLambdas const & lambdas)
168+ {
169+ if (trackBuilder.collisionHasTooFewTracks (col, tracks, trackWithMassPartition1, trackWithMassPartition2, cache) || v0Builder.collisionHasTooFewLambdas (col, lambdas, lambdaPartition, cache)) {
170+ return ;
171+ }
172+ trackBuilder.reset (tracks);
173+ collisionBuilder.processCollision (col, collisionBuilderProducts);
174+ trackBuilder.processTracks (col, tracks, trackWithMassPartition1, trackWithMassPartition2, cache, trackBuilderProducts, collisionBuilderProducts);
175+ v0Builder.processLambdas (col, lambdas, tracks, lambdaPartition, trackBuilder, cache, v0BuilderProducts, trackBuilderProducts, collisionBuilderProducts);
176+ }
177+ PROCESS_SWITCH (FemtoProducerDerivedToDerived, processTracksWithMassLambdas, " Process lambdas and tracks with mass" , false );
178+
166179 void processLambdas (FilteredFemtoCollision const & col, FemtoTracks const & tracks, FemtoLambdas const & lambdas)
167180 {
168181 if (v0Builder.collisionHasTooFewLambdas (col, lambdas, lambdaPartition, cache)) {
0 commit comments