@@ -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