Skip to content

Commit bc86eab

Browse files
jikim1290alibuild
andauthored
[PWGLF] updating the mixing for V0s (#12766)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent 9b481bd commit bc86eab

File tree

1 file changed

+29
-19
lines changed

1 file changed

+29
-19
lines changed

PWGLF/Tasks/Strangeness/lambdaTwoPartPolarization.cxx

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -404,58 +404,68 @@ struct lambdaTwoPartPolarization {
404404

405405
FillHistograms(collision, collision, V0s, V0s);
406406
}
407-
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataSame, "Process Event for same data", true);
407+
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataSame, "Process event for same data", true);
408408

409409
SliceCache cache;
410-
using BinningTypeVertexContributorFT0M = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0M>;
411-
using BinningTypeVertexContributorFT0C = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0C>;
410+
Preslice<aod::V0Datas> tracksPerCollisionV0 = aod::v0data::collisionId;
411+
412+
using BinningTypeT0C = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0C>;
413+
BinningTypeT0C colBinningT0C{{vertexAxis, centAxis}, true};
414+
412415
void processDataMixedT0C(EventCandidates const& collisions,
413416
TrackCandidates const& /*tracks*/, aod::V0Datas const& V0s, aod::BCsWithTimestamps const&)
414417
{
415-
auto tracksTuple = std::make_tuple(V0s);
416-
BinningTypeVertexContributorFT0C binningOnPositions{{vertexAxis, centAxis}, true};
417-
SameKindPair<EventCandidates, V0TrackCandidate, BinningTypeVertexContributorFT0C> pair{binningOnPositions, cfgNoMixedEvents, -1, collisions, tracksTuple, &cache};
418-
for (auto& [c1, tracks1, c2, tracks2] : pair) {
418+
for (auto& [c1, c2] : selfCombinations(colBinningT0C, cfgNoMixedEvents, -1, collisions, collisions)) {
419+
420+
if (c1.index() == c2.index())
421+
continue;
422+
419423
centrality = c1.centFT0C();
420-
auto bc = c1.bc_as<aod::BCsWithTimestamps>();
421424
if (cfgAccCor) {
425+
auto bc = c1.bc_as<aod::BCsWithTimestamps>();
422426
AccMap = ccdb->getForTimeStamp<TProfile2D>(cfgAccCorPath.value, bc.timestamp());
423427
}
424428
if (!eventSelected(c1))
425429
continue;
426430
if (!eventSelected(c2))
427431
continue;
428-
if (c1.bcId() == c2.bcId())
429-
continue;
432+
433+
auto tracks1 = V0s.sliceBy(tracksPerCollisionV0, c1.globalIndex());
434+
auto tracks2 = V0s.sliceBy(tracksPerCollisionV0, c2.globalIndex());
430435

431436
FillHistograms(c1, c2, tracks1, tracks2);
432437
}
433438
}
434-
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataMixedT0C, "Process Event for mixed data in PbPb", false);
439+
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataMixedT0C, "Process event for mixed data in PbPb", false);
440+
441+
using BinningTypeT0M = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0M>;
442+
BinningTypeT0M colBinningT0M{{vertexAxis, centAxis}, true};
435443

436444
void processDataMixedT0M(EventCandidates const& collisions,
437445
TrackCandidates const& /*tracks*/, aod::V0Datas const& V0s, aod::BCsWithTimestamps const&)
438446
{
439-
auto tracksTuple = std::make_tuple(V0s);
440-
BinningTypeVertexContributorFT0M binningOnPositions{{vertexAxis, centAxis}, true};
441-
SameKindPair<EventCandidates, V0TrackCandidate, BinningTypeVertexContributorFT0M> pair{binningOnPositions, cfgNoMixedEvents, -1, collisions, tracksTuple, &cache};
442-
for (auto& [c1, tracks1, c2, tracks2] : pair) {
447+
for (auto& [c1, c2] : selfCombinations(colBinningT0M, cfgNoMixedEvents, -1, collisions, collisions)) {
448+
449+
if (c1.index() == c2.index())
450+
continue;
451+
443452
centrality = c1.centFT0M();
444-
auto bc = c1.bc_as<aod::BCsWithTimestamps>();
445453
if (cfgAccCor) {
454+
auto bc = c1.bc_as<aod::BCsWithTimestamps>();
446455
AccMap = ccdb->getForTimeStamp<TProfile2D>(cfgAccCorPath.value, bc.timestamp());
447456
}
448457
if (!eventSelected(c1))
449458
continue;
450459
if (!eventSelected(c2))
451460
continue;
452-
if (c1.bcId() == c2.bcId())
453-
continue;
461+
462+
auto tracks1 = V0s.sliceBy(tracksPerCollisionV0, c1.globalIndex());
463+
auto tracks2 = V0s.sliceBy(tracksPerCollisionV0, c2.globalIndex());
454464

455465
FillHistograms(c1, c2, tracks1, tracks2);
456466
}
457467
}
458-
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataMixedT0M, "Process Event for mixed data in pp", false);
468+
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataMixedT0M, "Process event for mixed data in pp", false);
459469
};
460470

461471
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)