Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 21 additions & 11 deletions PWGHF/HFC/TableProducer/correlatorDplusHadrons.cxx
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
// All rights not expressly granted are reserved.
Expand All @@ -10,7 +10,7 @@
// or submit itself to any jurisdiction.

/// \file correlatorDplusHadrons.cxx
/// \author Shyam Kumar <shyam.kumar@cern.ch>

Check warning on line 13 in PWGHF/HFC/TableProducer/correlatorDplusHadrons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[doc/file]

Documentation for \brief is missing, incorrect or misplaced.

#include <vector>

Expand Down Expand Up @@ -163,7 +163,7 @@
Produces<aod::Hadron> entryHadron;

Configurable<int> selectionFlagDplus{"selectionFlagDplus", 7, "Selection Flag for Dplus"}; // 7 corresponds to topo+PID cuts
Configurable<bool> isPromptAnalysis{"isPromptAnalysis", true, "Flag for prompt D+-hadron correlations"};
Configurable<bool> isPromptAnalysis{"isPromptAnalysis", true, "Flag for prompt D+-hadron correlations"};
Configurable<int> numberEventsMixed{"numberEventsMixed", 5, "Number of events mixed in ME process"};
Configurable<bool> applyEfficiency{"applyEfficiency", true, "Flag for applying D-meson efficiency weights"};
Configurable<bool> removeDaughters{"removeDaughters", true, "Flag for removing D-meson daughters from correlations"};
Expand All @@ -183,7 +183,7 @@
Configurable<std::vector<double>> binsPtHadron{"binsPtHadron", std::vector<double>{0.3, 2., 4., 8., 12., 50.}, "pT bin limits for assoc particle"};
Configurable<std::vector<double>> binsPtEfficiencyD{"binsPtEfficiencyD", std::vector<double>{o2::analysis::hf_cuts_dplus_to_pi_k_pi::vecBinsPt}, "pT bin limits for efficiency"};
Configurable<std::vector<float>> efficiencyD{"efficiencyD", {1., 1., 1., 1., 1., 1.}, "efficiency values for D+ meson"};
ConfigurableAxis binsMultiplicity{"binsMultiplicity", {VARIABLE_WIDTH, 0.0f, 2000.0f, 6000.0f, 100000.0f}, "Mixing bins - multiplicity"};

Check warning on line 186 in PWGHF/HFC/TableProducer/correlatorDplusHadrons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[pwghf/struct-member-order]

HfCorrelatorDplusHadrons: ConfigurableAxis appears too early (before end of Preslice<).
ConfigurableAxis binsZVtx{"binsZVtx", {VARIABLE_WIDTH, -10.0f, -2.5f, 2.5f, 10.0f}, "Mixing bins - z-vertex"};
ConfigurableAxis binsMultiplicityMc{"binsMultiplicityMc", {VARIABLE_WIDTH, 0.0f, 20.0f, 50.0f, 500.0f}, "Mixing bins - MC multiplicity"}; // In MCGen multiplicity is defined by counting tracks
ConfigurableAxis binsBdtScore{"binsBdtScore", {100, 0., 1.}, "Bdt output scores"};
Expand Down Expand Up @@ -345,8 +345,10 @@
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
outputMl[iclass] = candidate.mlProbDplusToPiKPi()[classMl->at(iclass)];
}
if (isPromptAnalysis) entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[1]); // 0: BkgBDTScore, 1:PromptBDTScore
else entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[2]); // 0: BkgBDTScore, 2:FDBDTScore
if (isPromptAnalysis)
entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[1]); // 0: BkgBDTScore, 1:PromptBDTScore
else
entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[2]); // 0: BkgBDTScore, 2:FDBDTScore
entryDplus(candidate.phi(), candidate.eta(), candidate.pt(), hfHelper.invMassDplusToPiKPi(candidate), poolBin, gCollisionId, timeStamp);

// Dplus-Hadron correlation dedicated section
Expand All @@ -368,8 +370,10 @@
track.pt(), poolBin);
entryDplusHadronRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), false);
entryDplusHadronGenInfo(false, false, 0);
if (isPromptAnalysis) entryDplusHadronMlInfo(outputMl[0], outputMl[1]);
else entryDplusHadronMlInfo(outputMl[0], outputMl[2]);
if (isPromptAnalysis)
entryDplusHadronMlInfo(outputMl[0], outputMl[1]);
else
entryDplusHadronMlInfo(outputMl[0], outputMl[2]);
entryTrackRecoInfo(track.dcaXY(), track.dcaZ(), track.tpcNClsCrossedRows());
if (cntDplus == 0) {
entryHadron(track.phi(), track.eta(), track.pt(), poolBin, gCollisionId, timeStamp);
Expand Down Expand Up @@ -461,8 +465,10 @@
outputMl[iclass] = candidate.mlProbDplusToPiKPi()[classMl->at(iclass)];
}
registry.fill(HIST("hMassDplusMcRecSig"), hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), efficiencyWeightD);
if (isPromptAnalysis) entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[1]);
else entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[2]);
if (isPromptAnalysis)
entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[1]);
else
entryDplusCandRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), outputMl[0], outputMl[2]);
entryDplusCandGenInfo(isDplusPrompt);
} else {
registry.fill(HIST("hPtCandMcRecBkg"), candidate.pt());
Expand Down Expand Up @@ -491,8 +497,10 @@
candidate.pt(),
track.pt(), poolBin);
entryDplusHadronRecoInfo(hfHelper.invMassDplusToPiKPi(candidate), isDplusSignal);
if (isPromptAnalysis) entryDplusHadronMlInfo(outputMl[0], outputMl[1]);
else entryDplusHadronMlInfo(outputMl[0], outputMl[2]);
if (isPromptAnalysis)
entryDplusHadronMlInfo(outputMl[0], outputMl[1]);
else
entryDplusHadronMlInfo(outputMl[0], outputMl[2]);
if (track.has_mcParticle()) {
auto mcParticle = track.template mcParticle_as<aod::McParticles>();
isPhysicalPrimary = mcParticle.isPhysicalPrimary();
Expand Down Expand Up @@ -565,7 +573,7 @@
listDaughters.clear();
RecoDecay::getDaughters(particle1, &listDaughters, arrDaughDplusPDG, 2);
int counterDaughters = 0;
if (listDaughters.size() == 3) {

Check warning on line 576 in PWGHF/HFC/TableProducer/correlatorDplusHadrons.cxx

View workflow job for this annotation

GitHub Actions / O2 linter

[magic-number]

Avoid magic numbers in expressions. Assign the value to a clearly named variable or constant.
for (const auto& dauIdx : listDaughters) {
auto daughI = mcParticles.rawIteratorAt(dauIdx - mcParticles.offset());
counterDaughters += 1;
Expand Down Expand Up @@ -700,8 +708,10 @@
for (unsigned int iclass = 0; iclass < classMl->size(); iclass++) {
outputMl[iclass] = candidate.mlProbDplusToPiKPi()[classMl->at(iclass)];
}
if (isPromptAnalysis) entryDplusHadronMlInfo(outputMl[0], outputMl[1]);
else entryDplusHadronMlInfo(outputMl[0], outputMl[2]);
if (isPromptAnalysis)
entryDplusHadronMlInfo(outputMl[0], outputMl[1]);
else
entryDplusHadronMlInfo(outputMl[0], outputMl[2]);
entryTrackRecoInfo(pAssoc.dcaXY(), pAssoc.dcaZ(), pAssoc.tpcNClsCrossedRows());
}
}
Expand Down
Loading