Description
Currently, there are no checks in PyFBU whether user correctly specified backgrounds and their corresponding normalization uncertainties. Specifically, it may naively seem to the user that if one specifies background A
in pyFBU.backgrounds
but omits A
from the background normalization syst dictionary pyFBU.backgroundsyst
, that normalization uncertainty will be set to zero.
This assumption is wrong, since PyFBU actually builds the backgrounds in likelihood using the keys from the background normalization uncertainties dictionary:
backgroundkeys = self.backgroundsyst.keys()
So omitting a background normalization uncertainty key from the dictionary will cause this background to be silently dropped from the likelihood completely.
I would propose a (IMHO transparent) solution to compare the keys in pyFBU.backgrounds
and pyFBU.backgroundsyst
and print some error message to the user if these are not identical.