Skip to content

Commit 8a6ad47

Browse files
Fix Tracked cascade datalink filling
1 parent aaa3fef commit 8a6ad47

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

PWGLF/Utils/strangenessBuilderModule.h

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2403,12 +2403,14 @@ class BuilderModule
24032403
return; // don't do if no request for cascades in place or findable mode used
24042404
}
24052405
int nCascades = 0;
2406+
std::vector<int> traCascIndices(cascadeList.size(), -1);
24062407
// Loops over all V0s in the time frame
24072408
histos.fill(HIST("hInputStatistics"), kStoredTraCascCores, cascadeTracks.size());
24082409
for (const auto& cascadeTrack : cascadeTracks) {
24092410
// Get tracks and generate candidate
2410-
if (!cascadeTrack.has_track())
2411+
if (!cascadeTrack.has_track()) {
24112412
continue; // safety (should be fine but depends on future stratrack dev)
2413+
}
24122414

24132415
auto const& strangeTrack = cascadeTrack.template track_as<TTracks>();
24142416

@@ -2433,8 +2435,6 @@ class BuilderModule
24332435
baseOpts.mEnabledTables[kCascBBs],
24342436
cascadeBuilderOpts.useCascadeMomentumAtPrimVtx,
24352437
baseOpts.mEnabledTables[kCascCovs])) {
2436-
products.tracascdataLink(-1);
2437-
interlinks.cascadeToTraCascCores.push_back(-1);
24382438
continue; // didn't work out, skip
24392439
}
24402440

@@ -2474,9 +2474,7 @@ class BuilderModule
24742474
histos.fill(HIST("hTableBuildingStatistics"), kStoredTraCascCores);
24752475

24762476
// interlink always produced if base core table generated
2477-
products.tracascdataLink(products.tracascdata.lastIndex());
2478-
interlinks.traCascCoreToCascades.push_back(cascade.globalIndex());
2479-
interlinks.cascadeToTraCascCores.push_back(products.tracascdata.lastIndex());
2477+
traCascIndices[cascade.globalIndex()] = products.tracascdata.lastIndex();
24802478
}
24812479
if (baseOpts.mEnabledTables[kCascCovs]) {
24822480
std::array<float, o2::track::kLabCovMatSize> traCovMat = {0.};
@@ -2502,6 +2500,18 @@ class BuilderModule
25022500
} // enabled tables check
25032501
} // constexpr requires mcParticles check
25042502
} // end loop over cascades
2503+
2504+
for (std::size_t icascade = 0; icascade < cascadeList.size(); icascade++) {
2505+
auto const& cascade = cascadeList[sorted_cascade[icascade]];
2506+
if (traCascIndices[cascade.globalId] >= 0) {
2507+
products.tracascdataLink(traCascIndices[cascade.globalId]);
2508+
interlinks.traCascCoreToCascades.push_back(cascade.globalId);
2509+
interlinks.cascadeToTraCascCores.push_back(traCascIndices[cascade.globalId]);
2510+
} else {
2511+
products.tracascdataLink(-1);
2512+
interlinks.cascadeToTraCascCores.push_back(-1);
2513+
}
2514+
}
25052515
LOGF(debug, "Tracked cascades in DF: %i, tracked cascades built: %i", cascadeTracks.size(), nCascades);
25062516
}
25072517

0 commit comments

Comments
 (0)