From 850b45a53de95d62637073d654ff23c3391875de Mon Sep 17 00:00:00 2001 From: zjxiongOvO Date: Mon, 1 Jun 2026 10:55:37 +0200 Subject: [PATCH 1/2] add efficiency type for random plane test --- PWGDQ/Core/VarManager.cxx | 20 ++++++++++++++++++++ PWGDQ/Core/VarManager.h | 1 + 2 files changed, 21 insertions(+) diff --git a/PWGDQ/Core/VarManager.cxx b/PWGDQ/Core/VarManager.cxx index f9c0105dbd5..f608c35096f 100644 --- a/PWGDQ/Core/VarManager.cxx +++ b/PWGDQ/Core/VarManager.cxx @@ -427,6 +427,26 @@ void VarManager::FillEfficiency(float* values) // get the efficiency value from the histogram values[kPairEfficiency] = efficiencyHist->GetBinContent(binPt, binCent, binCosThetaStarFT0c); values[kPairWeight] = 1.0 / (values[kPairEfficiency] > 0 ? values[kPairEfficiency] : 1.0); // set the weight as the inverse of the efficiency, but avoid division by zero + } else if (fgEfficiencyType == kPairPtCentFT0cCosThetaStarRandom) { + if (!fgEfficiencyHist) { + LOG(fatal) << "efficiency histogram not set"; + return; + } + TH3F* efficiencyHist = reinterpret_cast(fgEfficiencyHist); + // Get the bin indices for the efficiency histogram + int binPt = efficiencyHist->GetXaxis()->FindBin(values[kPt]); + binPt = (binPt == 0 ? 1 : binPt); + binPt = (binPt > efficiencyHist->GetXaxis()->GetNbins() ? efficiencyHist->GetXaxis()->GetNbins() : binPt); + int binCent = efficiencyHist->GetYaxis()->FindBin(values[kCentFT0C]); + binCent = (binCent == 0 ? 1 : binCent); + binCent = (binCent > efficiencyHist->GetYaxis()->GetNbins() ? efficiencyHist->GetYaxis()->GetNbins() : binCent); + int binCosThetaStarRandom = efficiencyHist->GetZaxis()->FindBin(values[kCosThetaStarRandom]); + binCosThetaStarRandom = (binCosThetaStarRandom == 0 ? 1 : binCosThetaStarRandom); + binCosThetaStarRandom = (binCosThetaStarRandom > efficiencyHist->GetZaxis()->GetNbins() ? efficiencyHist->GetZaxis()->GetNbins() : binCosThetaStarRandom); + + // get the efficiency value from the histogram + values[kPairEfficiency] = efficiencyHist->GetBinContent(binPt, binCent, binCosThetaStarRandom); + values[kPairWeight] = 1.0 / (values[kPairEfficiency] > 0 ? values[kPairEfficiency] : 1.0); // set the weight as the inverse of the efficiency, but avoid division by zero } else { LOG(warning) << "FillEfficiency: unknown efficiency type " << fgEfficiencyType << ", using default efficiency = 1"; values[kPairEfficiency] = 1; diff --git a/PWGDQ/Core/VarManager.h b/PWGDQ/Core/VarManager.h index 7dfb955aaa6..453c0e65860 100644 --- a/PWGDQ/Core/VarManager.h +++ b/PWGDQ/Core/VarManager.h @@ -1130,6 +1130,7 @@ class VarManager : public TObject enum EfficiencyType { kNone = 0, kPairPtCentFT0cCosThetaStarFT0c, + kPairPtCentFT0cCosThetaStarRandom, // Add more efficiency types as needed kNEfficiencyTypes }; From 5525970852aef1d1a4d1e944d04b5ffc13b8e1e8 Mon Sep 17 00:00:00 2001 From: ALICE Action Bot Date: Mon, 1 Jun 2026 08:59:36 +0000 Subject: [PATCH 2/2] Please consider the following formatting changes --- PWGDQ/Core/VarManager.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PWGDQ/Core/VarManager.cxx b/PWGDQ/Core/VarManager.cxx index f608c35096f..cf3c7a4b1b2 100644 --- a/PWGDQ/Core/VarManager.cxx +++ b/PWGDQ/Core/VarManager.cxx @@ -443,7 +443,7 @@ void VarManager::FillEfficiency(float* values) int binCosThetaStarRandom = efficiencyHist->GetZaxis()->FindBin(values[kCosThetaStarRandom]); binCosThetaStarRandom = (binCosThetaStarRandom == 0 ? 1 : binCosThetaStarRandom); binCosThetaStarRandom = (binCosThetaStarRandom > efficiencyHist->GetZaxis()->GetNbins() ? efficiencyHist->GetZaxis()->GetNbins() : binCosThetaStarRandom); - + // get the efficiency value from the histogram values[kPairEfficiency] = efficiencyHist->GetBinContent(binPt, binCent, binCosThetaStarRandom); values[kPairWeight] = 1.0 / (values[kPairEfficiency] > 0 ? values[kPairEfficiency] : 1.0); // set the weight as the inverse of the efficiency, but avoid division by zero