RooMultiVarGaussian with 100% correlation

Hi, I would like to implement 100% correlated Gaussian Constraints in my fit. For instance, if my estimates on the JEC uncertainty tell me that my backgrounds (B1 and B2) should be:
B1 = 100±10
B2 = 95±20

I would like to set 100% correlated constraints on both B1 and B2 yields (different sigma and different mean, but actual same constraint). To do this, I was planning to use RooMultiVarGaussian, but my problem is that the covariance matrix I input has a 0 determinant (this is a property of the covariance matrices when you’ve got a 100% correlation), so it’s no invertible and RooMultiVarGaussian doesn’t work. My workaround has been using .999 instead of 1 as correlation coefficient, but this is quite unsatisfactory…

Is there any easier solution?
Thanks in advance!


If the variables are correlated at 100% means you can replace one is just a simple function of the other. So just use one variable instead of two.

Best Regards


Thanks for your reply Lorenzo. Unfortunately it’s not that simple.

The problem is that B1 and B2 are actually O(20) independent components, the error is what is correlated (the actual error value is obtained by smearing certain distributions and seeing how the MC efficiencies change, and comparing the expected yields to the nominal ones).
I could also express all these errors with the same parameter:
B1 = mean_B1 + sigma_B1 *alpha
B2 = mean_B2 + sigma_B2 *alpha

and floating alpha only. But again the problem is that I have not only 1 but several different systematic sources (so I would need one alpha per source)

I could also express,

B1 = mean_B1 + sigma_B11 *alpha1 + sigma_B12 *alpha2
B2 = mean_B2 + sigma_B21 *alpha1 + sigma_B22 *alpha2

but I don’t think this is the right recipe either

I think the best approach is to express each systematic source as an independent parameter, so you don;t have to worry about the correlation.
This I think is what is normally do in the majority of analyses


May I ask what do you mean exactly?
I agree each of the systematic sources should be an independent parameter, but its effect on several yields should be correlated, but not being the same numerically in each of the cases.

I mean to write each weald (i.e. each background) as function of the different systematic effect. This function could be just a scaling factor or something more complicated, that you might need to compute using MC.
For example the HIstFactory package allows you to introduce several systematic effects starting from histogram which express the variations.
The overall yields will be at the end correlated, but this will taken automatically into account in the model description


Thanks for your time Lorenzo. Could you please provide a short exact example?
If I had only one systematics, I fully agree what you say looks trivial. But if I have two, how do I express my yield as a function of both systematics at the same time?