@@ -558,7 +558,7 @@ class V0BuilderDerivedToDerived
558558 }
559559
560560 template <typename T1, typename T2, typename T3, typename T4>
561- bool collisionHasTooFewLambdas (T1& col, T2& /* lambdaTable*/ , T3& partitionLambda, T4& cache)
561+ bool collisionHasTooFewLambdas (T1 const & col, T2 const & /* lambdaTable*/ , T3& partitionLambda, T4& cache)
562562 {
563563 auto lambdaSlice = partitionLambda->sliceByCached (o2::aod::femtobase::stored::fColId , col.globalIndex (), cache);
564564 if (lambdaSlice.size () >= mLimitLambda ) {
@@ -568,7 +568,7 @@ class V0BuilderDerivedToDerived
568568 }
569569
570570 template <typename T1, typename T2, typename T3, typename T4>
571- bool collisionHasTooFewK0shorts (T1& col, T2& /* k0shortTable*/ , T3& partitionK0short, T4& cache)
571+ bool collisionHasTooFewK0shorts (T1 const & col, T2 const & /* k0shortTable*/ , T3& partitionK0short, T4& cache)
572572 {
573573 auto k0shortSlice = partitionK0short->sliceByCached (o2::aod::femtobase::stored::fColId , col.globalIndex (), cache);
574574 if (k0shortSlice.size () >= mLimitK0short ) {
@@ -578,14 +578,16 @@ class V0BuilderDerivedToDerived
578578 }
579579
580580 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
581- void processLambdas (T1& col, T2& /* lambdaTable*/ , T3& /* oldTrackTable*/ , T4& partitionLambda, T5& trackBuilder, T6& cache, T7& newLambdaTable, T8& newTrackTable, T9& newCollisionTable)
581+ void processLambdas (T1 const & col, T2 const & /* lambdaTable*/ , T3 const & oldTrackTable, T4& partitionLambda, T5& trackBuilder, T6& cache, T7& newLambdaTable, T8& newTrackTable, T9& newCollisionTable)
582582 {
583583 auto lambdaSlice = partitionLambda->sliceByCached (o2::aod::femtobase::stored::fColId , col.globalIndex (), cache);
584584
585585 for (auto const & lambda : lambdaSlice) {
586586
587- auto posDaughter = lambda.template posDau_as <T3>();
588- auto negDaughter = lambda.template negDau_as <T3>();
587+ // auto posDaughter = lambda.template posDau_as<T3>();
588+ // auto negDaughter = lambda.template negDau_as<T3>();
589+ auto posDaughter = oldTrackTable.rawIteratorAt (lambda.posDauId () - oldTrackTable.offset ());
590+ auto negDaughter = oldTrackTable.rawIteratorAt (lambda.negDauId () - oldTrackTable.offset ());
589591
590592 int posDaughterIndex = trackBuilder.getDaughterIndex (posDaughter, newTrackTable, newCollisionTable);
591593 int negDaughterIndex = trackBuilder.getDaughterIndex (negDaughter, newTrackTable, newCollisionTable);
@@ -602,14 +604,16 @@ class V0BuilderDerivedToDerived
602604 }
603605
604606 template <typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8, typename T9>
605- void processK0shorts (T1& col, T2& /* k0shortTable*/ , T3& /* oldTrackTable*/ , T4& partitionK0short, T5& trackBuilder, T6& cache, T7& newK0shortTable, T8& newTrackTable, T9& newCollisionTable)
607+ void processK0shorts (T1 const & col, T2 const & /* k0shortTable*/ , T3 const & oldTrackTable, T4& partitionK0short, T5& trackBuilder, T6& cache, T7& newK0shortTable, T8& newTrackTable, T9& newCollisionTable)
606608 {
607609 auto k0shortSlice = partitionK0short->sliceByCached (o2::aod::femtobase::stored::fColId , col.globalIndex (), cache);
608610
609611 for (auto const & k0short : k0shortSlice) {
610612
611- auto posDaughter = k0short.template posDau_as <T3>();
612- auto negDaughter = k0short.template negDau_as <T3>();
613+ // auto posDaughter = k0short.template posDau_as<T3>();
614+ // auto negDaughter = k0short.template negDau_as<T3>();
615+ auto posDaughter = oldTrackTable.rawIteratorAt (k0short.posDauId () - oldTrackTable.offset ());
616+ auto negDaughter = oldTrackTable.rawIteratorAt (k0short.negDauId () - oldTrackTable.offset ());
613617
614618 int posDaughterIndex = trackBuilder.getDaughterIndex (posDaughter, newTrackTable, newCollisionTable);
615619 int negDaughterIndex = trackBuilder.getDaughterIndex (negDaughter, newTrackTable, newCollisionTable);
0 commit comments