Dear experts

Is there a generic way to have bin center correction in RooFit plots? Or does somebody have a private implementation willing to share with me? Or can somebody give me advise to implement this (if generic enough with possible inclusion in future versions)?

Brief description of problem:

We have a fit to data and make the obvious plot showing the fit curve and the data as histogram. It is a lifetime study, so we naturally have step curves around 0 decay time. When calculating the residual histogram with RooPlot::residHist(…) we observe large residuals/pulls. Applying bin center correction would solve the problem.

Possible solutions:

Get the histogram and apply a bin center correction. I would like to have a RooDataSet::plotOn(const char* pdfnameForBinCenterCorrection) method with a fit function as an additional argument. In every bin the integral of the function would be calculated. This would be used to find the x-value where the function value and the integral match (restricted to the bin). This x value would be chosen as the new bin center for that bin. If I understand it correctly, histograms in RooFit are TGraphs and so a a small shift in x would work. Furthermore a residHist(…) would calculate an improved residual histogram (with some tweaking according to internals).

I tried to do a search on this but without success. Please let me know if such a functionality already exists or give me advise how to implement this (possibly as a generic solution for later version).

Kind regards,

Frank