Global Observable and Non-Gaussian constraint function

Hi @xxiang4,

When you have a likelihood model that has a constraint term, then you need a “global observable”. A likelihood model that looks like this:

LH(data | parameters) = FitLikelihood(observable | paramA, paramB, paramLumi) * Gauss(lumi | paramLumi, sigmaLumi)

Has lumi as a “global observable”, that’s the observable that someone else measured for you. Think e.g. that the luminosity parameter should be close to 10 / fb, so you introduce the “observable” lumi, and you add a luminosity parameter, which you want to constrain to be close to 10. So you set the Gaussian to:

Gauss(10 | paramLumi, 1)

to get a 10% uncertainty for the luminosity parameter, centred around the external measurement of 10 that you got from the lumi group of your experiment.
Some people interchange the role of x and mu in the gaussian distribution, but that doesn’t matter because it’s symmetric. Sigma on the other hand is a parameter of the constraint term, it cannot be an observable. An observable is something that you can measure.

Of course you can use a Crystall ball. Just do

LH_constr = LH_fit(x | param) * CrystalBall(globObs | param, ...)

Note that only the thing that has the role of x in the crystal ball is an observable. The parameters are parameters. And yes, most of the time you will set all parameters of the constraint term constant, because they should not be fitted. Only the parameter that is shared between the fit likelihood and the constraint likelihood will be floating in the fit.

1 Like