Add prescriptions to use diagonal theory cov mat#2453
Conversation
|
hi @ecole41 could you check that this is reasonable? As far as I'm aware it has already been used to compute the chi2 for #2411 (comment) so it can be merged (that said, @enocera could you also put the chi2 in that PR) |
|
This PR actually turns out to be immaterial for #2411, given that the problem has been identified with correlations of experimental uncertainties. Nevertheless, this PR may be of interest for other studies (e.g. ZpT at small pT), therefore I am in favour of keeping it. I may provide examples of cases in which this may be useful "soon". |
|
|
||
| s = np.outer(deltas1_max, deltas1_max) | ||
| else: | ||
| sys.exit("Inconsistent process name") |
There was a problem hiding this comment.
| sys.exit("Inconsistent process name") | |
| raise ValueError("Inconsistent process name. This is a debugging prescription and should not be use for fits.") |
Is this the intended behaviour?
| + np.outer((deltas1[4] + deltas1[5]), (deltas2[4] + deltas2[5])) | ||
| ) | ||
| ) | ||
| return np.diag(np.diag(s)) |
There was a problem hiding this comment.
I'm confused here because if name1 != name2 then there's nothing in the diagonal right? Should this also error out in that case. Or return all 0s if we only want the diagonal?
I think right now this one would be filling up random diagonals across the datasetX - datasetY offdiagonals
This PR implements two prescriptions to use either the envelope of the 7pt scale variations or the diagonal elements of the 7pt theory covariance matrix. These are meant as diagnosis tools to investigate the data/theory comparisons.