Convolution of pdfs

Hello,

I am trying to convolute a pdf with a RooGaussModel, but I get strange shape of the pdf at the end and many messages that the pdf value is nan.

[#0] ERROR:Eval – RooAbsReal::logEvalError(myAcc_NumConv_PdfClone) evaluation error,
origin : RooGenericPdf::myAcc_NumConv_PdfClone[ actualVars=(t,var_a,var_c) formula=“TMath::Power( (var_at), var_c) / (1+ TMath::Power( (var_at), var_c) )” ]
message : p.d.f value is Not-a-Number (nan), forcing value to zero
server values: actualVars=(t = -1,var_a = 0.84,var_c = 2.16)
[#0] ERROR:Eval – RooAbsReal::logEvalError(myAcc_NumConv_PdfClone) evaluation error,
origin : RooGenericPdf::myAcc_NumConv_PdfClone[ actualVars=(t,var_a,var_c) formula=“TMath::Power( (var_at), var_c) / (1+ TMath::Power( (var_at), var_c) )” ]

Can someone spot what is wrong?

I am aware that I can do this by RooBDecay very easily, but I want to multiply my lifetime distribution with an acceptance BEFORE convoluting the distribution with a resolution function. But using RooBDecay I can do these operations the other way round.

Regards
Fatima Soomro
Fitting.pdf (15 KB)

Hi Fatima,

The error you get is reasonably descriptive: your pdf fails to evaluate because the return value of the expression is not-a-number when using the parameter values as specified (t = -1,var_a = 0.84,var_c = 2.16)

The origin of this is that TMath:::Power(-0.84,2.16) gives a NaN, so you’ll need to rewrite your formula so that it is also well-defined for negative t.

Wouter

Hi Wouter,

Thanks for the reply.
Sorry for being ignorant here, but my variable t has a range from 0 to 10. Why does it try a negative number like (t = -1,var_a = 0.84,var_c = 2.16) ?

Regards
Fatima Soomro

Hi Fatima,

That is inherits to the formalism of convolutions. The resolution model is always considered on a domain [-inf,+inf].

Wouter