You can bind a RooFit object to any function, also to TF1:
bindPdf, though, because the FFT convolution only operates on PDFs, not on functions.
However, a TF1 is often just a function expression (something like
TF1("name", "x*x +2", ...)), which you could theoretically also just put in a RooGenericPdf.
I’m not sure about the different ranges, though. Why are they different? What does that mean for the convolution? Is your TF1 simply zero for negative
x (or whatever the observable is)?
- If yes, just convolve the two on the range [-0.6, 0.6].
- If no, but you think it should be zero, add something like
(x > 0.) * to your TF1. This acts as a heavyside function.
The last step is to put the PDF and the TF1 into the convolution: