Skip to content

Add prescriptions to use diagonal theory cov mat#2453

Open
enocera wants to merge 2 commits into
masterfrom
theory_uncorr
Open

Add prescriptions to use diagonal theory cov mat#2453
enocera wants to merge 2 commits into
masterfrom
theory_uncorr

Conversation

@enocera
Copy link
Copy Markdown
Contributor

@enocera enocera commented Apr 14, 2026

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.

@scarlehoff
Copy link
Copy Markdown
Member

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)

@enocera
Copy link
Copy Markdown
Contributor Author

enocera commented May 5, 2026

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")
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
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))
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants