Skip to content

Commit 3518bd2

Browse files
committed
Changing mixed event
1 parent 21f3147 commit 3518bd2

File tree

1 file changed

+73
-16
lines changed

1 file changed

+73
-16
lines changed

PWGHF/HFC/Tasks/taskFlow.cxx

Lines changed: 73 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,10 @@ struct HfTaskFlow {
241241
// =========================
242242

243243
// DATA : event histograms for TPC-TPC HF-h same event
244+
245+
registry.add("Data/TpcTpc/HfHadron/SameEvent/2Prong/hEventCountSame", "bin", {HistType::kTH1F, {{nBinsMix + 2, -2.5, -0.5 + nBinsMix, "bin"}}});
246+
registry.add("Data/TpcTpc/HfHadron/SameEvent/2Prong/hEta", "eta", {HistType::kTH1F, {{100, -4, 4, "#eta"}}});
247+
registry.add("Data/TpcTpc/HfHadron/SameEvent/2Prong/hPhi", "phi", {HistType::kTH1F, {{100, 0, TwoPI, "#varphi"}}});
244248
registry.add("Data/TpcTpc/HfHadron/MixedEvent/hEventCountHFMixing", "bin", {HistType::kTH1F, {{nBinsMix + 2, -2.5, -0.5 + nBinsMix, "bin"}}});
245249
registry.add("Data/TpcTpc/HfHadron/MixedEvent/hMultiplicityHFMixing", "hMultiplicityHFMixing", {HistType::kTH1F, {{500, 0, 500}}});
246250
registry.add("Data/TpcTpc/HfHadron/MixedEvent/hVtxZHFMixing", "hVtxZHFMixing", {HistType::kTH1F, {{100, -10, 10}}});
@@ -276,6 +280,8 @@ struct HfTaskFlow {
276280
// DATA : histograms for TPC-TPC HF-h case for 3PRONG
277281
// ===================
278282

283+
284+
registry.add("Data/TpcTpc/HfHadron/SameEvent/3Prong/hEventCountSame", "bin", {HistType::kTH1F, {{nBinsMix + 2, -2.5, -0.5 + nBinsMix, "bin"}}});
279285
registry.add("Data/TpcTpc/HfHadron/SameEvent/3Prong/hMassVsPt", "3-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH2F, {{500, 0., 5.}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
280286
registry.add("Data/TpcTpc/HfHadron/SameEvent/3Prong/hMass", "3-prong candidates;inv. mass (#pi K) (GeV/#it{c}^{2});entries", {HistType::kTH1F, {{100, 0., 10.}}});
281287
registry.add("Data/TpcTpc/HfHadron/SameEvent/3Prong/hMassVsPtVsMult", "3-prong candidates;inv. mass (p K #pi) (GeV/#it{c}^{2}); p_{T}; multiplicity", {HistType::kTH3F, {{600, 1.98, 2.58}, {vbins, "#it{p}_{T} (GeV/#it{c})"}, {5000, 0., 10000.}}});
@@ -317,6 +323,7 @@ struct HfTaskFlow {
317323
// =========================
318324

319325
// DATA : trigger particles (TPC tracks) histograms for TPC-MFT h-h same event
326+
registry.add("Data/TpcMft/HadronHadron/SameEvent/hEventCountSame", "bin", {HistType::kTH1F, {{nBinsMix + 2, -2.5, -0.5 + nBinsMix, "bin"}}});
320327
registry.add("Data/TpcMft/HadronHadron/SameEvent/hEtaPhiTPC", "multiplicity vs eta vs phi in TPC", {HistType::kTH3F, {{200, 0, 200, "multiplicity"}, {100, -2, 2, "#eta"}, {200, 0, TwoPI, "#varphi"}}});
321328
registry.add("Data/TpcMft/HadronHadron/SameEvent/hEtaTPC", "etaTPC", {HistType::kTH1F, {{100, -4, 4, "#eta"}}});
322329
registry.add("Data/TpcMft/HadronHadron/SameEvent/hPhiTPC", "phiTPC", {HistType::kTH1F, {{100, 0, TwoPI, "#varphi"}}});
@@ -356,6 +363,7 @@ struct HfTaskFlow {
356363
// =========================
357364

358365
// DATA : trigger particles (candidates) histograms for TPC-MFT HF-h same event
366+
registry.add("Data/TpcMft/HfHadron/SameEvent/2Prong/hEventCountSame", "bin", {HistType::kTH1F, {{nBinsMix + 2, -2.5, -0.5 + nBinsMix, "bin"}}});
359367
registry.add("Data/TpcMft/HfHadron/SameEvent/2Prong/hEtaPhiCandidate", "multiplicity vs eta vs phi in TPC", {HistType::kTH3F, {{200, 0, 200, "multiplicity"}, {100, -2, 2, "#eta"}, {200, 0, TwoPI, "#varphi"}}});
360368
registry.add("Data/TpcMft/HfHadron/SameEvent/2Prong/hEtaCandidate", "etaTPC", {HistType::kTH1F, {{100, -4, 4, "#eta"}}});
361369
registry.add("Data/TpcMft/HfHadron/SameEvent/2Prong/hPhiCandidate", "phiTPC", {HistType::kTH1F, {{100, 0, TwoPI, "#varphi"}}});
@@ -413,6 +421,8 @@ struct HfTaskFlow {
413421
// DATA : histograms for TPC-MFT HF-h case FOR 3PRONG
414422
// =========================
415423

424+
425+
registry.add("Data/TpcMft/HfHadron/SameEvent/3Prong/hEventCountSame", "bin", {HistType::kTH1F, {{nBinsMix + 2, -2.5, -0.5 + nBinsMix, "bin"}}});
416426
registry.add("Data/TpcMft/HfHadron/SameEvent/3Prong/hYieldsCandidate", "multiplicity vs pT vs eta", {HistType::kTH3F, {{200, 0, 200, "multiplicity"}, {40, 0, 20, "p_{T}"}, {100, -2, 2, "#eta"}}});
417427
registry.add("Data/TpcMft/HfHadron/SameEvent/3Prong/hNtracksCandidate", "hNtracks", {HistType::kTH1F, {{500, 0, 500}}});
418428
registry.add("Data/TpcMft/HfHadron/SameEvent/3Prong/hEtaPhiCandidate", "multiplicity vs eta vs phi in TPC", {HistType::kTH3F, {{200, 0, 200, "multiplicity"}, {100, -2, 2, "#eta"}, {200, 0, TwoPI, "#varphi"}}});
@@ -911,7 +921,9 @@ struct HfTaskFlow {
911921
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hMassVsPt"), hfHelper.invMassD0barToKPi(candidate), candidate.pt());
912922
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hMass"), hfHelper.invMassD0barToKPi(candidate));
913923
}
914-
924+
925+
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hEta"), candidate.eta());
926+
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hPhi"), candidate.phi());
915927
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hPtCandidate"), candidate.pt());
916928
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hPtProng0"), candidate.ptProng0());
917929
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hPtProng1"), candidate.ptProng1());
@@ -1266,10 +1278,10 @@ struct HfTaskFlow {
12661278
auto binningValues = binningWithTracksSize.getBinningValues(collision1, collisions);
12671279
int bin = binningWithTracksSize.getBin(binningValues);
12681280

1269-
// const auto multiplicityTracks1 = getPartsSize(collision1);
1270-
// const auto multiplicityTracks2 = getPartsSize(collision2);
1271-
const auto multiplicityTracks1 = tracks1.size(); // get multiplicity of charged hadrons, which is used for slicing in mixing
1272-
const auto multiplicityTracks2 = tracks2.size(); // get multiplicity of charged hadrons, which is used for slicing in mixing
1281+
const auto multiplicityTracks1 = getPartsSize(collision1);
1282+
const auto multiplicityTracks2 = getPartsSize(collision2);
1283+
// const auto multiplicityTracks1 = tracks1.size(); // get multiplicity of charged hadrons, which is used for slicing in mixing
1284+
// const auto multiplicityTracks2 = tracks2.size(); // get multiplicity of charged hadrons, which is used for slicing in mixing
12731285
const auto vz = collision1.posZ();
12741286

12751287
if constexpr (std::is_same_v<FilteredCollisionsWSelMultMC, TCollisions>) { // If MC
@@ -1307,7 +1319,7 @@ struct HfTaskFlow {
13071319
}
13081320

13091321
corrContainer->fillEvent(multiplicityTracks2, CorrelationContainer::kCFStepReconstructed);
1310-
fillCorrelations<CorrelationContainer::kCFStepReconstructed>(corrContainer, tracks1, tracks2, multiplicityTracks2, collision1.posZ());
1322+
fillCorrelations<CorrelationContainer::kCFStepReconstructed>(corrContainer, tracks1, tracks2, multiplicityTracks1, collision1.posZ());
13111323
}
13121324
}
13131325

@@ -1408,7 +1420,11 @@ struct HfTaskFlow {
14081420
if (!(isCollisionSelected(collision, fillEventSelectionPlots))) {
14091421
return;
14101422
}
1411-
const auto multiplicity = tracks.size();
1423+
1424+
const auto multiplicity = candidates.size();
1425+
BinningPolicyBase<2> baseBinning{{axisVertex, axisMultiplicity}, true};
1426+
int bin = baseBinning.getBin(std::make_tuple(collision.posZ(), multiplicity));
1427+
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/2Prong/hEventCountSame"), bin);
14121428

14131429
sameTPCTPCHfCh->fillEvent(multiplicity, CorrelationContainer::kCFStepReconstructed);
14141430

@@ -1434,7 +1450,11 @@ struct HfTaskFlow {
14341450
if (!(isCollisionSelected(collision, fillEventSelectionPlots))) {
14351451
return;
14361452
}
1437-
const auto multiplicity = tracks.size();
1453+
1454+
const auto multiplicity = candidates.size();
1455+
BinningPolicyBase<2> baseBinning{{axisVertex, axisMultiplicity}, true};
1456+
int bin = baseBinning.getBin(std::make_tuple(collision.posZ(), multiplicity));
1457+
registry.fill(HIST("Data/TpcTpc/HfHadron/SameEvent/3Prong/hEventCountSame"), bin);
14381458

14391459
sameTPCTPCHfCh->fillEvent(multiplicity, CorrelationContainer::kCFStepReconstructed);
14401460

@@ -1457,6 +1477,9 @@ struct HfTaskFlow {
14571477

14581478
const auto multiplicityTPC = tracks.size();
14591479
const auto multiplicityMFT = mftTracks.size();
1480+
BinningPolicyBase<2> baseBinning{{axisVertex, axisMultiplicity}, true};
1481+
int bin = baseBinning.getBin(std::make_tuple(collision.posZ(), multiplicityTPC));
1482+
registry.fill(HIST("Data/TpcMft/HadronHadron/SameEvent/hEventCountSame"), bin);
14601483

14611484
sameTPCMFTChCh->fillEvent(multiplicityTPC, CorrelationContainer::kCFStepReconstructed);
14621485
fillTpcMftChChSameEventQa(multiplicityTPC, tracks);
@@ -1485,6 +1508,9 @@ struct HfTaskFlow {
14851508

14861509
const auto multiplicityCandidates = candidates.size();
14871510
const auto multiplicityMFT = mftTracks.size();
1511+
BinningPolicyBase<2> baseBinning{{axisVertex, axisMultiplicity}, true};
1512+
int bin = baseBinning.getBin(std::make_tuple(collision.posZ(), multiplicityCandidates));
1513+
registry.fill(HIST("Data/TpcMft/HfHadron/SameEvent/2Prong/hEventCountSame"), bin);
14881514

14891515
sameTPCMFTHfCh->fillEvent(multiplicityCandidates, CorrelationContainer::kCFStepReconstructed);
14901516
fillTpcMftD0CandidateQa(candidates, multiplicityCandidates);
@@ -1513,6 +1539,9 @@ struct HfTaskFlow {
15131539

15141540
const auto multiplicityCandidates = candidates.size();
15151541
const auto multiplicityMFT = mftTracks.size();
1542+
BinningPolicyBase<2> baseBinning{{axisVertex, axisMultiplicity}, true};
1543+
int bin = baseBinning.getBin(std::make_tuple(collision.posZ(), multiplicityCandidates));
1544+
registry.fill(HIST("Data/TpcMft/HfHadron/SameEvent/3Prong/hEventCountSame"), bin);
15161545

15171546
sameTPCMFTHfCh->fillEvent(multiplicityCandidates, CorrelationContainer::kCFStepReconstructed);
15181547
fillTpcMftLcCandidateQa(candidates, multiplicityCandidates);
@@ -1620,13 +1649,20 @@ struct HfTaskFlow {
16201649
HfCandidatesSelD0 const& candidates)
16211650
{
16221651
// we want to group collisions based on charged-track multiplicity
1623-
auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1652+
auto getTracksSize = [&tracks, this](FilteredCollisionsWSelMult::iterator const& col) {
16241653
// Still o2::aod::track::collisionId with HF ??? -> I don't think so
1625-
auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1654+
auto associatedTracks = tracks.sliceByCached(o2::aod::track::collisionId, col.globalIndex(), this->cache);
16261655
auto size = associatedTracks.size();
16271656
return size;
16281657
};
16291658

1659+
// auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1660+
// // Still o2::aod::track::collisionId with HF ??? -> I don't think so
1661+
// auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1662+
// auto size = associatedTracks.size();
1663+
// return size;
1664+
// };
1665+
16301666
mixCollisions(collisions, candidates, tracks, getTracksSize, mixedTPCTPCHfCh);
16311667
}
16321668
PROCESS_SWITCH(HfTaskFlow, processMixedTpcTpcD0Ch, "DATA : Process mixed-event correlations for TPC-TPC D0-h case", false);
@@ -1640,13 +1676,20 @@ struct HfTaskFlow {
16401676
HfCandidatesSelLc const& candidates)
16411677
{
16421678
// we want to group collisions based on charged-track multiplicity
1643-
auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1679+
auto getTracksSize = [&tracks, this](FilteredCollisionsWSelMult::iterator const& col) {
16441680
// Still o2::aod::track::collisionId with HF ??? -> I don't think so
1645-
auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1681+
auto associatedTracks = tracks.sliceByCached(o2::aod::track::collisionId, col.globalIndex(), this->cache);
16461682
auto size = associatedTracks.size();
16471683
return size;
16481684
};
16491685

1686+
// auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1687+
// // Still o2::aod::track::collisionId with HF ??? -> I don't think so
1688+
// auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1689+
// auto size = associatedTracks.size();
1690+
// return size;
1691+
// };
1692+
16501693
mixCollisions(collisions, candidates, tracks, getTracksSize, mixedTPCTPCHfCh);
16511694
}
16521695
PROCESS_SWITCH(HfTaskFlow, processMixedTpcTpcLcCh, "DATA : Process mixed-event correlations for TPC-TPC Lc-h case", false);
@@ -1679,13 +1722,20 @@ struct HfTaskFlow {
16791722
aod::MFTTracks const& mftTracks)
16801723
{
16811724
// we want to group collisions based on charged-track multiplicity
1682-
auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1725+
auto getTracksSize = [&mftTracks, this](FilteredCollisionsWSelMult::iterator const& col) {
16831726
// Still o2::aod::track::collisionId with HF ??? -> I don't think so
1684-
auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1727+
auto associatedTracks = mftTracks.sliceByCached(o2::aod::track::collisionId, col.globalIndex(), this->cache);
16851728
auto size = associatedTracks.size();
16861729
return size;
16871730
};
16881731

1732+
// auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1733+
// // Still o2::aod::track::collisionId with HF ??? -> I don't think so
1734+
// auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1735+
// auto size = associatedTracks.size();
1736+
// return size;
1737+
// };
1738+
16891739
mixCollisions(collisions, candidates, mftTracks, getTracksSize, mixedTPCMFTHfCh);
16901740
}
16911741
PROCESS_SWITCH(HfTaskFlow, processMixedTpcMftD0Ch, "DATA : Process mixed-event correlations for TPC-MFT D0-h case", false);
@@ -1700,13 +1750,20 @@ struct HfTaskFlow {
17001750
{
17011751

17021752
// we want to group collisions based on charged-track multiplicity
1703-
auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1753+
auto getTracksSize = [&mftTracks, this](FilteredCollisionsWSelMult::iterator const& col) {
17041754
// Still o2::aod::track::collisionId with HF ??? -> I don't think so
1705-
auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1755+
auto associatedTracks = mftTracks.sliceByCached(o2::aod::track::collisionId, col.globalIndex(), this->cache);
17061756
auto size = associatedTracks.size();
17071757
return size;
17081758
};
17091759

1760+
// auto getTracksSize = [&candidates, this](FilteredCollisionsWSelMult::iterator const& col) {
1761+
// // Still o2::aod::track::collisionId with HF ??? -> I don't think so
1762+
// auto associatedTracks = candidates.sliceByCached(o2::aod::hf_cand::collisionId, col.globalIndex(), this->cache);
1763+
// auto size = associatedTracks.size();
1764+
// return size;
1765+
// };
1766+
17101767
mixCollisions(collisions, candidates, mftTracks, getTracksSize, mixedTPCMFTHfCh);
17111768
}
17121769
PROCESS_SWITCH(HfTaskFlow, processMixedTpcMftLcCh, "DATA : Process mixed-event correlations for TPC-MFT Lc-h case", false);

0 commit comments

Comments
 (0)