Skip to content

Commit dee1487

Browse files
committed
Added intervals in prompt score selection
1 parent dcd9dcb commit dee1487

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

PWGHF/HFC/Tasks/taskCorrelationDsHadrons.cxx

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ struct HfTaskCorrelationDsHadrons {
6666
Configurable<std::vector<int>> classMl{"classMl", {0, 1, 2}, "Indexes of ML scores to be stored. Three indexes max."};
6767
Configurable<std::vector<double>> binsPtD{"binsPtD", std::vector<double>{o2::analysis::hf_cuts_ds_to_k_k_pi::vecBinsPt}, "pT bin limits for candidate mass plots and efficiency"};
6868
Configurable<std::vector<double>> binsPtHadron{"binsPtHadron", std::vector<double>{0.3, 2., 4., 8., 12., 50.}, "pT bin limits for assoc particle efficiency"};
69-
Configurable<std::vector<double>> mlOutputPrompt{"mlOutputPrompt", {0.5, 0.5, 0.5, 0.5}, "Machine learning scores for prompt"};
69+
Configurable<std::vector<double>> mlOutputPromptMin{"mlOutputPromptMin", {0.5, 0.5, 0.5, 0.5}, "Machine learning scores for prompt"};
70+
Configurable<std::vector<double>> mlOutputPromptMax{"mlOutputPromptMax", {1.0, 1.0, 1.0, 1.0}, "Machine learning scores for prompt"};
7071
Configurable<std::vector<double>> mlOutputBkg{"mlOutputBkg", {0.5, 0.5, 0.5, 0.5}, "Machine learning scores for bkg"};
7172
Configurable<std::vector<double>> binsPtEfficiencyD{"binsPtEfficiencyD", std::vector<double>{o2::analysis::hf_cuts_ds_to_k_k_pi::vecBinsPt}, "pT bin limits for D-meson efficiency"};
7273
Configurable<std::vector<double>> binsPtEfficiencyHad{"binsPtEfficiencyHad", std::vector<double>{0.3, 2., 4., 8., 12., 50.}, "pT bin limits for associated particle efficiency"};
@@ -276,7 +277,7 @@ struct HfTaskCorrelationDsHadrons {
276277
float bdtScoreBkg = candidate.mlScoreBkg();
277278
int ptBinD = o2::analysis::findBin(binsPtD, ptD);
278279

279-
if (bdtScorePrompt < mlOutputPrompt->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
280+
if (bdtScorePrompt < mlOutputPromptMin->at(ptBinD) || bdtScorePrompt > mlOutputPromptMax->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
280281
continue;
281282
}
282283
double efficiencyWeightD = 1.;
@@ -306,7 +307,7 @@ struct HfTaskCorrelationDsHadrons {
306307
int poolBin = pairEntry.poolBin();
307308
int ptBinD = o2::analysis::findBin(binsPtD, ptD);
308309

309-
if (bdtScorePrompt < mlOutputPrompt->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
310+
if (bdtScorePrompt < mlOutputPromptMin->at(ptBinD) || bdtScorePrompt > mlOutputPromptMax->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
310311
continue;
311312
}
312313
if (trackDcaXY > dcaXYTrackMax || trackDcaZ > dcaZTrackMax || trackTpcCrossedRows < nTpcCrossedRaws) {
@@ -354,7 +355,7 @@ struct HfTaskCorrelationDsHadrons {
354355
int ptBinD = o2::analysis::findBin(binsPtD, ptD);
355356
bool isDsPrompt = candidate.isPrompt();
356357

357-
if (bdtScorePrompt < mlOutputPrompt->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
358+
if (bdtScorePrompt < mlOutputPromptMin->at(ptBinD) || bdtScorePrompt > mlOutputPromptMax->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
358359
continue;
359360
}
360361
double efficiencyWeightD = 1.;
@@ -393,7 +394,7 @@ struct HfTaskCorrelationDsHadrons {
393394
int ptBinD = o2::analysis::findBin(binsPtD, ptD);
394395
bool isPhysicalPrimary = pairEntry.isPhysicalPrimary();
395396

396-
if (bdtScorePrompt < mlOutputPrompt->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
397+
if (bdtScorePrompt < mlOutputPromptMin->at(ptBinD) || bdtScorePrompt > mlOutputPromptMax->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
397398
continue;
398399
}
399400
if (trackDcaXY > dcaXYTrackMax || trackDcaZ > dcaZTrackMax || trackTpcCrossedRows < nTpcCrossedRaws) {
@@ -487,7 +488,7 @@ struct HfTaskCorrelationDsHadrons {
487488
int poolBin = pairEntry.poolBin();
488489
int ptBinD = o2::analysis::findBin(binsPtD, ptD);
489490

490-
if (bdtScorePrompt < mlOutputPrompt->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
491+
if (bdtScorePrompt < mlOutputPromptMin->at(ptBinD) || bdtScorePrompt > mlOutputPromptMax->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
491492
continue;
492493
}
493494
if (trackDcaXY > dcaXYTrackMax || trackDcaZ > dcaZTrackMax || trackTpcCrossedRows < nTpcCrossedRaws) {
@@ -586,7 +587,7 @@ struct HfTaskCorrelationDsHadrons {
586587
int ptBinD = o2::analysis::findBin(binsPtD, ptD);
587588
bool isPhysicalPrimary = pairEntry.isPhysicalPrimary();
588589

589-
if (bdtScorePrompt < mlOutputPrompt->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
590+
if (bdtScorePrompt < mlOutputPromptMin->at(ptBinD) || bdtScorePrompt > mlOutputPromptMax->at(ptBinD) || bdtScoreBkg > mlOutputBkg->at(ptBinD)) {
590591
continue;
591592
}
592593
if (trackDcaXY > dcaXYTrackMax || trackDcaZ > dcaZTrackMax || trackTpcCrossedRows < nTpcCrossedRaws) {
@@ -720,7 +721,7 @@ struct HfTaskCorrelationDsHadrons {
720721
outputMl[iclass] = candidate.mlProbDsToPiKK()[classMl->at(iclass)];
721722
}
722723
}
723-
if (outputMl[0] < mlOutputPrompt->at(o2::analysis::findBin(binsPtD, candidate.pt())) || outputMl[2] > mlOutputBkg->at(o2::analysis::findBin(binsPtD, candidate.pt()))) {
724+
if (outputMl[0] < mlOutputPromptMin->at(o2::analysis::findBin(binsPtD, candidate.pt())) || outputMl[0] < mlOutputPromptMax->at(o2::analysis::findBin(binsPtD, candidate.pt())) || outputMl[2] > mlOutputBkg->at(o2::analysis::findBin(binsPtD, candidate.pt()))) {
724725
continue;
725726
}
726727

@@ -802,7 +803,7 @@ struct HfTaskCorrelationDsHadrons {
802803
outputMl[iclass] = candidate.mlProbDsToPiKK()[classMl->at(iclass)];
803804
}
804805
}
805-
if (outputMl[0] < mlOutputPrompt->at(o2::analysis::findBin(binsPtD, candidate.pt())) || outputMl[2] > mlOutputBkg->at(o2::analysis::findBin(binsPtD, candidate.pt()))) {
806+
if (outputMl[0] < mlOutputPromptMin->at(o2::analysis::findBin(binsPtD, candidate.pt())) || outputMl[0] < mlOutputPromptMax->at(o2::analysis::findBin(binsPtD, candidate.pt())) || outputMl[2] > mlOutputBkg->at(o2::analysis::findBin(binsPtD, candidate.pt()))) {
806807
continue;
807808
}
808809
auto collision = candidate.template collision_as<soa::Join<aod::Collisions, aod::FT0Mults, aod::EvSels>>();

0 commit comments

Comments
 (0)