From 852769ac42a5a2024028b92544aadddc68956847 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 09:10:00 +0200 Subject: [PATCH 01/15] Add preliminary positivity support --- .../NNPDF_POS_Q15_CHARM/positivity.yaml | 15 +++ runcardsrunner/cli/run.py | 5 +- runcardsrunner/external/positivity.py | 97 +++++++++++++++++++ 3 files changed, 116 insertions(+), 1 deletion(-) create mode 100644 nnpdf31_proc/NNPDF_POS_Q15_CHARM/positivity.yaml create mode 100644 runcardsrunner/external/positivity.py diff --git a/nnpdf31_proc/NNPDF_POS_Q15_CHARM/positivity.yaml b/nnpdf31_proc/NNPDF_POS_Q15_CHARM/positivity.yaml new file mode 100644 index 00000000..2d7cac6a --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_Q15_CHARM/positivity.yaml @@ -0,0 +1,15 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: 4 +q: 1.5 +xgrid: + - 0.001 + - 0.002 + - 0.003 + - 0.004 + - 0.005 + - 0.006 + - 0.007 + - 0.008 + - 0.009 + - 0.010 diff --git a/runcardsrunner/cli/run.py b/runcardsrunner/cli/run.py index a3475dd7..50fe07b7 100644 --- a/runcardsrunner/cli/run.py +++ b/runcardsrunner/cli/run.py @@ -7,7 +7,7 @@ import yaml from .. import install, log, table, tools -from ..external import mg5, yad +from ..external import mg5, positivity, yad from ._base import command @@ -64,6 +64,9 @@ def main(dataset, theory, pdf): if yad.is_dis(dataset): rich.print(f"Computing [red]{dataset}[/]...") runner = yad.Yadism(dataset, theory, pdf, timestamp=timestamp) + elif positivity.is_positivity(dataset): + rich.print(f"Computing [yellow]{dataset}[/]...") + runner = positivity.Positivity(dataset, theory, pdf, timestamp=timestamp) else: rich.print(f"Computing [blue]{dataset}[/]...") runner = mg5.Mg5(dataset, theory, pdf, timestamp=timestamp) diff --git a/runcardsrunner/external/positivity.py b/runcardsrunner/external/positivity.py new file mode 100644 index 00000000..49ea2410 --- /dev/null +++ b/runcardsrunner/external/positivity.py @@ -0,0 +1,97 @@ +# -*- coding: utf-8 -*- +import lhapdf +import numpy as np +import pandas as pd +import pineappl +import yaml + +from .. import paths +from . import interface + + +def is_positivity(name): + """ + Is this a positivity dataset? + + The decision is based on the existance of the `positivity.yaml` file. + + Parameters + ---------- + name : str + dataset name + """ + return (paths.runcards / name / "positivity.yaml").exists() + + +class Positivity(interface.External): + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + def run(self): + with open(paths.runcards / self.name / "positivity.yaml") as o: + data = yaml.safe_load(o) + self.xgrid = data['xgrid'] + self.lepton_pid = data['lepton_pid'] + self.pid = data['pid'] + self.q2 = data['q'] * data['q'] + self.hadron_pid = data['hadron_pid'] + + # init pineappl objects + lumi_entries = [pineappl.lumi.LumiEntry([(self.pid, self.lepton_pid, 1.0)])] + orders = [pineappl.grid.Order(0, 0, 0, 0)] + bins = len(self.xgrid) + bin_limits = list(map(float, range(0, bins + 1))) + # subgrid params - default is just sufficient + params = pineappl.subgrid.SubgridParams() + # inti grid + grid = pineappl.grid.Grid.create(lumi_entries, orders, bin_limits, params) + limits = [] + # add each point as a bin + for bin_, x in enumerate(self.xgrid): + # keep DIS bins + limits.append((self.q2, self.q2)) + limits.append((x, x)) + # delta function + array = np.zeros(len(self.xgrid)) + array[bin_] = 1.0 + # create and set + subgrid = pineappl.import_only_subgrid.ImportOnlySubgridV1( + array[np.newaxis, :, np.newaxis], + [self.q2], + self.xgrid, + [1.0], + ) + grid.set_subgrid(0, bin_, 0, subgrid) + # set the correct observables + normalizations = [1.0] * bins + remapper = pineappl.bin.BinRemapper(normalizations, limits) + grid.set_remapper(remapper) + + # set the initial state PDF ids for the grid + grid.set_key_value("initial_state_1", str(self.hadron_pid)) + grid.set_key_value("initial_state_2", str(self.lepton_pid)) + grid.set_key_value( + "runcard", + f"positivity constraint for quark {self.pid}", + ) + grid.set_key_value("lumi_id_types", "pdg_mc_ids") + grid.optimize() + grid.write(str(self.grid)) + + def generate_pineappl(self): + pass + + def results(self): + pdf = lhapdf.mkPDF(self.pdf) + d = { + 'result': [pdf.xfxQ2(self.pid, x, self.q2) / x for x in self.xgrid], + 'error': [0.0] * len(self.xgrid), + 'sv_min': [0.0] * len(self.xgrid), + 'sv_max': [0.0] * len(self.xgrid), + } + results = pd.DataFrame(data=d) + + return results + + def collect_versions(self): + return {} # TODO: does that make sense here? From ecd40ef995b3f2f06257a448a4f5ec7fafe21539 Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Tue, 5 Apr 2022 10:31:24 +0200 Subject: [PATCH 02/15] Factorize external call --- runcardsrunner/cli/run.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/runcardsrunner/cli/run.py b/runcardsrunner/cli/run.py index 50fe07b7..93e7b44a 100644 --- a/runcardsrunner/cli/run.py +++ b/runcardsrunner/cli/run.py @@ -62,14 +62,17 @@ def main(dataset, theory, pdf): rich.print(dataset) if yad.is_dis(dataset): - rich.print(f"Computing [red]{dataset}[/]...") - runner = yad.Yadism(dataset, theory, pdf, timestamp=timestamp) + color = "red" + external = yad.Yadism elif positivity.is_positivity(dataset): - rich.print(f"Computing [yellow]{dataset}[/]...") - runner = positivity.Positivity(dataset, theory, pdf, timestamp=timestamp) + color = "yellow" + external = positivity.Positivity else: - rich.print(f"Computing [blue]{dataset}[/]...") - runner = mg5.Mg5(dataset, theory, pdf, timestamp=timestamp) + color = "blue" + external = mg5.Mg5 + + rich.print(f"Computing [{color}]{dataset}[/]...") + runner = external(dataset, theory, pdf, timestamp=timestamp) install_reqs(runner, pdf) run_dataset(runner) From cadd52ad6b69ed9b6f1088a186cdc1b4dee6fdbf Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 14:32:08 +0200 Subject: [PATCH 03/15] Implement scale variation of positivity grids --- runcardsrunner/external/positivity.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/runcardsrunner/external/positivity.py b/runcardsrunner/external/positivity.py index 49ea2410..35b2754a 100644 --- a/runcardsrunner/external/positivity.py +++ b/runcardsrunner/external/positivity.py @@ -85,9 +85,9 @@ def results(self): pdf = lhapdf.mkPDF(self.pdf) d = { 'result': [pdf.xfxQ2(self.pid, x, self.q2) / x for x in self.xgrid], - 'error': [0.0] * len(self.xgrid), - 'sv_min': [0.0] * len(self.xgrid), - 'sv_max': [0.0] * len(self.xgrid), + 'error': [1e-15] * len(self.xgrid), + 'sv_min': [np.amin([pdf.xfxQ2(self.pid, x, 0.25 * self.q2), pdf.xfxQ2(self.pid, x, self.q2), pdf.xfxQ2(self.pid, x, 4.0 * self.q2)]) / x for x in self.xgrid], + 'sv_max': [np.amax([pdf.xfxQ2(self.pid, x, 0.25 * self.q2), pdf.xfxQ2(self.pid, x, self.q2), pdf.xfxQ2(self.pid, x, 4.0 * self.q2)]) / x for x in self.xgrid], } results = pd.DataFrame(data=d) From 4358511396c0bb0d95f876943395dd0c71b94513 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 14:33:10 +0200 Subject: [PATCH 04/15] Split parts of `run` off to `generate_pineappl` --- runcardsrunner/external/positivity.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/runcardsrunner/external/positivity.py b/runcardsrunner/external/positivity.py index 35b2754a..b40f8932 100644 --- a/runcardsrunner/external/positivity.py +++ b/runcardsrunner/external/positivity.py @@ -29,12 +29,14 @@ def __init__(self, *args, **kwargs): def run(self): with open(paths.runcards / self.name / "positivity.yaml") as o: - data = yaml.safe_load(o) - self.xgrid = data['xgrid'] - self.lepton_pid = data['lepton_pid'] - self.pid = data['pid'] - self.q2 = data['q'] * data['q'] - self.hadron_pid = data['hadron_pid'] + self.runcard = yaml.safe_load(o) + + def generate_pineappl(self): + self.xgrid = self.runcard['xgrid'] + self.lepton_pid = self.runcard['lepton_pid'] + self.pid = self.runcard['pid'] + self.q2 = self.runcard['q'] * self.runcard['q'] + self.hadron_pid = self.runcard['hadron_pid'] # init pineappl objects lumi_entries = [pineappl.lumi.LumiEntry([(self.pid, self.lepton_pid, 1.0)])] @@ -78,8 +80,6 @@ def run(self): grid.optimize() grid.write(str(self.grid)) - def generate_pineappl(self): - pass def results(self): pdf = lhapdf.mkPDF(self.pdf) From 2b9de22aa3db7cf4c413fb4d41f82dbdabdaf5bb Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 14:34:02 +0200 Subject: [PATCH 05/15] Write JSON runcard into metadata --- runcardsrunner/external/positivity.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/runcardsrunner/external/positivity.py b/runcardsrunner/external/positivity.py index b40f8932..f2e2f009 100644 --- a/runcardsrunner/external/positivity.py +++ b/runcardsrunner/external/positivity.py @@ -1,4 +1,6 @@ # -*- coding: utf-8 -*- +import json + import lhapdf import numpy as np import pandas as pd @@ -72,10 +74,7 @@ def generate_pineappl(self): # set the initial state PDF ids for the grid grid.set_key_value("initial_state_1", str(self.hadron_pid)) grid.set_key_value("initial_state_2", str(self.lepton_pid)) - grid.set_key_value( - "runcard", - f"positivity constraint for quark {self.pid}", - ) + grid.set_key_value("runcard", json.dumps(self.runcard)) grid.set_key_value("lumi_id_types", "pdg_mc_ids") grid.optimize() grid.write(str(self.grid)) From 27d096c1bd4947695f73e0c4fb8edbbbdb977140 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 14:35:37 +0200 Subject: [PATCH 06/15] Remove TODO item --- runcardsrunner/external/positivity.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runcardsrunner/external/positivity.py b/runcardsrunner/external/positivity.py index f2e2f009..f989522d 100644 --- a/runcardsrunner/external/positivity.py +++ b/runcardsrunner/external/positivity.py @@ -93,4 +93,4 @@ def results(self): return results def collect_versions(self): - return {} # TODO: does that make sense here? + return {} From b7ca837275cf22e533b14094693c71b698df9a3b Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 14:35:51 +0200 Subject: [PATCH 07/15] Make uncertainties always positive --- runcardsrunner/table.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runcardsrunner/table.py b/runcardsrunner/table.py index 3a279d24..3a988727 100644 --- a/runcardsrunner/table.py +++ b/runcardsrunner/table.py @@ -65,7 +65,7 @@ def print_table(pineappl_results, external_results, dest): comparison["PineAPPL"] = pineappl_results["integ"] comparison["MC"] = external_results["result"] comparison["sigma 1/100"] = ( - external_results["error"] / external_results["result"] * 1e2 + external_results["error"] / abs(external_results["result"]) * 1e2 ) # ratios From 965b495749f6d3dc4040b31ff55508042a5fad52 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 16:26:54 +0200 Subject: [PATCH 08/15] Rename positivity dataset --- .../{NNPDF_POS_Q15_CHARM => NNPDF_POS_UP}/positivity.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename nnpdf31_proc/{NNPDF_POS_Q15_CHARM => NNPDF_POS_UP}/positivity.yaml (95%) diff --git a/nnpdf31_proc/NNPDF_POS_Q15_CHARM/positivity.yaml b/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml similarity index 95% rename from nnpdf31_proc/NNPDF_POS_Q15_CHARM/positivity.yaml rename to nnpdf31_proc/NNPDF_POS_UP/positivity.yaml index 2d7cac6a..f336393a 100644 --- a/nnpdf31_proc/NNPDF_POS_Q15_CHARM/positivity.yaml +++ b/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml @@ -1,6 +1,6 @@ hadron_pid: 2212 lepton_pid: 11 -pid: 4 +pid: 2 q: 1.5 xgrid: - 0.001 From 90afd12cbf9cd09bbd6da3fff837e21767490b8e Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 16:27:53 +0200 Subject: [PATCH 09/15] Store q2 instead of q --- nnpdf31_proc/NNPDF_POS_UP/positivity.yaml | 2 +- runcardsrunner/external/positivity.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml b/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml index f336393a..f41d61cf 100644 --- a/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml +++ b/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml @@ -1,7 +1,7 @@ hadron_pid: 2212 lepton_pid: 11 pid: 2 -q: 1.5 +q2: 2.25 xgrid: - 0.001 - 0.002 diff --git a/runcardsrunner/external/positivity.py b/runcardsrunner/external/positivity.py index f989522d..5e3d75d1 100644 --- a/runcardsrunner/external/positivity.py +++ b/runcardsrunner/external/positivity.py @@ -37,7 +37,7 @@ def generate_pineappl(self): self.xgrid = self.runcard['xgrid'] self.lepton_pid = self.runcard['lepton_pid'] self.pid = self.runcard['pid'] - self.q2 = self.runcard['q'] * self.runcard['q'] + self.q2 = self.runcard['q2'] self.hadron_pid = self.runcard['hadron_pid'] # init pineappl objects From 0c8a5431d97e507c5c467167d9d1060770eb97e7 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 17:13:41 +0200 Subject: [PATCH 10/15] Try to reproduce up-quark positivity grid --- nnpdf31_proc/NNPDF_POS_UP/positivity.yaml | 15 ------------ nnpdf31_proc/NNPDF_POS_UP_40/positivity.yaml | 25 ++++++++++++++++++++ 2 files changed, 25 insertions(+), 15 deletions(-) delete mode 100644 nnpdf31_proc/NNPDF_POS_UP/positivity.yaml create mode 100644 nnpdf31_proc/NNPDF_POS_UP_40/positivity.yaml diff --git a/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml b/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml deleted file mode 100644 index f41d61cf..00000000 --- a/nnpdf31_proc/NNPDF_POS_UP/positivity.yaml +++ /dev/null @@ -1,15 +0,0 @@ -hadron_pid: 2212 -lepton_pid: 11 -pid: 2 -q2: 2.25 -xgrid: - - 0.001 - - 0.002 - - 0.003 - - 0.004 - - 0.005 - - 0.006 - - 0.007 - - 0.008 - - 0.009 - - 0.010 diff --git a/nnpdf31_proc/NNPDF_POS_UP_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_UP_40/positivity.yaml new file mode 100644 index 00000000..e5646a9e --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_UP_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: 2 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 From 0011ad130ae242b09e14a9b85c97fd087841d152 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 17:31:52 +0200 Subject: [PATCH 11/15] Add missing metadata for up quark positivity --- nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt diff --git a/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt new file mode 100644 index 00000000..c11b536a --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt @@ -0,0 +1,9 @@ +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= From d2aabc0e5f15bdc98f0a3d43f0f1ea0a01a9b461 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Tue, 5 Apr 2022 17:32:20 +0200 Subject: [PATCH 12/15] Store xf(x) instead of just f(x) in the positivity --- runcardsrunner/external/positivity.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/runcardsrunner/external/positivity.py b/runcardsrunner/external/positivity.py index 5e3d75d1..985ae79e 100644 --- a/runcardsrunner/external/positivity.py +++ b/runcardsrunner/external/positivity.py @@ -57,7 +57,7 @@ def generate_pineappl(self): limits.append((x, x)) # delta function array = np.zeros(len(self.xgrid)) - array[bin_] = 1.0 + array[bin_] = x # create and set subgrid = pineappl.import_only_subgrid.ImportOnlySubgridV1( array[np.newaxis, :, np.newaxis], @@ -83,10 +83,10 @@ def generate_pineappl(self): def results(self): pdf = lhapdf.mkPDF(self.pdf) d = { - 'result': [pdf.xfxQ2(self.pid, x, self.q2) / x for x in self.xgrid], + 'result': [pdf.xfxQ2(self.pid, x, self.q2) for x in self.xgrid], 'error': [1e-15] * len(self.xgrid), - 'sv_min': [np.amin([pdf.xfxQ2(self.pid, x, 0.25 * self.q2), pdf.xfxQ2(self.pid, x, self.q2), pdf.xfxQ2(self.pid, x, 4.0 * self.q2)]) / x for x in self.xgrid], - 'sv_max': [np.amax([pdf.xfxQ2(self.pid, x, 0.25 * self.q2), pdf.xfxQ2(self.pid, x, self.q2), pdf.xfxQ2(self.pid, x, 4.0 * self.q2)]) / x for x in self.xgrid], + 'sv_min': [np.amin([pdf.xfxQ2(self.pid, x, 0.25 * self.q2), pdf.xfxQ2(self.pid, x, self.q2), pdf.xfxQ2(self.pid, x, 4.0 * self.q2)]) for x in self.xgrid], + 'sv_max': [np.amax([pdf.xfxQ2(self.pid, x, 0.25 * self.q2), pdf.xfxQ2(self.pid, x, self.q2), pdf.xfxQ2(self.pid, x, 4.0 * self.q2)]) for x in self.xgrid], } results = pd.DataFrame(data=d) From e0fb8c59221d698f7aaa6c8f3002f1860b8a3a92 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Thu, 14 Apr 2022 14:28:38 +0200 Subject: [PATCH 13/15] Add missing metadata --- nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt index c11b536a..fc45b8f2 100644 --- a/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt @@ -1,3 +1,4 @@ +description=Up-quark positivity x1_label=Q2 x1_label_tex=$Q^2$ x1_unit= From 7d0bf2f065dd64e4e66118ea57eaa8542bccc809 Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Thu, 14 Apr 2022 15:05:30 +0200 Subject: [PATCH 14/15] Add missing positivity runcards --- .../NNPDF_POS_ANTI_DOWN_40/metadata.txt | 10 ++++++++ .../NNPDF_POS_ANTI_DOWN_40/positivity.yaml | 25 +++++++++++++++++++ .../NNPDF_POS_ANTI_STRANGE_40/metadata.txt | 10 ++++++++ .../NNPDF_POS_ANTI_STRANGE_40/positivity.yaml | 25 +++++++++++++++++++ .../NNPDF_POS_ANTI_UP_40/metadata.txt | 10 ++++++++ .../NNPDF_POS_ANTI_UP_40/positivity.yaml | 25 +++++++++++++++++++ nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt | 10 ++++++++ .../NNPDF_POS_CHARM_40/positivity.yaml | 25 +++++++++++++++++++ nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt | 10 ++++++++ .../NNPDF_POS_DOWN_40/positivity.yaml | 25 +++++++++++++++++++ nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt | 10 ++++++++ .../NNPDF_POS_GLUON_40/positivity.yaml | 25 +++++++++++++++++++ .../NNPDF_POS_STRANGE_40/metadata.txt | 10 ++++++++ .../NNPDF_POS_STRANGE_40/positivity.yaml | 25 +++++++++++++++++++ 14 files changed, 245 insertions(+) create mode 100644 nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt create mode 100644 nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/positivity.yaml create mode 100644 nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt create mode 100644 nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/positivity.yaml create mode 100644 nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt create mode 100644 nnpdf31_proc/NNPDF_POS_ANTI_UP_40/positivity.yaml create mode 100644 nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt create mode 100644 nnpdf31_proc/NNPDF_POS_CHARM_40/positivity.yaml create mode 100644 nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt create mode 100644 nnpdf31_proc/NNPDF_POS_DOWN_40/positivity.yaml create mode 100644 nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt create mode 100644 nnpdf31_proc/NNPDF_POS_GLUON_40/positivity.yaml create mode 100644 nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt create mode 100644 nnpdf31_proc/NNPDF_POS_STRANGE_40/positivity.yaml diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt new file mode 100644 index 00000000..49de3155 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt @@ -0,0 +1,10 @@ +description=Anti-down quark positivity +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/positivity.yaml new file mode 100644 index 00000000..9cab05d8 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: -1 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt new file mode 100644 index 00000000..06d2d92f --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt @@ -0,0 +1,10 @@ +description=Anti-strange quark positivity +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/positivity.yaml new file mode 100644 index 00000000..b43cdd24 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: -3 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt new file mode 100644 index 00000000..5017f6aa --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt @@ -0,0 +1,10 @@ +description=Anti-up quark positivity +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/positivity.yaml new file mode 100644 index 00000000..afd7be39 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: -2 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 diff --git a/nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt new file mode 100644 index 00000000..d1993749 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt @@ -0,0 +1,10 @@ +description=Charm quark positivity +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= diff --git a/nnpdf31_proc/NNPDF_POS_CHARM_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_CHARM_40/positivity.yaml new file mode 100644 index 00000000..fdee4a31 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_CHARM_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: 4 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 diff --git a/nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt new file mode 100644 index 00000000..2942648b --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt @@ -0,0 +1,10 @@ +description=Down quark positivity +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= diff --git a/nnpdf31_proc/NNPDF_POS_DOWN_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_DOWN_40/positivity.yaml new file mode 100644 index 00000000..3d8901c7 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_DOWN_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: 1 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 diff --git a/nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt new file mode 100644 index 00000000..6b5980a7 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt @@ -0,0 +1,10 @@ +description=Gluon positivity +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= diff --git a/nnpdf31_proc/NNPDF_POS_GLUON_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_GLUON_40/positivity.yaml new file mode 100644 index 00000000..e2316324 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_GLUON_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: 21 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 diff --git a/nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt new file mode 100644 index 00000000..d5bbc0f2 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt @@ -0,0 +1,10 @@ +description=Strange quark positivity +x1_label=Q2 +x1_label_tex=$Q^2$ +x1_unit= +x2_label=x +x2_label_tex=$x$ +x2_unit= +y_label=xfx +y_label_tex=$xf(x)$ +y_unit= diff --git a/nnpdf31_proc/NNPDF_POS_STRANGE_40/positivity.yaml b/nnpdf31_proc/NNPDF_POS_STRANGE_40/positivity.yaml new file mode 100644 index 00000000..d42357a8 --- /dev/null +++ b/nnpdf31_proc/NNPDF_POS_STRANGE_40/positivity.yaml @@ -0,0 +1,25 @@ +hadron_pid: 2212 +lepton_pid: 11 +pid: 3 +q2: 5.0 +xgrid: + - 4.9999999999999998e-07 + - 1.9407667236782136e-06 + - 7.5331509514733370e-06 + - 2.9240177382128657e-05 + - 1.1349672651536727e-04 + - 4.4054134013486355e-04 + - 1.7099759466766963e-03 + - 6.6373288312005724e-03 + - 2.5763013859408150e-02 + - 1.0000000000000001e-01 + - 1.7999999999999999e-01 + - 2.6000000000000001e-01 + - 3.3999999999999997e-01 + - 4.2000000000000004e-01 + - 5.0000000000000000e-01 + - 5.7999999999999996e-01 + - 6.6000000000000003e-01 + - 7.3999999999999999e-01 + - 8.1999999999999995e-01 + - 9.0000000000000002e-01 From bf19aa0aa174e723e7c4aa33476cbe760ae14c7a Mon Sep 17 00:00:00 2001 From: Christopher Schwan Date: Thu, 14 Apr 2022 15:24:17 +0200 Subject: [PATCH 15/15] Correct units of Q^2 --- nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt | 2 +- nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt | 2 +- nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt | 2 +- nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt | 2 +- nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt | 2 +- nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt | 2 +- nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt | 2 +- nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt index 49de3155..d2058577 100644 --- a/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_ANTI_DOWN_40/metadata.txt @@ -1,7 +1,7 @@ description=Anti-down quark positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit= diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt index 06d2d92f..f6fd0349 100644 --- a/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_ANTI_STRANGE_40/metadata.txt @@ -1,7 +1,7 @@ description=Anti-strange quark positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit= diff --git a/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt index 5017f6aa..b30bff90 100644 --- a/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_ANTI_UP_40/metadata.txt @@ -1,7 +1,7 @@ description=Anti-up quark positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit= diff --git a/nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt index d1993749..d09c5f93 100644 --- a/nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_CHARM_40/metadata.txt @@ -1,7 +1,7 @@ description=Charm quark positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit= diff --git a/nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt index 2942648b..173d291e 100644 --- a/nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_DOWN_40/metadata.txt @@ -1,7 +1,7 @@ description=Down quark positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit= diff --git a/nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt index 6b5980a7..49a0dc72 100644 --- a/nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_GLUON_40/metadata.txt @@ -1,7 +1,7 @@ description=Gluon positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit= diff --git a/nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt index d5bbc0f2..8128fd74 100644 --- a/nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_STRANGE_40/metadata.txt @@ -1,7 +1,7 @@ description=Strange quark positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit= diff --git a/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt b/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt index fc45b8f2..64bdc173 100644 --- a/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt +++ b/nnpdf31_proc/NNPDF_POS_UP_40/metadata.txt @@ -1,7 +1,7 @@ description=Up-quark positivity x1_label=Q2 x1_label_tex=$Q^2$ -x1_unit= +x1_unit=GeV^2 x2_label=x x2_label_tex=$x$ x2_unit=