import ROOT as r
from array import array
import copy 

tfile = r.TFile.Open('results/Moriond18/tnpEleID/runBCDEF/pasing_ttHLoose/egammaEffi.txt_EGM2D.root')
hist = copy.deepcopy(tfile.Get('EGamma_SF2D'))
tfile.Close()
xbins = []
ybins = []

def binFromAxis(axis):
    bins = [] 
    for x in range(1, axis.GetNbins() + 2):
        bins.append( axis.GetBinLowEdge(x) ) 
    return bins

xbins = binFromAxis(hist.GetXaxis())
ybins = binFromAxis(hist.GetYaxis())       
tfile = r.TFile.Open('results/Moriond18/tnpEleID/runBCDEF/pasing_ttHLoose/egammaEffi.txt_EGM2D_.root','recreate')

ybins = ybins[1:]
hist2 = r.TH2D('tmp','', 
              len(xbins)-1, array('d',xbins),
              len(ybins)-1, array('d',ybins))

print xbins
print ybins
                 
for x in range(1, hist2.GetXaxis().GetNbins()+1):
    for y in range(1, hist2.GetYaxis().GetNbins()+1):
        bin = hist2.GetBin(x,y)
        prebin=hist.GetBin(x,y+1)
        hist2.SetBinContent( bin, hist.GetBinContent(prebin))
        hist2.SetBinError( bin, hist.GetBinError(prebin))
hist2.SetName('EGamma_SF2D')
hist2.Write()
