Skip to content

Commit 2fcd170

Browse files
[PWGHF] taskLc: Remove track loop in the fill histogram function of data (#8347)
1 parent 1e6c9d2 commit 2fcd170

File tree

1 file changed

+20
-35
lines changed

1 file changed

+20
-35
lines changed

PWGHF/D2H/Tasks/taskLc.cxx

Lines changed: 20 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ struct HfTaskLc {
102102
{"MC/reconstructed/signal/hPtRecProng2Sig", "3-prong candidates (matched);prong 2 #it{p}_{T} (GeV/#it{c});entries", {HistType::kTH1F, {{360, 0., 36.}}}},
103103
{"MC/reconstructed/prompt/hPtRecProng2SigPrompt", "3-prong candidates (matched, prompt);prong 2 #it{p}_{T} (GeV/#it{c});entries", {HistType::kTH1F, {{360, 0., 36.}}}},
104104
{"MC/reconstructed/nonprompt/hPtRecProng2SigNonPrompt", "3-prong candidates (matched, non-prompt);prong 2 #it{p}_{T} (GeV/#it{c});entries", {HistType::kTH1F, {{360, 0., 36.}}}},
105-
{"Data/hMultiplicity", "multiplicity;multiplicity;entries", {HistType::kTH1F, {{10000, 0., 10000.}}}},
106105
/// DCAxy to prim. vertex prongs
107106
{"Data/hd0Prong0", "3-prong candidates;prong 0 DCAxy to prim. vertex (cm);entries", {HistType::kTH1F, {{600, -0.4, 0.4}}}},
108107
{"MC/reconstructed/signal/hd0RecProng0Sig", "3-prong candidates (matched);prong 0 DCAxy to prim. vertex (cm);entries", {HistType::kTH1F, {{600, -0.4, 0.4}}}},
@@ -175,7 +174,7 @@ struct HfTaskLc {
175174

176175
auto vbins = (std::vector<double>)binsPt;
177176
/// mass candidate
178-
registry.add("Data/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.}}});
177+
registry.add("Data/hMassVsPtVsNPvContributors", "3-prong candidates;inv. mass (p K #pi) (GeV/#it{c}^{2}); p_{T}; Number of PV contributors", {HistType::kTH3F, {{600, 1.98, 2.58}, {vbins, "#it{p}_{T} (GeV/#it{c})"}, {5000, 0., 10000.}}});
179178
registry.add("Data/hMassVsPt", "3-prong candidates;inv. mass (p K #pi) (GeV/#it{c}^{2}); p_{T}", {HistType::kTH2F, {{600, 1.98, 2.58}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
180179
registry.add("MC/reconstructed/signal/hMassVsPtRecSig", "3-prong candidates (matched);inv. mass (p K #pi) (GeV/#it{c}^{2}); p_{T}", {HistType::kTH2F, {{600, 1.98, 2.58}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
181180
registry.add("MC/reconstructed/prompt/hMassVsPtRecSigPrompt", "3-prong candidates (matched, prompt);inv. mass (p K #pi) (GeV/#it{c}^{2}); p_{T}", {HistType::kTH2F, {{600, 1.98, 2.58}, {vbins, "#it{p}_{T} (GeV/#it{c})"}}});
@@ -547,25 +546,12 @@ struct HfTaskLc {
547546

548547
/// Fill histograms for real data
549548
/// \tparam fillMl switch to fill ML histograms
550-
template <bool fillMl, typename CollType, typename CandType, typename TrackType>
551-
void fillHistosData(CollType const& collision, CandType const& candidates, TrackType const& tracks)
549+
template <bool fillMl, typename CollType, typename CandType>
550+
void fillHistosData(CollType const& collision, CandType const& candidates)
552551
{
553552
auto thisCollId = collision.globalIndex();
554553
auto groupedLcCandidates = candidates.sliceBy(candLcPerCollision, thisCollId);
555-
556-
int nTracks = 0;
557-
if (collision.numContrib() > 1) {
558-
for (const auto& track : tracks) {
559-
if (std::abs(track.eta()) > 4.0) {
560-
continue;
561-
}
562-
if (std::abs(track.dcaXY()) > 0.0025 || std::abs(track.dcaZ()) > 0.0025) {
563-
continue;
564-
}
565-
nTracks++;
566-
}
567-
}
568-
registry.fill(HIST("Data/hMultiplicity"), nTracks);
554+
auto numPvContributors = collision.numContrib();
569555

570556
for (const auto& candidate : groupedLcCandidates) {
571557
if (!(candidate.hfflag() & 1 << aod::hf_cand_3prong::DecayType::LcToPKPi)) {
@@ -586,12 +572,12 @@ struct HfTaskLc {
586572

587573
if (candidate.isSelLcToPKPi() >= selectionFlagLc) {
588574
registry.fill(HIST("Data/hMass"), hfHelper.invMassLcToPKPi(candidate));
589-
registry.fill(HIST("Data/hMassVsPtVsMult"), hfHelper.invMassLcToPKPi(candidate), pt, nTracks);
575+
registry.fill(HIST("Data/hMassVsPtVsNPvContributors"), hfHelper.invMassLcToPKPi(candidate), pt, numPvContributors);
590576
registry.fill(HIST("Data/hMassVsPt"), hfHelper.invMassLcToPKPi(candidate), pt);
591577
}
592578
if (candidate.isSelLcToPiKP() >= selectionFlagLc) {
593579
registry.fill(HIST("Data/hMass"), hfHelper.invMassLcToPiKP(candidate));
594-
registry.fill(HIST("Data/hMassVsPtVsMult"), hfHelper.invMassLcToPiKP(candidate), pt, nTracks);
580+
registry.fill(HIST("Data/hMassVsPtVsNPvContributors"), hfHelper.invMassLcToPiKP(candidate), pt, numPvContributors);
595581
registry.fill(HIST("Data/hMassVsPt"), hfHelper.invMassLcToPiKP(candidate), pt);
596582
}
597583
registry.fill(HIST("Data/hPt"), pt);
@@ -669,12 +655,11 @@ struct HfTaskLc {
669655
/// \tparam fillMl switch to fill ML histograms
670656
template <bool fillMl, typename CollType, typename CandType>
671657
void runAnalysisPerCollisionData(CollType const& collisions,
672-
CandType const& candidates,
673-
aod::TracksWDca const& tracks)
658+
CandType const& candidates)
674659
{
675660

676661
for (const auto& collision : collisions) {
677-
fillHistosData<fillMl>(collision, candidates, tracks);
662+
fillHistosData<fillMl>(collision, candidates);
678663
}
679664
}
680665

@@ -696,49 +681,49 @@ struct HfTaskLc {
696681

697682
void processDataStd(Collisions const& collisions,
698683
LcCandidates const& selectedLcCandidates,
699-
aod::TracksWDca const& tracks)
684+
aod::Tracks const&)
700685
{
701-
runAnalysisPerCollisionData<false>(collisions, selectedLcCandidates, tracks);
686+
runAnalysisPerCollisionData<false>(collisions, selectedLcCandidates);
702687
}
703688
PROCESS_SWITCH(HfTaskLc, processDataStd, "Process Data with the standard method", true);
704689

705690
void processDataWithMl(Collisions const& collisions,
706691
LcCandidatesMl const& selectedLcCandidatesMl,
707-
aod::TracksWDca const& tracks)
692+
aod::Tracks const&)
708693
{
709-
runAnalysisPerCollisionData<true>(collisions, selectedLcCandidatesMl, tracks);
694+
runAnalysisPerCollisionData<true>(collisions, selectedLcCandidatesMl);
710695
}
711696
PROCESS_SWITCH(HfTaskLc, processDataWithMl, "Process real data with the ML method and without centrality", false);
712697

713698
void processDataStdWithFT0C(CollisionsWithFT0C const& collisions,
714699
LcCandidates const& selectedLcCandidates,
715-
aod::TracksWDca const& tracks)
700+
aod::Tracks const&)
716701
{
717-
runAnalysisPerCollisionData<false>(collisions, selectedLcCandidates, tracks);
702+
runAnalysisPerCollisionData<false>(collisions, selectedLcCandidates);
718703
}
719704
PROCESS_SWITCH(HfTaskLc, processDataStdWithFT0C, "Process real data with the standard method and with FT0C centrality", false);
720705

721706
void processDataWithMlWithFT0C(CollisionsWithFT0C const& collisions,
722707
LcCandidatesMl const& selectedLcCandidatesMl,
723-
aod::TracksWDca const& tracks)
708+
aod::Tracks const&)
724709
{
725-
runAnalysisPerCollisionData<true>(collisions, selectedLcCandidatesMl, tracks);
710+
runAnalysisPerCollisionData<true>(collisions, selectedLcCandidatesMl);
726711
}
727712
PROCESS_SWITCH(HfTaskLc, processDataWithMlWithFT0C, "Process real data with the ML method and with FT0C centrality", false);
728713

729714
void processDataStdWithFT0M(CollisionsWithFT0M const& collisions,
730715
LcCandidates const& selectedLcCandidates,
731-
aod::TracksWDca const& tracks)
716+
aod::Tracks const&)
732717
{
733-
runAnalysisPerCollisionData<false>(collisions, selectedLcCandidates, tracks);
718+
runAnalysisPerCollisionData<false>(collisions, selectedLcCandidates);
734719
}
735720
PROCESS_SWITCH(HfTaskLc, processDataStdWithFT0M, "Process real data with the standard method and with FT0M centrality", false);
736721

737722
void processDataWithMlWithFT0M(CollisionsWithFT0M const& collisions,
738723
LcCandidatesMl const& selectedLcCandidatesMl,
739-
aod::TracksWDca const& tracks)
724+
aod::Tracks const&)
740725
{
741-
runAnalysisPerCollisionData<true>(collisions, selectedLcCandidatesMl, tracks);
726+
runAnalysisPerCollisionData<true>(collisions, selectedLcCandidatesMl);
742727
}
743728
PROCESS_SWITCH(HfTaskLc, processDataWithMlWithFT0M, "Process real data with the ML method and with FT0M centrality", false);
744729

0 commit comments

Comments
 (0)