RooFFTConvPdf and RooProdPdf

I’m having trouble getting RooFFTConvPdf to work with a RooProdPdf, when trying to convolve the RooProdPdf with a RooGaussian. The RooProdPdf is the product of two RooGenericPdf’s (a box function and a “spectrum”).

As the attached macro can demonstrate, the convolution seems to work fine when I use the RooNumConvPdf class (except for a dependence on whether the Gaussian is the first or second pdf argument). However, when I try to use RooFFTConvPdf, the code returns a large number of errors, and produces no final result. The FFT convolution works fine for the Gaussian with each of the box and spectrum functions, just not the product of the two.

Would someone be able to point out what I’m doing wrong? or if this is a bug?

prodConv.C (1.5 KB)


I confirm your problem. This really should work for FFT as well, so I need to investigate. Could you please open a Savannah bug report on this?


Bug report posted. Also, I think I have another one, but I just want to double-check.

When I try to use the createIntegral method, it works for RooNumConvPdf, but not for RooFFTConvPdf again. See the attached macro for an example.

Shall I post this one, too?
ciTest.C (1.26 KB)


Yes, can you please post that one too?

              Thanks, Wouter


I am having the same problem using RooFFTConvPdf with RooProdPdfs. Was this issue resolved?