I’m building the model for a fit using the RooDecay model:
self.function_pdf = ROOT.RooDecay("function_pdf", "function_pdf",
When I call the method:
I expected to get 1.0 but it wasn’t.
Isn’t the pdf returned by RooDecay normalized?
this computes the normalisation that is needed to normalise the PDF. When you call
getVal without any variables to normalise over, you get a raw, unnormalised value. When you call
getVal(normSet), you get
One word of warning. When you call RooFit functions with unnamed temporaries from python, python sometimes manages to delete the temporary before the C++ function completes.
This will work:
But not this:
By the time
getNorm runs, the RooArgSet is gone. A solution is to give the RooArgSet a name.
you have been of great help.
I understood, we can close this issue.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.