@@ -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