Skip to content

Commit 850b45a

Browse files
committed
add efficiency type for random plane test
1 parent 38574ae commit 850b45a

2 files changed

Lines changed: 21 additions & 0 deletions

File tree

PWGDQ/Core/VarManager.cxx

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -427,6 +427,26 @@ void VarManager::FillEfficiency(float* values)
427427
// get the efficiency value from the histogram
428428
values[kPairEfficiency] = efficiencyHist->GetBinContent(binPt, binCent, binCosThetaStarFT0c);
429429
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
430+
} else if (fgEfficiencyType == kPairPtCentFT0cCosThetaStarRandom) {
431+
if (!fgEfficiencyHist) {
432+
LOG(fatal) << "efficiency histogram not set";
433+
return;
434+
}
435+
TH3F* efficiencyHist = reinterpret_cast<TH3F*>(fgEfficiencyHist);
436+
// Get the bin indices for the efficiency histogram
437+
int binPt = efficiencyHist->GetXaxis()->FindBin(values[kPt]);
438+
binPt = (binPt == 0 ? 1 : binPt);
439+
binPt = (binPt > efficiencyHist->GetXaxis()->GetNbins() ? efficiencyHist->GetXaxis()->GetNbins() : binPt);
440+
int binCent = efficiencyHist->GetYaxis()->FindBin(values[kCentFT0C]);
441+
binCent = (binCent == 0 ? 1 : binCent);
442+
binCent = (binCent > efficiencyHist->GetYaxis()->GetNbins() ? efficiencyHist->GetYaxis()->GetNbins() : binCent);
443+
int binCosThetaStarRandom = efficiencyHist->GetZaxis()->FindBin(values[kCosThetaStarRandom]);
444+
binCosThetaStarRandom = (binCosThetaStarRandom == 0 ? 1 : binCosThetaStarRandom);
445+
binCosThetaStarRandom = (binCosThetaStarRandom > efficiencyHist->GetZaxis()->GetNbins() ? efficiencyHist->GetZaxis()->GetNbins() : binCosThetaStarRandom);
446+
447+
// get the efficiency value from the histogram
448+
values[kPairEfficiency] = efficiencyHist->GetBinContent(binPt, binCent, binCosThetaStarRandom);
449+
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
430450
} else {
431451
LOG(warning) << "FillEfficiency: unknown efficiency type " << fgEfficiencyType << ", using default efficiency = 1";
432452
values[kPairEfficiency] = 1;

PWGDQ/Core/VarManager.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1130,6 +1130,7 @@ class VarManager : public TObject
11301130
enum EfficiencyType {
11311131
kNone = 0,
11321132
kPairPtCentFT0cCosThetaStarFT0c,
1133+
kPairPtCentFT0cCosThetaStarRandom,
11331134
// Add more efficiency types as needed
11341135
kNEfficiencyTypes
11351136
};

0 commit comments

Comments
 (0)