If the plot you show is the one produced by m.Draw() in your script, it looks like your histogram is empty even before saving it in hist.root. In that case can you check (via a print-out) what the values of pt and weight are ?
From the statistics box, there are many entries in the histogram, but they are not “visible”; that probably means they are outside the range of the histogram’s x-axis range. You can add this line
(that’s 6 ones) before drawing, or at the beginning of the macro, to see the number of entries in underflow and overflow. Adjust the histogram axis accordingly when you create it. If you don’t know what limits to use you can just draw “pair_pt” directly from the tree (tree.Draw("pair_pt")) and see.