Skip to content

Commit

Permalink
PWGHF: D+h correlations - efficiency correction (AliceO2Group#6512)
Browse files Browse the repository at this point in the history
* PWGHF: D+h Corr - efficeincy correction

* Fix

* removal not needed brackets

* Fixes
  • Loading branch information
apalasciano authored and echizzal committed Jul 18, 2024
1 parent 20bf405 commit b7559b3
Show file tree
Hide file tree
Showing 2 changed files with 186 additions and 63 deletions.
9 changes: 6 additions & 3 deletions PWGHF/HFC/TableProducer/correlatorDplusHadrons.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -141,6 +141,8 @@ struct HfCorrelatorDplusHadrons {

Configurable<int> selectionFlagDplus{"selectionFlagDplus", 7, "Selection Flag for Dplus"}; // 7 corresponds to topo+PID cuts
Configurable<int> applyEfficiency{"applyEfficiency", 1, "Flag for applying D-meson efficiency weights"};
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"};
Configurable<float> yCandMax{"yCandMax", 0.8, "max. cand. rapidity"};
Configurable<float> etaTrackMax{"etaTrackMax", 0.8, "max. eta of tracks"};
Configurable<float> dcaXYTrackMax{"dcaXYTrackMax", 1., "max. DCA_xy of tracks"};
Expand All @@ -151,7 +153,6 @@ struct HfCorrelatorDplusHadrons {
Configurable<float> multMin{"multMin", 0., "minimum multiplicity accepted"};
Configurable<float> multMax{"multMax", 10000., "maximum multiplicity accepted"};
Configurable<std::vector<double>> binsPt{"binsPt", std::vector<double>{o2::analysis::hf_cuts_dplus_to_pi_k_pi::vecBinsPt}, "pT bin limits for candidate mass plots and efficiency"};
Configurable<std::vector<double>> efficiencyD{"efficiencyD", std::vector<double>{efficiencyDmeson}, "Efficiency values for Dplus meson"};
ConfigurableAxis binsMultiplicity{"binsMultiplicity", {VARIABLE_WIDTH, 0.0f, 2000.0f, 6000.0f, 100000.0f}, "Mixing bins - multiplicity"};
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
Expand Down Expand Up @@ -254,9 +255,10 @@ struct HfCorrelatorDplusHadrons {
if (std::abs(hfHelper.yDplus(candidate)) >= yCandMax || candidate.pt() <= ptCandMin || candidate.pt() >= ptTrackMax) {
continue;
}
int effBinD = o2::analysis::findBin(binsPtEfficiencyD, candidate.pt());
double efficiencyWeight = 1.;
if (applyEfficiency) {
efficiencyWeight = 1. / efficiencyD->at(o2::analysis::findBin(binsPt, candidate.pt()));
efficiencyWeight = 1. / efficiencyD->at(effBinD);
}
// fill invariant mass plots and generic info from all Dplus candidates
registry.fill(HIST("hMassDplus_2D"), hfHelper.invMassDplusToPiKPi(candidate), candidate.pt(), efficiencyWeight);
Expand Down Expand Up @@ -327,9 +329,10 @@ struct HfCorrelatorDplusHadrons {
if (std::abs(hfHelper.yDplus(candidate)) >= yCandMax || candidate.pt() <= ptCandMin || candidate.pt() >= ptTrackMax) {
continue;
}
int effBinD = o2::analysis::findBin(binsPtEfficiencyD, candidate.pt());
double efficiencyWeight = 1.;
if (applyEfficiency) {
efficiencyWeight = 1. / efficiencyD->at(o2::analysis::findBin(binsPt, candidate.pt()));
efficiencyWeight = 1. / efficiencyD->at(effBinD);
}

if (std::abs(candidate.flagMcMatchRec()) == 1 << aod::hf_cand_3prong::DecayType::DplusToPiKPi) {
Expand Down
Loading

0 comments on commit b7559b3

Please sign in to comment.