Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reimplement Atlas Z0 8 TeV HIMASS #2206

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

comane
Copy link
Member

@comane comane commented Nov 9, 2024

(this branch) https://vp.nnpdf.science/_LpEXpBCT86YesZeTaCKSQ==
(master) https://vp.nnpdf.science/zmrjDp_ySRqdDZTmW8MQDA==

The new covariance matrix does not coincide with the old one, however they are extremely close to each other.
The suspected reason for this is numerical precision:

  1. There are small, possibly numerical, differences between the central values. Since all the uncertainties are MULT this affects the uncertainties.

  2. In the old implementation stat was treated as ADD, however it is MULT (this does not affect the systematics covmat)

from validphys.api import API
import numpy as np

name_ds = "ATLAS_Z0_8TEV_HIMASS_M-Y"
inp1 = {"dataset_input": {"dataset": f"{name_ds}"}, "theoryid": 40_000_000, "use_cuts": "internal", "t0pdfset": "NNPDF40_nnlo_as_01180", "use_t0": True}

inp2 = {"dataset_input": {"dataset": f"{name_ds}", "variant": "legacy"}, "theoryid": 40_000_000, "use_cuts": "internal", "t0pdfset": "NNPDF40_nnlo_as_01180", "use_t0": True}

covmat2 = API.covmat_from_systematics(**inp2)

covmat1 = API.covmat_from_systematics(**inp1)

relative_difference = np.abs(covmat1 - covmat2) / np.maximum(np.abs(covmat1), np.abs(covmat2))

print(np.max(relative_difference))
0.0835

CHi2 comparison

API.central_chi2(**{**inp1, "pdf": "NNPDF40_nnlo_as_01180"})
53.937

API.central_chi2(**{**inp2, "pdf": "NNPDF40_nnlo_as_01180"})
53.836

ATLASLUMI12:
description: ATLASLUMI12
treatment: MULT
type: SPECIAL
Copy link
Member

@scarlehoff scarlehoff Nov 12, 2024

Choose a reason for hiding this comment

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

I'm confused about the keyword SPECIAL here.
We have the CORR and UNCORR as variables that are correlated within a dataset, and then type: <some name>, variables that should be correlated between dataset within an experiment*.

For instance, in this case ATLASLUMI12. If you put SPECIAL it will be correlated with other stuff called SPECIAL. But you want to use SPECIAL also for the 13 TeV ones which would be wrong? (I think ATLASLUMI12 is 8 TeV looking at where it appears.

Is there something I'm missing?

*and we cannot correlate between experiments here because the assumption of an experiment-diagonal covmat is hardcoded in a bunch of places. Luckily there's now a PR sort of dealing with that.

Copy link
Member Author

Choose a reason for hiding this comment

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

*and we cannot correlate between experiments here because the assumption of an experiment-diagonal covmat is hardcoded in a bunch of places. Luckily there's now a PR sort of dealing with that.

Just out of curiosity, which PR is dealing / dealt with that?

@comane comane force-pushed the reimplement_ATLAS_Z0_8TEV_HIMASS branch from c9d5b91 to b20b500 Compare December 8, 2024 12:15
@comane comane requested a review from t7phy December 8, 2024 12:18
@comane
Copy link
Member Author

comane commented Dec 8, 2024

It looks like tests are failing because stat uncertainties are always supposed to be ADD.
For this datasets, however, this is not the case.

Since having ADD or MULT makes no difference we might just want to put it back to ADD

@t7phy
Copy link
Member

t7phy commented Dec 9, 2024

hey @comane! I will review the 2 PRs in the next few days

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

Successfully merging this pull request may close these issues.

3 participants