From 1ce47f5377e8f382bd3fbc6be03c9308c581715e Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 13 Dec 2022 11:51:31 +0100 Subject: [PATCH 01/42] update evolve_n3fit eko 0.11 compatibility --- n3fit/src/evolven3fit_new/eko_utils.py | 11 +++--- n3fit/src/evolven3fit_new/evolve.py | 44 ++++++++++++----------- n3fit/src/n3fit/tests/test_evolven3fit.py | 4 +-- 3 files changed, 31 insertions(+), 28 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 32c966a07b..49d35c9e33 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -1,5 +1,6 @@ -from ekobox import gen_theory, gen_op -from eko import run_dglap +from ekobox import operators_card as oc +from ekobox import theory_card as tc +from eko import run_dglap, output from validphys.api import API from . import utils @@ -34,7 +35,7 @@ def construct_eko_cards( theory = API.theoryid(theoryid=theoryID).get_description() theory.pop("FNS") theory.update(theory_card_dict) - theory_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + theory_card = tc.generate(theory["PTO"], theory["Q0"], update=theory) # construct operator card q2_grid = utils.generate_q2grid( theory["Q0"], @@ -42,7 +43,7 @@ def construct_eko_cards( q_points, {theory["mb"]: theory["kbThr"], theory["mt"]: theory["ktThr"]}, ) - op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": x_grid}) + op_card = oc.generate(q2_grid, update={"interpolation_xgrid": x_grid}) op_card.update(op_card_dict) return theory_card, op_card @@ -76,7 +77,7 @@ def construct_eko_for_fit(theory_card, op_card, save_path=None): # Here we want to catch all possible exceptions in order to avoid losing the computed eko try: _logger.info(f"Saving computed eko to : {save_path}") - eko_op.dump_tar(save_path) + output.legacy.dump_tar(eko_op, save_path) except: _logger.error(f"Error saving the eko to : {save_path}") pass diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index d749b9f534..0cee344ac3 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -5,10 +5,12 @@ import numpy as np from reportengine.compat import yaml -from ekobox import genpdf, gen_info +from ekobox import genpdf +from ekobox import info_file from ekomark import apply from eko import basis_rotation as br from eko import output +from eko.interpolation import XGrid from validphys.api import API from . import utils, eko_utils @@ -18,10 +20,12 @@ LOG_FILE = "evolven3fit_new.log" -LOGGING_SETTINGS = {"formatter" : "%(asctime)s %(name)s/%(levelname)s: %(message)s", - "level" : logging.INFO +LOGGING_SETTINGS = { + "formatter": "%(asctime)s %(name)s/%(levelname)s: %(message)s", + "level": logging.INFO, } + def evolve_fit( fit_folder, q_fin, @@ -69,9 +73,7 @@ def evolve_fit( stdout_log = logging.StreamHandler(sys.stdout) for log in [log_file, stdout_log]: log.setLevel(LOGGING_SETTINGS["level"]) - log.setFormatter( - logging.Formatter(LOGGING_SETTINGS["formatter"]) - ) + log.setFormatter(logging.Formatter(LOGGING_SETTINGS["formatter"])) for logger in (_logger, *[logging.getLogger("eko")]): logger.handlers = [] logger.setLevel(LOGGING_SETTINGS["level"]) @@ -80,9 +82,7 @@ def evolve_fit( usr_path = pathlib.Path(fit_folder) initial_PDFs_dict = load_fit(usr_path) - x_grid = np.array( - initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"] - ).astype(np.float) + x_grid = XGrid(initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"]) theoryID = utils.get_theoryID_from_runcard(usr_path) theory, op = eko_utils.construct_eko_cards( theoryID, q_fin, q_points, x_grid, op_card_dict, theory_card_dict @@ -90,25 +90,27 @@ def evolve_fit( if eko_path is not None: eko_path = pathlib.Path(eko_path) _logger.info(f"Loading eko from : {eko_path}") - eko_op = output.Output.load_tar(eko_path) + eko_op = output.legacy.load_tar(eko_path) else: try: _logger.info(f"Loading eko from theory {theoryID}") - theory_eko_path = (API.theoryid(theoryid = theoryID).path)/'eko.tar' - eko_op = output.Output.load_tar(theory_eko_path) + theory_eko_path = (API.theoryid(theoryid=theoryID).path) / "eko.tar" + eko_op = output.legacy.load_tar(theory_eko_path) except FileNotFoundError: _logger.info(f"eko not found in theory {theoryID}, we will construct it") - eko_op = eko_utils.construct_eko_for_fit(theory, op, dump_eko) - eko_op.xgrid_reshape(targetgrid=x_grid, inputgrid=x_grid) - info = gen_info.create_info_file(theory, op, 1, info_update={}) + eko_op = eko_utils.construct_eko_for_fit(theory, op, dump_eko) + output.manipulate.xgrid_reshape(eko_op, targetgrid=x_grid, inputgrid=x_grid) + info = info_file.build(theory, op, 1, info_update={}) info["NumMembers"] = "REPLACE_NREP" info["ErrorType"] = "replicas" - info["AlphaS_Qs"] = list(eko_op["Q2grid"]) - info["XMin"] = float(x_grid[0]) - info["XMax"] = float(x_grid[-1]) + info["AlphaS_Qs"] = eko_op.Q2grid.tolist() + info["XMin"] = float(x_grid.raw.min()) + info["XMax"] = float(x_grid.raw.max()) dump_info_file(usr_path, info) for replica in initial_PDFs_dict.keys(): - evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko_op, x_grid) + evolved_block = evolve_exportgrid( + initial_PDFs_dict[replica], eko_op, x_grid.tolist() + ) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) @@ -165,7 +167,7 @@ def evolve_exportgrid(exportgrid, eko, x_grid): # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # generate block to dump - targetgrid = list(eko["targetgrid"]) + targetgrid = eko.xgrid.tolist() def ev_pdf(pid, x, Q2): return x * evolved_pdf[Q2]["pdfs"][pid][targetgrid.index(x)] @@ -173,7 +175,7 @@ def ev_pdf(pid, x, Q2): block = genpdf.generate_block( ev_pdf, xgrid=targetgrid, - Q2grid=list(eko["Q2grid"]), + Q2grid=eko.Q2grid.tolist(), pids=br.flavor_basis_pids, ) return block diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 7fd3008eb2..e6580aa57b 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -66,5 +66,5 @@ def test_eko_utils(): assert_allclose(op_card["Q2grid"][1], 4.92**2) #Testing construct_eko_for_fit eko_op = eko_utils.construct_eko_for_fit(t_card ,op_card) - assert_allclose(eko_op['interpolation_xgrid'], x_grid) - assert_allclose(list(eko_op['Q2grid']), op_card["Q2grid"]) + assert_allclose(eko_op.xgrid.tolist(), x_grid) + assert_allclose(eko_op.Q2grid.tolist(), op_card["Q2grid"]) From 50e0da18a70edaa6eb1892ef775ffe167ed6d0ac Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 15 Dec 2022 10:14:09 +0100 Subject: [PATCH 02/42] Revert "update evolve_n3fit eko 0.11 compatibility" This reverts commit 1ce47f5377e8f382bd3fbc6be03c9308c581715e. --- n3fit/src/evolven3fit_new/eko_utils.py | 11 +++--- n3fit/src/evolven3fit_new/evolve.py | 44 +++++++++++------------ n3fit/src/n3fit/tests/test_evolven3fit.py | 4 +-- 3 files changed, 28 insertions(+), 31 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 49d35c9e33..32c966a07b 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -1,6 +1,5 @@ -from ekobox import operators_card as oc -from ekobox import theory_card as tc -from eko import run_dglap, output +from ekobox import gen_theory, gen_op +from eko import run_dglap from validphys.api import API from . import utils @@ -35,7 +34,7 @@ def construct_eko_cards( theory = API.theoryid(theoryid=theoryID).get_description() theory.pop("FNS") theory.update(theory_card_dict) - theory_card = tc.generate(theory["PTO"], theory["Q0"], update=theory) + theory_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card q2_grid = utils.generate_q2grid( theory["Q0"], @@ -43,7 +42,7 @@ def construct_eko_cards( q_points, {theory["mb"]: theory["kbThr"], theory["mt"]: theory["ktThr"]}, ) - op_card = oc.generate(q2_grid, update={"interpolation_xgrid": x_grid}) + op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": x_grid}) op_card.update(op_card_dict) return theory_card, op_card @@ -77,7 +76,7 @@ def construct_eko_for_fit(theory_card, op_card, save_path=None): # Here we want to catch all possible exceptions in order to avoid losing the computed eko try: _logger.info(f"Saving computed eko to : {save_path}") - output.legacy.dump_tar(eko_op, save_path) + eko_op.dump_tar(save_path) except: _logger.error(f"Error saving the eko to : {save_path}") pass diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 0cee344ac3..d749b9f534 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -5,12 +5,10 @@ import numpy as np from reportengine.compat import yaml -from ekobox import genpdf -from ekobox import info_file +from ekobox import genpdf, gen_info from ekomark import apply from eko import basis_rotation as br from eko import output -from eko.interpolation import XGrid from validphys.api import API from . import utils, eko_utils @@ -20,12 +18,10 @@ LOG_FILE = "evolven3fit_new.log" -LOGGING_SETTINGS = { - "formatter": "%(asctime)s %(name)s/%(levelname)s: %(message)s", - "level": logging.INFO, +LOGGING_SETTINGS = {"formatter" : "%(asctime)s %(name)s/%(levelname)s: %(message)s", + "level" : logging.INFO } - def evolve_fit( fit_folder, q_fin, @@ -73,7 +69,9 @@ def evolve_fit( stdout_log = logging.StreamHandler(sys.stdout) for log in [log_file, stdout_log]: log.setLevel(LOGGING_SETTINGS["level"]) - log.setFormatter(logging.Formatter(LOGGING_SETTINGS["formatter"])) + log.setFormatter( + logging.Formatter(LOGGING_SETTINGS["formatter"]) + ) for logger in (_logger, *[logging.getLogger("eko")]): logger.handlers = [] logger.setLevel(LOGGING_SETTINGS["level"]) @@ -82,7 +80,9 @@ def evolve_fit( usr_path = pathlib.Path(fit_folder) initial_PDFs_dict = load_fit(usr_path) - x_grid = XGrid(initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"]) + x_grid = np.array( + initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"] + ).astype(np.float) theoryID = utils.get_theoryID_from_runcard(usr_path) theory, op = eko_utils.construct_eko_cards( theoryID, q_fin, q_points, x_grid, op_card_dict, theory_card_dict @@ -90,27 +90,25 @@ def evolve_fit( if eko_path is not None: eko_path = pathlib.Path(eko_path) _logger.info(f"Loading eko from : {eko_path}") - eko_op = output.legacy.load_tar(eko_path) + eko_op = output.Output.load_tar(eko_path) else: try: _logger.info(f"Loading eko from theory {theoryID}") - theory_eko_path = (API.theoryid(theoryid=theoryID).path) / "eko.tar" - eko_op = output.legacy.load_tar(theory_eko_path) + theory_eko_path = (API.theoryid(theoryid = theoryID).path)/'eko.tar' + eko_op = output.Output.load_tar(theory_eko_path) except FileNotFoundError: _logger.info(f"eko not found in theory {theoryID}, we will construct it") - eko_op = eko_utils.construct_eko_for_fit(theory, op, dump_eko) - output.manipulate.xgrid_reshape(eko_op, targetgrid=x_grid, inputgrid=x_grid) - info = info_file.build(theory, op, 1, info_update={}) + eko_op = eko_utils.construct_eko_for_fit(theory, op, dump_eko) + eko_op.xgrid_reshape(targetgrid=x_grid, inputgrid=x_grid) + info = gen_info.create_info_file(theory, op, 1, info_update={}) info["NumMembers"] = "REPLACE_NREP" info["ErrorType"] = "replicas" - info["AlphaS_Qs"] = eko_op.Q2grid.tolist() - info["XMin"] = float(x_grid.raw.min()) - info["XMax"] = float(x_grid.raw.max()) + info["AlphaS_Qs"] = list(eko_op["Q2grid"]) + info["XMin"] = float(x_grid[0]) + info["XMax"] = float(x_grid[-1]) dump_info_file(usr_path, info) for replica in initial_PDFs_dict.keys(): - evolved_block = evolve_exportgrid( - initial_PDFs_dict[replica], eko_op, x_grid.tolist() - ) + evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko_op, x_grid) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) @@ -167,7 +165,7 @@ def evolve_exportgrid(exportgrid, eko, x_grid): # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # generate block to dump - targetgrid = eko.xgrid.tolist() + targetgrid = list(eko["targetgrid"]) def ev_pdf(pid, x, Q2): return x * evolved_pdf[Q2]["pdfs"][pid][targetgrid.index(x)] @@ -175,7 +173,7 @@ def ev_pdf(pid, x, Q2): block = genpdf.generate_block( ev_pdf, xgrid=targetgrid, - Q2grid=eko.Q2grid.tolist(), + Q2grid=list(eko["Q2grid"]), pids=br.flavor_basis_pids, ) return block diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index e6580aa57b..7fd3008eb2 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -66,5 +66,5 @@ def test_eko_utils(): assert_allclose(op_card["Q2grid"][1], 4.92**2) #Testing construct_eko_for_fit eko_op = eko_utils.construct_eko_for_fit(t_card ,op_card) - assert_allclose(eko_op.xgrid.tolist(), x_grid) - assert_allclose(eko_op.Q2grid.tolist(), op_card["Q2grid"]) + assert_allclose(eko_op['interpolation_xgrid'], x_grid) + assert_allclose(list(eko_op['Q2grid']), op_card["Q2grid"]) From 8cb3d83ceb2fb0c16db935244a0f1c0ce71cdd4d Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 20 Dec 2022 18:10:52 +0100 Subject: [PATCH 03/42] implement x > xmin cut --- validphys2/src/validphys/config.py | 15 +++++++++++++-- validphys2/src/validphys/cuts/defaults.yaml | 1 + validphys2/src/validphys/cuts/filters.yaml | 5 +++++ 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/validphys2/src/validphys/config.py b/validphys2/src/validphys/config.py index 30bd1c02f9..3c2391180d 100644 --- a/validphys2/src/validphys/config.py +++ b/validphys2/src/validphys/config.py @@ -1413,7 +1413,7 @@ def load_default_default_filter_settings(self, spec): def parse_filter_defaults(self, filter_defaults: (dict, type(None))): """A mapping containing the default kinematic limits to be used when filtering data (when using internal cuts). - Currently these limits are ``q2min`` and ``w2min``. + Currently these limits are ``q2min``, ``w2min`` and ``xmin``. """ log.warning("Overwriting filter defaults") return filter_defaults @@ -1422,12 +1422,13 @@ def produce_defaults( self, q2min=None, w2min=None, + xmin=None, default_filter_settings=None, filter_defaults={}, default_filter_settings_recorded_spec_=None, ): """Produce default values for filters taking into account both the - values of ``q2min`` and ` `w2min`` defined at namespace + values of ``q2min``,``w2min`` and ``xmin`` defined at namespace level and those inside a ``filter_defaults`` mapping. """ from validphys.filters import default_filter_settings_input @@ -1444,6 +1445,12 @@ def produce_defaults( and w2min != filter_defaults["w2min"] ): raise ConfigError("w2min defined multiple times with different values") + if ( + xmin is not None + and "xmin" in filter_defaults + and xmin != filter_defaults["xmin"] + ): + raise ConfigError("w2min defined multiple times with different values") if default_filter_settings_recorded_spec_ is not None: filter_defaults = default_filter_settings_recorded_spec_[ @@ -1465,6 +1472,10 @@ def produce_defaults( if w2min is not None and defaults_loaded: log.warning("Using w2min from runcard") filter_defaults["w2min"] = w2min + + if xmin is not None and defaults_loaded: + log.warning("Using xmin from runcard") + filter_defaults["xmin"] = xmin return filter_defaults diff --git a/validphys2/src/validphys/cuts/defaults.yaml b/validphys2/src/validphys/cuts/defaults.yaml index 6559ee0bad..c16d54d3c0 100644 --- a/validphys2/src/validphys/cuts/defaults.yaml +++ b/validphys2/src/validphys/cuts/defaults.yaml @@ -1,4 +1,5 @@ w2min: 12.5 q2min: 3.49 +xmin: 0.000000001 # generalized cuts diff --git a/validphys2/src/validphys/cuts/filters.yaml b/validphys2/src/validphys/cuts/filters.yaml index d4d51b7743..a441d90931 100644 --- a/validphys2/src/validphys/cuts/filters.yaml +++ b/validphys2/src/validphys/cuts/filters.yaml @@ -360,3 +360,8 @@ FNS: FONLL-C IC: True rule: "Q2 > 8" + +- process_type: DIS_ALL + reason: | + Remove small-x data + rule: "x > xmin" From 98fe8bee05a7c011d7872adb18bbfb7c38498901 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 11 Jan 2023 10:30:15 +0100 Subject: [PATCH 04/42] fix stored xgrid --- n3fit/src/n3fit/io/writer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/io/writer.py b/n3fit/src/n3fit/io/writer.py index 7f832bed92..411b7f63c7 100644 --- a/n3fit/src/n3fit/io/writer.py +++ b/n3fit/src/n3fit/io/writer.py @@ -257,7 +257,7 @@ def storefit( data = { "replica": replica, "q20": q20, - "xgrid": xgrid.T.tolist()[0], + "xgrid": xgrid.tolist(), "labels": ["TBAR", "BBAR", "CBAR", "SBAR", "UBAR", "DBAR", "GLUON", "D", "U", "S", "C", "B", "T", "PHT"], "pdfgrid": lha.tolist(), } From 8f63b4febcd08afb94f9f22967da85bbc5a66525 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Mon, 16 Jan 2023 11:23:53 +0100 Subject: [PATCH 05/42] add n3lo_ad_var to sv list --- .../scalevariations/pointprescriptions.yaml | 1 + .../scalevariationtheoryids.yaml | 84 +++++++++++++++++++ 2 files changed, 85 insertions(+) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index bffeb0e35f..08734c0c5e 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,3 +9,4 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] +'n3lo ad var': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 21, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(0, 0, 0, 9)','(0, 0, 0, 10)','(0, 0, 0, 11)','(0, 0, 0, 12)','(0, 0, 0, 13)','(0, 0, 0, 14)','(0, 0, 0, 15)','(0, 0, 0, 16)','(0, 0, 0, 17)',] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index a1f7b7c681..0ca0b19a41 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -59,3 +59,87 @@ scale_variations_for: (2, 0.5): 436 (2, 1): 437 (2, 2): 438 + + - theoryid: 439 + variations: + (0, 0, 0, 0): 439 + (1, 0, 0, 0): 440 + (2, 0, 0, 0): 441 + (3, 0, 0, 0): 442 + (4, 0, 0, 0): 443 + (5, 0, 0, 0): 444 + (6, 0, 0, 0): 445 + (7, 0, 0, 0): 446 + (8, 0, 0, 0): 447 + (9, 0, 0, 0): 448 + (10, 0, 0, 0): 449 + (11, 0, 0, 0): 450 + (12, 0, 0, 0): 451 + (13, 0, 0, 0): 452 + (14, 0, 0, 0): 453 + (15, 0, 0, 0): 454 + (16, 0, 0, 0): 455 + (17, 0, 0, 0): 456 + (18, 0, 0, 0): 457 + (0, 1, 0, 0): 458 + (0, 2, 0, 0): 459 + (0, 3, 0, 0): 460 + (0, 4, 0, 0): 461 + (0, 5, 0, 0): 462 + (0, 6, 0, 0): 463 + (0, 7, 0, 0): 464 + (0, 8, 0, 0): 465 + (0, 9, 0, 0): 466 + (0, 10, 0, 0): 467 + (0, 11, 0, 0): 468 + (0, 12, 0, 0): 469 + (0, 13, 0, 0): 470 + (0, 14, 0, 0): 471 + (0, 15, 0, 0): 472 + (0, 16, 0, 0): 473 + (0, 17, 0, 0): 474 + (0, 18, 0, 0): 475 + (0, 19, 0, 0): 476 + (0, 20, 0, 0): 477 + (0, 21, 0, 0): 478 + (0, 22, 0, 0): 479 + (0, 23, 0, 0): 480 + (0, 24, 0, 0): 481 + (0, 0, 1, 0): 482 + (0, 0, 2, 0): 483 + (0, 0, 3, 0): 484 + (0, 0, 4, 0): 485 + (0, 0, 5, 0): 486 + (0, 0, 6, 0): 487 + (0, 0, 7, 0): 488 + (0, 0, 8, 0): 489 + (0, 0, 9, 0): 490 + (0, 0, 10, 0): 491 + (0, 0, 11, 0): 492 + (0, 0, 12, 0): 493 + (0, 0, 13, 0): 494 + (0, 0, 14, 0): 495 + (0, 0, 15, 0): 496 + (0, 0, 16, 0): 497 + (0, 0, 17, 0): 498 + (0, 0, 18, 0): 499 + (0, 0, 19, 0): 500 + (0, 0, 20, 0): 501 + (0, 0, 21, 0): 502 + (0, 0, 0, 1): 503 + (0, 0, 0, 2): 504 + (0, 0, 0, 3): 505 + (0, 0, 0, 4): 506 + (0, 0, 0, 5): 507 + (0, 0, 0, 6): 508 + (0, 0, 0, 7): 509 + (0, 0, 0, 8): 510 + (0, 0, 0, 9): 511 + (0, 0, 0, 10): 512 + (0, 0, 0, 11): 513 + (0, 0, 0, 12): 514 + (0, 0, 0, 13): 515 + (0, 0, 0, 14): 516 + (0, 0, 0, 15): 517 + (0, 0, 0, 16): 518 + (0, 0, 0, 17): 519 From 7374c06a4dfefbd2b93c0ae09b37ca2cacdd9a8f Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Mon, 16 Jan 2023 11:24:52 +0100 Subject: [PATCH 06/42] add prescription for N3LO ad variations --- .../theorycovariance/construction.py | 16 +++++++++++++ .../theorycovariance/theorycovarianceutils.py | 24 ++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index ddc4db2976..3f0ea2cbc0 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -336,6 +336,19 @@ def covmat_9pt(name1, name2, deltas1, deltas2): ) + (1 / 8) * (np.outer((deltas1[2] + deltas1[3]), (deltas2[2] + deltas2[3]))) return s +def covmat_n3lo_ad(name1, name2, deltas1, deltas2): + """Returns theory covariance sub-matrix for the n3lo anomalous + dimension variation, given two dataset names and collections + of variation shifts.""" + if name1 == name2: + s = np.cov(np.array(deltas1).T) + else: + full_set = np.concatenate((np.array(deltas1),np.array(deltas2)), axis=1) + d1_size = len(deltas1[0]) + full_cov = np.cov(full_set.T) + s = full_cov[:d1_size,d1_size:] + return s + @check_correct_theory_combination def covs_pt_prescrip( @@ -387,6 +400,9 @@ def covs_pt_prescrip( s = covmat_7pt(name1, name2, deltas1, deltas2) elif l == 9: s = covmat_9pt(name1, name2, deltas1, deltas2) + # n3lo ad variation prescriprion + elif l == 81: + s = covmat_n3lo_ad(name1, name2, deltas1, deltas2) start_locs = (start_proc[name1], start_proc[name2]) covmats[start_locs] = s return covmats diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index 104d59ee4c..d1bff5b099 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9}, "Expecting exactly 3, 5, 7 or 9 theories, but got {l}.") + check(l in {3, 5, 7, 9, 81}, f"Expecting exactly 3, 5, 7 or 9 or 81 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,6 +53,28 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] + elif l == 81: + max_n3lo_var = { + "P_gg": 18, + "P_gq": 24, + "P_qg": 21, + "P_qq": 17, + } + # TODO: for the moment fish the n3lo_ad_variation from the comments + n3lo_vars_list = [] + for theoryid in theoryids: + n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][33:-1].split(",")]) + full_var_list = [[0,0,0,0]] + for entry, max_var in enumerate(max_n3lo_var.values()): + for idx in range(1, max_var + 1): + base_var = [0,0,0,0] + base_var[entry] = idx + full_var_list.append(base_var) + check( + n3lo_vars_list == full_var_list, + f"Theories do not include the full list of N3LO variation but {n3lo_vars_list}" + ) + return else: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5, 0.5, 2.0] From ff51ef39d203492fefb1c6c6c1746d0da2c5ebdd Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 8 Mar 2023 14:49:14 +0100 Subject: [PATCH 07/42] fix new n3lo ad variations --- .../scalevariations/pointprescriptions.yaml | 2 +- .../scalevariationtheoryids.yaml | 26 ++++++------------- 2 files changed, 9 insertions(+), 19 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 08734c0c5e..d2de06db5d 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,4 +9,4 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] -'n3lo ad var': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 21, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(0, 0, 0, 9)','(0, 0, 0, 10)','(0, 0, 0, 11)','(0, 0, 0, 12)','(0, 0, 0, 13)','(0, 0, 0, 14)','(0, 0, 0, 15)','(0, 0, 0, 16)','(0, 0, 0, 17)',] +'n3lo ad var': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index 0ca0b19a41..9464548757 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -125,21 +125,11 @@ scale_variations_for: (0, 0, 18, 0): 499 (0, 0, 19, 0): 500 (0, 0, 20, 0): 501 - (0, 0, 21, 0): 502 - (0, 0, 0, 1): 503 - (0, 0, 0, 2): 504 - (0, 0, 0, 3): 505 - (0, 0, 0, 4): 506 - (0, 0, 0, 5): 507 - (0, 0, 0, 6): 508 - (0, 0, 0, 7): 509 - (0, 0, 0, 8): 510 - (0, 0, 0, 9): 511 - (0, 0, 0, 10): 512 - (0, 0, 0, 11): 513 - (0, 0, 0, 12): 514 - (0, 0, 0, 13): 515 - (0, 0, 0, 14): 516 - (0, 0, 0, 15): 517 - (0, 0, 0, 16): 518 - (0, 0, 0, 17): 519 + (0, 0, 0, 1): 502 + (0, 0, 0, 2): 503 + (0, 0, 0, 3): 504 + (0, 0, 0, 4): 505 + (0, 0, 0, 5): 506 + (0, 0, 0, 6): 507 + (0, 0, 0, 7): 508 + (0, 0, 0, 8): 509 From 0b70010d4b9e50a6fe25a4fde79191f4cebdb5eb Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 8 Mar 2023 14:53:21 +0100 Subject: [PATCH 08/42] more fixes for new N3LO ad variations --- .../theorycovariance/construction.py | 33 ++++++++++++++----- .../theorycovariance/theorycovarianceutils.py | 8 ++--- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 3f0ea2cbc0..7aa67cded5 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -339,15 +339,32 @@ def covmat_9pt(name1, name2, deltas1, deltas2): def covmat_n3lo_ad(name1, name2, deltas1, deltas2): """Returns theory covariance sub-matrix for the n3lo anomalous dimension variation, given two dataset names and collections - of variation shifts.""" + of variation shifts. + + Normalization is given by: + (n_pt - 1) * n_s ** (p-1) + + where: + * n_pt = number of point presctiption + * p = number of process types (here only one) + * \prod{n_s} = degeneracy factor (in this case we have 18 * 21 * 24 * 17) + * n_is = number of independent scales (in this case 4) + """ + norm = (71 - 1) * 1 if name1 == name2: - s = np.cov(np.array(deltas1).T) + s = sum(np.outer(d, d) for d in deltas1) else: - full_set = np.concatenate((np.array(deltas1),np.array(deltas2)), axis=1) - d1_size = len(deltas1[0]) - full_cov = np.cov(full_set.T) - s = full_cov[:d1_size,d1_size:] - return s + # full_set = np.concatenate((np.array(deltas1),np.array(deltas2)), axis=1) + # d1_size = len(deltas1[0]) + # full_cov = np.cov(full_set.T) + # s = full_cov[:d1_size,d1_size:] + # This should be equivalent, modulo nrmaliztion + s = 0 + for i, d1 in enumerate(deltas1): + for j, d2 in enumerate(deltas2): + if i == j: + s += np.outer(d1, d2) + return 1 / norm * s @check_correct_theory_combination @@ -401,7 +418,7 @@ def covs_pt_prescrip( elif l == 9: s = covmat_9pt(name1, name2, deltas1, deltas2) # n3lo ad variation prescriprion - elif l == 81: + elif l == 71: s = covmat_n3lo_ad(name1, name2, deltas1, deltas2) start_locs = (start_proc[name1], start_proc[name2]) covmats[start_locs] = s diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index d1bff5b099..f9146d4bf1 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 81}, f"Expecting exactly 3, 5, 7 or 9 or 81 theories, but got {l}.") + check(l in {3, 5, 7, 9, 71}, f"Expecting exactly 3, 5, 7 or 9 or 71 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -54,11 +54,11 @@ def check_correct_theory_combination_internal( correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] elif l == 81: - max_n3lo_var = { + n3lo_vars_dict = { "P_gg": 18, "P_gq": 24, - "P_qg": 21, - "P_qq": 17, + "P_qg": 20, + "P_qq": 8, } # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] From 0c833760012a7da7103f6a3ad87bd3cbb3839530 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 9 Mar 2023 12:44:59 +0100 Subject: [PATCH 09/42] more updates on N3LO ad variations --- .../src/validphys/theorycovariance/theorycovarianceutils.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index f9146d4bf1..bae152e61e 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -53,7 +53,7 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l == 81: + elif l == 71: n3lo_vars_dict = { "P_gg": 18, "P_gq": 24, @@ -63,9 +63,9 @@ def check_correct_theory_combination_internal( # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] for theoryid in theoryids: - n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][33:-1].split(",")]) + n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][28:-1].split(",")]) full_var_list = [[0,0,0,0]] - for entry, max_var in enumerate(max_n3lo_var.values()): + for entry, max_var in enumerate(n3lo_vars_dict.values()): for idx in range(1, max_var + 1): base_var = [0,0,0,0] base_var[entry] = idx From 3a45831cb38b8784596b87aa7079909d392c1345 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 21 Mar 2023 13:08:56 +0100 Subject: [PATCH 10/42] revert wrong fix --- n3fit/src/n3fit/io/writer.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/io/writer.py b/n3fit/src/n3fit/io/writer.py index 158da94418..6b4879f5a8 100644 --- a/n3fit/src/n3fit/io/writer.py +++ b/n3fit/src/n3fit/io/writer.py @@ -457,7 +457,7 @@ def storefit( data = { "replica": replica, "q20": q20, - "xgrid": xgrid.tolist(), + "xgrid": xgrid.T.tolist()[0], "labels": ["TBAR", "BBAR", "CBAR", "SBAR", "UBAR", "DBAR", "GLUON", "D", "U", "S", "C", "B", "T", "PHT"], "pdfgrid": lha.tolist(), } From 9223d1d8108e6f86e6062e3f475b55c791d166eb Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Mon, 8 May 2023 17:30:41 +0200 Subject: [PATCH 11/42] update n3lo full covmat presctiption --- .../scalevariations/pointprescriptions.yaml | 2 +- .../scalevariations/scalevariationtheoryids.yaml | 14 ++++++++++++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index d2de06db5d..3f551d3965 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,4 +9,4 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] -'n3lo ad var': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] +'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(0.5, 1)','(2, 1)','(0.5, 0.5)','(1, 0.5)','(2, 0.5)','(0.5, 2)','(1, 2)','(2, 2)','(-1,-1)','(1,1)',] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index 9464548757..a91061d4f8 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -62,8 +62,8 @@ scale_variations_for: - theoryid: 439 variations: - (0, 0, 0, 0): 439 - (1, 0, 0, 0): 440 + (0, 0, 0, 0): 439 # central th + (1, 0, 0, 0): 440 # anomalous dimensions variations (2, 0, 0, 0): 441 (3, 0, 0, 0): 442 (4, 0, 0, 0): 443 @@ -133,3 +133,13 @@ scale_variations_for: (0, 0, 0, 6): 507 (0, 0, 0, 7): 508 (0, 0, 0, 8): 509 + (0.5, 1): 510 # scale variations + (2, 1): 511 + (0.5, 0.5): 512 + (1, 0.5): 513 + (2, 0.5): 514 + (0.5, 2): 515 + (1, 2): 516 + (2, 2): 517 + (-1,-1): 518 # k fact variations + (1,1): 519 # k fact variations From f91b05b4448ad54924f9c8f8e571a744454b76a3 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Mon, 8 May 2023 17:43:52 +0200 Subject: [PATCH 12/42] allow for ad or mhou covamat only --- .../scalevariations/pointprescriptions.yaml | 2 + .../scalevariationtheoryids.yaml | 86 +++++++++++++++++++ .../theorycovariance/construction.py | 7 ++ .../theorycovariance/theorycovarianceutils.py | 21 ++++- 4 files changed, 113 insertions(+), 3 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 3f551d3965..e41c16c60d 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,4 +9,6 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] +'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] +'n3lo mhou': ['(0, 0, 0, 0)', '(0.5, 1)','(2, 1)','(0.5, 0.5)','(1, 0.5)','(2, 0.5)','(0.5, 2)','(1, 2)','(2, 2)',] 'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(0.5, 1)','(2, 1)','(0.5, 0.5)','(1, 0.5)','(2, 0.5)','(0.5, 2)','(1, 2)','(2, 2)','(-1,-1)','(1,1)',] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index a91061d4f8..81af4310b0 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -60,6 +60,92 @@ scale_variations_for: (2, 1): 437 (2, 2): 438 + - theoryid: 439 + variations: + (0, 0, 0, 0): 439 # central th + (1, 0, 0, 0): 440 # anomalous dimensions variations + (2, 0, 0, 0): 441 + (3, 0, 0, 0): 442 + (4, 0, 0, 0): 443 + (5, 0, 0, 0): 444 + (6, 0, 0, 0): 445 + (7, 0, 0, 0): 446 + (8, 0, 0, 0): 447 + (9, 0, 0, 0): 448 + (10, 0, 0, 0): 449 + (11, 0, 0, 0): 450 + (12, 0, 0, 0): 451 + (13, 0, 0, 0): 452 + (14, 0, 0, 0): 453 + (15, 0, 0, 0): 454 + (16, 0, 0, 0): 455 + (17, 0, 0, 0): 456 + (18, 0, 0, 0): 457 + (0, 1, 0, 0): 458 + (0, 2, 0, 0): 459 + (0, 3, 0, 0): 460 + (0, 4, 0, 0): 461 + (0, 5, 0, 0): 462 + (0, 6, 0, 0): 463 + (0, 7, 0, 0): 464 + (0, 8, 0, 0): 465 + (0, 9, 0, 0): 466 + (0, 10, 0, 0): 467 + (0, 11, 0, 0): 468 + (0, 12, 0, 0): 469 + (0, 13, 0, 0): 470 + (0, 14, 0, 0): 471 + (0, 15, 0, 0): 472 + (0, 16, 0, 0): 473 + (0, 17, 0, 0): 474 + (0, 18, 0, 0): 475 + (0, 19, 0, 0): 476 + (0, 20, 0, 0): 477 + (0, 21, 0, 0): 478 + (0, 22, 0, 0): 479 + (0, 23, 0, 0): 480 + (0, 24, 0, 0): 481 + (0, 0, 1, 0): 482 + (0, 0, 2, 0): 483 + (0, 0, 3, 0): 484 + (0, 0, 4, 0): 485 + (0, 0, 5, 0): 486 + (0, 0, 6, 0): 487 + (0, 0, 7, 0): 488 + (0, 0, 8, 0): 489 + (0, 0, 9, 0): 490 + (0, 0, 10, 0): 491 + (0, 0, 11, 0): 492 + (0, 0, 12, 0): 493 + (0, 0, 13, 0): 494 + (0, 0, 14, 0): 495 + (0, 0, 15, 0): 496 + (0, 0, 16, 0): 497 + (0, 0, 17, 0): 498 + (0, 0, 18, 0): 499 + (0, 0, 19, 0): 500 + (0, 0, 20, 0): 501 + (0, 0, 0, 1): 502 + (0, 0, 0, 2): 503 + (0, 0, 0, 3): 504 + (0, 0, 0, 4): 505 + (0, 0, 0, 5): 506 + (0, 0, 0, 6): 507 + (0, 0, 0, 7): 508 + (0, 0, 0, 8): 509 + + - theoryid: 439 + variations: + (0, 0, 0, 0): 439 # central th + (0.5, 1): 510 # scale variations + (2, 1): 511 + (0.5, 0.5): 512 + (1, 0.5): 513 + (2, 0.5): 514 + (0.5, 2): 515 + (1, 2): 516 + (2, 2): 517 + - theoryid: 439 variations: (0, 0, 0, 0): 439 # central th diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 8afadca1f9..3653aa31a4 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -420,6 +420,13 @@ def covs_pt_prescrip( # n3lo ad variation prescriprion elif l == 71: s = covmat_n3lo_ad(name1, name2, deltas1, deltas2) + # n3lo full covmat prescriprion + elif l == 81: + # spit deltas and compose thcovmat + s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-10], deltas2[:-10]) + s_mhou = covmat_9pt(name1, name2, deltas1[-10:-2], deltas2[-10:-2]) + s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) + s = s_ad + s_cf + s_mhou start_locs = (start_proc[name1], start_proc[name2]) covmats[start_locs] = s return covmats diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index bae152e61e..bc9c030516 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 71}, f"Expecting exactly 3, 5, 7 or 9 or 71 theories, but got {l}.") + check(l in {3, 5, 7, 9, 71, 81}, f"Expecting exactly 3, 5, 7 or 9 or 81 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,7 +53,8 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l == 71: + elif l == 71 or l == 81: + # check Anomalous dimensions variations n3lo_vars_dict = { "P_gg": 18, "P_gq": 24, @@ -62,7 +63,8 @@ def check_correct_theory_combination_internal( } # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] - for theoryid in theoryids: + id_max = -10 if l == 81 else None + for theoryid in theoryids[:id_max]: n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][28:-1].split(",")]) full_var_list = [[0,0,0,0]] for entry, max_var in enumerate(n3lo_vars_dict.values()): @@ -74,6 +76,19 @@ def check_correct_theory_combination_internal( n3lo_vars_list == full_var_list, f"Theories do not include the full list of N3LO variation but {n3lo_vars_list}" ) + if l == 81: + # check Scale variations + varied_xifs = [xifs[0]] + varied_xirs = [xirs[0]] + varied_xifs.extend(xifs[-10:-2]) + varied_xirs.extend(xirs[-10:-2]) + correct_xifs = [1.0, 0.5, 2.0, 0.5, 1.0, 2.0, 0.5, 1.0, 2.0] + correct_xirs = [1.0, 1.0, 1.0, 0.5, 0.5, 0.5, 2.0, 2.0, 2.0] + check( + varied_xifs == correct_xifs and varied_xirs == correct_xirs, + "Choice of input theories does not correspond to a valid " + "prescription for theory covariance matrix calculation", + ) return else: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] From e86b4554d3aa75ec0d3a0bfa07149501d94bb80f Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 10 May 2023 11:19:01 +0200 Subject: [PATCH 13/42] allow for ihou covmat --- .../scalevariations/pointprescriptions.yaml | 1 + .../scalevariationtheoryids.yaml | 81 +++++++++++++++++++ .../theorycovariance/construction.py | 5 ++ .../theorycovariance/theorycovarianceutils.py | 10 ++- 4 files changed, 94 insertions(+), 3 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index e41c16c60d..cc4d80e8e5 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -10,5 +10,6 @@ '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] +'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1,-1)','(1,1)',] 'n3lo mhou': ['(0, 0, 0, 0)', '(0.5, 1)','(2, 1)','(0.5, 0.5)','(1, 0.5)','(2, 0.5)','(0.5, 2)','(1, 2)','(2, 2)',] 'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(0.5, 1)','(2, 1)','(0.5, 0.5)','(1, 0.5)','(2, 0.5)','(0.5, 2)','(1, 2)','(2, 2)','(-1,-1)','(1,1)',] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index 81af4310b0..aa26a6fc34 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -60,6 +60,7 @@ scale_variations_for: (2, 1): 437 (2, 2): 438 + # N3LO AD IHOU - theoryid: 439 variations: (0, 0, 0, 0): 439 # central th @@ -134,6 +135,7 @@ scale_variations_for: (0, 0, 0, 7): 508 (0, 0, 0, 8): 509 + # N3LO MHOU - theoryid: 439 variations: (0, 0, 0, 0): 439 # central th @@ -146,6 +148,85 @@ scale_variations_for: (1, 2): 516 (2, 2): 517 + # N3LO: IHOU + - theoryid: 439 + variations: + (0, 0, 0, 0): 439 # central th + (1, 0, 0, 0): 440 # anomalous dimensions variations + (2, 0, 0, 0): 441 + (3, 0, 0, 0): 442 + (4, 0, 0, 0): 443 + (5, 0, 0, 0): 444 + (6, 0, 0, 0): 445 + (7, 0, 0, 0): 446 + (8, 0, 0, 0): 447 + (9, 0, 0, 0): 448 + (10, 0, 0, 0): 449 + (11, 0, 0, 0): 450 + (12, 0, 0, 0): 451 + (13, 0, 0, 0): 452 + (14, 0, 0, 0): 453 + (15, 0, 0, 0): 454 + (16, 0, 0, 0): 455 + (17, 0, 0, 0): 456 + (18, 0, 0, 0): 457 + (0, 1, 0, 0): 458 + (0, 2, 0, 0): 459 + (0, 3, 0, 0): 460 + (0, 4, 0, 0): 461 + (0, 5, 0, 0): 462 + (0, 6, 0, 0): 463 + (0, 7, 0, 0): 464 + (0, 8, 0, 0): 465 + (0, 9, 0, 0): 466 + (0, 10, 0, 0): 467 + (0, 11, 0, 0): 468 + (0, 12, 0, 0): 469 + (0, 13, 0, 0): 470 + (0, 14, 0, 0): 471 + (0, 15, 0, 0): 472 + (0, 16, 0, 0): 473 + (0, 17, 0, 0): 474 + (0, 18, 0, 0): 475 + (0, 19, 0, 0): 476 + (0, 20, 0, 0): 477 + (0, 21, 0, 0): 478 + (0, 22, 0, 0): 479 + (0, 23, 0, 0): 480 + (0, 24, 0, 0): 481 + (0, 0, 1, 0): 482 + (0, 0, 2, 0): 483 + (0, 0, 3, 0): 484 + (0, 0, 4, 0): 485 + (0, 0, 5, 0): 486 + (0, 0, 6, 0): 487 + (0, 0, 7, 0): 488 + (0, 0, 8, 0): 489 + (0, 0, 9, 0): 490 + (0, 0, 10, 0): 491 + (0, 0, 11, 0): 492 + (0, 0, 12, 0): 493 + (0, 0, 13, 0): 494 + (0, 0, 14, 0): 495 + (0, 0, 15, 0): 496 + (0, 0, 16, 0): 497 + (0, 0, 17, 0): 498 + (0, 0, 18, 0): 499 + (0, 0, 19, 0): 500 + (0, 0, 20, 0): 501 + (0, 0, 0, 1): 502 + (0, 0, 0, 2): 503 + (0, 0, 0, 3): 504 + (0, 0, 0, 4): 505 + (0, 0, 0, 5): 506 + (0, 0, 0, 6): 507 + (0, 0, 0, 7): 508 + (0, 0, 0, 8): 509 + (-1,-1): 518 # k fact variations + (1,1): 519 + + + # N3LO: MHOU + IHOU - theoryid: 439 variations: (0, 0, 0, 0): 439 # central th diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 3653aa31a4..e41f9d8f5a 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -420,6 +420,11 @@ def covs_pt_prescrip( # n3lo ad variation prescriprion elif l == 71: s = covmat_n3lo_ad(name1, name2, deltas1, deltas2) + # n3lo ihou prescriprion + elif l == 73: + s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-2], deltas2[:-2]) + s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) + s = s_ad + s_cf # n3lo full covmat prescriprion elif l == 81: # spit deltas and compose thcovmat diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index bc9c030516..bf42b86003 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 71, 81}, f"Expecting exactly 3, 5, 7 or 9 or 81 theories, but got {l}.") + check(l in {3, 5, 7, 9, 71, 73, 81}, f"Expecting exactly 3, 5, 7 or 9 or 81 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,7 +53,7 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l == 71 or l == 81: + elif l in [71, 73, 81]: # check Anomalous dimensions variations n3lo_vars_dict = { "P_gg": 18, @@ -63,7 +63,11 @@ def check_correct_theory_combination_internal( } # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] - id_max = -10 if l == 81 else None + id_max = None + if l == 81: + id_max = -10 + elif l == 73: + id_max = -2 for theoryid in theoryids[:id_max]: n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][28:-1].split(",")]) full_var_list = [[0,0,0,0]] From 8cef18abb14923669c39f1b7fa4789f83538d1be Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 1 Jun 2023 10:56:50 +0200 Subject: [PATCH 14/42] make point prescriptions more uniform --- .../validphys/scalevariations/pointprescriptions.yaml | 5 ++--- .../scalevariations/scalevariationtheoryids.yaml | 10 +++++----- .../theorycovariance/theorycovarianceutils.py | 4 ++-- 3 files changed, 9 insertions(+), 10 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index cc4d80e8e5..e0d64bdf01 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -10,6 +10,5 @@ '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] -'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1,-1)','(1,1)',] -'n3lo mhou': ['(0, 0, 0, 0)', '(0.5, 1)','(2, 1)','(0.5, 0.5)','(1, 0.5)','(2, 0.5)','(0.5, 2)','(1, 2)','(2, 2)',] -'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(0.5, 1)','(2, 1)','(0.5, 0.5)','(1, 0.5)','(2, 0.5)','(0.5, 2)','(1, 2)','(2, 2)','(-1,-1)','(1,1)',] +'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1, -1)','(1, 1)',] +'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)','(-1, -1)','(1, 1)'] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index aa26a6fc34..9804de4a65 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -138,7 +138,7 @@ scale_variations_for: # N3LO MHOU - theoryid: 439 variations: - (0, 0, 0, 0): 439 # central th + (1, 1): 439 # central th (0.5, 1): 510 # scale variations (2, 1): 511 (0.5, 0.5): 512 @@ -222,8 +222,8 @@ scale_variations_for: (0, 0, 0, 6): 507 (0, 0, 0, 7): 508 (0, 0, 0, 8): 509 - (-1,-1): 518 # k fact variations - (1,1): 519 + (-1, -1): 518 # k fact variations + (1, 1): 519 # N3LO: MHOU + IHOU @@ -308,5 +308,5 @@ scale_variations_for: (0.5, 2): 515 (1, 2): 516 (2, 2): 517 - (-1,-1): 518 # k fact variations - (1,1): 519 # k fact variations + (-1, -1): 518 # k fact variations + (1, 1): 519 # k fact variations diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index a788e5d9d9..7ee59fef7b 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -86,8 +86,8 @@ def check_correct_theory_combination_internal( varied_xirs = [xirs[0]] varied_xifs.extend(xifs[-10:-2]) varied_xirs.extend(xirs[-10:-2]) - correct_xifs = [1.0, 0.5, 2.0, 0.5, 1.0, 2.0, 0.5, 1.0, 2.0] - correct_xirs = [1.0, 1.0, 1.0, 0.5, 0.5, 0.5, 2.0, 2.0, 2.0] + correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] + correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5, 0.5, 2.0] check( varied_xifs == correct_xifs and varied_xirs == correct_xirs, "Choice of input theories does not correspond to a valid " From 2ed49100a7bdeb7ee9eecb3c5e0ee3c4a49745e7 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Fri, 2 Jun 2023 15:37:37 +0200 Subject: [PATCH 15/42] minor fixes --- validphys2/src/validphys/config.py | 11 ++++++++--- .../theorycovariance/theorycovarianceutils.py | 2 +- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/validphys2/src/validphys/config.py b/validphys2/src/validphys/config.py index 155ac1bb4d..076bc2f1d0 100644 --- a/validphys2/src/validphys/config.py +++ b/validphys2/src/validphys/config.py @@ -1384,13 +1384,17 @@ def produce_defaults( filter_defaults={}, default_filter_settings_recorded_spec_=None, ): - """Produce default values for filters taking into account both the + """Produce default values for filters taking into account the values of ``q2min``,``w2min``, ``maxTau`` and ``xmin`` defined at namespace level and those inside a ``filter_defaults`` mapping. """ from validphys.filters import default_filter_settings_input - if q2min is not None and "q2min" in filter_defaults and q2min != filter_defaults["q2min"]: + if ( + q2min is not None + and "q2min" in filter_defaults + and q2min != filter_defaults["q2min"] + ): raise ConfigError("q2min defined multiple times with different values") if w2min is not None and "w2min" in filter_defaults and w2min != filter_defaults["w2min"]: raise ConfigError("w2min defined multiple times with different values") @@ -1399,13 +1403,14 @@ def produce_defaults( and "xmin" in filter_defaults and xmin != filter_defaults["xmin"] ): - raise ConfigError("w2min defined multiple times with different values") + raise ConfigError("xmin defined multiple times with different values") if ( maxTau is not None and "maxTau" in filter_defaults and maxTau != filter_defaults["maxTau"] ): raise ConfigError("maxTau defined multiple times with different values") + if default_filter_settings_recorded_spec_ is not None: filter_defaults = default_filter_settings_recorded_spec_[default_filter_settings] # If we find recorded specs return immediately and don't read q2min and w2min diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index 7ee59fef7b..d40e5f4445 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 71, 73, 81}, f"Expecting exactly 3, 5, 7 or 9 or 81 theories, but got {l}.") + check(l in {3, 5, 7, 9, 71, 73, 81}, f"Expecting exactly 3, 5, 7, 9, 71, 73 or 81 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] From c3939b068217a4409c8be624702bb2cbbea87bd7 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Sun, 4 Jun 2023 20:26:23 +0200 Subject: [PATCH 16/42] extend DY cut to N3LO --- validphys2/src/validphys/cuts/filters.yaml | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/validphys2/src/validphys/cuts/filters.yaml b/validphys2/src/validphys/cuts/filters.yaml index c03287b14d..067684d0af 100644 --- a/validphys2/src/validphys/cuts/filters.yaml +++ b/validphys2/src/validphys/cuts/filters.yaml @@ -73,7 +73,7 @@ don't understand, and theory calculations are unstable here, so we remove these points at NNLO. # Only evaluate rule if PTO matches - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.25" - dataset: LHCBWZMU7TEV @@ -81,7 +81,7 @@ The first two bins in rapidity have unnaturally large K-factors which we don't understand, and theory calculations are unstable here, so we remove these points at NNLO. - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.25" - dataset: LHCB_Z_13TEV_DIELECTRON @@ -89,7 +89,7 @@ The first two bins in rapidity have unnaturally large K-factors which we don't understand, and theory calculations are unstable here, so we remove these points at NNLO. - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.20" - dataset: LHCB_Z_13TEV_DIMUON @@ -97,7 +97,7 @@ The first two bins in rapidity have unnaturally large K-factors which we don't understand, and theory calculations are unstable here, so we remove these points at NNLO. - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.20" - dataset: D0WMASY @@ -105,7 +105,7 @@ Calculation of the NNLO K-factor at the precision required for data points for which the asymmetry is small is unfeasible. So we can only fit points at NNLO for which the value of the asymmetry is not too small. - PTO: NNLO + PTO: NNLO+ rule: "fabs(central_value) >= 0.03" - dataset: D0WEASY @@ -113,7 +113,7 @@ Calculation of the NNLO K-factor at the precision required for data points for which the asymmetry is small is unfeasible. So we can only fit points at NNLO for which the value of the asymmetry is not too small. - PTO: NNLO + PTO: NNLO+ rule: "fabs(central_value) >= 0.03" - dataset: ATLAS_WP_JET_8TEV_PT @@ -190,7 +190,7 @@ - dataset: CMSDY2D11 reason: Remove data points for which electroweak corrections are large. - PTO: NNLO + PTO: NNLO+ local_variables: M: sqrt(M2) max_rapidity: 2.2 @@ -218,7 +218,7 @@ - dataset: CMSDY2D12 reason: Remove data points for which electroweak corrections are large. - PTO: NNLO + PTO: NNLO+ local_variables: M: sqrt(M2) max_rapidity: 2.2 From 3e7dc8aa087e849031e3fcaf600285a70ed6f273 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Mon, 10 Jul 2023 09:28:50 +0200 Subject: [PATCH 17/42] update cuts --- validphys2/src/validphys/cuts/filters.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/validphys2/src/validphys/cuts/filters.yaml b/validphys2/src/validphys/cuts/filters.yaml index 6fabb93a7d..3b4335fd1f 100644 --- a/validphys2/src/validphys/cuts/filters.yaml +++ b/validphys2/src/validphys/cuts/filters.yaml @@ -82,7 +82,7 @@ don't understand, and theory calculations are unstable here, so we remove these points at NNLO. # Only evaluate rule if PTO matches - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.25" - dataset: LHCBZMU8TEV @@ -91,7 +91,7 @@ don't understand, and theory calculations are unstable here, so we remove these points at NNLO. # Only evaluate rule if PTO matches - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.25" - dataset: LHCBWZMU7TEV @@ -107,7 +107,7 @@ The first two bins in rapidity have unnaturally large K-factors which we don't understand, and theory calculations are unstable here, so we remove these points at NNLO. - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.25" - dataset: LHCBZMU7TEV @@ -115,7 +115,7 @@ The first two bins in rapidity have unnaturally large K-factors which we don't understand, and theory calculations are unstable here, so we remove these points at NNLO. - PTO: NNLO + PTO: NNLO+ rule: "etay >= 2.25" - dataset: LHCB_Z_13TEV_DIELECTRON From fde6be0bff6fb4b784874b6fe12929ea6de1aaf9 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Mon, 10 Jul 2023 09:30:21 +0200 Subject: [PATCH 18/42] update n3lo point prescription from Pgg --- .../scalevariations/pointprescriptions.yaml | 6 +- .../scalevariationtheoryids.yaml | 250 +++++++++--------- .../theorycovariance/construction.py | 6 +- .../theorycovariance/theorycovarianceutils.py | 12 +- 4 files changed, 136 insertions(+), 138 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index e0d64bdf01..e253c5701f 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,6 +9,6 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] -'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] -'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1, -1)','(1, 1)',] -'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)','(-1, -1)','(1, 1)'] +'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] +'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1, -1)','(1, 1)',] +'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)','(-1, -1)','(1, 1)'] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index 9804de4a65..d75fbf039f 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -139,14 +139,14 @@ scale_variations_for: - theoryid: 439 variations: (1, 1): 439 # central th - (0.5, 1): 510 # scale variations - (2, 1): 511 - (0.5, 0.5): 512 - (1, 0.5): 513 - (2, 0.5): 514 - (0.5, 2): 515 - (1, 2): 516 - (2, 2): 517 + (0.5, 1): 509 # scale variations + (2, 1): 510 + (0.5, 0.5): 511 + (1, 0.5): 512 + (2, 0.5): 513 + (0.5, 2): 514 + (1, 2): 515 + (2, 2): 516 # N3LO: IHOU - theoryid: 439 @@ -169,61 +169,60 @@ scale_variations_for: (15, 0, 0, 0): 454 (16, 0, 0, 0): 455 (17, 0, 0, 0): 456 - (18, 0, 0, 0): 457 - (0, 1, 0, 0): 458 - (0, 2, 0, 0): 459 - (0, 3, 0, 0): 460 - (0, 4, 0, 0): 461 - (0, 5, 0, 0): 462 - (0, 6, 0, 0): 463 - (0, 7, 0, 0): 464 - (0, 8, 0, 0): 465 - (0, 9, 0, 0): 466 - (0, 10, 0, 0): 467 - (0, 11, 0, 0): 468 - (0, 12, 0, 0): 469 - (0, 13, 0, 0): 470 - (0, 14, 0, 0): 471 - (0, 15, 0, 0): 472 - (0, 16, 0, 0): 473 - (0, 17, 0, 0): 474 - (0, 18, 0, 0): 475 - (0, 19, 0, 0): 476 - (0, 20, 0, 0): 477 - (0, 21, 0, 0): 478 - (0, 22, 0, 0): 479 - (0, 23, 0, 0): 480 - (0, 24, 0, 0): 481 - (0, 0, 1, 0): 482 - (0, 0, 2, 0): 483 - (0, 0, 3, 0): 484 - (0, 0, 4, 0): 485 - (0, 0, 5, 0): 486 - (0, 0, 6, 0): 487 - (0, 0, 7, 0): 488 - (0, 0, 8, 0): 489 - (0, 0, 9, 0): 490 - (0, 0, 10, 0): 491 - (0, 0, 11, 0): 492 - (0, 0, 12, 0): 493 - (0, 0, 13, 0): 494 - (0, 0, 14, 0): 495 - (0, 0, 15, 0): 496 - (0, 0, 16, 0): 497 - (0, 0, 17, 0): 498 - (0, 0, 18, 0): 499 - (0, 0, 19, 0): 500 - (0, 0, 20, 0): 501 - (0, 0, 0, 1): 502 - (0, 0, 0, 2): 503 - (0, 0, 0, 3): 504 - (0, 0, 0, 4): 505 - (0, 0, 0, 5): 506 - (0, 0, 0, 6): 507 - (0, 0, 0, 7): 508 - (0, 0, 0, 8): 509 - (-1, -1): 518 # k fact variations - (1, 1): 519 + (0, 1, 0, 0): 457 + (0, 2, 0, 0): 458 + (0, 3, 0, 0): 459 + (0, 4, 0, 0): 460 + (0, 5, 0, 0): 461 + (0, 6, 0, 0): 462 + (0, 7, 0, 0): 463 + (0, 8, 0, 0): 464 + (0, 9, 0, 0): 465 + (0, 10, 0, 0): 466 + (0, 11, 0, 0): 467 + (0, 12, 0, 0): 468 + (0, 13, 0, 0): 469 + (0, 14, 0, 0): 470 + (0, 15, 0, 0): 471 + (0, 16, 0, 0): 472 + (0, 17, 0, 0): 473 + (0, 18, 0, 0): 474 + (0, 19, 0, 0): 475 + (0, 20, 0, 0): 476 + (0, 21, 0, 0): 477 + (0, 22, 0, 0): 478 + (0, 23, 0, 0): 479 + (0, 24, 0, 0): 480 + (0, 0, 1, 0): 481 + (0, 0, 2, 0): 482 + (0, 0, 3, 0): 483 + (0, 0, 4, 0): 484 + (0, 0, 5, 0): 485 + (0, 0, 6, 0): 486 + (0, 0, 7, 0): 487 + (0, 0, 8, 0): 488 + (0, 0, 9, 0): 489 + (0, 0, 10, 0): 490 + (0, 0, 11, 0): 491 + (0, 0, 12, 0): 492 + (0, 0, 13, 0): 493 + (0, 0, 14, 0): 494 + (0, 0, 15, 0): 495 + (0, 0, 16, 0): 496 + (0, 0, 17, 0): 497 + (0, 0, 18, 0): 498 + (0, 0, 19, 0): 499 + (0, 0, 20, 0): 500 + (0, 0, 0, 1): 501 + (0, 0, 0, 2): 502 + (0, 0, 0, 3): 503 + (0, 0, 0, 4): 504 + (0, 0, 0, 5): 505 + (0, 0, 0, 6): 506 + (0, 0, 0, 7): 507 + (0, 0, 0, 8): 508 + (-1, -1): 517 # k fact variations + (1, 1): 518 # N3LO: MHOU + IHOU @@ -247,66 +246,65 @@ scale_variations_for: (15, 0, 0, 0): 454 (16, 0, 0, 0): 455 (17, 0, 0, 0): 456 - (18, 0, 0, 0): 457 - (0, 1, 0, 0): 458 - (0, 2, 0, 0): 459 - (0, 3, 0, 0): 460 - (0, 4, 0, 0): 461 - (0, 5, 0, 0): 462 - (0, 6, 0, 0): 463 - (0, 7, 0, 0): 464 - (0, 8, 0, 0): 465 - (0, 9, 0, 0): 466 - (0, 10, 0, 0): 467 - (0, 11, 0, 0): 468 - (0, 12, 0, 0): 469 - (0, 13, 0, 0): 470 - (0, 14, 0, 0): 471 - (0, 15, 0, 0): 472 - (0, 16, 0, 0): 473 - (0, 17, 0, 0): 474 - (0, 18, 0, 0): 475 - (0, 19, 0, 0): 476 - (0, 20, 0, 0): 477 - (0, 21, 0, 0): 478 - (0, 22, 0, 0): 479 - (0, 23, 0, 0): 480 - (0, 24, 0, 0): 481 - (0, 0, 1, 0): 482 - (0, 0, 2, 0): 483 - (0, 0, 3, 0): 484 - (0, 0, 4, 0): 485 - (0, 0, 5, 0): 486 - (0, 0, 6, 0): 487 - (0, 0, 7, 0): 488 - (0, 0, 8, 0): 489 - (0, 0, 9, 0): 490 - (0, 0, 10, 0): 491 - (0, 0, 11, 0): 492 - (0, 0, 12, 0): 493 - (0, 0, 13, 0): 494 - (0, 0, 14, 0): 495 - (0, 0, 15, 0): 496 - (0, 0, 16, 0): 497 - (0, 0, 17, 0): 498 - (0, 0, 18, 0): 499 - (0, 0, 19, 0): 500 - (0, 0, 20, 0): 501 - (0, 0, 0, 1): 502 - (0, 0, 0, 2): 503 - (0, 0, 0, 3): 504 - (0, 0, 0, 4): 505 - (0, 0, 0, 5): 506 - (0, 0, 0, 6): 507 - (0, 0, 0, 7): 508 - (0, 0, 0, 8): 509 - (0.5, 1): 510 # scale variations - (2, 1): 511 - (0.5, 0.5): 512 - (1, 0.5): 513 - (2, 0.5): 514 - (0.5, 2): 515 - (1, 2): 516 - (2, 2): 517 - (-1, -1): 518 # k fact variations - (1, 1): 519 # k fact variations + (0, 1, 0, 0): 457 + (0, 2, 0, 0): 458 + (0, 3, 0, 0): 459 + (0, 4, 0, 0): 460 + (0, 5, 0, 0): 461 + (0, 6, 0, 0): 462 + (0, 7, 0, 0): 463 + (0, 8, 0, 0): 464 + (0, 9, 0, 0): 465 + (0, 10, 0, 0): 466 + (0, 11, 0, 0): 467 + (0, 12, 0, 0): 468 + (0, 13, 0, 0): 469 + (0, 14, 0, 0): 470 + (0, 15, 0, 0): 471 + (0, 16, 0, 0): 472 + (0, 17, 0, 0): 473 + (0, 18, 0, 0): 474 + (0, 19, 0, 0): 475 + (0, 20, 0, 0): 476 + (0, 21, 0, 0): 477 + (0, 22, 0, 0): 478 + (0, 23, 0, 0): 479 + (0, 24, 0, 0): 480 + (0, 0, 1, 0): 481 + (0, 0, 2, 0): 482 + (0, 0, 3, 0): 483 + (0, 0, 4, 0): 484 + (0, 0, 5, 0): 485 + (0, 0, 6, 0): 486 + (0, 0, 7, 0): 487 + (0, 0, 8, 0): 488 + (0, 0, 9, 0): 489 + (0, 0, 10, 0): 490 + (0, 0, 11, 0): 491 + (0, 0, 12, 0): 492 + (0, 0, 13, 0): 493 + (0, 0, 14, 0): 494 + (0, 0, 15, 0): 495 + (0, 0, 16, 0): 496 + (0, 0, 17, 0): 497 + (0, 0, 18, 0): 498 + (0, 0, 19, 0): 499 + (0, 0, 20, 0): 500 + (0, 0, 0, 1): 501 + (0, 0, 0, 2): 502 + (0, 0, 0, 3): 503 + (0, 0, 0, 4): 504 + (0, 0, 0, 5): 505 + (0, 0, 0, 6): 506 + (0, 0, 0, 7): 507 + (0, 0, 0, 8): 508 + (0.5, 1): 509 # scale variations + (2, 1): 510 + (0.5, 0.5): 511 + (1, 0.5): 512 + (2, 0.5): 513 + (0.5, 2): 514 + (1, 2): 515 + (2, 2): 516 + (-1, -1): 517 # k fact variations + (1, 1): 518 diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index ac18635102..8d7b783c7c 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -415,15 +415,15 @@ def covs_pt_prescrip( elif l == 9: s = covmat_9pt(name1, name2, deltas1, deltas2) # n3lo ad variation prescriprion - elif l == 71: + elif l == 70: s = covmat_n3lo_ad(name1, name2, deltas1, deltas2) # n3lo ihou prescriprion - elif l == 73: + elif l == 72: s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-2], deltas2[:-2]) s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf # n3lo full covmat prescriprion - elif l == 81: + elif l == 80: # spit deltas and compose thcovmat s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-10], deltas2[:-10]) s_mhou = covmat_9pt(name1, name2, deltas1[-10:-2], deltas2[-10:-2]) diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index d40e5f4445..3c95eb534a 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 71, 73, 81}, f"Expecting exactly 3, 5, 7, 9, 71, 73 or 81 theories, but got {l}.") + check(l in {3, 5, 7, 9, 70, 72, 80}, f"Expecting exactly 3, 5, 7, 9, 70, 72 or 80 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,10 +53,10 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l in [71, 73, 81]: + elif l in [70, 72, 80]: # check Anomalous dimensions variations n3lo_vars_dict = { - "P_gg": 18, + "P_gg": 17, "P_gq": 24, "P_qg": 20, "P_qq": 8, @@ -64,9 +64,9 @@ def check_correct_theory_combination_internal( # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] id_max = None - if l == 81: + if l == 80: id_max = -10 - elif l == 73: + elif l == 72: id_max = -2 for theoryid in theoryids[:id_max]: n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][28:-1].split(",")]) @@ -80,7 +80,7 @@ def check_correct_theory_combination_internal( n3lo_vars_list == full_var_list, f"Theories do not include the full list of N3LO variation but {n3lo_vars_list}" ) - if l == 81: + if l == 80: # check Scale variations varied_xifs = [xifs[0]] varied_xirs = [xirs[0]] From 3c008fa03dae4c49794936da5044f69e2827e709 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 13 Jul 2023 10:29:36 +0200 Subject: [PATCH 19/42] move to 7pt prescription --- .../scalevariations/pointprescriptions.yaml | 2 +- .../validphys/theorycovariance/construction.py | 9 +++++---- .../theorycovariance/theorycovarianceutils.py | 18 +++++++++--------- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index e253c5701f..33997ef9c7 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -11,4 +11,4 @@ '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] 'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1, -1)','(1, 1)',] -'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)','(-1, -1)','(1, 1)'] +'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 8d7b783c7c..8d17aec188 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -347,7 +347,8 @@ def covmat_n3lo_ad(name1, name2, deltas1, deltas2): * \prod{n_s} = degeneracy factor (in this case we have 18 * 21 * 24 * 17) * n_is = number of independent scales (in this case 4) """ - norm = (71 - 1) * 1 + n_var = len(deltas1) + norm = (n_var - 1) * 1 if name1 == name2: s = sum(np.outer(d, d) for d in deltas1) else: @@ -423,10 +424,10 @@ def covs_pt_prescrip( s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf # n3lo full covmat prescriprion - elif l == 80: + elif l == 78: # spit deltas and compose thcovmat - s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-10], deltas2[:-10]) - s_mhou = covmat_9pt(name1, name2, deltas1[-10:-2], deltas2[-10:-2]) + s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-8], deltas2[:-8]) + s_mhou = covmat_7pt(name1, name2, deltas1[-8:-2], deltas2[-8:-2]) s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf + s_mhou start_locs = (start_proc[name1], start_proc[name2]) diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index 3c95eb534a..584fbd6d30 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 70, 72, 80}, f"Expecting exactly 3, 5, 7, 9, 70, 72 or 80 theories, but got {l}.") + check(l in {3, 5, 7, 9, 70, 72, 78}, f"Expecting exactly 3, 5, 7, 9, 70, 72 or 78 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,7 +53,7 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l in [70, 72, 80]: + elif l in [70, 72, 78]: # check Anomalous dimensions variations n3lo_vars_dict = { "P_gg": 17, @@ -64,8 +64,8 @@ def check_correct_theory_combination_internal( # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] id_max = None - if l == 80: - id_max = -10 + if l == 78: + id_max = -8 elif l == 72: id_max = -2 for theoryid in theoryids[:id_max]: @@ -80,14 +80,14 @@ def check_correct_theory_combination_internal( n3lo_vars_list == full_var_list, f"Theories do not include the full list of N3LO variation but {n3lo_vars_list}" ) - if l == 80: + if l == 78: # check Scale variations varied_xifs = [xifs[0]] varied_xirs = [xirs[0]] - varied_xifs.extend(xifs[-10:-2]) - varied_xirs.extend(xirs[-10:-2]) - correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5, 0.5, 2.0] + varied_xifs.extend(xifs[-8:-2]) + varied_xirs.extend(xirs[-8:-2]) + correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] + correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] check( varied_xifs == correct_xifs and varied_xirs == correct_xirs, "Choice of input theories does not correspond to a valid " From 4b0090c485cbf18ee71f86d3b192a435531928e4 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 18 Jul 2023 12:07:18 +0200 Subject: [PATCH 20/42] update th point prescription --- .../scalevariations/pointprescriptions.yaml | 6 +- .../scalevariationtheoryids.yaml | 176 ++++++++---------- .../theorycovariance/construction.py | 46 +++-- .../theorycovariance/theorycovarianceutils.py | 20 +- 4 files changed, 121 insertions(+), 127 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 33997ef9c7..8a8a35f9c1 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,6 +9,6 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] -'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)',] -'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)','(-1, -1)','(1, 1)',] -'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 16, 0)','(0, 0, 17, 0)','(0, 0, 18, 0)','(0, 0, 19, 0)','(0, 0, 20, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(0, 0, 0, 7)','(0, 0, 0, 8)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] +'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)'] +'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(-1, -1)','(1, 1)'] +'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index 101cbe988f..dfe54bfe65 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -133,72 +133,64 @@ scale_variations_for: (15, 0, 0, 0): 454 (16, 0, 0, 0): 455 (17, 0, 0, 0): 456 - (18, 0, 0, 0): 457 - (0, 1, 0, 0): 458 - (0, 2, 0, 0): 459 - (0, 3, 0, 0): 460 - (0, 4, 0, 0): 461 - (0, 5, 0, 0): 462 - (0, 6, 0, 0): 463 - (0, 7, 0, 0): 464 - (0, 8, 0, 0): 465 - (0, 9, 0, 0): 466 - (0, 10, 0, 0): 467 - (0, 11, 0, 0): 468 - (0, 12, 0, 0): 469 - (0, 13, 0, 0): 470 - (0, 14, 0, 0): 471 - (0, 15, 0, 0): 472 - (0, 16, 0, 0): 473 - (0, 17, 0, 0): 474 - (0, 18, 0, 0): 475 - (0, 19, 0, 0): 476 - (0, 20, 0, 0): 477 - (0, 21, 0, 0): 478 - (0, 22, 0, 0): 479 - (0, 23, 0, 0): 480 - (0, 24, 0, 0): 481 - (0, 0, 1, 0): 482 - (0, 0, 2, 0): 483 - (0, 0, 3, 0): 484 - (0, 0, 4, 0): 485 - (0, 0, 5, 0): 486 - (0, 0, 6, 0): 487 - (0, 0, 7, 0): 488 - (0, 0, 8, 0): 489 - (0, 0, 9, 0): 490 - (0, 0, 10, 0): 491 - (0, 0, 11, 0): 492 - (0, 0, 12, 0): 493 - (0, 0, 13, 0): 494 - (0, 0, 14, 0): 495 - (0, 0, 15, 0): 496 - (0, 0, 16, 0): 497 - (0, 0, 17, 0): 498 - (0, 0, 18, 0): 499 - (0, 0, 19, 0): 500 - (0, 0, 20, 0): 501 - (0, 0, 0, 1): 502 - (0, 0, 0, 2): 503 - (0, 0, 0, 3): 504 - (0, 0, 0, 4): 505 - (0, 0, 0, 5): 506 - (0, 0, 0, 6): 507 - (0, 0, 0, 7): 508 - (0, 0, 0, 8): 509 + (0, 1, 0, 0): 457 + (0, 2, 0, 0): 458 + (0, 3, 0, 0): 459 + (0, 4, 0, 0): 460 + (0, 5, 0, 0): 461 + (0, 6, 0, 0): 462 + (0, 7, 0, 0): 463 + (0, 8, 0, 0): 464 + (0, 9, 0, 0): 465 + (0, 10, 0, 0): 466 + (0, 11, 0, 0): 467 + (0, 12, 0, 0): 468 + (0, 13, 0, 0): 469 + (0, 14, 0, 0): 470 + (0, 15, 0, 0): 471 + (0, 16, 0, 0): 472 + (0, 17, 0, 0): 473 + (0, 18, 0, 0): 474 + (0, 19, 0, 0): 475 + (0, 20, 0, 0): 476 + (0, 21, 0, 0): 477 + (0, 22, 0, 0): 478 + (0, 23, 0, 0): 479 + (0, 24, 0, 0): 480 + (0, 0, 1, 0): 481 + (0, 0, 2, 0): 482 + (0, 0, 3, 0): 483 + (0, 0, 4, 0): 484 + (0, 0, 5, 0): 485 + (0, 0, 6, 0): 486 + (0, 0, 7, 0): 487 + (0, 0, 8, 0): 488 + (0, 0, 9, 0): 489 + (0, 0, 10, 0): 490 + (0, 0, 11, 0): 491 + (0, 0, 12, 0): 492 + (0, 0, 13, 0): 493 + (0, 0, 14, 0): 494 + (0, 0, 15, 0): 495 + (0, 0, 0, 1): 496 + (0, 0, 0, 2): 497 + (0, 0, 0, 3): 498 + (0, 0, 0, 4): 499 + (0, 0, 0, 5): 500 + (0, 0, 0, 6): 501 # N3LO MHOU - theoryid: 439 variations: (1, 1): 439 # central th - (0.5, 1): 509 # scale variations - (2, 1): 510 - (0.5, 0.5): 511 - (1, 0.5): 512 - (2, 0.5): 513 - (0.5, 2): 514 - (1, 2): 515 - (2, 2): 516 + (0.5, 1): 502 # scale variations + (2, 1): 503 + (0.5, 0.5): 504 + (1, 0.5): 505 + (2, 0.5): 506 + (0.5, 2): 507 + (1, 2): 508 + (2, 2): 509 # N3LO: IHOU - theoryid: 439 @@ -260,21 +252,14 @@ scale_variations_for: (0, 0, 13, 0): 493 (0, 0, 14, 0): 494 (0, 0, 15, 0): 495 - (0, 0, 16, 0): 496 - (0, 0, 17, 0): 497 - (0, 0, 18, 0): 498 - (0, 0, 19, 0): 499 - (0, 0, 20, 0): 500 - (0, 0, 0, 1): 501 - (0, 0, 0, 2): 502 - (0, 0, 0, 3): 503 - (0, 0, 0, 4): 504 - (0, 0, 0, 5): 505 - (0, 0, 0, 6): 506 - (0, 0, 0, 7): 507 - (0, 0, 0, 8): 508 - (-1, -1): 517 # k fact variations - (1, 1): 518 + (0, 0, 0, 1): 496 + (0, 0, 0, 2): 497 + (0, 0, 0, 3): 498 + (0, 0, 0, 4): 499 + (0, 0, 0, 5): 500 + (0, 0, 0, 6): 501 + (-1, -1): 510 # k fact variations + (1, 1): 511 # N3LO: MHOU + IHOU @@ -337,26 +322,19 @@ scale_variations_for: (0, 0, 13, 0): 493 (0, 0, 14, 0): 494 (0, 0, 15, 0): 495 - (0, 0, 16, 0): 496 - (0, 0, 17, 0): 497 - (0, 0, 18, 0): 498 - (0, 0, 19, 0): 499 - (0, 0, 20, 0): 500 - (0, 0, 0, 1): 501 - (0, 0, 0, 2): 502 - (0, 0, 0, 3): 503 - (0, 0, 0, 4): 504 - (0, 0, 0, 5): 505 - (0, 0, 0, 6): 506 - (0, 0, 0, 7): 507 - (0, 0, 0, 8): 508 - (0.5, 1): 509 # scale variations - (2, 1): 510 - (0.5, 0.5): 511 - (1, 0.5): 512 - (2, 0.5): 513 - (0.5, 2): 514 - (1, 2): 515 - (2, 2): 516 - (-1, -1): 517 # k fact variations - (1, 1): 518 + (0, 0, 0, 1): 496 + (0, 0, 0, 2): 497 + (0, 0, 0, 3): 498 + (0, 0, 0, 4): 499 + (0, 0, 0, 5): 500 + (0, 0, 0, 6): 501 + (0.5, 1): 502 # scale variations + (2, 1): 503 + (0.5, 0.5): 504 + (1, 0.5): 505 + (2, 0.5): 506 + (0.5, 2): 507 + (1, 2): 508 + (2, 2): 509 + (-1, -1): 510 # k fact variations + (1, 1): 511 diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 8d17aec188..9bd24a8ca0 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -333,22 +333,35 @@ def covmat_9pt(name1, name2, deltas1, deltas2): ) + (1 / 8) * (np.outer((deltas1[2] + deltas1[3]), (deltas2[2] + deltas2[3]))) return s +def covmat_n3lo_singlet(name1, name2, deltas1, deltas2): + """Returns theory covariance sub-matrix for all the + singlet splitting function variations. + """ + n3lo_vars_dict = { + "gg": 17, + "gq": 24, + "qg": 15, + "qq": 6, + } + s_singlet_ad = 0 + cnt = 0 + for n_var in n3lo_vars_dict.values(): + s_singlet_ad += covmat_n3lo_ad(name1, name2, deltas1[cnt:cnt+n_var], deltas2[cnt:cnt+n_var]) + cnt += n_var + return s_singlet_ad + + def covmat_n3lo_ad(name1, name2, deltas1, deltas2): - """Returns theory covariance sub-matrix for the n3lo anomalous - dimension variation, given two dataset names and collections - of variation shifts. + """Returns theory covariance sub-matrix for each of the + singlet splitting function variations. Normalization is given by: - (n_pt - 1) * n_s ** (p-1) + (n_pt - 1) where: * n_pt = number of point presctiption - * p = number of process types (here only one) - * \prod{n_s} = degeneracy factor (in this case we have 18 * 21 * 24 * 17) - * n_is = number of independent scales (in this case 4) """ - n_var = len(deltas1) - norm = (n_var - 1) * 1 + norm = len(deltas1) if name1 == name2: s = sum(np.outer(d, d) for d in deltas1) else: @@ -416,18 +429,21 @@ def covs_pt_prescrip( elif l == 9: s = covmat_9pt(name1, name2, deltas1, deltas2) # n3lo ad variation prescriprion - elif l == 70: - s = covmat_n3lo_ad(name1, name2, deltas1, deltas2) + elif l == 63: + s = covmat_n3lo_singlet(name1, name2, deltas1, deltas2) # n3lo ihou prescriprion - elif l == 72: - s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-2], deltas2[:-2]) + elif l == 65: + s_ad = covmat_n3lo_singlet(name1, name2, deltas1[:-2], deltas2[:-2]) s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf # n3lo full covmat prescriprion - elif l == 78: + elif l == 71: # spit deltas and compose thcovmat - s_ad = covmat_n3lo_ad(name1, name2, deltas1[:-8], deltas2[:-8]) + # splittin functions variatons + s_ad = covmat_n3lo_singlet(name1, name2, deltas1[:-8], deltas2[:-8]) + # scale variations s_mhou = covmat_7pt(name1, name2, deltas1[-8:-2], deltas2[-8:-2]) + # massive coefficient function variations s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf + s_mhou start_locs = (start_proc[name1], start_proc[name2]) diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index 584fbd6d30..19847903ea 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 70, 72, 78}, f"Expecting exactly 3, 5, 7, 9, 70, 72 or 78 theories, but got {l}.") + check(l in {3, 5, 7, 9, 63, 65, 71}, f"Expecting exactly 3, 5, 7, 9, 63, 65 or 71 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,20 +53,20 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l in [70, 72, 78]: + elif l in [63, 65, 71]: # check Anomalous dimensions variations n3lo_vars_dict = { - "P_gg": 17, - "P_gq": 24, - "P_qg": 20, - "P_qq": 8, + "gg": 17, + "gq": 24, + "qg": 15, + "qq": 6, } # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] id_max = None - if l == 78: + if l == 71: id_max = -8 - elif l == 72: + elif l == 65: id_max = -2 for theoryid in theoryids[:id_max]: n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][28:-1].split(",")]) @@ -77,10 +77,10 @@ def check_correct_theory_combination_internal( base_var[entry] = idx full_var_list.append(base_var) check( - n3lo_vars_list == full_var_list, + n3lo_vars_list == full_var_list, f"Theories do not include the full list of N3LO variation but {n3lo_vars_list}" ) - if l == 78: + if l == 71: # check Scale variations varied_xifs = [xifs[0]] varied_xirs = [xirs[0]] From 53330a638a8d16635714f28d39fe73cf236135ec Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 12 Oct 2023 10:15:11 +0200 Subject: [PATCH 21/42] update theories ids --- .../scalevariations/pointprescriptions.yaml | 6 +- .../scalevariationtheoryids.yaml | 307 +++++++++--------- .../theorycovariance/construction.py | 4 +- .../theorycovariance/theorycovarianceutils.py | 4 +- 4 files changed, 159 insertions(+), 162 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 8a8a35f9c1..25c9d064c8 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,6 +9,6 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] -'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)'] -'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(-1, -1)','(1, 1)'] -'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 22, 0, 0)','(0, 23, 0, 0)','(0, 24, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] +'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)'] +'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(-1, -1)','(1, 1)'] +'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index dfe54bfe65..f6bd262e7f 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -133,64 +133,63 @@ scale_variations_for: (15, 0, 0, 0): 454 (16, 0, 0, 0): 455 (17, 0, 0, 0): 456 - (0, 1, 0, 0): 457 - (0, 2, 0, 0): 458 - (0, 3, 0, 0): 459 - (0, 4, 0, 0): 460 - (0, 5, 0, 0): 461 - (0, 6, 0, 0): 462 - (0, 7, 0, 0): 463 - (0, 8, 0, 0): 464 - (0, 9, 0, 0): 465 - (0, 10, 0, 0): 466 - (0, 11, 0, 0): 467 - (0, 12, 0, 0): 468 - (0, 13, 0, 0): 469 - (0, 14, 0, 0): 470 - (0, 15, 0, 0): 471 - (0, 16, 0, 0): 472 - (0, 17, 0, 0): 473 - (0, 18, 0, 0): 474 - (0, 19, 0, 0): 475 - (0, 20, 0, 0): 476 - (0, 21, 0, 0): 477 - (0, 22, 0, 0): 478 - (0, 23, 0, 0): 479 - (0, 24, 0, 0): 480 - (0, 0, 1, 0): 481 - (0, 0, 2, 0): 482 - (0, 0, 3, 0): 483 - (0, 0, 4, 0): 484 - (0, 0, 5, 0): 485 - (0, 0, 6, 0): 486 - (0, 0, 7, 0): 487 - (0, 0, 8, 0): 488 - (0, 0, 9, 0): 489 - (0, 0, 10, 0): 490 - (0, 0, 11, 0): 491 - (0, 0, 12, 0): 492 - (0, 0, 13, 0): 493 - (0, 0, 14, 0): 494 - (0, 0, 15, 0): 495 - (0, 0, 0, 1): 496 - (0, 0, 0, 2): 497 - (0, 0, 0, 3): 498 - (0, 0, 0, 4): 499 - (0, 0, 0, 5): 500 - (0, 0, 0, 6): 501 + (18, 0, 0, 0): 457 + (19, 0, 0, 0): 458 + (0, 1, 0, 0): 459 + (0, 2, 0, 0): 460 + (0, 3, 0, 0): 461 + (0, 4, 0, 0): 462 + (0, 5, 0, 0): 463 + (0, 6, 0, 0): 464 + (0, 7, 0, 0): 465 + (0, 8, 0, 0): 466 + (0, 9, 0, 0): 467 + (0, 10, 0, 0): 468 + (0, 11, 0, 0): 469 + (0, 12, 0, 0): 470 + (0, 13, 0, 0): 471 + (0, 14, 0, 0): 472 + (0, 15, 0, 0): 473 + (0, 16, 0, 0): 474 + (0, 17, 0, 0): 475 + (0, 18, 0, 0): 476 + (0, 19, 0, 0): 477 + (0, 20, 0, 0): 478 + (0, 21, 0, 0): 479 + (0, 0, 1, 0): 480 + (0, 0, 2, 0): 481 + (0, 0, 3, 0): 482 + (0, 0, 4, 0): 483 + (0, 0, 5, 0): 484 + (0, 0, 6, 0): 485 + (0, 0, 7, 0): 486 + (0, 0, 8, 0): 487 + (0, 0, 9, 0): 488 + (0, 0, 10, 0): 489 + (0, 0, 11, 0): 490 + (0, 0, 12, 0): 491 + (0, 0, 13, 0): 492 + (0, 0, 14, 0): 493 + (0, 0, 15, 0): 494 + (0, 0, 0, 1): 495 + (0, 0, 0, 2): 496 + (0, 0, 0, 3): 497 + (0, 0, 0, 4): 498 + (0, 0, 0, 5): 499 + (0, 0, 0, 6): 500 # N3LO MHOU - theoryid: 439 variations: (1, 1): 439 # central th - (0.5, 1): 502 # scale variations - (2, 1): 503 - (0.5, 0.5): 504 - (1, 0.5): 505 - (2, 0.5): 506 - (0.5, 2): 507 - (1, 2): 508 - (2, 2): 509 + (0.5, 1): 501 # scale variations + (2, 1): 502 + (0.5, 0.5): 503 + (1, 0.5): 504 + (2, 0.5): 505 + (0.5, 2): 506 + (1, 2): 507 + (2, 2): 508 # N3LO: IHOU - theoryid: 439 @@ -213,53 +212,52 @@ scale_variations_for: (15, 0, 0, 0): 454 (16, 0, 0, 0): 455 (17, 0, 0, 0): 456 - (0, 1, 0, 0): 457 - (0, 2, 0, 0): 458 - (0, 3, 0, 0): 459 - (0, 4, 0, 0): 460 - (0, 5, 0, 0): 461 - (0, 6, 0, 0): 462 - (0, 7, 0, 0): 463 - (0, 8, 0, 0): 464 - (0, 9, 0, 0): 465 - (0, 10, 0, 0): 466 - (0, 11, 0, 0): 467 - (0, 12, 0, 0): 468 - (0, 13, 0, 0): 469 - (0, 14, 0, 0): 470 - (0, 15, 0, 0): 471 - (0, 16, 0, 0): 472 - (0, 17, 0, 0): 473 - (0, 18, 0, 0): 474 - (0, 19, 0, 0): 475 - (0, 20, 0, 0): 476 - (0, 21, 0, 0): 477 - (0, 22, 0, 0): 478 - (0, 23, 0, 0): 479 - (0, 24, 0, 0): 480 - (0, 0, 1, 0): 481 - (0, 0, 2, 0): 482 - (0, 0, 3, 0): 483 - (0, 0, 4, 0): 484 - (0, 0, 5, 0): 485 - (0, 0, 6, 0): 486 - (0, 0, 7, 0): 487 - (0, 0, 8, 0): 488 - (0, 0, 9, 0): 489 - (0, 0, 10, 0): 490 - (0, 0, 11, 0): 491 - (0, 0, 12, 0): 492 - (0, 0, 13, 0): 493 - (0, 0, 14, 0): 494 - (0, 0, 15, 0): 495 - (0, 0, 0, 1): 496 - (0, 0, 0, 2): 497 - (0, 0, 0, 3): 498 - (0, 0, 0, 4): 499 - (0, 0, 0, 5): 500 - (0, 0, 0, 6): 501 - (-1, -1): 510 # k fact variations - (1, 1): 511 + (18, 0, 0, 0): 457 + (19, 0, 0, 0): 458 + (0, 1, 0, 0): 459 + (0, 2, 0, 0): 460 + (0, 3, 0, 0): 461 + (0, 4, 0, 0): 462 + (0, 5, 0, 0): 463 + (0, 6, 0, 0): 464 + (0, 7, 0, 0): 465 + (0, 8, 0, 0): 466 + (0, 9, 0, 0): 467 + (0, 10, 0, 0): 468 + (0, 11, 0, 0): 469 + (0, 12, 0, 0): 470 + (0, 13, 0, 0): 471 + (0, 14, 0, 0): 472 + (0, 15, 0, 0): 473 + (0, 16, 0, 0): 474 + (0, 17, 0, 0): 475 + (0, 18, 0, 0): 476 + (0, 19, 0, 0): 477 + (0, 20, 0, 0): 478 + (0, 21, 0, 0): 479 + (0, 0, 1, 0): 480 + (0, 0, 2, 0): 481 + (0, 0, 3, 0): 482 + (0, 0, 4, 0): 483 + (0, 0, 5, 0): 484 + (0, 0, 6, 0): 485 + (0, 0, 7, 0): 486 + (0, 0, 8, 0): 487 + (0, 0, 9, 0): 488 + (0, 0, 10, 0): 489 + (0, 0, 11, 0): 490 + (0, 0, 12, 0): 491 + (0, 0, 13, 0): 492 + (0, 0, 14, 0): 493 + (0, 0, 15, 0): 494 + (0, 0, 0, 1): 495 + (0, 0, 0, 2): 496 + (0, 0, 0, 3): 497 + (0, 0, 0, 4): 498 + (0, 0, 0, 5): 499 + (0, 0, 0, 6): 500 + (-1, -1): 509 # DIS coeff functions variations + (1, 1): 510 # N3LO: MHOU + IHOU @@ -283,58 +281,57 @@ scale_variations_for: (15, 0, 0, 0): 454 (16, 0, 0, 0): 455 (17, 0, 0, 0): 456 - (0, 1, 0, 0): 457 - (0, 2, 0, 0): 458 - (0, 3, 0, 0): 459 - (0, 4, 0, 0): 460 - (0, 5, 0, 0): 461 - (0, 6, 0, 0): 462 - (0, 7, 0, 0): 463 - (0, 8, 0, 0): 464 - (0, 9, 0, 0): 465 - (0, 10, 0, 0): 466 - (0, 11, 0, 0): 467 - (0, 12, 0, 0): 468 - (0, 13, 0, 0): 469 - (0, 14, 0, 0): 470 - (0, 15, 0, 0): 471 - (0, 16, 0, 0): 472 - (0, 17, 0, 0): 473 - (0, 18, 0, 0): 474 - (0, 19, 0, 0): 475 - (0, 20, 0, 0): 476 - (0, 21, 0, 0): 477 - (0, 22, 0, 0): 478 - (0, 23, 0, 0): 479 - (0, 24, 0, 0): 480 - (0, 0, 1, 0): 481 - (0, 0, 2, 0): 482 - (0, 0, 3, 0): 483 - (0, 0, 4, 0): 484 - (0, 0, 5, 0): 485 - (0, 0, 6, 0): 486 - (0, 0, 7, 0): 487 - (0, 0, 8, 0): 488 - (0, 0, 9, 0): 489 - (0, 0, 10, 0): 490 - (0, 0, 11, 0): 491 - (0, 0, 12, 0): 492 - (0, 0, 13, 0): 493 - (0, 0, 14, 0): 494 - (0, 0, 15, 0): 495 - (0, 0, 0, 1): 496 - (0, 0, 0, 2): 497 - (0, 0, 0, 3): 498 - (0, 0, 0, 4): 499 - (0, 0, 0, 5): 500 - (0, 0, 0, 6): 501 - (0.5, 1): 502 # scale variations - (2, 1): 503 - (0.5, 0.5): 504 - (1, 0.5): 505 - (2, 0.5): 506 - (0.5, 2): 507 - (1, 2): 508 - (2, 2): 509 - (-1, -1): 510 # k fact variations - (1, 1): 511 + (18, 0, 0, 0): 457 + (19, 0, 0, 0): 458 + (0, 1, 0, 0): 459 + (0, 2, 0, 0): 460 + (0, 3, 0, 0): 461 + (0, 4, 0, 0): 462 + (0, 5, 0, 0): 463 + (0, 6, 0, 0): 464 + (0, 7, 0, 0): 465 + (0, 8, 0, 0): 466 + (0, 9, 0, 0): 467 + (0, 10, 0, 0): 468 + (0, 11, 0, 0): 469 + (0, 12, 0, 0): 470 + (0, 13, 0, 0): 471 + (0, 14, 0, 0): 472 + (0, 15, 0, 0): 473 + (0, 16, 0, 0): 474 + (0, 17, 0, 0): 475 + (0, 18, 0, 0): 476 + (0, 19, 0, 0): 477 + (0, 20, 0, 0): 478 + (0, 21, 0, 0): 479 + (0, 0, 1, 0): 480 + (0, 0, 2, 0): 481 + (0, 0, 3, 0): 482 + (0, 0, 4, 0): 483 + (0, 0, 5, 0): 484 + (0, 0, 6, 0): 485 + (0, 0, 7, 0): 486 + (0, 0, 8, 0): 487 + (0, 0, 9, 0): 488 + (0, 0, 10, 0): 489 + (0, 0, 11, 0): 490 + (0, 0, 12, 0): 491 + (0, 0, 13, 0): 492 + (0, 0, 14, 0): 493 + (0, 0, 15, 0): 494 + (0, 0, 0, 1): 495 + (0, 0, 0, 2): 496 + (0, 0, 0, 3): 497 + (0, 0, 0, 4): 498 + (0, 0, 0, 5): 499 + (0, 0, 0, 6): 500 + (0.5, 1): 501 # scale variations + (2, 1): 502 + (0.5, 0.5): 503 + (1, 0.5): 504 + (2, 0.5): 505 + (0.5, 2): 506 + (1, 2): 507 + (2, 2): 508 + (-1, -1): 509 # DIS coeff functions fact variations + (1, 1): 510 diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 9bd24a8ca0..27e068c35a 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -338,8 +338,8 @@ def covmat_n3lo_singlet(name1, name2, deltas1, deltas2): singlet splitting function variations. """ n3lo_vars_dict = { - "gg": 17, - "gq": 24, + "gg": 19, + "gq": 21, "qg": 15, "qq": 6, } diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index 19847903ea..e3113fe935 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -56,8 +56,8 @@ def check_correct_theory_combination_internal( elif l in [63, 65, 71]: # check Anomalous dimensions variations n3lo_vars_dict = { - "gg": 17, - "gq": 24, + "gg": 19, + "gq": 21, "qg": 15, "qq": 6, } From a795629604665209e838f03675b3545850f0966f Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Mon, 16 Oct 2023 11:36:24 +0200 Subject: [PATCH 22/42] fix number of IHOU variations --- .../src/validphys/theorycovariance/construction.py | 6 +++--- .../theorycovariance/theorycovarianceutils.py | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 27e068c35a..882434d158 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -429,15 +429,15 @@ def covs_pt_prescrip( elif l == 9: s = covmat_9pt(name1, name2, deltas1, deltas2) # n3lo ad variation prescriprion - elif l == 63: + elif l == 62: s = covmat_n3lo_singlet(name1, name2, deltas1, deltas2) # n3lo ihou prescriprion - elif l == 65: + elif l == 64: s_ad = covmat_n3lo_singlet(name1, name2, deltas1[:-2], deltas2[:-2]) s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf # n3lo full covmat prescriprion - elif l == 71: + elif l == 70: # spit deltas and compose thcovmat # splittin functions variatons s_ad = covmat_n3lo_singlet(name1, name2, deltas1[:-8], deltas2[:-8]) diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index e3113fe935..b816c26714 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 63, 65, 71}, f"Expecting exactly 3, 5, 7, 9, 63, 65 or 71 theories, but got {l}.") + check(l in {3, 5, 7, 9, 62, 64, 70}, f"Expecting exactly 3, 5, 7, 9, 62, 64 or 70 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,7 +53,7 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l in [63, 65, 71]: + elif l in [62, 64, 70]: # check Anomalous dimensions variations n3lo_vars_dict = { "gg": 19, @@ -64,9 +64,9 @@ def check_correct_theory_combination_internal( # TODO: for the moment fish the n3lo_ad_variation from the comments n3lo_vars_list = [] id_max = None - if l == 71: + if l == 70: id_max = -8 - elif l == 65: + elif l == 64: id_max = -2 for theoryid in theoryids[:id_max]: n3lo_vars_list.append([int(val) for val in theoryid.get_description()["Comments"][28:-1].split(",")]) @@ -80,7 +80,7 @@ def check_correct_theory_combination_internal( n3lo_vars_list == full_var_list, f"Theories do not include the full list of N3LO variation but {n3lo_vars_list}" ) - if l == 71: + if l == 70: # check Scale variations varied_xifs = [xifs[0]] varied_xirs = [xirs[0]] From e648f2e047eca5c9b63a3de0448549398f7e0b3a Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 19 Oct 2023 20:59:22 +0200 Subject: [PATCH 23/42] add n3lo richard 3pt mixed prescription --- .../scalevariations/pointprescriptions.yaml | 1 + .../scalevariationtheoryids.yaml | 70 +++++++++++++++++++ .../theorycovariance/construction.py | 7 ++ .../theorycovariance/theorycovarianceutils.py | 19 ++++- 4 files changed, 95 insertions(+), 2 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 25c9d064c8..13133ae1f9 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -12,3 +12,4 @@ 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)'] 'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(-1, -1)','(1, 1)'] 'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] +'n3lo 3pt richard': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5)', '(1, 2)','(-1, -1)','(1, 1)'] diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index f6bd262e7f..b9939d41f6 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -335,3 +335,73 @@ scale_variations_for: (2, 2): 508 (-1, -1): 509 # DIS coeff functions fact variations (1, 1): 510 + + # N3LO: IHOU + MHOU Richard: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 + - theoryid: 439 + variations: + (0, 0, 0, 0): 439 # central th + (1, 0, 0, 0): 440 # anomalous dimensions variations + (2, 0, 0, 0): 441 + (3, 0, 0, 0): 442 + (4, 0, 0, 0): 443 + (5, 0, 0, 0): 444 + (6, 0, 0, 0): 445 + (7, 0, 0, 0): 446 + (8, 0, 0, 0): 447 + (9, 0, 0, 0): 448 + (10, 0, 0, 0): 449 + (11, 0, 0, 0): 450 + (12, 0, 0, 0): 451 + (13, 0, 0, 0): 452 + (14, 0, 0, 0): 453 + (15, 0, 0, 0): 454 + (16, 0, 0, 0): 455 + (17, 0, 0, 0): 456 + (18, 0, 0, 0): 457 + (19, 0, 0, 0): 458 + (0, 1, 0, 0): 459 + (0, 2, 0, 0): 460 + (0, 3, 0, 0): 461 + (0, 4, 0, 0): 462 + (0, 5, 0, 0): 463 + (0, 6, 0, 0): 464 + (0, 7, 0, 0): 465 + (0, 8, 0, 0): 466 + (0, 9, 0, 0): 467 + (0, 10, 0, 0): 468 + (0, 11, 0, 0): 469 + (0, 12, 0, 0): 470 + (0, 13, 0, 0): 471 + (0, 14, 0, 0): 472 + (0, 15, 0, 0): 473 + (0, 16, 0, 0): 474 + (0, 17, 0, 0): 475 + (0, 18, 0, 0): 476 + (0, 19, 0, 0): 477 + (0, 20, 0, 0): 478 + (0, 21, 0, 0): 479 + (0, 0, 1, 0): 480 + (0, 0, 2, 0): 481 + (0, 0, 3, 0): 482 + (0, 0, 4, 0): 483 + (0, 0, 5, 0): 484 + (0, 0, 6, 0): 485 + (0, 0, 7, 0): 486 + (0, 0, 8, 0): 487 + (0, 0, 9, 0): 488 + (0, 0, 10, 0): 489 + (0, 0, 11, 0): 490 + (0, 0, 12, 0): 491 + (0, 0, 13, 0): 492 + (0, 0, 14, 0): 493 + (0, 0, 15, 0): 494 + (0, 0, 0, 1): 495 + (0, 0, 0, 2): 496 + (0, 0, 0, 3): 497 + (0, 0, 0, 4): 498 + (0, 0, 0, 5): 499 + (0, 0, 0, 6): 500 + (1, 0.5): 511 # As 504 but DIS and DY from 439 + (1, 2): 512 # As 507 but DIS and DY from 439 + (-1, -1): 509 # DIS coeff functions fact variations + (1, 1): 510 diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index 882434d158..e78fc48668 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -436,6 +436,13 @@ def covs_pt_prescrip( s_ad = covmat_n3lo_singlet(name1, name2, deltas1[:-2], deltas2[:-2]) s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) s = s_ad + s_cf + # n3lo 3 pt MHOU see also + # see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 + elif l == 66: + s_ad = covmat_n3lo_singlet(name1, name2, deltas1[:-4], deltas2[:-4]) + s_mhou = covmat_3pt(name1, name2, deltas1[-4:-2], deltas2[-4:-2]) + s_cf = covmat_3pt(name1, name2, deltas1[-2:], deltas2[-2:]) + s = s_ad + s_cf + s_mhou # n3lo full covmat prescriprion elif l == 70: # spit deltas and compose thcovmat diff --git a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py index b816c26714..0e04dccc4f 100644 --- a/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py +++ b/validphys2/src/validphys/theorycovariance/theorycovarianceutils.py @@ -18,7 +18,7 @@ def check_correct_theory_combination_internal( """Checks that a valid theory combination corresponding to an existing prescription has been inputted""" l = len(theoryids) - check(l in {3, 5, 7, 9, 62, 64, 70}, f"Expecting exactly 3, 5, 7, 9, 62, 64 or 70 theories, but got {l}.") + check(l in {3, 5, 7, 9, 62, 64, 66, 70}, f"Expecting exactly 3, 5, 7, 9, 62, 64, 66 or 70 theories, but got {l}.") opts = {"bar", "nobar"} xifs = [theoryid.get_description()["XIF"] for theoryid in theoryids] xirs = [theoryid.get_description()["XIR"] for theoryid in theoryids] @@ -53,7 +53,7 @@ def check_correct_theory_combination_internal( elif l == 7: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5] correct_xirs = [1.0, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] - elif l in [62, 64, 70]: + elif l in [62, 64, 66, 70]: # check Anomalous dimensions variations n3lo_vars_dict = { "gg": 19, @@ -66,6 +66,8 @@ def check_correct_theory_combination_internal( id_max = None if l == 70: id_max = -8 + elif l == 66: + id_max = -4 elif l == 64: id_max = -2 for theoryid in theoryids[:id_max]: @@ -93,6 +95,19 @@ def check_correct_theory_combination_internal( "Choice of input theories does not correspond to a valid " "prescription for theory covariance matrix calculation", ) + elif l == 66: + # check Scale variations + varied_xifs = [xifs[0]] + varied_xirs = [xirs[0]] + varied_xifs.extend(xifs[-4:-2]) + varied_xirs.extend(xirs[-4:-2]) + correct_xifs = [1.0, 1.0, 1.0] + correct_xirs = [1.0, 0.5, 2.0] + check( + varied_xifs == correct_xifs and varied_xirs == correct_xirs, + "Choice of input theories does not correspond to a valid " + "prescription for theory covariance matrix calculation", + ) return else: correct_xifs = [1.0, 2.0, 0.5, 1.0, 1.0, 2.0, 0.5, 2.0, 0.5] From f9d7e57c560e024ebfabf38d65ef646bb5bafb75 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 25 Oct 2023 13:34:28 +0200 Subject: [PATCH 24/42] fix 3pt incomplete prescription with an hack --- .../scalevariationtheoryids.yaml | 220 +----------------- 1 file changed, 4 insertions(+), 216 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index b9939d41f6..42fc0cb3c1 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -112,152 +112,6 @@ scale_variations_for: (2, 1): 437 (2, 2): 438 - # N3LO AD IHOU - - theoryid: 439 - variations: - (0, 0, 0, 0): 439 # central th - (1, 0, 0, 0): 440 # anomalous dimensions variations - (2, 0, 0, 0): 441 - (3, 0, 0, 0): 442 - (4, 0, 0, 0): 443 - (5, 0, 0, 0): 444 - (6, 0, 0, 0): 445 - (7, 0, 0, 0): 446 - (8, 0, 0, 0): 447 - (9, 0, 0, 0): 448 - (10, 0, 0, 0): 449 - (11, 0, 0, 0): 450 - (12, 0, 0, 0): 451 - (13, 0, 0, 0): 452 - (14, 0, 0, 0): 453 - (15, 0, 0, 0): 454 - (16, 0, 0, 0): 455 - (17, 0, 0, 0): 456 - (18, 0, 0, 0): 457 - (19, 0, 0, 0): 458 - (0, 1, 0, 0): 459 - (0, 2, 0, 0): 460 - (0, 3, 0, 0): 461 - (0, 4, 0, 0): 462 - (0, 5, 0, 0): 463 - (0, 6, 0, 0): 464 - (0, 7, 0, 0): 465 - (0, 8, 0, 0): 466 - (0, 9, 0, 0): 467 - (0, 10, 0, 0): 468 - (0, 11, 0, 0): 469 - (0, 12, 0, 0): 470 - (0, 13, 0, 0): 471 - (0, 14, 0, 0): 472 - (0, 15, 0, 0): 473 - (0, 16, 0, 0): 474 - (0, 17, 0, 0): 475 - (0, 18, 0, 0): 476 - (0, 19, 0, 0): 477 - (0, 20, 0, 0): 478 - (0, 21, 0, 0): 479 - (0, 0, 1, 0): 480 - (0, 0, 2, 0): 481 - (0, 0, 3, 0): 482 - (0, 0, 4, 0): 483 - (0, 0, 5, 0): 484 - (0, 0, 6, 0): 485 - (0, 0, 7, 0): 486 - (0, 0, 8, 0): 487 - (0, 0, 9, 0): 488 - (0, 0, 10, 0): 489 - (0, 0, 11, 0): 490 - (0, 0, 12, 0): 491 - (0, 0, 13, 0): 492 - (0, 0, 14, 0): 493 - (0, 0, 15, 0): 494 - (0, 0, 0, 1): 495 - (0, 0, 0, 2): 496 - (0, 0, 0, 3): 497 - (0, 0, 0, 4): 498 - (0, 0, 0, 5): 499 - (0, 0, 0, 6): 500 - - # N3LO MHOU - - theoryid: 439 - variations: - (1, 1): 439 # central th - (0.5, 1): 501 # scale variations - (2, 1): 502 - (0.5, 0.5): 503 - (1, 0.5): 504 - (2, 0.5): 505 - (0.5, 2): 506 - (1, 2): 507 - (2, 2): 508 - - # N3LO: IHOU - - theoryid: 439 - variations: - (0, 0, 0, 0): 439 # central th - (1, 0, 0, 0): 440 # anomalous dimensions variations - (2, 0, 0, 0): 441 - (3, 0, 0, 0): 442 - (4, 0, 0, 0): 443 - (5, 0, 0, 0): 444 - (6, 0, 0, 0): 445 - (7, 0, 0, 0): 446 - (8, 0, 0, 0): 447 - (9, 0, 0, 0): 448 - (10, 0, 0, 0): 449 - (11, 0, 0, 0): 450 - (12, 0, 0, 0): 451 - (13, 0, 0, 0): 452 - (14, 0, 0, 0): 453 - (15, 0, 0, 0): 454 - (16, 0, 0, 0): 455 - (17, 0, 0, 0): 456 - (18, 0, 0, 0): 457 - (19, 0, 0, 0): 458 - (0, 1, 0, 0): 459 - (0, 2, 0, 0): 460 - (0, 3, 0, 0): 461 - (0, 4, 0, 0): 462 - (0, 5, 0, 0): 463 - (0, 6, 0, 0): 464 - (0, 7, 0, 0): 465 - (0, 8, 0, 0): 466 - (0, 9, 0, 0): 467 - (0, 10, 0, 0): 468 - (0, 11, 0, 0): 469 - (0, 12, 0, 0): 470 - (0, 13, 0, 0): 471 - (0, 14, 0, 0): 472 - (0, 15, 0, 0): 473 - (0, 16, 0, 0): 474 - (0, 17, 0, 0): 475 - (0, 18, 0, 0): 476 - (0, 19, 0, 0): 477 - (0, 20, 0, 0): 478 - (0, 21, 0, 0): 479 - (0, 0, 1, 0): 480 - (0, 0, 2, 0): 481 - (0, 0, 3, 0): 482 - (0, 0, 4, 0): 483 - (0, 0, 5, 0): 484 - (0, 0, 6, 0): 485 - (0, 0, 7, 0): 486 - (0, 0, 8, 0): 487 - (0, 0, 9, 0): 488 - (0, 0, 10, 0): 489 - (0, 0, 11, 0): 490 - (0, 0, 12, 0): 491 - (0, 0, 13, 0): 492 - (0, 0, 14, 0): 493 - (0, 0, 15, 0): 494 - (0, 0, 0, 1): 495 - (0, 0, 0, 2): 496 - (0, 0, 0, 3): 497 - (0, 0, 0, 4): 498 - (0, 0, 0, 5): 499 - (0, 0, 0, 6): 500 - (-1, -1): 509 # DIS coeff functions variations - (1, 1): 510 # N3LO: MHOU + IHOU @@ -335,73 +189,7 @@ scale_variations_for: (2, 2): 508 (-1, -1): 509 # DIS coeff functions fact variations (1, 1): 510 - - # N3LO: IHOU + MHOU Richard: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 - - theoryid: 439 - variations: - (0, 0, 0, 0): 439 # central th - (1, 0, 0, 0): 440 # anomalous dimensions variations - (2, 0, 0, 0): 441 - (3, 0, 0, 0): 442 - (4, 0, 0, 0): 443 - (5, 0, 0, 0): 444 - (6, 0, 0, 0): 445 - (7, 0, 0, 0): 446 - (8, 0, 0, 0): 447 - (9, 0, 0, 0): 448 - (10, 0, 0, 0): 449 - (11, 0, 0, 0): 450 - (12, 0, 0, 0): 451 - (13, 0, 0, 0): 452 - (14, 0, 0, 0): 453 - (15, 0, 0, 0): 454 - (16, 0, 0, 0): 455 - (17, 0, 0, 0): 456 - (18, 0, 0, 0): 457 - (19, 0, 0, 0): 458 - (0, 1, 0, 0): 459 - (0, 2, 0, 0): 460 - (0, 3, 0, 0): 461 - (0, 4, 0, 0): 462 - (0, 5, 0, 0): 463 - (0, 6, 0, 0): 464 - (0, 7, 0, 0): 465 - (0, 8, 0, 0): 466 - (0, 9, 0, 0): 467 - (0, 10, 0, 0): 468 - (0, 11, 0, 0): 469 - (0, 12, 0, 0): 470 - (0, 13, 0, 0): 471 - (0, 14, 0, 0): 472 - (0, 15, 0, 0): 473 - (0, 16, 0, 0): 474 - (0, 17, 0, 0): 475 - (0, 18, 0, 0): 476 - (0, 19, 0, 0): 477 - (0, 20, 0, 0): 478 - (0, 21, 0, 0): 479 - (0, 0, 1, 0): 480 - (0, 0, 2, 0): 481 - (0, 0, 3, 0): 482 - (0, 0, 4, 0): 483 - (0, 0, 5, 0): 484 - (0, 0, 6, 0): 485 - (0, 0, 7, 0): 486 - (0, 0, 8, 0): 487 - (0, 0, 9, 0): 488 - (0, 0, 10, 0): 489 - (0, 0, 11, 0): 490 - (0, 0, 12, 0): 491 - (0, 0, 13, 0): 492 - (0, 0, 14, 0): 493 - (0, 0, 15, 0): 494 - (0, 0, 0, 1): 495 - (0, 0, 0, 2): 496 - (0, 0, 0, 3): 497 - (0, 0, 0, 4): 498 - (0, 0, 0, 5): 499 - (0, 0, 0, 6): 500 - (1, 0.5): 511 # As 504 but DIS and DY from 439 - (1, 2): 512 # As 507 but DIS and DY from 439 - (-1, -1): 509 # DIS coeff functions fact variations - (1, 1): 510 + # TODO: when using IHOU + MHOU Richard: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 + # one needs to select this two theories and comment 504 and 507 + # (1, 0.5): 511 # As 504 but DIS and DY from 439 + # (1, 2): 512 # As 507 but DIS and DY from 439 From 3f0a33fb614c1a814fd1d0b3a2c1a9ba7e3e38e7 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 26 Oct 2023 10:01:24 +0200 Subject: [PATCH 25/42] fix df.sort_index --- .../src/validphys/theorycovariance/output.py | 18 +++++++++--------- .../src/validphys/theorycovariance/tests.py | 12 ++++++------ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/validphys2/src/validphys/theorycovariance/output.py b/validphys2/src/validphys/theorycovariance/output.py index 7299579863..58d0ad290e 100644 --- a/validphys2/src/validphys/theorycovariance/output.py +++ b/validphys2/src/validphys/theorycovariance/output.py @@ -90,8 +90,8 @@ def matrix_plot_labels(df): def plot_covmat_heatmap(covmat, title): """Matrix plot of a covariance matrix.""" df = covmat - df.sort_index(0, inplace=True) - df.sort_index(1, inplace=True) + df.sort_index(axis=0, inplace=True) + df.sort_index(axis=1, inplace=True) oldindex = df.index.tolist() newindex = sorted(oldindex, key=_get_key) # reindex index @@ -195,8 +195,8 @@ def _get_key(element): def plot_corrmat_heatmap(corrmat, title): """Matrix plot of a correlation matrix""" df = corrmat - df.sort_index(0, inplace=True) - df.sort_index(1, inplace=True) + df.sort_index(axis=0, inplace=True) + df.sort_index(axis=1, inplace=True) oldindex = df.index.tolist() newindex = sorted(oldindex, key=_get_key) # reindex index @@ -390,18 +390,18 @@ def plot_diag_cov_comparison( plot_index = theory_covmat_custom.index sqrtdiags_th = np.sqrt(np.diag(theory_covmat_custom)) / data sqrtdiags_th = pd.DataFrame(sqrtdiags_th.values, index=plot_index) - sqrtdiags_th.sort_index(0, inplace=True) + sqrtdiags_th.sort_index(axis=0, inplace=True) oldindex = sqrtdiags_th.index.tolist() newindex = sorted(oldindex, key=_get_key) sqrtdiags_th = sqrtdiags_th.reindex(newindex) sqrtdiags_exp = np.sqrt(np.diag(procs_covmat)) / data sqrtdiags_exp = pd.DataFrame(sqrtdiags_exp.values, index=plot_index) - sqrtdiags_exp.sort_index(0, inplace=True) + sqrtdiags_exp.sort_index(axis=0, inplace=True) sqrtdiags_exp = sqrtdiags_exp.reindex(newindex) df_total = theory_covmat_custom + procs_covmat sqrtdiags_tot = np.sqrt(np.diag(df_total)) / data sqrtdiags_tot = pd.DataFrame(sqrtdiags_tot.values, index=plot_index) - sqrtdiags_tot.sort_index(0, inplace=True) + sqrtdiags_tot.sort_index(axis=0, inplace=True) sqrtdiags_tot = sqrtdiags_tot.reindex(newindex) fig, ax = plotutils.subplots(figsize=(20, 10)) ax.plot(sqrtdiags_exp.values, ".", label="Experiment", color="orange") @@ -445,12 +445,12 @@ def plot_diag_cov_impact( inv_tot = (np.diag(la.inv(matrix_theory + matrix_experiment))) ** (-0.5) / procs_data_values plot_index = theory_covmat_custom.index df_inv_exp = pd.DataFrame(inv_exp, index=plot_index) - df_inv_exp.sort_index(0, inplace=True) + df_inv_exp.sort_index(axis=0, inplace=True) oldindex = df_inv_exp.index.tolist() newindex = sorted(oldindex, key=_get_key) df_inv_exp = df_inv_exp.reindex(newindex) df_inv_tot = pd.DataFrame(inv_tot, index=plot_index) - df_inv_tot.sort_index(0, inplace=True) + df_inv_tot.sort_index(axis=0, inplace=True) df_inv_tot = df_inv_tot.reindex(newindex) fig, ax = plotutils.subplots() ax.plot(df_inv_exp.values, ".", label="Experiment", color="orange") diff --git a/validphys2/src/validphys/theorycovariance/tests.py b/validphys2/src/validphys/theorycovariance/tests.py index fff466d676..88f5460927 100644 --- a/validphys2/src/validphys/theorycovariance/tests.py +++ b/validphys2/src/validphys/theorycovariance/tests.py @@ -683,7 +683,7 @@ def eigenvector_plot(evals_nonzero_basis, shx_vector): [processnames, dsnames, ids], names=("process", "dataset", "id") ) f = pd.DataFrame(f.values, index=tripleindex) - f.sort_index(0, inplace=True) + f.sort_index(axis=0, inplace=True) oldindex = f.index.tolist() newindex = sorted(oldindex, key=_get_key) f = f.reindex(newindex) @@ -737,12 +737,12 @@ def deltamiss_plot(theory_shift_test, allthx_vector, evals_nonzero_basis, shx_ve [processnames, dsnames, ids], names=("process", "dataset", "id") ) f = pd.DataFrame(f.values, index=tripleindex) - f.sort_index(0, inplace=True) + f.sort_index(axis=0, inplace=True) oldindex = f.index.tolist() newindex = sorted(oldindex, key=_get_key) f = f.reindex(newindex) fmiss = pd.DataFrame(fmiss, index=tripleindex) - fmiss.sort_index(0, inplace=True) + fmiss.sort_index(axis=0, inplace=True) fmiss = fmiss.reindex(newindex) # Plotting fig, ax = plotutils.subplots(figsize=(20, 10)) @@ -786,15 +786,15 @@ def shift_diag_cov_comparison(allthx_vector, shx_vector, thx_covmat, thx_vector) [processnames, dsnames, ids], names=("process", "dataset", "id") ) matrix = pd.DataFrame(matrix.values, index=tripleindex, columns=tripleindex) - matrix.sort_index(0, inplace=True) - matrix.sort_index(1, inplace=True) + matrix.sort_index(axis=0, inplace=True) + matrix.sort_index(axis=1, inplace=True) oldindex = matrix.index.tolist() newindex = sorted(oldindex, key=_get_key) matrix = matrix.reindex(newindex) matrix = (matrix.T.reindex(newindex)).T sqrtdiags = np.sqrt(np.diag(matrix)) fnorm = pd.DataFrame(fnorm.values, index=tripleindex) - fnorm.sort_index(0, inplace=True) + fnorm.sort_index(axis=0, inplace=True) fnorm = fnorm.reindex(newindex) # Plotting fig, ax = plotutils.subplots(figsize=(20, 10)) From 261fe4d05d42524d3feda150ca3e7b108164cc56 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 7 Nov 2023 07:13:46 +0100 Subject: [PATCH 26/42] update point prescriptions --- .../src/validphys/scalevariations/pointprescriptions.yaml | 3 ++- .../validphys/scalevariations/scalevariationtheoryids.yaml | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 13133ae1f9..586172e7e3 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -12,4 +12,5 @@ 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)'] 'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(-1, -1)','(1, 1)'] 'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] -'n3lo 3pt richard': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5)', '(1, 2)','(-1, -1)','(1, 1)'] +'n3lo 3pt richard': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5 hadronic)', '(1, 2 hadronic)','(-1, -1)','(1, 1)'] +'n3lo 7 point': ['(0, 0, 0, 0)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] \ No newline at end of file diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index e503c0ee00..d789cde7ce 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -214,8 +214,8 @@ scale_variations_for: (1, 1): 510 # TODO: when using IHOU + MHOU Richard: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 # one needs to select this two theories and comment 504 and 507 - # (1, 0.5): 511 # As 504 but DIS and DY from 439 - # (1, 2): 512 # As 507 but DIS and DY from 439 + (1, 0.5 hadronic): 511 # As 504 but DIS and DY from 439 + (1, 2 hadronic): 512 # As 507 but DIS and DY from 439 - theoryid: 600 variations: From eac375c9f1d3b8f0b83a331af758395237bccd04 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 7 Nov 2023 07:21:52 +0100 Subject: [PATCH 27/42] fix comment --- .../src/validphys/scalevariations/scalevariationtheoryids.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index d789cde7ce..e1c7417a38 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -212,8 +212,7 @@ scale_variations_for: (2, 2): 508 (-1, -1): 509 # DIS coeff functions fact variations (1, 1): 510 - # TODO: when using IHOU + MHOU Richard: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 - # one needs to select this two theories and comment 504 and 507 + # IHOU + MHOU Richard prescription: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 (1, 0.5 hadronic): 511 # As 504 but DIS and DY from 439 (1, 2 hadronic): 512 # As 507 but DIS and DY from 439 From 0102ed66afc92e025d9e639b7b91c9c0caa2cbed Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 7 Nov 2023 13:51:30 +0100 Subject: [PATCH 28/42] fix 3pt missing name --- validphys2/src/validphys/theorycovariance/tests.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/validphys2/src/validphys/theorycovariance/tests.py b/validphys2/src/validphys/theorycovariance/tests.py index 88f5460927..86a893dcf3 100644 --- a/validphys2/src/validphys/theorycovariance/tests.py +++ b/validphys2/src/validphys/theorycovariance/tests.py @@ -694,7 +694,7 @@ def eigenvector_plot(evals_nonzero_basis, shx_vector): eval_3sf = floatformatting.significant_digits(eval.item(), 3) evec = pd.DataFrame(evec, index=tripleindex) evec = evec.reindex(newindex) - ax.plot(-f.values, color="k", label="NNLO-NLO shift") + ax.plot(-f.values, color="k", label="N3LO-NNLO shift") ax.plot(evec.values, label="Eigenvector") ticklocs, ticklabels, startlocs = matrix_plot_labels(evec) # Shift startlocs elements 0.5 to left so lines are between indexes @@ -746,7 +746,7 @@ def deltamiss_plot(theory_shift_test, allthx_vector, evals_nonzero_basis, shx_ve fmiss = fmiss.reindex(newindex) # Plotting fig, ax = plotutils.subplots(figsize=(20, 10)) - ax.plot(f.values * 100, ".-", label="NNLO-NLO Shift", color="black") + ax.plot(f.values * 100, ".-", label="N3LO-NNLO Shift", color="black") ax.plot(fmiss.values * 100, ".-", label=r"$\delta_{miss}$" + f" ({l} pt)", color="blue") ticklocs, ticklabels, startlocs = matrix_plot_labels(f) ax.set_xticks(ticklocs) @@ -800,7 +800,7 @@ def shift_diag_cov_comparison(allthx_vector, shx_vector, thx_covmat, thx_vector) fig, ax = plotutils.subplots(figsize=(20, 10)) ax.plot(sqrtdiags * 100, ".-", label=f"MHOU ({l} pt)", color="red") ax.plot(-sqrtdiags * 100, ".-", color="red") - ax.plot(fnorm.values * 100, ".-", label="NNLO-NLO Shift", color="black") + ax.plot(fnorm.values * 100, ".-", label="N3LO-NNLO Shift", color="black") ticklocs, ticklabels, startlocs = matrix_plot_labels(matrix) ax.set_xticks(ticklocs) ax.set_xticklabels(ticklabels, rotation=45, fontsize=20) From 68df8a4a2a36f34bf9bf952c5e65e0acebb21af9 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 7 Nov 2023 13:52:09 +0100 Subject: [PATCH 29/42] Revert "fix 3pt missing name" This reverts commit 0102ed66afc92e025d9e639b7b91c9c0caa2cbed. --- validphys2/src/validphys/theorycovariance/tests.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/validphys2/src/validphys/theorycovariance/tests.py b/validphys2/src/validphys/theorycovariance/tests.py index 86a893dcf3..88f5460927 100644 --- a/validphys2/src/validphys/theorycovariance/tests.py +++ b/validphys2/src/validphys/theorycovariance/tests.py @@ -694,7 +694,7 @@ def eigenvector_plot(evals_nonzero_basis, shx_vector): eval_3sf = floatformatting.significant_digits(eval.item(), 3) evec = pd.DataFrame(evec, index=tripleindex) evec = evec.reindex(newindex) - ax.plot(-f.values, color="k", label="N3LO-NNLO shift") + ax.plot(-f.values, color="k", label="NNLO-NLO shift") ax.plot(evec.values, label="Eigenvector") ticklocs, ticklabels, startlocs = matrix_plot_labels(evec) # Shift startlocs elements 0.5 to left so lines are between indexes @@ -746,7 +746,7 @@ def deltamiss_plot(theory_shift_test, allthx_vector, evals_nonzero_basis, shx_ve fmiss = fmiss.reindex(newindex) # Plotting fig, ax = plotutils.subplots(figsize=(20, 10)) - ax.plot(f.values * 100, ".-", label="N3LO-NNLO Shift", color="black") + ax.plot(f.values * 100, ".-", label="NNLO-NLO Shift", color="black") ax.plot(fmiss.values * 100, ".-", label=r"$\delta_{miss}$" + f" ({l} pt)", color="blue") ticklocs, ticklabels, startlocs = matrix_plot_labels(f) ax.set_xticks(ticklocs) @@ -800,7 +800,7 @@ def shift_diag_cov_comparison(allthx_vector, shx_vector, thx_covmat, thx_vector) fig, ax = plotutils.subplots(figsize=(20, 10)) ax.plot(sqrtdiags * 100, ".-", label=f"MHOU ({l} pt)", color="red") ax.plot(-sqrtdiags * 100, ".-", color="red") - ax.plot(fnorm.values * 100, ".-", label="N3LO-NNLO Shift", color="black") + ax.plot(fnorm.values * 100, ".-", label="NNLO-NLO Shift", color="black") ticklocs, ticklabels, startlocs = matrix_plot_labels(matrix) ax.set_xticks(ticklocs) ax.set_xticklabels(ticklabels, rotation=45, fontsize=20) From 5ddf0f81326739ca78d5ad4921a0bd72a441be12 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 7 Nov 2023 13:52:48 +0100 Subject: [PATCH 30/42] fix 3pt name --- .../src/validphys/scalevariations/pointprescriptions.yaml | 2 +- .../validphys/scalevariations/scalevariationtheoryids.yaml | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 586172e7e3..1df01a0163 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -12,5 +12,5 @@ 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)'] 'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(-1, -1)','(1, 1)'] 'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] -'n3lo 3pt richard': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5 hadronic)', '(1, 2 hadronic)','(-1, -1)','(1, 1)'] +'n3lo 3pt missing': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5 missing)', '(1, 2 missing)','(-1, -1)','(1, 1)'] 'n3lo 7 point': ['(0, 0, 0, 0)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] \ No newline at end of file diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index e1c7417a38..cb297fb8c2 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -212,9 +212,9 @@ scale_variations_for: (2, 2): 508 (-1, -1): 509 # DIS coeff functions fact variations (1, 1): 510 - # IHOU + MHOU Richard prescription: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 - (1, 0.5 hadronic): 511 # As 504 but DIS and DY from 439 - (1, 2 hadronic): 512 # As 507 but DIS and DY from 439 + # IHOU + MHOU missing prescription: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 + (1, 0.5 missing): 511 # As 504 but DIS and DY from 439 + (1, 2 missing): 512 # As 507 but DIS and DY from 439 - theoryid: 600 variations: From 1a68d244fb9816c21a3db13a8038bf7ee8fe6c5e Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 8 Nov 2023 09:13:09 +0100 Subject: [PATCH 31/42] update theory.db --- nnpdfcpp/data/theory.db | Bin 122880 -> 139264 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/nnpdfcpp/data/theory.db b/nnpdfcpp/data/theory.db index 26df4c3830682822d137ec51e08b30f298f995eb..cfb4a5ec55dd95b0cdd844518bc308c3b8b60be6 100644 GIT binary patch delta 4536 zcma*qX;2$w7zgk@a%@aOP-ko{(g3AUsv~)!T%&bxIvuJca82p4+ZLd3)Wj}QF|d)sJ9i5_sNE5H*MHmjvbEt=6UnH|L0A1 z_pp2Su=G@he=o;zIqW*o2{ue`sV^S1~3W4ESvyJKVSTuBNBmciq4 zR9||LFVGTb3^W940=EU0vBylOF{$axU?bv5&_-l$m@{J{3B3#1>*mZ5 zN!H1=$X+vN#nD%)bT^heHE8B?BC~GNj?Z9FmTe8IK44eiV z;tXEckLxV;8WWQZ>ONE-St*Q2h_<5|wNjXn5N$&>qO0o5gU_DSOh7R7><2CP;hFP3 z+jCwz%yM7n%oN9ketr)Z?voco?svxPK;OspI;r~(8wNduRy>T$JEybM4P*p*2x5XKX0wA*gMrPTNq>Lr@Q)I%Pw_jDdO()%P|Oj2Nf~P<>}Z!GwX@it1Y% z3I+_+{iw!lC>Ss}Z??o0gyW>HQir3+FqFN>zOiHws6@3MWG8f%;;d(nCo@xdY398` zY$o&Y9%sO$8_T*Q+-mDpBRZCeX6$#ZZ_EZTd zH>#iQsU@IXs4m!3#h{$1rtGOAP!3d+_7q_WQN*}{g#4td)CqxY(*}kp0MV3;zM(39)0|BPI}J0(N*ZUC>~5Z(nO`8VPOMr0ccua-s#CqE zXSp#2F*9J5%3O8qS*_3?q8e(OR4ZSQ%<>LrfHFrN?9|Zj@zq&?a^)Izc)bRGv%9pA za&^4d@PhoW-fN3eA>}Gm|JYVVN~SurR$Jh-sE%wpX`^>Uxehn!Z#!+MP%_lIXS6C8 qMYVF@l*O)ADDz-fNnLzb`M*T9OSLlP%C&|h@PA^v3rrJa%;^9605$&r delta 380 zcmZoTz|nAkeS$Qv4g&*&927H6)G!y+VbDuvzZtfps#EfDusmE8oNhb7r;}q=n}d987@75(Y$sn_ptiZ+sED_jF=0Dn0^|SuiN5Uhj6kI< zP|OOXL0Z{?m;;D8ftU-3xq+Amh(Rvp17dz4764*FAQl2*VIUR(Vo@L#17dL?mIh)8 zAeIDTDIk^sVp$+&0%9bvIbMK|m#s;sHBggbGUG`V=130C$qU!2aGtZT+md|g_2ux% fiYfCM`=>MRVicJ?-%puUr!{~$rBajM_=^Al{*+D^ From 3c47bf1837a0eacb335a2ada7749d439542ad94f Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 8 Nov 2023 09:54:52 +0100 Subject: [PATCH 32/42] spell out 3pt hadronic and 3pt missing --- nnpdfcpp/data/theory.db | Bin 139264 -> 143360 bytes .../scalevariations/pointprescriptions.yaml | 7 +++++++ .../scalevariationtheoryids.yaml | 6 ++++-- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/nnpdfcpp/data/theory.db b/nnpdfcpp/data/theory.db index cfb4a5ec55dd95b0cdd844518bc308c3b8b60be6..fde72d6c0b17cc4cc48fb5279863b6d0686adb56 100644 GIT binary patch delta 368 zcmZoTz|ru4V}dmAYz77fWhiExsA0}Hdt<^YekOj~&4B`6_&C{sQVa}=&BD!|^4mS- z8FxRB;brh<;M>pJ#S_Y{!1rZ+y$y=7C$)Z_zdYurH784`$^`V9MB7n8L);WYEkxInYgO`$Hxs zRbDAq29Ejc*=+hOznHi2?clBEvE%0Cyv$U^=(@2`m64^%uvvckMqwt+>HMNhypt^_ z-J3o^m`RS!qFGLpiE;8p6XogGg_#7l%ZM^DGcr3gOH6(+OKtiGNhX%y08%77iP vy-^&*k)9kl11h^+f=P&xQEKwPHnr_Q8^st|Bw=m>JHSvHXgm)r_&_uO!d+Yb diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 1df01a0163..4e31043b97 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -9,8 +9,15 @@ '7 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '7original point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] '9 point': ['(1, 1)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)', '(2, 0.5)', '(0.5, 2)'] +# N3LO IHOU Anomalous dimension theory covmat 'n3lo ad covmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)'] +# N3LO full IHOU: Anomalous dimension theory covmat + DIS massive coefficient functions 'n3lo ihou': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(-1, -1)','(1, 1)'] +# N3LO full IHOU + 7 point scale variations 'n3lo full thcovmat': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)','(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)','(-1, -1)','(1, 1)'] +# N3LO full IHOU + 3 point scale variations for datasets with no N3LO correcttions 'n3lo 3pt missing': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5 missing)', '(1, 2 missing)','(-1, -1)','(1, 1)'] +# N3LO full IHOU + 3 point scale variations for hadronic dasasets +'n3lo 3pt hadronic': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5 hadronic)', '(1, 2 hadronic)','(-1, -1)','(1, 1)'] +# N3LO 7 point scale variations 'n3lo 7 point': ['(0, 0, 0, 0)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] \ No newline at end of file diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index cb297fb8c2..4e3bb7ce3c 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -213,8 +213,10 @@ scale_variations_for: (-1, -1): 509 # DIS coeff functions fact variations (1, 1): 510 # IHOU + MHOU missing prescription: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 - (1, 0.5 missing): 511 # As 504 but DIS and DY from 439 - (1, 2 missing): 512 # As 507 but DIS and DY from 439 + (1, 0.5 missing): 511 # As 504 but DIS and N3LO DY from 439 + (1, 2 missing): 512 # As 507 but DIS and N3LO DY from 439 + (1, 0.5 hadronic): 513 # As 504 but DIS from 439 + (1, 2 hadronic): 514 # As 507 but DIS from 439 - theoryid: 600 variations: From e092ae74b97bc5cefcfb6c38e2f7d62b9559d8f8 Mon Sep 17 00:00:00 2001 From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com> Date: Wed, 8 Nov 2023 12:42:09 +0100 Subject: [PATCH 33/42] Update validphys2/src/validphys/scalevariations/pointprescriptions.yaml Co-authored-by: Roy Stegeman --- .../src/validphys/scalevariations/pointprescriptions.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml index 4e31043b97..cfe7a83f8d 100644 --- a/validphys2/src/validphys/scalevariations/pointprescriptions.yaml +++ b/validphys2/src/validphys/scalevariations/pointprescriptions.yaml @@ -20,4 +20,4 @@ # N3LO full IHOU + 3 point scale variations for hadronic dasasets 'n3lo 3pt hadronic': ['(0, 0, 0, 0)','(1, 0, 0, 0)','(2, 0, 0, 0)','(3, 0, 0, 0)','(4, 0, 0, 0)','(5, 0, 0, 0)','(6, 0, 0, 0)','(7, 0, 0, 0)','(8, 0, 0, 0)','(9, 0, 0, 0)','(10, 0, 0, 0)','(11, 0, 0, 0)','(12, 0, 0, 0)','(13, 0, 0, 0)','(14, 0, 0, 0)','(15, 0, 0, 0)','(16, 0, 0, 0)','(17, 0, 0, 0)','(18, 0, 0, 0)','(19, 0, 0, 0)','(0, 1, 0, 0)','(0, 2, 0, 0)','(0, 3, 0, 0)','(0, 4, 0, 0)','(0, 5, 0, 0)','(0, 6, 0, 0)','(0, 7, 0, 0)','(0, 8, 0, 0)','(0, 9, 0, 0)','(0, 10, 0, 0)','(0, 11, 0, 0)','(0, 12, 0, 0)','(0, 13, 0, 0)','(0, 14, 0, 0)','(0, 15, 0, 0)','(0, 16, 0, 0)','(0, 17, 0, 0)','(0, 18, 0, 0)','(0, 19, 0, 0)','(0, 20, 0, 0)','(0, 21, 0, 0)','(0, 0, 1, 0)','(0, 0, 2, 0)','(0, 0, 3, 0)','(0, 0, 4, 0)','(0, 0, 5, 0)','(0, 0, 6, 0)','(0, 0, 7, 0)','(0, 0, 8, 0)','(0, 0, 9, 0)','(0, 0, 10, 0)','(0, 0, 11, 0)','(0, 0, 12, 0)','(0, 0, 13, 0)','(0, 0, 14, 0)','(0, 0, 15, 0)','(0, 0, 0, 1)','(0, 0, 0, 2)','(0, 0, 0, 3)','(0, 0, 0, 4)','(0, 0, 0, 5)','(0, 0, 0, 6)', '(1, 0.5 hadronic)', '(1, 2 hadronic)','(-1, -1)','(1, 1)'] # N3LO 7 point scale variations -'n3lo 7 point': ['(0, 0, 0, 0)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] \ No newline at end of file +'n3lo 7 point': ['(0, 0, 0, 0)', '(2, 1)', '(0.5, 1)', '(1, 2)', '(1, 0.5)', '(2, 2)', '(0.5, 0.5)'] From 23a2bf1c6341298bebf399e6b50a99d91dd1232b Mon Sep 17 00:00:00 2001 From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com> Date: Wed, 8 Nov 2023 12:42:22 +0100 Subject: [PATCH 34/42] Update validphys2/src/validphys/theorycovariance/construction.py Co-authored-by: Roy Stegeman --- validphys2/src/validphys/theorycovariance/construction.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/validphys2/src/validphys/theorycovariance/construction.py b/validphys2/src/validphys/theorycovariance/construction.py index e78fc48668..db1a370d26 100644 --- a/validphys2/src/validphys/theorycovariance/construction.py +++ b/validphys2/src/validphys/theorycovariance/construction.py @@ -365,11 +365,6 @@ def covmat_n3lo_ad(name1, name2, deltas1, deltas2): if name1 == name2: s = sum(np.outer(d, d) for d in deltas1) else: - # full_set = np.concatenate((np.array(deltas1),np.array(deltas2)), axis=1) - # d1_size = len(deltas1[0]) - # full_cov = np.cov(full_set.T) - # s = full_cov[:d1_size,d1_size:] - # This should be equivalent, modulo nrmaliztion s = 0 for i, d1 in enumerate(deltas1): for j, d2 in enumerate(deltas2): From 755534446abf721adecdfce876282e31f472e90c Mon Sep 17 00:00:00 2001 From: Giacomo Magni <39065935+giacomomagni@users.noreply.github.com> Date: Wed, 8 Nov 2023 14:54:34 +0100 Subject: [PATCH 35/42] Update validphys2/src/validphys/cuts/defaults.yaml Co-authored-by: Roy Stegeman --- validphys2/src/validphys/cuts/defaults.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/validphys2/src/validphys/cuts/defaults.yaml b/validphys2/src/validphys/cuts/defaults.yaml index a3b5963bb3..997984a49e 100644 --- a/validphys2/src/validphys/cuts/defaults.yaml +++ b/validphys2/src/validphys/cuts/defaults.yaml @@ -1,5 +1,5 @@ w2min: 12.5 q2min: 3.49 -xmin: 0.000000001 +xmin: 1.0e-9 maxTau: 0.080 # generalized cuts From cdf3af08d2d7bb98166ccf87f6e2eb708eb452cc Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 9 Nov 2023 14:15:53 +0100 Subject: [PATCH 36/42] remove xmin cut as suggested by @andreab1997 --- validphys2/src/validphys/config.py | 17 +++-------------- validphys2/src/validphys/cuts/defaults.yaml | 1 - validphys2/src/validphys/cuts/filters.yaml | 5 ----- 3 files changed, 3 insertions(+), 20 deletions(-) diff --git a/validphys2/src/validphys/config.py b/validphys2/src/validphys/config.py index 2c0b10f5d6..d70b557b44 100644 --- a/validphys2/src/validphys/config.py +++ b/validphys2/src/validphys/config.py @@ -1389,7 +1389,7 @@ def load_default_default_filter_settings(self, spec): def parse_filter_defaults(self, filter_defaults: (dict, type(None))): """A mapping containing the default kinematic limits to be used when filtering data (when using internal cuts). - Currently these limits are ``q2min``, ``w2min`` and ``xmin``. + Currently these limits are ``q2min``, and ``w2min``. """ log.warning("Overwriting filter defaults") return filter_defaults @@ -1398,18 +1398,16 @@ def produce_defaults( self, q2min=None, w2min=None, - xmin=None, maxTau=None, default_filter_settings=None, filter_defaults={}, default_filter_settings_recorded_spec_=None, ): """Produce default values for filters taking into account the - values of ``q2min``,``w2min``, ``maxTau`` and ``xmin`` defined at namespace + values of ``q2min``,``w2min`` and ``maxTau`` defined at namespace level and those inside a ``filter_defaults`` mapping. """ from validphys.filters import default_filter_settings_input - if ( q2min is not None and "q2min" in filter_defaults @@ -1418,12 +1416,6 @@ def produce_defaults( raise ConfigError("q2min defined multiple times with different values") if w2min is not None and "w2min" in filter_defaults and w2min != filter_defaults["w2min"]: raise ConfigError("w2min defined multiple times with different values") - if ( - xmin is not None - and "xmin" in filter_defaults - and xmin != filter_defaults["xmin"] - ): - raise ConfigError("xmin defined multiple times with different values") if ( maxTau is not None and "maxTau" in filter_defaults @@ -1449,10 +1441,7 @@ def produce_defaults( if w2min is not None and defaults_loaded: log.warning("Using w2min from runcard") filter_defaults["w2min"] = w2min - - if xmin is not None and defaults_loaded: - log.warning("Using xmin from runcard") - filter_defaults["xmin"] = xmin + if maxTau is not None and defaults_loaded: log.warning("Using maxTau from runcard") filter_defaults["maxTau"] = maxTau diff --git a/validphys2/src/validphys/cuts/defaults.yaml b/validphys2/src/validphys/cuts/defaults.yaml index 997984a49e..859d14b151 100644 --- a/validphys2/src/validphys/cuts/defaults.yaml +++ b/validphys2/src/validphys/cuts/defaults.yaml @@ -1,5 +1,4 @@ w2min: 12.5 q2min: 3.49 -xmin: 1.0e-9 maxTau: 0.080 # generalized cuts diff --git a/validphys2/src/validphys/cuts/filters.yaml b/validphys2/src/validphys/cuts/filters.yaml index ad67f24b0d..7e6c25a93e 100644 --- a/validphys2/src/validphys/cuts/filters.yaml +++ b/validphys2/src/validphys/cuts/filters.yaml @@ -345,8 +345,3 @@ FNS: FONLL-C IC: True rule: "Q2 > 8" - -- process_type: DIS_ALL - reason: | - Remove small-x data - rule: "x > xmin" From 64d7919581797b72464ca0caa1a55dbcb36a888c Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 9 Nov 2023 14:17:28 +0100 Subject: [PATCH 37/42] remove xmin cut as suggested by @andreab1997 --- validphys2/src/validphys/config.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/validphys2/src/validphys/config.py b/validphys2/src/validphys/config.py index d70b557b44..e54981d5c4 100644 --- a/validphys2/src/validphys/config.py +++ b/validphys2/src/validphys/config.py @@ -1389,7 +1389,7 @@ def load_default_default_filter_settings(self, spec): def parse_filter_defaults(self, filter_defaults: (dict, type(None))): """A mapping containing the default kinematic limits to be used when filtering data (when using internal cuts). - Currently these limits are ``q2min``, and ``w2min``. + Currently these limits are ``q2min`` and ``w2min``. """ log.warning("Overwriting filter defaults") return filter_defaults @@ -1404,7 +1404,7 @@ def produce_defaults( default_filter_settings_recorded_spec_=None, ): """Produce default values for filters taking into account the - values of ``q2min``,``w2min`` and ``maxTau`` defined at namespace + values of ``q2min``, ``w2min`` and ``maxTau`` defined at namespace level and those inside a ``filter_defaults`` mapping. """ from validphys.filters import default_filter_settings_input @@ -1416,6 +1416,7 @@ def produce_defaults( raise ConfigError("q2min defined multiple times with different values") if w2min is not None and "w2min" in filter_defaults and w2min != filter_defaults["w2min"]: raise ConfigError("w2min defined multiple times with different values") + if ( maxTau is not None and "maxTau" in filter_defaults From 007198ab250374580fc00a84671656ebabae6b83 Mon Sep 17 00:00:00 2001 From: RoyStegeman Date: Wed, 15 Nov 2023 15:13:00 +0000 Subject: [PATCH 38/42] move n3lo theories 439->722 in theoryDB --- nnpdfcpp/data/theory.db | Bin 143360 -> 143360 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/nnpdfcpp/data/theory.db b/nnpdfcpp/data/theory.db index fde72d6c0b17cc4cc48fb5279863b6d0686adb56..855fc2d13f075e0a4007e2419ec287f6fec1a32b 100644 GIT binary patch delta 2445 zcmY+G`*Raj6vuP!ZZ^A3ve~w@g+4=(N&q2S3YHmg5EM#jX@ZuAfT9R04{cE@@@lg| z92G~({;-bv1CBp1>WsEVtdCL3UtkdtP-p|lqflt6T9lU7bMH+ybtdOz_VYdW+hr=-;VSxY6=BYCfPTSPs#V7D?ba*%Vj>f`Tohuf1O_8C%^k@&Y zfu9VijrmbG2IU%!=*Jn`(2q4XpwBZ_qR%mwpwBiQLZ4-nq90?FpwBeMq0caA2k8dw zREum!?~A;EUX83l?~T-;_eAEScSmNSPm4@JuSAN_%aIK9u0X_zf8q{w&dungC(#v# z(G@K~=cmoa2hbJAZWU!~N5l~L+r+~F+7ahG>VlxPIsGu=J0fbJ9TkCSF{y9Z_pun) zVqynqF=zV-KDFS}Vfu6sozyh!i-~pgaovbd@WAAlD>wmS%c|ypFx{AIo;X|*d$)9( zcRcp&b%Y%1aql~xRqlz(ZTSb+n^LWFyl|6z3$Hsu&Gpj+LpRKiF5mB5D=Xw&tTn6v zRGQ(10YZK^Tf=wF_+u(8=HNF9eC1R9LH-LEL8F38XIX5;aupVFaE5{1D^ys>!D$9s zR;utQ2fwmxW&g|e2$xQ=*oH+aEa2c520pD&VLk^Z5e%ALi@oqL2S3vYOLGz>_I7mx zp{wL|R5;Xj?*Y$B_kBvA{Jm?x6n5qdSIL*K$MSbTK+ug1W;ldX9bm2NE`Vr#auM9{ zEXRMRaOWk&>nR3eT_9xGtIteUK{uY^@qgO!p2WNYSl*|(*l&y0o~xK_9mltA>?utp zd@9jXtBVX1UAK0ghB88W?N}@S2Buic=YEUf>K;&G4JS7#@!>Kh7K^UbYA*F8r3aI} z1&t@Tbc5yT?gh7q@vAtzPN9gYW?DCUp*Y>I^vK`1_DLZuR4?)|jihkX9mHEX z9=5SU%TM!c;mW;~G9#gE=E{(*SowpPY7@tUDI6LC+3N3x$%NcxbniXz!Sj6e{-s32 z>Xh1NLN}h{+CMCsZK|FTkVV`I8@X~Psd%ivx*#LJ(xD#nzU8TP`;{B=*Dga^>dY0c z;6B~!sBEsEL=3F1N_ch0vbJ=iOKgUF*?&D&0Hk58W z&W1!Tqc&(YoW|JVTK-!7gQ3sPV8UfQ=n^CGvq-|6T%^P|i>FIu3~}iK3$8qe!8M%3 z8EHI^WGN?ItU0YE|ItOL=29mM?(U+eS~sdVJWruZ=fPH=k7Vc0r7z2Uo*K7X`AI(H zs+IiWb>VaJ8q962F94TO9(4x@m?z36uv4DjmYzja5cFu8)tX5Hf{-Ve(+^#<4rY=< zsXVHT4$h^)8h~sbn_VK&mqdt*n zJPKy}dfq}yWC=zc{Ai5B`ti?=)sH7w0`(Z4VZ5dsRk6xZPhv6!EZ?CeMbCZf?BiiB2(Mn8&vG8b~uQG(0kM?zW)FM?7V*f delta 2332 zcmYk7d2kbT6vy}NW;Yv>G%3{rJyXC!pg@+RzzAC94@D?#0SAynZbU$uDu)BpCYx~> z6oJC%?+*_ci=vD`W2P*JLaBX;S4W6fp?+gUFfSzl=;h@iAHCC9eQr{`0tW^qY>Rq zsnXC%lJa6{r~$JQHP;NI=9u$QHFFB8YL=in%+aV$b1n^aYGh09bErjL5uz1)2t6v$60&C+kcwFx0YLaxR zSkezU*J+c~T;+;vfhiR;BLsztVNPMuFfXA&q`tHlJhEx9_$$y?or&3x3jX9A@UaUu z&`*YXLH5kW!X{H;M{MRBQ4k1;-yrU85*ZJRfb<0zFp=0hf<3ShSsAgn1*=?ytd!Ux zk$7llVjK}Q9`J`|C9PH=#Cn_-Y)D{)FQ=_!DY9f2zf& z?Xo|iZEnY>2tJjAzeb&n_E1Nzg`RRKp_O*{>QuQkH^4{CE8Q=p9PvKwdC(njUD5a9 zk&aipE9c}|Sjz(C5L80ue5&*dUTGVkj{q9Aa^}!#aCy8sRfu`4lp39)Ylt6YWbQDWcN%wgdAEbAFCWcXU- zyk*oMp;P*bTiRIG8jN2=>`TE)*MgfhY@|zj!iJrj3YiPY{kUy`LUyeRdZy;NuIUG` zX=Q4*a#^l}C<{bj02nM%O&9d?PQ3oWu5Sa4y|o1f$Z*Lfu8~+UpSQJ?_@Z#!Yl04I zY=&W}JFw%8F)Xd@c|KIA(FAm^XCsU1f0X7$J# zck5-foH4BgNA04VfGTNRbvTIEGL}Y*w z+MJcV2)Z1T2wov)(R;(JBL1t*Wy4_2dm%kzl$5gH8}r=lR$RyQ_0Gv!j^nJdTMol0 zE3X!^K`~+jS=CI)=Pw*two3M4smh4h0CrCtUmh~Bqx&I^H7B4IT?;y0rKD?r;R+o| z*EZssr+JUv=cA{{X}n(zXBq From 661050124a77341abf4519f48be44365e230b73a Mon Sep 17 00:00:00 2001 From: RoyStegeman Date: Wed, 15 Nov 2023 15:26:41 +0000 Subject: [PATCH 39/42] put theories 792 and 793 in correct place in theoryDB --- nnpdfcpp/data/theory.db | Bin 143360 -> 143360 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/nnpdfcpp/data/theory.db b/nnpdfcpp/data/theory.db index 855fc2d13f075e0a4007e2419ec287f6fec1a32b..fcf7b6ef64987b7d2ef9621b859195a9a8a3a17e 100644 GIT binary patch delta 730 zcmXw%%WD%+6o=>B%qy8m<|b{^yxL4F2BI!P1yR9QN>|dFE($6t1#uxRYz0veP3Fdx zs|*OUDipeKA&BXajG{K#xc5)U%8e*0?!?63ptJbCd(OEJhB>D-(pw|FQ%vtjl62@l zgjI8o9jBe{=1YqfeUqQInhR|Mbz3yyvbYD&i(9ZNF2jnr2+QIutcfL97Zo@z@^C^V zVMBy3o6dbW>D-1>&NbL_F2UTX!)fOPoN@~7o#(lLjM%F^MMSM@$#C~m34sepye6=yLdJ6kp?r)K5m+De#kbGut7 zrW9hI**-my>h88Ji<6@14VS6n@#iE5`yYr?&~oW%s$|kic=?fe&S3G6dPlpeR^*?t zK67ZLyM35~GhKQWi`Ck?_v0p2gRcjqkt}L$?O*<&LpsHl+Nw9W61|`6kwK(*&FfKR ztxpLe*;~&=m3BZGqL??XM3v#2u)@3xT{;r{c}r;`@oYPDlz^fP*v$J3j@c!3@ZPSx^Ky W5YAQsl)#)MF^L7P&F)%mL-`Aa9F^Mu delta 731 zcmXYvO=}ZT6o%*A-1$gmlDX+e+UBE~wonYZNUMkn5wWk1mx$M_h87#g>gcFPrd)d<+lE`*1-GVVg7 z^H6yP@>JVc1sV^3mvf@S>*PgzgGhArD@s)ok?zrn+u?%5XHHCn#{RMUp7%t^_eg|# z_XO1zstr}GLdMFm8}cPpHcs$VWnRbFBd<8CWp>lAodw%V{-oUS}d-(=y%k3un%@lV7bhbHVWVkHjW>Mz!tb5=GaD zZ6*@aEi2f)IQd2#5|3V)%qB8}W-ShOES4fNg88>`@F&Uoi0c(b!PL~m|E{X7GOn_3 z=i+S9VOgR?(0dm*en_(sA{Oi{#=)-)Gl|O!Eeg8#;%sT31hJO(?|aHRUWg7|=7_Zh zkMM6;H8Qs7sNB9`H%l0Rq6qRp4SyIEz!1oRK`;RNff{WV2;hPYP^;nqwQebp1Qsv> c2Wk%tFbdRycwh{SYZ}v7)b`jTw_Vr&0$RP1y8r+H From 1d0be9798e69979c6ab9a5eb0817e5bec54e268f Mon Sep 17 00:00:00 2001 From: RoyStegeman Date: Wed, 15 Nov 2023 15:40:44 +0000 Subject: [PATCH 40/42] update n3lo theoryids e.g. 439->722 in --- .../scalevariationtheoryids.yaml | 156 +++++++++--------- 1 file changed, 78 insertions(+), 78 deletions(-) diff --git a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml index 4e3bb7ce3c..6d1af1cff6 100644 --- a/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml +++ b/validphys2/src/validphys/scalevariations/scalevariationtheoryids.yaml @@ -138,86 +138,86 @@ scale_variations_for: (2, 2): 438 # N3LO: MHOU + IHOU - - theoryid: 439 + - theoryid: 722 variations: - (0, 0, 0, 0): 439 # central th - (1, 0, 0, 0): 440 # anomalous dimensions variations - (2, 0, 0, 0): 441 - (3, 0, 0, 0): 442 - (4, 0, 0, 0): 443 - (5, 0, 0, 0): 444 - (6, 0, 0, 0): 445 - (7, 0, 0, 0): 446 - (8, 0, 0, 0): 447 - (9, 0, 0, 0): 448 - (10, 0, 0, 0): 449 - (11, 0, 0, 0): 450 - (12, 0, 0, 0): 451 - (13, 0, 0, 0): 452 - (14, 0, 0, 0): 453 - (15, 0, 0, 0): 454 - (16, 0, 0, 0): 455 - (17, 0, 0, 0): 456 - (18, 0, 0, 0): 457 - (19, 0, 0, 0): 458 - (0, 1, 0, 0): 459 - (0, 2, 0, 0): 460 - (0, 3, 0, 0): 461 - (0, 4, 0, 0): 462 - (0, 5, 0, 0): 463 - (0, 6, 0, 0): 464 - (0, 7, 0, 0): 465 - (0, 8, 0, 0): 466 - (0, 9, 0, 0): 467 - (0, 10, 0, 0): 468 - (0, 11, 0, 0): 469 - (0, 12, 0, 0): 470 - (0, 13, 0, 0): 471 - (0, 14, 0, 0): 472 - (0, 15, 0, 0): 473 - (0, 16, 0, 0): 474 - (0, 17, 0, 0): 475 - (0, 18, 0, 0): 476 - (0, 19, 0, 0): 477 - (0, 20, 0, 0): 478 - (0, 21, 0, 0): 479 - (0, 0, 1, 0): 480 - (0, 0, 2, 0): 481 - (0, 0, 3, 0): 482 - (0, 0, 4, 0): 483 - (0, 0, 5, 0): 484 - (0, 0, 6, 0): 485 - (0, 0, 7, 0): 486 - (0, 0, 8, 0): 487 - (0, 0, 9, 0): 488 - (0, 0, 10, 0): 489 - (0, 0, 11, 0): 490 - (0, 0, 12, 0): 491 - (0, 0, 13, 0): 492 - (0, 0, 14, 0): 493 - (0, 0, 15, 0): 494 - (0, 0, 0, 1): 495 - (0, 0, 0, 2): 496 - (0, 0, 0, 3): 497 - (0, 0, 0, 4): 498 - (0, 0, 0, 5): 499 - (0, 0, 0, 6): 500 - (0.5, 1): 501 # scale variations - (2, 1): 502 - (0.5, 0.5): 503 - (1, 0.5): 504 - (2, 0.5): 505 - (0.5, 2): 506 - (1, 2): 507 - (2, 2): 508 - (-1, -1): 509 # DIS coeff functions fact variations - (1, 1): 510 + (0, 0, 0, 0): 722 # central th + (1, 0, 0, 0): 723 # anomalous dimensions variations + (2, 0, 0, 0): 724 + (3, 0, 0, 0): 725 + (4, 0, 0, 0): 726 + (5, 0, 0, 0): 727 + (6, 0, 0, 0): 728 + (7, 0, 0, 0): 729 + (8, 0, 0, 0): 730 + (9, 0, 0, 0): 731 + (10, 0, 0, 0): 732 + (11, 0, 0, 0): 733 + (12, 0, 0, 0): 734 + (13, 0, 0, 0): 735 + (14, 0, 0, 0): 736 + (15, 0, 0, 0): 737 + (16, 0, 0, 0): 738 + (17, 0, 0, 0): 739 + (18, 0, 0, 0): 740 + (19, 0, 0, 0): 741 + (0, 1, 0, 0): 742 + (0, 2, 0, 0): 743 + (0, 3, 0, 0): 744 + (0, 4, 0, 0): 745 + (0, 5, 0, 0): 746 + (0, 6, 0, 0): 747 + (0, 7, 0, 0): 748 + (0, 8, 0, 0): 749 + (0, 9, 0, 0): 750 + (0, 10, 0, 0): 751 + (0, 11, 0, 0): 752 + (0, 12, 0, 0): 753 + (0, 13, 0, 0): 754 + (0, 14, 0, 0): 755 + (0, 15, 0, 0): 756 + (0, 16, 0, 0): 757 + (0, 17, 0, 0): 758 + (0, 18, 0, 0): 759 + (0, 19, 0, 0): 760 + (0, 20, 0, 0): 761 + (0, 21, 0, 0): 762 + (0, 0, 1, 0): 763 + (0, 0, 2, 0): 764 + (0, 0, 3, 0): 765 + (0, 0, 4, 0): 766 + (0, 0, 5, 0): 767 + (0, 0, 6, 0): 768 + (0, 0, 7, 0): 769 + (0, 0, 8, 0): 770 + (0, 0, 9, 0): 771 + (0, 0, 10, 0): 772 + (0, 0, 11, 0): 773 + (0, 0, 12, 0): 774 + (0, 0, 13, 0): 775 + (0, 0, 14, 0): 776 + (0, 0, 15, 0): 777 + (0, 0, 0, 1): 778 + (0, 0, 0, 2): 779 + (0, 0, 0, 3): 780 + (0, 0, 0, 4): 781 + (0, 0, 0, 5): 782 + (0, 0, 0, 6): 783 + (0.5, 1): 784 # scale variations + (2, 1): 785 + (0.5, 0.5): 786 + (1, 0.5): 787 + (2, 0.5): 788 + (0.5, 2): 789 + (1, 2): 790 + (2, 2): 791 + (-1, -1): 792 # DIS coeff functions fact variations + (1, 1): 793 # IHOU + MHOU missing prescription: see https://github.com/NNPDF/papers/blob/e2ac1832cf4a36dab83a696564eaa75a4e55f5d2/minutes/minutes-2023-08-18.txt#L148-L157 - (1, 0.5 missing): 511 # As 504 but DIS and N3LO DY from 439 - (1, 2 missing): 512 # As 507 but DIS and N3LO DY from 439 - (1, 0.5 hadronic): 513 # As 504 but DIS from 439 - (1, 2 hadronic): 514 # As 507 but DIS from 439 - + (1, 0.5 missing): 794 # As 787 but DIS and N3LO DY from 722 + (1, 2 missing): 795 # As 790 but DIS and N3LO DY from 722 + (1, 0.5 hadronic): 796 # As 787 but DIS from 722 + (1, 2 hadronic): 797 # As 790 but DIS from 722 + - theoryid: 600 variations: (0.5, 0.5): 601 From c901882eb35a4d289c778ce3c764962a6ba746ec Mon Sep 17 00:00:00 2001 From: RoyStegeman Date: Wed, 15 Nov 2023 15:54:04 +0000 Subject: [PATCH 41/42] update description of theories 784 to 797 --- nnpdfcpp/data/theory.db | Bin 143360 -> 143360 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/nnpdfcpp/data/theory.db b/nnpdfcpp/data/theory.db index fcf7b6ef64987b7d2ef9621b859195a9a8a3a17e..4c13bb9fe6e0fa65406fbc26b9ba9e809e4a2403 100644 GIT binary patch delta 654 zcmZp8z|ru4V}dl}yooZ-jPn{3wk9wxdoL5nz_*{bizk#@f%7%THufeqKUOK`XH1(I z>lgwj7V5J!X*ShQK9H=&XgfXk1LK#;7uwj_Gz|1ibqu%Heq?OnlV@AUz{9YCf$svt z2HwRyrQGfu-`Fp5DY165_%TZ`KA%`Pfu+f~nQ`)iS!%3~9GuKT(+fW^3Qv}s{YC(6 z4$v&kCf#OkO(w?47fqBIU8ff?GQCm=PRvbJNGw(`w=h>oDlJiP@eEc-E6UGRFgG%4 zGHT|UTyLv3{lO1Lmg(!6m>%fEm0KFXl_%zc&L~{DWON=i-0m7+asAH(fCB>+`u~43orAe`wZSsCgH8zkc zapuVva_&zS=n&-8Fw!y7Y*J`u1-Tt;gxK^AOiV99MhF6pFw$gTVBi2^2A~P-AbWs; z9>~V@2Bd&nL)TD8*HE)btC?kT;0%z|2TrE1ASpg@I0B8MkTUQ<4^`8LKrnNxVT8-Y@)M?l-|uaKyJ)6CQK&o zYJg2#`~my{gNunWSO^X-BK<&JPtJSJ^B$us8C|IwhI%cMhkB*dD8bD~B*&@kz?rfu zC;UCBDVoBzFN9yw9h`DGrdhCnb+b$#50Wf61fG>G=+mREM61#VLydDBr$E7uI8ioa zM3`ZLHBO0PjZD$t%J^X zc(mf$Llb)(5sCKmDTL=+F9X0Jq*G>^h^{vGr>zo!wlf~_NJKra%lF&Gmi*}5Q8R?6 z#Y@+VW-!g3J7hwJU>jP~TxfQ!pn-iL=mh=$hIInSUL=OI1ZellO}cnSUtTFk9}Yc~ nZ`CP{(&2tk0JS~d?Y Date: Wed, 15 Nov 2023 15:56:27 +0000 Subject: [PATCH 42/42] update description of theories 784 to 797 --- nnpdfcpp/data/theory.db | Bin 143360 -> 143360 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/nnpdfcpp/data/theory.db b/nnpdfcpp/data/theory.db index 4c13bb9fe6e0fa65406fbc26b9ba9e809e4a2403..bf1cae6622d2f1a21fb71ccdf06661d669cb03b1 100644 GIT binary patch delta 122 zcmZp8z|ru4V}dl}{E0HojPn~4wk9wNe4Kp2nPq#)N5*6UFzYrW({UCsYZ)7p3lo_2 rj)O^o5zG?eVp4~&Y`K}VAgpX27;7dklO{y$7$1`og!P7>Nkjnv-K;8D delta 122 zcmZp8z|ru4V}dl}yooZ-jPn{3wk9wNe4KotjeUFhN5%vJFzX&8(-9UhYb6_#BNLeQ rk%LK=5zG?hVp4&y9Jra(A*?(e7;6qMlNv