Skip to content

Commit 6761abd

Browse files
adding track efficiency weight
1 parent e53ceb2 commit 6761abd

File tree

1 file changed

+14
-0
lines changed

1 file changed

+14
-0
lines changed

PWGHF/HFC/Tasks/taskCorrelationDstarHadrons.cxx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,15 +71,24 @@ const auto vecSidebandRightOuterDefault = std::vector<double>{sidebandRightOuter
7171
const int npTBinsEfficiency = o2::analysis::hf_cuts_dstar_to_d0_pi::NBinsPt;
7272
const std::vector<double> vecEfficiencyDstarDefault(npTBinsEfficiency); // line # 76 in taskCorrelationDstarHadron.cxx; why (npTBinsEfficiency+1) ?
7373

74+
const int nPtBinsTrackEfficiency = o2::analysis::hf_cuts_single_track::NBinsPtTrack;
75+
const std::vector<double> vecEfficiencyTracksDefault(nPtBinsTrackEfficiency);
76+
7477
// Dstar-Hadron correlation pair
7578
struct HfTaskCorrelationDstarHadrons {
7679

7780
Configurable<bool> applyEfficiency{"applyEfficiency", true, "Flag for applying efficiency weights"};
7881
// pT ranges for correlation plots: the default values are those embedded in hf_cuts_dplus_to_pi_k_pi (i.e. the mass pT bins), but can be redefined via json files
7982
Configurable<std::vector<double>> binsPtCorrelations{"binsPtCorrelations", std::vector<double>{vecBinsPtCorrelationsDefault}, "pT bin limits for correlation plots"};
83+
84+
// efficiency configirables for candidate Dstar
8085
Configurable<std::vector<double>> binsPtEfficiency{"binsPtEfficiency", std::vector<double>{o2::analysis::hf_cuts_dstar_to_d0_pi::vecBinsPt}, "pT bin limits for efficiency"};
8186
Configurable<std::vector<double>> efficiencyDstar{"efficiencyDstar", std::vector<double>{vecEfficiencyDstarDefault}, "efficiency values for Dstar vs pT bin"};
8287

88+
// efficiency configurables for associated tracks
89+
Configurable<std::vector<double>> binsPtEfficiencyTracks{"binsPtEfficiencyTracks", std::vector<double>{o2::analysis::hf_cuts_single_track::vecBinsPtTrack}, "pT bin limits for track efficiency"};
90+
Configurable<std::vector<double>> efficiencyTracks{"efficiencyTracks", std::vector<double>{vecEfficiencyTracksDefault}, "efficiency values for tracks vs pT bin"};
91+
8392
Configurable<std::vector<double>> signalRegionLefBound{"signalRegionLefBound", std::vector<double>{vecSignalRegionLefBoundDefault}, "left boundary of signal region vs pT"};
8493
Configurable<std::vector<double>> signalRegionRightBound{"signalRegionRightBound", std::vector<double>{vecSignalRegionRightBoundDefault}, "right boundary of signal region vs pT"};
8594
// Configurable<std::vector<double>> leftSidebandOuterBoundary{"leftSidebandOuterBoundary", std::vector<double>{vecSidebandLeftOuterDefault}, "left sideband outer boundary vs pT"};
@@ -128,6 +137,9 @@ struct HfTaskCorrelationDstarHadrons {
128137
int const corrBinPtDstar = o2::analysis::findBin(binsPtCorrelations, ptDstar);
129138
// LOG(info) << "correlation index " << corrBinPtDstar;
130139

140+
int const effBinPtTrack = o2::analysis::findBin(binsPtEfficiencyTracks, ptTrack);
141+
// LOG(info) << "track efficiency index " << effBinPtTrack;
142+
131143
// reject candidate if outside pT ranges of interst
132144
if (corrBinPtDstar < 0 || effBinPtDstar < 0) {
133145
continue;
@@ -142,6 +154,8 @@ struct HfTaskCorrelationDstarHadrons {
142154
if (applyEfficiency) {
143155
float const efficiencyWeightDstar = efficiencyDstar->at(effBinPtDstar);
144156
// LOG(info)<<"efficiencyWeightDstar "<<efficiencyWeightDstar;
157+
float const efficiencyWeightTracks = efficiencyTracks->at(effBinPtTrack);
158+
// LOG(info)<<"efficiencyWeightTracks "<<efficiencyWeightTracks;
145159
netEfficiencyWeight = 1.0 / (efficiencyWeightDstar * efficiencyWeightTracks);
146160
}
147161

0 commit comments

Comments
 (0)