[RF] Forbid calling getVal()
with r-value references to norm set
#17094
+58
−29
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Calling RooAbsReal::getVal() with r-value references to the normalization set (i.e. with RooArgSets that are created in place) is a bad idea, because it breaks RooFits caching logic and potentially introduces significant overhead.
There was even a dedicated Pythonization to deal with the related memory problems.
Since to avoid the problems and the need for a workaround in Python, this commit simply suggests to forbid calling getVal() with r-value references at runtime by printing a clear exception.