@@ -351,10 +351,11 @@ struct HfTaskCorrelationDsHadrons {
351351 case EfficiencyMode::DsOnly:
352352 if (loadAccXEffFromCCDB) {
353353 if (useHighDimHistoForEff) {
354- if (hEfficiencyDMult->GetBinContent (hEfficiencyDMult->FindBin (ptD, static_cast <double >(multPvContrib))) <= epsilon) {
354+ if (hEfficiencyDMult->GetBinContent (hEfficiencyDMult->FindBin (ptD, static_cast <double >(*multPvContrib))) <= epsilon) {
355+ LOG (info) << " Mult: " << *multPvContrib << " PtD: " << ptD;
355356 LOG (fatal) << " A bin content in Ds-meson efficiency histogram is zero!" ;
356357 }
357- weight = 1 . / hEfficiencyDMult->GetBinContent (hEfficiencyDMult->FindBin (ptD, static_cast <double >(multPvContrib)));
358+ weight = 1 . / hEfficiencyDMult->GetBinContent (hEfficiencyDMult->FindBin (ptD, static_cast <double >(* multPvContrib)));
358359 } else {
359360 if (hEfficiencyD->GetBinContent (hEfficiencyD->FindBin (ptD)) <= epsilon) {
360361 LOG (fatal) << " A bin content in Ds-meson efficiency histogram is zero!" ;
@@ -370,18 +371,18 @@ struct HfTaskCorrelationDsHadrons {
370371 break ;
371372 case EfficiencyMode::DsHadronPair:
372373 if (loadAccXEffFromCCDB) {
373- if (ptAssoc && hEfficiencyAssociated) {
374+ if (ptAssoc && ( hEfficiencyAssociated || hEfficiencyAssociatedMult || hEfficiencyAssociatedDeltaPhiCorr) ) {
374375 if (useHighDimHistoForEff) {
375376 if (applyDeltaPhiCorrEff) {
376- if (hEfficiencyAssociatedDeltaPhiCorr->GetBinContent (hEfficiencyAssociatedDeltaPhiCorr->FindBin (*ptAssoc, ptD, deltaPhi)) <= epsilon) {
377+ if (hEfficiencyAssociatedDeltaPhiCorr->GetBinContent (hEfficiencyAssociatedDeltaPhiCorr->FindBin (*ptAssoc, ptD, static_cast < double >(* deltaPhi) )) <= epsilon) {
377378 LOG (fatal) << " A bin content in associated particle efficiency histogram is zero!" ;
378379 }
379- weight = 1 . / (hEfficiencyDMult->GetBinContent (hEfficiencyDMult->FindBin (ptD, static_cast <double >(multPvContrib))) * hEfficiencyAssociatedDeltaPhiCorr->GetBinContent (hEfficiencyAssociatedDeltaPhiCorr->FindBin (*ptAssoc, ptD, deltaPhi)));
380+ weight = 1 . / (hEfficiencyDMult->GetBinContent (hEfficiencyDMult->FindBin (ptD, static_cast <double >(* multPvContrib))) * hEfficiencyAssociatedDeltaPhiCorr->GetBinContent (hEfficiencyAssociatedDeltaPhiCorr->FindBin (*ptAssoc, ptD, static_cast < double >(* deltaPhi) )));
380381 } else {
381- if (hEfficiencyAssociatedMult->GetBinContent (hEfficiencyAssociatedMult->FindBin (*ptAssoc, static_cast <double >(multPvContrib))) <= epsilon) {
382+ if (hEfficiencyAssociatedMult->GetBinContent (hEfficiencyAssociatedMult->FindBin (*ptAssoc, static_cast <double >(* multPvContrib))) <= epsilon) {
382383 LOG (fatal) << " A bin content in associated particle efficiency histogram is zero!" ;
383384 }
384- weight = 1 . / (hEfficiencyDMult->GetBinContent (hEfficiencyD ->FindBin (ptD, static_cast <double >(multPvContrib))) * hEfficiencyAssociatedMult->GetBinContent (hEfficiencyAssociatedMult->FindBin (*ptAssoc, static_cast <double >(multPvContrib))));
385+ weight = 1 . / (hEfficiencyDMult->GetBinContent (hEfficiencyDMult ->FindBin (ptD, static_cast <double >(* multPvContrib))) * hEfficiencyAssociatedMult->GetBinContent (hEfficiencyAssociatedMult->FindBin (*ptAssoc, static_cast <double >(* multPvContrib))));
385386 }
386387 } else {
387388 if (hEfficiencyAssociated->GetBinContent (hEfficiencyAssociated->FindBin (*ptAssoc)) <= epsilon) {
@@ -412,7 +413,7 @@ struct HfTaskCorrelationDsHadrons {
412413 {
413414 for (const auto & candidate : candidates) {
414415 float massD = candidate.mD ();
415- float ptD = candidate.ptD ();
416+ float ptD = candidate.signedPtD ();
416417 float bdtScorePrompt = candidate.mlScorePrompt ();
417418 float bdtScoreBkg = candidate.mlScoreBkg ();
418419 int multPvContrib = candidate.numPvContrib ();
@@ -438,8 +439,8 @@ struct HfTaskCorrelationDsHadrons {
438439 // define variables for widely used quantities
439440 float deltaPhi = pairEntry.deltaPhi ();
440441 float deltaEta = pairEntry.deltaEta ();
441- float ptD = pairEntry.ptD ();
442- float ptHadron = pairEntry.ptHadron ();
442+ float ptD = pairEntry.signedPtD ();
443+ float ptHadron = pairEntry.signedPtHadron ();
443444 float massD = pairEntry.mD ();
444445 float bdtScorePrompt = pairEntry.mlScorePrompt ();
445446 float bdtScoreBkg = pairEntry.mlScoreBkg ();
@@ -465,6 +466,8 @@ struct HfTaskCorrelationDsHadrons {
465466 efficiencyWeight = getEfficiencyWeight (std::abs (ptD), std::nullopt , std::abs (ptHadron), std::nullopt , EfficiencyMode::DsHadronPair);
466467 }
467468
469+ LOG (info) << " Efficiency weight = " << efficiencyWeight;
470+
468471 // in signal region
469472 if (massD > signalRegionInner->at (ptBinD) && massD < signalRegionOuter->at (ptBinD)) {
470473 if (doLSpair && ((ptD > 0 . && ptHadron > 0 .) || (ptD < 0 . && ptHadron < 0 .))) { // like-sign pairs
@@ -523,7 +526,7 @@ struct HfTaskCorrelationDsHadrons {
523526 {
524527 for (const auto & candidate : candidates) {
525528 float massD = candidate.mD ();
526- float ptD = candidate.ptD ();
529+ float ptD = candidate.signedPtD ();
527530 float bdtScorePrompt = candidate.mlScorePrompt ();
528531 float bdtScoreBkg = candidate.mlScoreBkg ();
529532 int ptBinD = o2::analysis::findBin (binsPtD, std::abs (ptD));
@@ -556,8 +559,8 @@ struct HfTaskCorrelationDsHadrons {
556559 // define variables for widely used quantities
557560 float deltaPhi = pairEntry.deltaPhi ();
558561 float deltaEta = pairEntry.deltaEta ();
559- float ptD = pairEntry.ptD ();
560- float ptHadron = pairEntry.ptHadron ();
562+ float ptD = pairEntry.signedPtD ();
563+ float ptHadron = pairEntry.signedPtHadron ();
561564 float massD = pairEntry.mD ();
562565 float bdtScorePrompt = pairEntry.mlScorePrompt ();
563566 float bdtScoreBkg = pairEntry.mlScoreBkg ();
@@ -626,8 +629,8 @@ struct HfTaskCorrelationDsHadrons {
626629 // define variables for widely used quantities
627630 float deltaPhi = pairEntry.deltaPhi ();
628631 float deltaEta = pairEntry.deltaEta ();
629- float ptD = pairEntry.ptD ();
630- float ptHadron = pairEntry.ptHadron ();
632+ float ptD = pairEntry.signedPtD ();
633+ float ptHadron = pairEntry.signedPtHadron ();
631634 int poolBin = pairEntry.poolBin ();
632635 int statusPromptHadron = pairEntry.trackOrigin ();
633636 bool isDsPrompt = pairEntry.isPrompt ();
@@ -656,8 +659,8 @@ struct HfTaskCorrelationDsHadrons {
656659 // define variables for widely used quantities
657660 float deltaPhi = pairEntry.deltaPhi ();
658661 float deltaEta = pairEntry.deltaEta ();
659- float ptD = pairEntry.ptD ();
660- float ptHadron = pairEntry.ptHadron ();
662+ float ptD = pairEntry.signedPtD ();
663+ float ptHadron = pairEntry.signedPtHadron ();
661664 float massD = pairEntry.mD ();
662665 float bdtScorePrompt = pairEntry.mlScorePrompt ();
663666 float bdtScoreBkg = pairEntry.mlScoreBkg ();
@@ -741,8 +744,8 @@ struct HfTaskCorrelationDsHadrons {
741744 // define variables for widely used quantities
742745 float deltaPhi = pairEntry.deltaPhi ();
743746 float deltaEta = pairEntry.deltaEta ();
744- float ptD = pairEntry.ptD ();
745- float ptHadron = pairEntry.ptHadron ();
747+ float ptD = pairEntry.signedPtD ();
748+ float ptHadron = pairEntry.signedPtHadron ();
746749 float massD = pairEntry.mD ();
747750 int multPvContrib = pairEntry.numPvContrib ();
748751 int poolBin = pairEntry.poolBin ();
@@ -814,8 +817,8 @@ struct HfTaskCorrelationDsHadrons {
814817 // define variables for widely used quantities
815818 float deltaPhi = pairEntry.deltaPhi ();
816819 float deltaEta = pairEntry.deltaEta ();
817- float ptD = pairEntry.ptD ();
818- float ptHadron = pairEntry.ptHadron ();
820+ float ptD = pairEntry.signedPtD ();
821+ float ptHadron = pairEntry.signedPtHadron ();
819822 float massD = pairEntry.mD ();
820823 float bdtScorePrompt = pairEntry.mlScorePrompt ();
821824 float bdtScoreBkg = pairEntry.mlScoreBkg ();
0 commit comments