Skip to content

Commit 94c8020

Browse files
jikim1290alibuild
andauthored
[PWGLF] adding event mixing (#12747)
Co-authored-by: ALICE Action Bot <alibuild@cern.ch>
1 parent df88af4 commit 94c8020

File tree

1 file changed

+53
-0
lines changed

1 file changed

+53
-0
lines changed

PWGLF/Tasks/Strangeness/lambdaTwoPartPolarization.cxx

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,8 @@ struct lambdaTwoPartPolarization {
130130
ConfigurableAxis cosSigAxis{"cosSigAxis", {110, -1.05, 1.05}, "Signal cosine axis"};
131131
ConfigurableAxis cosAccAxis{"cosAccAxis", {110, -7.05, 7.05}, "Accepatance cosine axis"};
132132

133+
ConfigurableAxis vertexAxis{"vertexAxis", {5, -10, 10}, "vertex axis for mixing"};
134+
133135
TF1* fMultPVCutLow = nullptr;
134136
TF1* fMultPVCutHigh = nullptr;
135137

@@ -403,6 +405,57 @@ struct lambdaTwoPartPolarization {
403405
FillHistograms(collision, collision, V0s, V0s);
404406
}
405407
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataSame, "Process Event for same data", true);
408+
409+
SliceCache cache;
410+
using BinningTypeVertexContributorFT0M = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0M>;
411+
using BinningTypeVertexContributorFT0C = ColumnBinningPolicy<aod::collision::PosZ, aod::cent::CentFT0C>;
412+
void processDataMixedT0C(EventCandidates const& collisions,
413+
TrackCandidates const& /*tracks*/, aod::V0Datas const& V0s, aod::BCsWithTimestamps const&)
414+
{
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) {
419+
centrality = c1.centFT0C();
420+
auto bc = c1.bc_as<aod::BCsWithTimestamps>();
421+
if (cfgAccCor) {
422+
AccMap = ccdb->getForTimeStamp<TProfile2D>(cfgAccCorPath.value, bc.timestamp());
423+
}
424+
if (!eventSelected(c1))
425+
continue;
426+
if (!eventSelected(c2))
427+
continue;
428+
if (c1.bcId() == c2.bcId())
429+
continue;
430+
431+
FillHistograms(c1, c2, tracks1, tracks2);
432+
}
433+
}
434+
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataMixedT0C, "Process Event for mixed data in PbPb", false);
435+
436+
void processDataMixedT0M(EventCandidates const& collisions,
437+
TrackCandidates const& /*tracks*/, aod::V0Datas const& V0s, aod::BCsWithTimestamps const&)
438+
{
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) {
443+
centrality = c1.centFT0M();
444+
auto bc = c1.bc_as<aod::BCsWithTimestamps>();
445+
if (cfgAccCor) {
446+
AccMap = ccdb->getForTimeStamp<TProfile2D>(cfgAccCorPath.value, bc.timestamp());
447+
}
448+
if (!eventSelected(c1))
449+
continue;
450+
if (!eventSelected(c2))
451+
continue;
452+
if (c1.bcId() == c2.bcId())
453+
continue;
454+
455+
FillHistograms(c1, c2, tracks1, tracks2);
456+
}
457+
}
458+
PROCESS_SWITCH(lambdaTwoPartPolarization, processDataMixedT0M, "Process Event for mixed data in pp", false);
406459
};
407460

408461
WorkflowSpec defineDataProcessing(ConfigContext const& cfgc)

0 commit comments

Comments
 (0)