The efficiencies I got from efficiency.GetEfficiency(i) does not match with what I calculate by the ratios hist_passed(i,j) / hist_all(i,j) . Does anyone know what could be the reason for this difference? It almost perfectly matches when I had 1D hists and used TEfficiency with those 1d hists.

My code:

`hist_passed= ROOT.TH2F ... ( 9 bins) hist_all(=ROOT.TH2F ... (5 bins) efficiency=ROOT.TEfficiency(hist_passed,hist_all() efficiency.SetStatisticOption(ROOT.TEfficiency.kBBayesian)`

and after creating the TEfficiency object I tried to reach individual information from it:

`for i in range(70): efficiency.GetEfficiency(i)`

None of the values matches with

`hist_passed(i,j) / hist_all(i,j) `

Also, not important but this prints 45 numbers that are not 0.5 and rest of them are all 0.5s ( 12 0.5s then 9 numbers, then 2 0.5s, then 9 numbers etc. ). I tried range(100) all the last numbers are 0.5s. I had 9 bins on hist a and 5 bins on hist b, so 45 numbers makes sense but what are all these 0.5s? As a solution I just ignored the numbers that are 0.5, but still wonder the reason.