import ROOT
import numpy as np

c = ROOT.TCanvas('c', 'c', 800, 600)

hist1D_reco = ROOT.TH1D('hist1D_reco', 'hist1D_reco', 20, 0, 20)
hist1D_truth = ROOT.TH1D('hist1D_truth', 'hist1D_truth', 20, 0, 20)

truth_array = []
reco_array = []

for bin in range(hist1D_reco.GetNbinsX()):

    hist1D_truth.SetBinContent(bin+1, 1)
    hist1D_reco.SetBinContent(bin+1, 1*np.random.normal(1, 0.05))

    truth_array.append(bin+1)
    reco_array.append(bin+1 * np.random.normal(1, 0.05))

hist1D_truth.Draw("HIST")
hist1D_reco.Draw("HIST SAME")
c.Draw()
input()

hist2D = ROOT.TH2D('hist2D', 'hist2D', 20, 0, 20, 20, 0, 20)

for i, j in zip(truth_array, reco_array):

    hist2D.Fill(i, j)

hist2D.Draw("HIST COLZ")
input()