Skip to content

Commit d6f870f

Browse files
[PWGHF/HFC] adding track efficiency weight (#14503)
1 parent b4cd061 commit d6f870f

File tree

1 file changed

+14
-1
lines changed

1 file changed

+14
-1
lines changed

PWGHF/HFC/Tasks/taskCorrelationDstarHadrons.cxx

Lines changed: 14 additions & 1 deletion
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;
@@ -137,11 +149,12 @@ struct HfTaskCorrelationDstarHadrons {
137149
// ptTrack = 10.5;
138150
// }
139151
float netEfficiencyWeight = 1.0;
140-
float const efficiencyWeightTracks = 1.0;
141152

142153
if (applyEfficiency) {
143154
float const efficiencyWeightDstar = efficiencyDstar->at(effBinPtDstar);
144155
// LOG(info)<<"efficiencyWeightDstar "<<efficiencyWeightDstar;
156+
float const efficiencyWeightTracks = efficiencyTracks->at(effBinPtTrack);
157+
// LOG(info)<<"efficiencyWeightTracks "<<efficiencyWeightTracks;
145158
netEfficiencyWeight = 1.0 / (efficiencyWeightDstar * efficiencyWeightTracks);
146159
}
147160

0 commit comments

Comments
 (0)