pyFBU / fbu

Fully Bayesian Unfolding
GNU General Public License v2.0
2 stars 4 forks source link

Basic backgrounds input validation #3

Open Revile77 opened 5 years ago

Revile77 commented 5 years ago

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.