RooFFTConvPdf set buffer size

Hello experts,

I have a situation where I need to do a convolution between a resolution function and a Breit-wigner shape.

The BW shapes are created on the fly, centered at 0, and the resolution functions are centered at the requested pole mass (I know this is not ideal and one would like the other way around, but this cannot be changed now). The observable range in this case is from 500 to 8000 GeV, and I have resolution functions at different values in that range.

To perform the convolution I am using the RooFFTConvPdf PDF, using RooWorkspace::factory(). I’m not able to create the PDF directly myself, since this is, in reality, handled by a workspace creation tool to which I just pass the factory expressions.

The problem I found is that the output signals after the convolution present the known cyclic pattern, where I see the PDF rising again after a while (see attached plot). To avoid this I can define the observable in a wider range: -2000, 10000 GeV for example, and this problem goes away. However, this is far from optimal since this should be told to the workspace creation tool and will modify everything on the workspace.

test_final_width_pdfs.pdf (311.5 KB)

I am wondering if there’s an option I can set to increase the buffer size manually, and outside a RooFFTConvPdf instance, just what RooFFTConvPdf::setBufferSize() does. Is there a way I can modify that configuration globally with ROOT?

Thank you very much!

Best,
Fran

Hi @fsili,

thanks for your question. Maybe @jonas could help?

Cheers,

Marta