Question on RooFit's batch mode

Dear experts,

If I run a fit with multiple PDF components e.g. f = f_a + f_b + f_c, do all PDF’s need to implement evaluateSpan in order to benefit from BatchMode? (I’m using root 6.24)

Thank you in advance.

Hi,

A lot changed in that area in the last few releases. Let me add in the loop @jonas .

D

Let me ping @jonas again to prevent the topic from closing automatically.

Hi! No, this has never been the case for the BatchMode, even as far back as 6.24.

There is a fallback RooAbsReal::evaluateSpan() implementation:

So if one component doesn’t implement evaluateSpan you will be able to use BatchMode and likely get a speedup.

Note that as Danilo said, the BatchMode was still experimental in 6.24 and not all fits might work correctly. But starting with ROOT 6.32, it is enabled by default and got renamed to the “new CPU likelihood evaluation backend”. The name BatchMode was confusing because it’s already used in other aspects of ROOT, e.g. the batch option for the ROOT interpreter (root -b).

Thanks!