From 7eed199a4345fac94222de9bb774492520390724 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 9 Mar 2022 18:08:50 +0100 Subject: [PATCH 001/212] Starting substitution of apfel with eko in evolven3fit --- n3fit/{ => src}/evolven3fit/CMakeLists.txt | 0 n3fit/src/evolven3fit/__init__.py | 1 + n3fit/src/evolven3fit/evolven3fit_API.py | 66 +++++++++++++++++++ n3fit/src/evolven3fit/evolven3fit_cli.py | 24 +++++++ .../evolven3fit/evolven3fit_old.cc} | 0 n3fit/src/evolven3fit/utils.py | 44 +++++++++++++ n3fit/{ => src}/evolven3fit/varflavors.py | 0 n3fit/{ => src}/evolven3fit/version.h | 0 8 files changed, 135 insertions(+) rename n3fit/{ => src}/evolven3fit/CMakeLists.txt (100%) create mode 100644 n3fit/src/evolven3fit/__init__.py create mode 100644 n3fit/src/evolven3fit/evolven3fit_API.py create mode 100644 n3fit/src/evolven3fit/evolven3fit_cli.py rename n3fit/{evolven3fit/evolven3fit.cc => src/evolven3fit/evolven3fit_old.cc} (100%) create mode 100644 n3fit/src/evolven3fit/utils.py rename n3fit/{ => src}/evolven3fit/varflavors.py (100%) rename n3fit/{ => src}/evolven3fit/version.h (100%) diff --git a/n3fit/evolven3fit/CMakeLists.txt b/n3fit/src/evolven3fit/CMakeLists.txt similarity index 100% rename from n3fit/evolven3fit/CMakeLists.txt rename to n3fit/src/evolven3fit/CMakeLists.txt diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py new file mode 100644 index 0000000000..7258c84983 --- /dev/null +++ b/n3fit/src/evolven3fit/__init__.py @@ -0,0 +1 @@ +from . import evolven3fit_API \ No newline at end of file diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py new file mode 100644 index 0000000000..bf17f24245 --- /dev/null +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -0,0 +1,66 @@ + + +from ekobox import evol_pdf, gen_theory, gen_op, genpdf +import pathlib +import numpy as np +import yaml +from . import utils +from validphys.loader import Loader + + +def load_fit(conf_folder, num_replica): + """ + Loads a replica pdf at fitting scale in conf_folder and return a lhapdf-like object + + Parameters + ---------- + + conf_folder: str + path to the folder containing the fit + num_replicas: int + number of replica pdf + + Returns + ------- + + : lhapdf-like + lhapdf-like object + """ + nnfitpath = pathlib.Path(conf_folder + "/nnfit") + rep_path = pathlib.Path("/replica_" + str(num_replica) + "/" + conf_folder + ".exportgrid") + yaml_file = nnfitpath/rep_path.relative_to(rep_path.anchor) + with yaml_file.open() as fp: + data = yaml.safe_load(fp) + pdf_grid = np.array(data["pdfgrid"]).transpose() + x_grid = np.array(data["xgrid"]).astype(np.float) + my_pdf = utils.lhapdf_like(pdf_grid,data["q20"],x_grid) + return my_pdf + +def evolve_fit(conf_folder, max_replicas): + """ + Evolves num_replicas replica pdfs at fitting scale in conf_folder and dump lhapdf pdfs + + Parameters + ---------- + conf_folder: str + path to the folder containing the fit + num_replicas: int + number of replica pdfs + """ + initial_PDFs_list = [] + for rep in range(2,max_replicas+1): + initial_PDFs_list.append(load_fit(conf_folder, rep)) + #read the runcard + my_runcard = utils.read_runcard(conf_folder) + #theory_card construction + theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() + del theory["FNS"] + #theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) + theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) + #construct operator card + q2_grid = utils.generate_q2grid(theory["Q0"]) + op_card = gen_op.gen_op_card(q2_grid) #Change also x-grid according to pdf one? + #generate eko operator (temporary because it will be loaded from theory) + evol_pdf.gen_out(theory_card,op_card,path = conf_folder) + #evolve and dump + evol_pdf.evolve_pdfs(initial_PDFs_list, theory_card, op_card,path = conf_folder, name = "Evolved_fit", info_update={"SetDesc": my_runcard["description"], "OrderQCD":theory["PTO"] } ) #name to be changed and also info diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py new file mode 100644 index 0000000000..56e5f59b77 --- /dev/null +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -0,0 +1,24 @@ +""" +This module contains the CLI for evolven3fit +""" + +import click + +from . import evolven3fit_API +@click.group() +def cli(): + pass + + +@cli.command("evolven3fit") +@click.argument("configuration_folder", nargs=1) +@click.argument("max_replicas", nargs=1) +def cli_evolven3fit(configuration_folder, max_replicas): + """Evolves the fitted PDFs""" + return evolven3fit_API.evolve_fit(configuration_folder,max_replicas) + + + + + + diff --git a/n3fit/evolven3fit/evolven3fit.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc similarity index 100% rename from n3fit/evolven3fit/evolven3fit.cc rename to n3fit/src/evolven3fit/evolven3fit_old.cc diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py new file mode 100644 index 0000000000..678572d7a9 --- /dev/null +++ b/n3fit/src/evolven3fit/utils.py @@ -0,0 +1,44 @@ +from scipy.interpolate import interp1d +import numpy as np +import math +import pathlib +import yaml + +class lhapdf_like(): + pids_dict = {-6:'TBAR', -5:'BBAR', -4:'CBAR', -3:'SBAR', -2:'UBAR', -1:'DBAR', 21:'GLUON', 1:'D', 2:'U', 3:'S', 4:'C', 5:'B', 6:'T', 22:'PHT' } + pids_order = ['TBAR', 'BBAR', 'CBAR', 'SBAR', 'UBAR', 'DBAR', 'GLUON', 'D', 'U', 'S', 'C', 'B', 'T', 'PHT' ] + def __init__(self, pdf_grid, q20, x_grid): + self.pdf_grid = pdf_grid + self.q20 = q20 + self.x_grid = x_grid + self.funcs = [interp1d(self.x_grid, self.pdf_grid[pid]) for pid in range(len(self.pids_order))] + def xfxQ2(self, pid, x, q2 ): + if not math.isclose(q2,self.q20,rel_tol = 1e-6): + raise ValueError("The q2 requested is not the fitting scale of this pdf") + return x*(self.funcs[self.pids_order.index(self.pids_dict[pid])](x)) + def hasFlavor(self,pid): + if pid in self.pids_dict.keys(): + return True + return False + + +def read_runcard(conf_folder): + """ + reads the runcard and returns the relevant information for evolven3fit + """ + runcard_path = pathlib.Path(conf_folder + "/filter.yml") + with runcard_path.open() as fp: + data = yaml.safe_load(fp) + return data + +def generate_q2grid(Q0): + """ + Generate the q2grid used in the final evolved pdfs (Temporary solution) + """ + Qfin = 1.e5 + #grid = np.geomspace(Q0**2,Qfin**2, num = 100) + #for testing + grid = np.array([100.]) + return grid + + diff --git a/n3fit/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py similarity index 100% rename from n3fit/evolven3fit/varflavors.py rename to n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/evolven3fit/version.h b/n3fit/src/evolven3fit/version.h similarity index 100% rename from n3fit/evolven3fit/version.h rename to n3fit/src/evolven3fit/version.h From f16c3c7aab1c8449e725f43ecaef08e790dd6c0d Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 9 Mar 2022 18:11:29 +0100 Subject: [PATCH 002/212] Fixing --- n3fit/src/evolven3fit/evolven3fit_API.py | 5 +++-- n3fit/src/evolven3fit/utils.py | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index bf17f24245..5f9280cefe 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -55,8 +55,9 @@ def evolve_fit(conf_folder, max_replicas): #theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() del theory["FNS"] - #theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) - theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) + theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) + #for testing + #theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) #construct operator card q2_grid = utils.generate_q2grid(theory["Q0"]) op_card = gen_op.gen_op_card(q2_grid) #Change also x-grid according to pdf one? diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 678572d7a9..f5e38d616f 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -36,9 +36,9 @@ def generate_q2grid(Q0): Generate the q2grid used in the final evolved pdfs (Temporary solution) """ Qfin = 1.e5 - #grid = np.geomspace(Q0**2,Qfin**2, num = 100) + grid = np.geomspace(Q0**2,Qfin**2, num = 100) #for testing - grid = np.array([100.]) + #grid = np.array([100.]) return grid From a393c475e91f89482b6cd9cafe24262e67dfe470 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 10 Mar 2022 14:00:35 +0100 Subject: [PATCH 003/212] Separated function to evolve exportgrid --- n3fit/src/evolven3fit/evolven3fit_API.py | 149 ++++++++++++++++------- n3fit/src/evolven3fit/evolven3fit_cli.py | 15 +-- n3fit/src/evolven3fit/utils.py | 67 +++++++--- 3 files changed, 163 insertions(+), 68 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 5f9280cefe..23594831ef 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,67 +1,134 @@ - - -from ekobox import evol_pdf, gen_theory, gen_op, genpdf -import pathlib +from ekobox import evol_pdf, gen_theory, gen_op, genpdf, gen_info +import pathlib import numpy as np import yaml from . import utils from validphys.loader import Loader +import os +from ekomark import apply +from eko import basis_rotation as br + + +def evolve_fit(conf_folder): + """ + Evolves all the fitted replica in conf_folder/nnfit + """ + initial_PDFs_dict = load_fit(conf_folder) + eko, theory, op = construct_eko_for_fit(conf_folder) + for replica in initial_PDFs_dict.keys(): + evolve_exportgrid( + initial_PDFs_dict[replica], + eko, + theory, + op, + int(replica.removeprefix("replica_")), + conf_folder, + ) -def load_fit(conf_folder, num_replica): +def load_fit(conf_folder): """ - Loads a replica pdf at fitting scale in conf_folder and return a lhapdf-like object + Loads all the replica pdfs at fitting scale in conf_folder and return the exportgrids Parameters ---------- conf_folder: str - path to the folder containing the fit - num_replicas: int - number of replica pdf + path to the folder containing the fit Returns ------- - : lhapdf-like - lhapdf-like object + : dict + exportgrids info """ - nnfitpath = pathlib.Path(conf_folder + "/nnfit") - rep_path = pathlib.Path("/replica_" + str(num_replica) + "/" + conf_folder + ".exportgrid") - yaml_file = nnfitpath/rep_path.relative_to(rep_path.anchor) - with yaml_file.open() as fp: - data = yaml.safe_load(fp) - pdf_grid = np.array(data["pdfgrid"]).transpose() - x_grid = np.array(data["xgrid"]).astype(np.float) - my_pdf = utils.lhapdf_like(pdf_grid,data["q20"],x_grid) - return my_pdf + nnfitpath = pathlib.Path(conf_folder) / "nnfit" + replica_list = [] + for subdir, dirs, files in os.walk(nnfitpath): + for dir in dirs: + replica_list.append(dir) + replica_list.remove("input") + pdf_dict = {} + for replica in replica_list: + rep_path = pathlib.Path(replica) / (conf_folder + ".exportgrid") + yaml_file = nnfitpath / rep_path.relative_to(rep_path.anchor) + with yaml_file.open() as fp: + data = yaml.safe_load(fp) + pdf_dict[replica] = data + return pdf_dict -def evolve_fit(conf_folder, max_replicas): + +# Temporary solution. Then it will be loaded from the theory itself +def construct_eko_for_fit(conf_folder): """ - Evolves num_replicas replica pdfs at fitting scale in conf_folder and dump lhapdf pdfs + Construct the eko operator needed for evolution of fitted pdfs Parameters ---------- conf_folder: str - path to the folder containing the fit - num_replicas: int - number of replica pdfs + path to the folder containing the fit """ - initial_PDFs_list = [] - for rep in range(2,max_replicas+1): - initial_PDFs_list.append(load_fit(conf_folder, rep)) - #read the runcard + # read the runcard my_runcard = utils.read_runcard(conf_folder) - #theory_card construction + # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() - del theory["FNS"] - theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) - #for testing - #theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) - #construct operator card - q2_grid = utils.generate_q2grid(theory["Q0"]) - op_card = gen_op.gen_op_card(q2_grid) #Change also x-grid according to pdf one? - #generate eko operator (temporary because it will be loaded from theory) - evol_pdf.gen_out(theory_card,op_card,path = conf_folder) - #evolve and dump - evol_pdf.evolve_pdfs(initial_PDFs_list, theory_card, op_card,path = conf_folder, name = "Evolved_fit", info_update={"SetDesc": my_runcard["description"], "OrderQCD":theory["PTO"] } ) #name to be changed and also info + theory.pop("FNS") + theory_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + + # construct operator card + q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) + op_card = gen_op.gen_op_card(q2_grid) + # generate eko operator (temporary because it will be loaded from theory) + eko = evol_pdf.gen_out(theory_card, op_card) + return eko, theory_card, op_card + # + + +def evolve_exportgrid( + exportgrid, eko, theory_card, operator_card, replica, conf_folder +): + """ + Evolves the provided exportgrid for the desired replica with the eko and dump the replica in conf_folder/nnfit + + Parameters + ---------- + exportgrid: dict + exportgrid of pdf at fitting scale + eko: eko object + eko operator for evolution + theory_card: dict + theory card + operator_card: dict + operator card + replica: int + num replica + conf_folder: str + path to fit folder + """ + path_where_dump = pathlib.Path(conf_folder) / "nnfit" / conf_folder + # construct LhapdfLike object + pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() + x_grid = np.array(exportgrid["xgrid"]).astype(np.float) + pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) + # evolve pdf + evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) + # construct and dump info file if not already there + info_path = pathlib.Path(conf_folder) / "nnfit" / (conf_folder + ".info") + if not info_path.is_file(): + info = gen_info.create_info_file( + theory_card, operator_card, 1, info_update={} + ) # to be changed + genpdf.export.dump_info(path_where_dump, info) + # generate block to dump + targetgrid = operator_card["interpolation_xgrid"] + block = genpdf.generate_block( + lambda pid, x, Q2, evolved_PDF=evolved_pdf: targetgrid[targetgrid.index(x)] + * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], + xgrid=targetgrid, + Q2grid=operator_card["Q2grid"], + pids=br.flavor_basis_pids, + ) + to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica) + "\n" + genpdf.export.dump_blocks( + path_where_dump, replica, [block], pdf_type=to_write_in_head + ) diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 56e5f59b77..b6c04717d1 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -2,9 +2,11 @@ This module contains the CLI for evolven3fit """ -import click +import click from . import evolven3fit_API + + @click.group() def cli(): pass @@ -12,13 +14,6 @@ def cli(): @cli.command("evolven3fit") @click.argument("configuration_folder", nargs=1) -@click.argument("max_replicas", nargs=1) -def cli_evolven3fit(configuration_folder, max_replicas): +def cli_evolven3fit(configuration_folder): """Evolves the fitted PDFs""" - return evolven3fit_API.evolve_fit(configuration_folder,max_replicas) - - - - - - + return evolven3fit_API.evolve_fit(configuration_folder) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index f5e38d616f..458ba3062e 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -4,21 +4,58 @@ import pathlib import yaml -class lhapdf_like(): - pids_dict = {-6:'TBAR', -5:'BBAR', -4:'CBAR', -3:'SBAR', -2:'UBAR', -1:'DBAR', 21:'GLUON', 1:'D', 2:'U', 3:'S', 4:'C', 5:'B', 6:'T', 22:'PHT' } - pids_order = ['TBAR', 'BBAR', 'CBAR', 'SBAR', 'UBAR', 'DBAR', 'GLUON', 'D', 'U', 'S', 'C', 'B', 'T', 'PHT' ] + +class LhapdfLike: + pids_dict = { + -6: "TBAR", + -5: "BBAR", + -4: "CBAR", + -3: "SBAR", + -2: "UBAR", + -1: "DBAR", + 21: "GLUON", + 1: "D", + 2: "U", + 3: "S", + 4: "C", + 5: "B", + 6: "T", + 22: "PHT", + } + pids_order = [ + "TBAR", + "BBAR", + "CBAR", + "SBAR", + "UBAR", + "DBAR", + "GLUON", + "D", + "U", + "S", + "C", + "B", + "T", + "PHT", + ] + def __init__(self, pdf_grid, q20, x_grid): self.pdf_grid = pdf_grid - self.q20 = q20 + self.q20 = q20 self.x_grid = x_grid - self.funcs = [interp1d(self.x_grid, self.pdf_grid[pid]) for pid in range(len(self.pids_order))] - def xfxQ2(self, pid, x, q2 ): - if not math.isclose(q2,self.q20,rel_tol = 1e-6): + self.funcs = [ + interp1d(self.x_grid, self.pdf_grid[pid]) + for pid in range(len(self.pids_order)) + ] + + def xfxQ2(self, pid, x, q2): + if not math.isclose(q2, self.q20, rel_tol=1e-6): raise ValueError("The q2 requested is not the fitting scale of this pdf") - return x*(self.funcs[self.pids_order.index(self.pids_dict[pid])](x)) - def hasFlavor(self,pid): + return x * (self.funcs[self.pids_order.index(self.pids_dict[pid])](x)) + + def hasFlavor(self, pid): if pid in self.pids_dict.keys(): - return True + return True return False @@ -31,14 +68,10 @@ def read_runcard(conf_folder): data = yaml.safe_load(fp) return data -def generate_q2grid(Q0): + +def generate_q2grid(Q0, Qfin): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - Qfin = 1.e5 - grid = np.geomspace(Q0**2,Qfin**2, num = 100) - #for testing - #grid = np.array([100.]) + grid = np.geomspace(Q0 ** 2, Qfin ** 2, num=100) return grid - - From 166222058f1a843ccd14021c83394ae4092ebe38 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 10 Mar 2022 15:10:29 +0100 Subject: [PATCH 004/212] removed old evolven3fit --- n3fit/src/evolven3fit/evolven3fit_old.cc | 144 ----------------------- n3fit/src/evolven3fit/varflavors.py | 51 -------- 2 files changed, 195 deletions(-) delete mode 100644 n3fit/src/evolven3fit/evolven3fit_old.cc delete mode 100644 n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/src/evolven3fit/evolven3fit_old.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc deleted file mode 100644 index 5b29f2bd58..0000000000 --- a/n3fit/src/evolven3fit/evolven3fit_old.cc +++ /dev/null @@ -1,144 +0,0 @@ -// $Id$ -// -// NNPDF++ 2016 -// -// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk -// Stefano Carrazza, stefano.carrazza@mi.infn.it - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "exportgrid.h" -#include "evolgrid.h" - -using namespace NNPDF; -using std::cout; -using std::endl; -using std::cerr; -using std::string; -using std::stringstream; -using std::stoi; - -// Check if folder exists -bool CheckConsistency(string const& folder, string const& exportfile) -{ - bool status1 = false, status2 = false; - struct stat s, t; - if (stat(folder.c_str(), &s) == 0) - if (s.st_mode & S_IFDIR) - status1 = true; - if (stat(exportfile.c_str(), &t) == 0) - if (t.st_mode) - status2 = true; - if (status1 == true && status2 == true) return true; - else return false; -} - -// return theoryid from runcard -int get_theory_id_from_runcard(string const& filteryaml_path) -{ - YAML::Node runcard; - try { - runcard = YAML::LoadFile(filteryaml_path); - } - catch(YAML::BadFile &e) - { - throw FileError("evolven3fit", "runcard not found: " + filteryaml_path); - } - return runcard["theory"]["theoryid"].as(); -} - -/** - * This program: - * - takes as input a fit folder and a theoryID, - * - loads a vector of ExportGrid for all replicas generated by nnfit, - * - computes the DGLAP evolution operators for the theoryID - * - applies the evolution operators to the ExportGrid objects - * - outputs the evolved PDFs in the LHAPDF format to the fit folder. - */ -int main(int argc, char **argv) -{ - // Read configuration filename from arguments - if (argc != 3 && argc != 5) - { - cerr << "\nusage: evolven3fit [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; - exit(EXIT_FAILURE); - } - - const string fit_path = argv[1]; - const int maxreplica = stoi(argv[2]); - const string filteryaml_path = fit_path + "/filter.yml"; - int theory_id; - - // Get theory id - if (argc == 5) - { - const string flag = argv[3]; - if (flag == "--theory_id") - theory_id = stoi(argv[4]); - else - { - cerr << "\nNot supported flag: " << flag << endl; - exit(EXIT_FAILURE); - } - } - else - theory_id = get_theory_id_from_runcard(filteryaml_path); - cout << "Theory ID = " << theory_id << endl; - - // load theory from db - std::map theory_map; - NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); - auto keys = APFEL::kValues; - keys.push_back("EScaleVar"); - db.ExtractMap(theory_id, keys, theory_map); - - // load grids - vector initialscale_grids; - vector replicas; - for (int nrep = 1; nrep <= maxreplica; nrep++) - { - const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); - const string path = folder + "/" + fit_path + ".exportgrid"; - bool status = CheckConsistency(folder, path); - if (status) - { - initialscale_grids.emplace_back(path); - replicas.push_back(nrep); - } - else - { - cout << "Skipping exportgrid (missing file): " << path << endl; - } - } - - if (initialscale_grids.size() == 0) - throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); - - string infofile = fit_path + "/nnfit/" + fit_path + ".info"; - auto dglapg = EvolveGrid(initialscale_grids, theory_map); - dglapg.WriteInfoFile(infofile); - - const auto outstream = dglapg.WriteLHAFile(); - for (size_t i = 0; i < outstream.size(); i++) - { - stringstream replica_file; - replica_file << fit_path - << "/nnfit/replica_" - << replicas[i] - << "/" - << fit_path - << ".dat"; - write_to_file(replica_file.str(), outstream[i].str()); - } - - return 0; -} diff --git a/n3fit/src/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py deleted file mode 100644 index 41e786907b..0000000000 --- a/n3fit/src/evolven3fit/varflavors.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -varflavors.py - -When producing a PDF with different maximal flavor number than the nf during the fit, we first run -evolven3fit by manually selecting a theory id of the theory correspodning to the desired nf -evolution. - -After running evolven3fit, but before running posfit, this script should be run to replace the -``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the -theory database. -""" - -from argparse import ArgumentParser -from pathlib import Path - -from validphys.loader import Loader -from validphys.theorydbutils import fetch_theory - - -ll = Loader() -path_db = ll.theorydb_file - -if __name__ == "__main__": - parser = ArgumentParser() - parser.add_argument( - "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" - ) - parser.add_argument( - "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" - ) - args = parser.parse_args() - - path_fit_folder = Path(args.fit_folder) - fit_name = path_fit_folder.name - path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" - - theory_dict = fetch_theory(path_db, args.theory_id) - Qref = theory_dict["Qref"] - alphas = theory_dict["alphas"] - - path_temp_info = path_info_file.parent / "temp.info" - with open(path_info_file, "r+") as f: - with open(path_temp_info, "w") as tempfile: - for line in f: - if line.startswith("AlphaS_MZ:"): - line = f"AlphaS_MZ: {alphas}\n" - if line.startswith("MZ"): - line = f"MZ: {Qref}\n" - tempfile.write(line) - - path_temp_info.rename(path_info_file) From b3b16fdf08668a17346d496f21dd52e3322d3317 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 25 Mar 2022 12:16:15 +0100 Subject: [PATCH 005/212] Fixed names according to name changed in ekobox --- n3fit/src/evolven3fit/evolven3fit_API.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 23594831ef..89f0294392 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,4 +1,4 @@ -from ekobox import evol_pdf, gen_theory, gen_op, genpdf, gen_info +from ekobox import evol_pdf, theory_card, operators_card, genpdf, info_file import pathlib import numpy as np import yaml @@ -7,7 +7,7 @@ import os from ekomark import apply from eko import basis_rotation as br - +from eko import run_dglap def evolve_fit(conf_folder): """ @@ -73,14 +73,14 @@ def construct_eko_for_fit(conf_folder): # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") - theory_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + t_card = theory_card.generate(theory["PTO"], theory["Q0"], update=theory) # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = gen_op.gen_op_card(q2_grid) + op_card = operators_card.generate(q2_grid) # generate eko operator (temporary because it will be loaded from theory) - eko = evol_pdf.gen_out(theory_card, op_card) - return eko, theory_card, op_card + eko = run_dglap(t_card, op_card) + return eko, t_card, op_card # @@ -115,12 +115,12 @@ def evolve_exportgrid( # construct and dump info file if not already there info_path = pathlib.Path(conf_folder) / "nnfit" / (conf_folder + ".info") if not info_path.is_file(): - info = gen_info.create_info_file( + info = info_file.build( theory_card, operator_card, 1, info_update={} ) # to be changed genpdf.export.dump_info(path_where_dump, info) # generate block to dump - targetgrid = operator_card["interpolation_xgrid"] + targetgrid = operator_card["xgrid"] block = genpdf.generate_block( lambda pid, x, Q2, evolved_PDF=evolved_pdf: targetgrid[targetgrid.index(x)] * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], From 6a246ed327cf783bfe3a6e13c1759f100d46226d Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 25 Mar 2022 12:28:24 +0100 Subject: [PATCH 006/212] Revert "removed old evolven3fit" This reverts commit 166222058f1a843ccd14021c83394ae4092ebe38. --- n3fit/src/evolven3fit/evolven3fit_old.cc | 144 +++++++++++++++++++++++ n3fit/src/evolven3fit/varflavors.py | 51 ++++++++ 2 files changed, 195 insertions(+) create mode 100644 n3fit/src/evolven3fit/evolven3fit_old.cc create mode 100644 n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/src/evolven3fit/evolven3fit_old.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc new file mode 100644 index 0000000000..5b29f2bd58 --- /dev/null +++ b/n3fit/src/evolven3fit/evolven3fit_old.cc @@ -0,0 +1,144 @@ +// $Id$ +// +// NNPDF++ 2016 +// +// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk +// Stefano Carrazza, stefano.carrazza@mi.infn.it + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "exportgrid.h" +#include "evolgrid.h" + +using namespace NNPDF; +using std::cout; +using std::endl; +using std::cerr; +using std::string; +using std::stringstream; +using std::stoi; + +// Check if folder exists +bool CheckConsistency(string const& folder, string const& exportfile) +{ + bool status1 = false, status2 = false; + struct stat s, t; + if (stat(folder.c_str(), &s) == 0) + if (s.st_mode & S_IFDIR) + status1 = true; + if (stat(exportfile.c_str(), &t) == 0) + if (t.st_mode) + status2 = true; + if (status1 == true && status2 == true) return true; + else return false; +} + +// return theoryid from runcard +int get_theory_id_from_runcard(string const& filteryaml_path) +{ + YAML::Node runcard; + try { + runcard = YAML::LoadFile(filteryaml_path); + } + catch(YAML::BadFile &e) + { + throw FileError("evolven3fit", "runcard not found: " + filteryaml_path); + } + return runcard["theory"]["theoryid"].as(); +} + +/** + * This program: + * - takes as input a fit folder and a theoryID, + * - loads a vector of ExportGrid for all replicas generated by nnfit, + * - computes the DGLAP evolution operators for the theoryID + * - applies the evolution operators to the ExportGrid objects + * - outputs the evolved PDFs in the LHAPDF format to the fit folder. + */ +int main(int argc, char **argv) +{ + // Read configuration filename from arguments + if (argc != 3 && argc != 5) + { + cerr << "\nusage: evolven3fit [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; + exit(EXIT_FAILURE); + } + + const string fit_path = argv[1]; + const int maxreplica = stoi(argv[2]); + const string filteryaml_path = fit_path + "/filter.yml"; + int theory_id; + + // Get theory id + if (argc == 5) + { + const string flag = argv[3]; + if (flag == "--theory_id") + theory_id = stoi(argv[4]); + else + { + cerr << "\nNot supported flag: " << flag << endl; + exit(EXIT_FAILURE); + } + } + else + theory_id = get_theory_id_from_runcard(filteryaml_path); + cout << "Theory ID = " << theory_id << endl; + + // load theory from db + std::map theory_map; + NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); + auto keys = APFEL::kValues; + keys.push_back("EScaleVar"); + db.ExtractMap(theory_id, keys, theory_map); + + // load grids + vector initialscale_grids; + vector replicas; + for (int nrep = 1; nrep <= maxreplica; nrep++) + { + const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); + const string path = folder + "/" + fit_path + ".exportgrid"; + bool status = CheckConsistency(folder, path); + if (status) + { + initialscale_grids.emplace_back(path); + replicas.push_back(nrep); + } + else + { + cout << "Skipping exportgrid (missing file): " << path << endl; + } + } + + if (initialscale_grids.size() == 0) + throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); + + string infofile = fit_path + "/nnfit/" + fit_path + ".info"; + auto dglapg = EvolveGrid(initialscale_grids, theory_map); + dglapg.WriteInfoFile(infofile); + + const auto outstream = dglapg.WriteLHAFile(); + for (size_t i = 0; i < outstream.size(); i++) + { + stringstream replica_file; + replica_file << fit_path + << "/nnfit/replica_" + << replicas[i] + << "/" + << fit_path + << ".dat"; + write_to_file(replica_file.str(), outstream[i].str()); + } + + return 0; +} diff --git a/n3fit/src/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py new file mode 100644 index 0000000000..41e786907b --- /dev/null +++ b/n3fit/src/evolven3fit/varflavors.py @@ -0,0 +1,51 @@ +""" +varflavors.py + +When producing a PDF with different maximal flavor number than the nf during the fit, we first run +evolven3fit by manually selecting a theory id of the theory correspodning to the desired nf +evolution. + +After running evolven3fit, but before running posfit, this script should be run to replace the +``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the +theory database. +""" + +from argparse import ArgumentParser +from pathlib import Path + +from validphys.loader import Loader +from validphys.theorydbutils import fetch_theory + + +ll = Loader() +path_db = ll.theorydb_file + +if __name__ == "__main__": + parser = ArgumentParser() + parser.add_argument( + "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" + ) + parser.add_argument( + "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" + ) + args = parser.parse_args() + + path_fit_folder = Path(args.fit_folder) + fit_name = path_fit_folder.name + path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" + + theory_dict = fetch_theory(path_db, args.theory_id) + Qref = theory_dict["Qref"] + alphas = theory_dict["alphas"] + + path_temp_info = path_info_file.parent / "temp.info" + with open(path_info_file, "r+") as f: + with open(path_temp_info, "w") as tempfile: + for line in f: + if line.startswith("AlphaS_MZ:"): + line = f"AlphaS_MZ: {alphas}\n" + if line.startswith("MZ"): + line = f"MZ: {Qref}\n" + tempfile.write(line) + + path_temp_info.rename(path_info_file) From 28924cc8fe1de4beab6f7c01794c65a612515024 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 25 Mar 2022 12:30:14 +0100 Subject: [PATCH 007/212] Removing old evolven3fit --- n3fit/src/evolven3fit/evolven3fit_old.cc | 144 ----------------------- 1 file changed, 144 deletions(-) delete mode 100644 n3fit/src/evolven3fit/evolven3fit_old.cc diff --git a/n3fit/src/evolven3fit/evolven3fit_old.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc deleted file mode 100644 index 5b29f2bd58..0000000000 --- a/n3fit/src/evolven3fit/evolven3fit_old.cc +++ /dev/null @@ -1,144 +0,0 @@ -// $Id$ -// -// NNPDF++ 2016 -// -// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk -// Stefano Carrazza, stefano.carrazza@mi.infn.it - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "exportgrid.h" -#include "evolgrid.h" - -using namespace NNPDF; -using std::cout; -using std::endl; -using std::cerr; -using std::string; -using std::stringstream; -using std::stoi; - -// Check if folder exists -bool CheckConsistency(string const& folder, string const& exportfile) -{ - bool status1 = false, status2 = false; - struct stat s, t; - if (stat(folder.c_str(), &s) == 0) - if (s.st_mode & S_IFDIR) - status1 = true; - if (stat(exportfile.c_str(), &t) == 0) - if (t.st_mode) - status2 = true; - if (status1 == true && status2 == true) return true; - else return false; -} - -// return theoryid from runcard -int get_theory_id_from_runcard(string const& filteryaml_path) -{ - YAML::Node runcard; - try { - runcard = YAML::LoadFile(filteryaml_path); - } - catch(YAML::BadFile &e) - { - throw FileError("evolven3fit", "runcard not found: " + filteryaml_path); - } - return runcard["theory"]["theoryid"].as(); -} - -/** - * This program: - * - takes as input a fit folder and a theoryID, - * - loads a vector of ExportGrid for all replicas generated by nnfit, - * - computes the DGLAP evolution operators for the theoryID - * - applies the evolution operators to the ExportGrid objects - * - outputs the evolved PDFs in the LHAPDF format to the fit folder. - */ -int main(int argc, char **argv) -{ - // Read configuration filename from arguments - if (argc != 3 && argc != 5) - { - cerr << "\nusage: evolven3fit [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; - exit(EXIT_FAILURE); - } - - const string fit_path = argv[1]; - const int maxreplica = stoi(argv[2]); - const string filteryaml_path = fit_path + "/filter.yml"; - int theory_id; - - // Get theory id - if (argc == 5) - { - const string flag = argv[3]; - if (flag == "--theory_id") - theory_id = stoi(argv[4]); - else - { - cerr << "\nNot supported flag: " << flag << endl; - exit(EXIT_FAILURE); - } - } - else - theory_id = get_theory_id_from_runcard(filteryaml_path); - cout << "Theory ID = " << theory_id << endl; - - // load theory from db - std::map theory_map; - NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); - auto keys = APFEL::kValues; - keys.push_back("EScaleVar"); - db.ExtractMap(theory_id, keys, theory_map); - - // load grids - vector initialscale_grids; - vector replicas; - for (int nrep = 1; nrep <= maxreplica; nrep++) - { - const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); - const string path = folder + "/" + fit_path + ".exportgrid"; - bool status = CheckConsistency(folder, path); - if (status) - { - initialscale_grids.emplace_back(path); - replicas.push_back(nrep); - } - else - { - cout << "Skipping exportgrid (missing file): " << path << endl; - } - } - - if (initialscale_grids.size() == 0) - throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); - - string infofile = fit_path + "/nnfit/" + fit_path + ".info"; - auto dglapg = EvolveGrid(initialscale_grids, theory_map); - dglapg.WriteInfoFile(infofile); - - const auto outstream = dglapg.WriteLHAFile(); - for (size_t i = 0; i < outstream.size(); i++) - { - stringstream replica_file; - replica_file << fit_path - << "/nnfit/replica_" - << replicas[i] - << "/" - << fit_path - << ".dat"; - write_to_file(replica_file.str(), outstream[i].str()); - } - - return 0; -} From 70e3f83efc4b769f85c05b9b1b1247ed06aee095 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 16 May 2022 12:35:10 +0200 Subject: [PATCH 008/212] Added eko and banana to conda-recipe/meta --- conda-recipe/meta.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index e84f57d9f6..6b15995417 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -52,6 +52,8 @@ requirements: - sphinxcontrib-bibtex - docutils =0.16 # This dependency is not explicity needed but https://github.com/NNPDF/nnpdf/issues/1220 - curio >=1.0 + - eko + - banana-hep test: requires: From 6524bfe491b726319964ed7969487e3621c2c50b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 11 Jul 2022 16:40:13 +0200 Subject: [PATCH 009/212] Restored old evolven3fit and changed name --- .gitignore | 3 + CMakeLists.txt | 4 +- n3fit/evolven3fit_cpp/CMakeLists.txt | 29 +++++ n3fit/evolven3fit_cpp/evolven3fit_cpp.cc | 144 +++++++++++++++++++++++ n3fit/evolven3fit_cpp/varflavors.py | 51 ++++++++ n3fit/evolven3fit_cpp/version.h | 1 + 6 files changed, 230 insertions(+), 2 deletions(-) create mode 100644 n3fit/evolven3fit_cpp/CMakeLists.txt create mode 100644 n3fit/evolven3fit_cpp/evolven3fit_cpp.cc create mode 100644 n3fit/evolven3fit_cpp/varflavors.py create mode 100644 n3fit/evolven3fit_cpp/version.h diff --git a/.gitignore b/.gitignore index 14960be3b1..648157bf6c 100644 --- a/.gitignore +++ b/.gitignore @@ -378,6 +378,9 @@ ENV/ env.bak/ venv.bak/ +#conda-build +conda_bld/ + # Spyder project settings .spyderproject .spyproject diff --git a/CMakeLists.txt b/CMakeLists.txt index f04bd55248..6e3b9f9697 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,8 +145,8 @@ add_subdirectory(libnnpdf) # nnpdfcpp configuration add_subdirectory(nnpdfcpp) -# evolven3fit -add_subdirectory(n3fit/evolven3fit) +# evolven3fit_cpp +add_subdirectory(n3fit/evolven3fit_cpp) if((BURN_TAG) AND (NOT (VP_DEV) OR NOT (N3_DEV))) # Find out where is the root of the git repository (if available) and finds the correct tag to burn down diff --git a/n3fit/evolven3fit_cpp/CMakeLists.txt b/n3fit/evolven3fit_cpp/CMakeLists.txt new file mode 100644 index 0000000000..629c5a4d33 --- /dev/null +++ b/n3fit/evolven3fit_cpp/CMakeLists.txt @@ -0,0 +1,29 @@ +# Include files (should this information not be known at this point?) +include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/inc) +include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/inc) +include_directories(${PROJECT_SOURCE_DIR}/n3fit/evolven3fit_cpp) +include_directories(${PROJECT_SOURCE_DIR}/libnnpdf/src/) +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/binaries) + +configure_file( + "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h.in" + "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h" + ) + +# Add files to the make +add_executable(evolven3fit_cpp ${PROJECT_SOURCE_DIR}/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc + ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/md5.cc + ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/exportgrid.cc + ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/src/evolgrid.cc ) + +# Set all flags +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${NNPDF_LDFLAGS} ${GSL_LDFLAGS} ${APFEL_LIBRARIES} ${YAML_LDFLAGS}") + +# I am pretty sure this should not be a thing +string(REPLACE ";" " " CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") +target_link_libraries(evolven3fit_cpp nnpdf ${YAML_LDFLAGS} ${APFEL_LIBRARIES} ${GSL_LDFLAGS}) + +install(TARGETS evolven3fit_cpp DESTINATION bin + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ +GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + diff --git a/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc b/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc new file mode 100644 index 0000000000..df34e6a423 --- /dev/null +++ b/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc @@ -0,0 +1,144 @@ +// $Id$ +// +// NNPDF++ 2016 +// +// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk +// Stefano Carrazza, stefano.carrazza@mi.infn.it + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "exportgrid.h" +#include "evolgrid.h" + +using namespace NNPDF; +using std::cout; +using std::endl; +using std::cerr; +using std::string; +using std::stringstream; +using std::stoi; + +// Check if folder exists +bool CheckConsistency(string const& folder, string const& exportfile) +{ + bool status1 = false, status2 = false; + struct stat s, t; + if (stat(folder.c_str(), &s) == 0) + if (s.st_mode & S_IFDIR) + status1 = true; + if (stat(exportfile.c_str(), &t) == 0) + if (t.st_mode) + status2 = true; + if (status1 == true && status2 == true) return true; + else return false; +} + +// return theoryid from runcard +int get_theory_id_from_runcard(string const& filteryaml_path) +{ + YAML::Node runcard; + try { + runcard = YAML::LoadFile(filteryaml_path); + } + catch(YAML::BadFile &e) + { + throw FileError("evolven3fit_cpp", "runcard not found: " + filteryaml_path); + } + return runcard["theory"]["theoryid"].as(); +} + +/** + * This program: + * - takes as input a fit folder and a theoryID, + * - loads a vector of ExportGrid for all replicas generated by nnfit, + * - computes the DGLAP evolution operators for the theoryID + * - applies the evolution operators to the ExportGrid objects + * - outputs the evolved PDFs in the LHAPDF format to the fit folder. + */ +int main(int argc, char **argv) +{ + // Read configuration filename from arguments + if (argc != 3 && argc != 5) + { + cerr << "\nusage: evolven3fit_cpp [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; + exit(EXIT_FAILURE); + } + + const string fit_path = argv[1]; + const int maxreplica = stoi(argv[2]); + const string filteryaml_path = fit_path + "/filter.yml"; + int theory_id; + + // Get theory id + if (argc == 5) + { + const string flag = argv[3]; + if (flag == "--theory_id") + theory_id = stoi(argv[4]); + else + { + cerr << "\nNot supported flag: " << flag << endl; + exit(EXIT_FAILURE); + } + } + else + theory_id = get_theory_id_from_runcard(filteryaml_path); + cout << "Theory ID = " << theory_id << endl; + + // load theory from db + std::map theory_map; + NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); + auto keys = APFEL::kValues; + keys.push_back("EScaleVar"); + db.ExtractMap(theory_id, keys, theory_map); + + // load grids + vector initialscale_grids; + vector replicas; + for (int nrep = 1; nrep <= maxreplica; nrep++) + { + const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); + const string path = folder + "/" + fit_path + ".exportgrid"; + bool status = CheckConsistency(folder, path); + if (status) + { + initialscale_grids.emplace_back(path); + replicas.push_back(nrep); + } + else + { + cout << "Skipping exportgrid (missing file): " << path << endl; + } + } + + if (initialscale_grids.size() == 0) + throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); + + string infofile = fit_path + "/nnfit/" + fit_path + ".info"; + auto dglapg = EvolveGrid(initialscale_grids, theory_map); + dglapg.WriteInfoFile(infofile); + + const auto outstream = dglapg.WriteLHAFile(); + for (size_t i = 0; i < outstream.size(); i++) + { + stringstream replica_file; + replica_file << fit_path + << "/nnfit/replica_" + << replicas[i] + << "/" + << fit_path + << ".dat"; + write_to_file(replica_file.str(), outstream[i].str()); + } + + return 0; +} diff --git a/n3fit/evolven3fit_cpp/varflavors.py b/n3fit/evolven3fit_cpp/varflavors.py new file mode 100644 index 0000000000..d2b4e52962 --- /dev/null +++ b/n3fit/evolven3fit_cpp/varflavors.py @@ -0,0 +1,51 @@ +""" +varflavors.py + +When producing a PDF with different maximal flavor number than the nf during the fit, we first run +evolven3fit_cpp by manually selecting a theory id of the theory correspodning to the desired nf +evolution. + +After running evolven3fit_cpp, but before running posfit, this script should be run to replace the +``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the +theory database. +""" + +from argparse import ArgumentParser +from pathlib import Path + +from validphys.loader import Loader +from validphys.theorydbutils import fetch_theory + + +ll = Loader() +path_db = ll.theorydb_file + +if __name__ == "__main__": + parser = ArgumentParser() + parser.add_argument( + "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" + ) + parser.add_argument( + "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" + ) + args = parser.parse_args() + + path_fit_folder = Path(args.fit_folder) + fit_name = path_fit_folder.name + path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" + + theory_dict = fetch_theory(path_db, args.theory_id) + Qref = theory_dict["Qref"] + alphas = theory_dict["alphas"] + + path_temp_info = path_info_file.parent / "temp.info" + with open(path_info_file, "r+") as f: + with open(path_temp_info, "w") as tempfile: + for line in f: + if line.startswith("AlphaS_MZ:"): + line = f"AlphaS_MZ: {alphas}\n" + if line.startswith("MZ"): + line = f"MZ: {Qref}\n" + tempfile.write(line) + + path_temp_info.rename(path_info_file) diff --git a/n3fit/evolven3fit_cpp/version.h b/n3fit/evolven3fit_cpp/version.h new file mode 100644 index 0000000000..f84864988a --- /dev/null +++ b/n3fit/evolven3fit_cpp/version.h @@ -0,0 +1 @@ +#define SVN_REV 3.1 From 2a6c40af8d6268394750f312ff0f0707c65a62f2 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 12 Jul 2022 16:57:46 +0200 Subject: [PATCH 010/212] Fixed cli, removed files, changed name of command --- n3fit/src/evolven3fit/CMakeLists.txt | 29 ------------------------ n3fit/src/evolven3fit/evolven3fit_cli.py | 2 +- n3fit/src/evolven3fit/version.h | 1 - n3fit/src/setup.py | 9 ++++++++ 4 files changed, 10 insertions(+), 31 deletions(-) delete mode 100644 n3fit/src/evolven3fit/CMakeLists.txt delete mode 100644 n3fit/src/evolven3fit/version.h create mode 100644 n3fit/src/setup.py diff --git a/n3fit/src/evolven3fit/CMakeLists.txt b/n3fit/src/evolven3fit/CMakeLists.txt deleted file mode 100644 index 417de24e7c..0000000000 --- a/n3fit/src/evolven3fit/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Include files (should this information not be known at this point?) -include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/inc) -include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/inc) -include_directories(${PROJECT_SOURCE_DIR}/n3fit/evolven3fit) -include_directories(${PROJECT_SOURCE_DIR}/libnnpdf/src/) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/binaries) - -configure_file( - "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h.in" - "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h" - ) - -# Add files to the make -add_executable(evolven3fit ${PROJECT_SOURCE_DIR}/n3fit/evolven3fit/evolven3fit.cc - ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/md5.cc - ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/exportgrid.cc - ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/src/evolgrid.cc ) - -# Set all flags -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${NNPDF_LDFLAGS} ${GSL_LDFLAGS} ${APFEL_LIBRARIES} ${YAML_LDFLAGS}") - -# I am pretty sure this should not be a thing -string(REPLACE ";" " " CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") -target_link_libraries(evolven3fit nnpdf ${YAML_LDFLAGS} ${APFEL_LIBRARIES} ${GSL_LDFLAGS}) - -install(TARGETS evolven3fit DESTINATION bin - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ -GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index b6c04717d1..d665c72326 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -12,7 +12,7 @@ def cli(): pass -@cli.command("evolven3fit") +@cli.command("evolve") @click.argument("configuration_folder", nargs=1) def cli_evolven3fit(configuration_folder): """Evolves the fitted PDFs""" diff --git a/n3fit/src/evolven3fit/version.h b/n3fit/src/evolven3fit/version.h deleted file mode 100644 index f84864988a..0000000000 --- a/n3fit/src/evolven3fit/version.h +++ /dev/null @@ -1 +0,0 @@ -#define SVN_REV 3.1 diff --git a/n3fit/src/setup.py b/n3fit/src/setup.py new file mode 100644 index 0000000000..6195485926 --- /dev/null +++ b/n3fit/src/setup.py @@ -0,0 +1,9 @@ +from setuptools import setup, find_packages + +setup( + name="evolven3fit", + version="1.0", + packages=find_packages(include=["evolven3fit", "evolven3fit.*"]), + include_package_data=True, + entry_points={"console_scripts": ["evolven3fit=evolven3fit.evolven3fit_cli:cli"]}, +) From f446636277a80331aecc98d3ebb1e1080ec0e6a7 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 12:31:03 +0200 Subject: [PATCH 011/212] Fixed folder issues --- n3fit/src/evolven3fit/evolven3fit_API.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 89f0294392..10a88dad1d 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -105,7 +105,11 @@ def evolve_exportgrid( conf_folder: str path to fit folder """ - path_where_dump = pathlib.Path(conf_folder) / "nnfit" / conf_folder + usr_path = pathlib.Path(conf_folder) + path_where_dump = usr_path / "nnfit" / usr_path.stem + #create folder to dump the evolved replica if it does not exists + if not os.path.exists(path_where_dump): + os.makedirs(path_where_dump) # construct LhapdfLike object pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() x_grid = np.array(exportgrid["xgrid"]).astype(np.float) From 9abfbfce6f0e7dae0d97b477fc7b60512eed3928 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 12:50:24 +0200 Subject: [PATCH 012/212] allow global and pathlib paths --- n3fit/src/evolven3fit/evolven3fit_API.py | 17 +++++++++++++---- n3fit/src/evolven3fit/utils.py | 3 ++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 10a88dad1d..1f75c67c91 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -12,6 +12,12 @@ def evolve_fit(conf_folder): """ Evolves all the fitted replica in conf_folder/nnfit + + Parameters + ---------- + + conf_folder: str or pathlib.Path + path to the folder containing the fit """ initial_PDFs_dict = load_fit(conf_folder) eko, theory, op = construct_eko_for_fit(conf_folder) @@ -33,7 +39,7 @@ def load_fit(conf_folder): Parameters ---------- - conf_folder: str + conf_folder: str or pathlib.Path path to the folder containing the fit Returns @@ -42,15 +48,18 @@ def load_fit(conf_folder): : dict exportgrids info """ - nnfitpath = pathlib.Path(conf_folder) / "nnfit" + usr_path = pathlib.Path(conf_folder) + nnfitpath = usr_path / "nnfit" replica_list = [] for subdir, dirs, files in os.walk(nnfitpath): for dir in dirs: replica_list.append(dir) replica_list.remove("input") + #remove the eventual evolution folder + replica_list.remove(usr_path.stem) pdf_dict = {} for replica in replica_list: - rep_path = pathlib.Path(replica) / (conf_folder + ".exportgrid") + rep_path = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") yaml_file = nnfitpath / rep_path.relative_to(rep_path.anchor) with yaml_file.open() as fp: data = yaml.safe_load(fp) @@ -65,7 +74,7 @@ def construct_eko_for_fit(conf_folder): Parameters ---------- - conf_folder: str + conf_folder: str or pathlib.Path path to the folder containing the fit """ # read the runcard diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 458ba3062e..a53ebb785d 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -63,7 +63,8 @@ def read_runcard(conf_folder): """ reads the runcard and returns the relevant information for evolven3fit """ - runcard_path = pathlib.Path(conf_folder + "/filter.yml") + usr_path = pathlib.Path(conf_folder) + runcard_path = conf_folder / "filter.yml" with runcard_path.open() as fp: data = yaml.safe_load(fp) return data From b94fd498f4d9f5ae961abdd40787f9e1def6a80a Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 13:10:10 +0200 Subject: [PATCH 013/212] Minor changes --- n3fit/src/evolven3fit/evolven3fit_API.py | 8 +++----- n3fit/src/evolven3fit/utils.py | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 1f75c67c91..40535c414c 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -83,14 +83,12 @@ def construct_eko_for_fit(conf_folder): theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") t_card = theory_card.generate(theory["PTO"], theory["Q0"], update=theory) - # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) op_card = operators_card.generate(q2_grid) - # generate eko operator (temporary because it will be loaded from theory) - eko = run_dglap(t_card, op_card) - return eko, t_card, op_card - # + #generate eko operator (temporary because it will be loaded from theory) + eko_op = run_dglap(t_card, op_card) + return eko_op, t_card, op_card def evolve_exportgrid( diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index a53ebb785d..89f3d9e95c 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -64,7 +64,7 @@ def read_runcard(conf_folder): reads the runcard and returns the relevant information for evolven3fit """ usr_path = pathlib.Path(conf_folder) - runcard_path = conf_folder / "filter.yml" + runcard_path = usr_path / "filter.yml" with runcard_path.open() as fp: data = yaml.safe_load(fp) return data From a10da27d11a8db6118784bd1051f4df620aa48e3 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 16:22:10 +0200 Subject: [PATCH 014/212] Updated eko version --- n3fit/src/evolven3fit/evolven3fit_API.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 40535c414c..1311fdc2bf 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,4 +1,4 @@ -from ekobox import evol_pdf, theory_card, operators_card, genpdf, info_file +from ekobox import evol_pdf, gen_theory, gen_op, genpdf, gen_info import pathlib import numpy as np import yaml @@ -82,10 +82,10 @@ def construct_eko_for_fit(conf_folder): # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") - t_card = theory_card.generate(theory["PTO"], theory["Q0"], update=theory) + t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = operators_card.generate(q2_grid) + op_card = gen_op.gen_op_card(q2_grid) #generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) return eko_op, t_card, op_card @@ -114,7 +114,7 @@ def evolve_exportgrid( """ usr_path = pathlib.Path(conf_folder) path_where_dump = usr_path / "nnfit" / usr_path.stem - #create folder to dump the evolved replica if it does not exists + #create folder to dump the evolved replica if it does not exist if not os.path.exists(path_where_dump): os.makedirs(path_where_dump) # construct LhapdfLike object @@ -124,14 +124,14 @@ def evolve_exportgrid( # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # construct and dump info file if not already there - info_path = pathlib.Path(conf_folder) / "nnfit" / (conf_folder + ".info") + info_path = usr_path / "nnfit" / (usr_path.stem + ".info") if not info_path.is_file(): - info = info_file.build( + info = gen_info.create_info_file( theory_card, operator_card, 1, info_update={} ) # to be changed genpdf.export.dump_info(path_where_dump, info) # generate block to dump - targetgrid = operator_card["xgrid"] + targetgrid = operator_card["interpolation_xgrid"] block = genpdf.generate_block( lambda pid, x, Q2, evolved_PDF=evolved_pdf: targetgrid[targetgrid.index(x)] * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], From 74062bc50c81f39b8f9ed4f623294ec4453bbac6 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 16:28:51 +0200 Subject: [PATCH 015/212] Fixed load_fit --- n3fit/src/evolven3fit/evolven3fit_API.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 1311fdc2bf..d7f262cb71 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -55,8 +55,11 @@ def load_fit(conf_folder): for dir in dirs: replica_list.append(dir) replica_list.remove("input") - #remove the eventual evolution folder - replica_list.remove(usr_path.stem) + #remove the eventual evolution folder + try: + replica_list.remove(usr_path.stem) + except: + pass pdf_dict = {} for replica in replica_list: rep_path = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") From 0d9056a6e193e5821bfb3ae38fb797a60c992b65 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 19:11:13 +0200 Subject: [PATCH 016/212] Fixed info path --- n3fit/src/evolven3fit/evolven3fit_API.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index d7f262cb71..833886551b 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -127,7 +127,7 @@ def evolve_exportgrid( # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # construct and dump info file if not already there - info_path = usr_path / "nnfit" / (usr_path.stem + ".info") + info_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") if not info_path.is_file(): info = gen_info.create_info_file( theory_card, operator_card, 1, info_update={} From 74aeb57d50eed11d3a3f9561f9e9a399a13de2f6 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 14 Jul 2022 16:15:33 +0200 Subject: [PATCH 017/212] Reworked evolven3fit_API --- n3fit/src/evolven3fit/evolven3fit_API.py | 80 ++++++++++++------------ n3fit/src/evolven3fit/utils.py | 3 +- 2 files changed, 40 insertions(+), 43 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 833886551b..111bc6f511 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -9,6 +9,7 @@ from eko import basis_rotation as br from eko import run_dglap + def evolve_fit(conf_folder): """ Evolves all the fitted replica in conf_folder/nnfit @@ -19,27 +20,27 @@ def evolve_fit(conf_folder): conf_folder: str or pathlib.Path path to the folder containing the fit """ - initial_PDFs_dict = load_fit(conf_folder) - eko, theory, op = construct_eko_for_fit(conf_folder) + usr_path = pathlib.Path(conf_folder) + initial_PDFs_dict = load_fit(usr_path) + eko, theory, op = construct_eko_for_fit(usr_path) + # construct info file + info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed + dump_info_file(usr_path, info) for replica in initial_PDFs_dict.keys(): - evolve_exportgrid( - initial_PDFs_dict[replica], - eko, - theory, - op, - int(replica.removeprefix("replica_")), - conf_folder, + evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko, theory, op) + dump_evolved_replica( + evolved_block, usr_path, int(replica.removeprefix("replica_")) ) -def load_fit(conf_folder): +def load_fit(usr_path): """ - Loads all the replica pdfs at fitting scale in conf_folder and return the exportgrids + Loads all the replica pdfs at fitting scale in usr_path and return the exportgrids Parameters ---------- - conf_folder: str or pathlib.Path + usr_path: pathlib.Path path to the folder containing the fit Returns @@ -48,15 +49,14 @@ def load_fit(conf_folder): : dict exportgrids info """ - usr_path = pathlib.Path(conf_folder) nnfitpath = usr_path / "nnfit" replica_list = [] for subdir, dirs, files in os.walk(nnfitpath): for dir in dirs: replica_list.append(dir) replica_list.remove("input") - #remove the eventual evolution folder - try: + # remove the eventual evolution folder + try: replica_list.remove(usr_path.stem) except: pass @@ -71,17 +71,17 @@ def load_fit(conf_folder): # Temporary solution. Then it will be loaded from the theory itself -def construct_eko_for_fit(conf_folder): +def construct_eko_for_fit(usr_path): """ Construct the eko operator needed for evolution of fitted pdfs Parameters ---------- - conf_folder: str or pathlib.Path + usr_path: pathlib.Path path to the folder containing the fit """ # read the runcard - my_runcard = utils.read_runcard(conf_folder) + my_runcard = utils.read_runcard(usr_path) # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") @@ -89,16 +89,14 @@ def construct_eko_for_fit(conf_folder): # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) op_card = gen_op.gen_op_card(q2_grid) - #generate eko operator (temporary because it will be loaded from theory) + # generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) return eko_op, t_card, op_card -def evolve_exportgrid( - exportgrid, eko, theory_card, operator_card, replica, conf_folder -): +def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): """ - Evolves the provided exportgrid for the desired replica with the eko and dump the replica in conf_folder/nnfit + Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block Parameters ---------- @@ -110,29 +108,13 @@ def evolve_exportgrid( theory card operator_card: dict operator card - replica: int - num replica - conf_folder: str - path to fit folder """ - usr_path = pathlib.Path(conf_folder) - path_where_dump = usr_path / "nnfit" / usr_path.stem - #create folder to dump the evolved replica if it does not exist - if not os.path.exists(path_where_dump): - os.makedirs(path_where_dump) # construct LhapdfLike object pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() x_grid = np.array(exportgrid["xgrid"]).astype(np.float) pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) - # construct and dump info file if not already there - info_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") - if not info_path.is_file(): - info = gen_info.create_info_file( - theory_card, operator_card, 1, info_update={} - ) # to be changed - genpdf.export.dump_info(path_where_dump, info) # generate block to dump targetgrid = operator_card["interpolation_xgrid"] block = genpdf.generate_block( @@ -142,7 +124,23 @@ def evolve_exportgrid( Q2grid=operator_card["Q2grid"], pids=br.flavor_basis_pids, ) - to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica) + "\n" + return block + + +def dump_evolved_replica(evolved_block, usr_path, replica_num): + path_where_dump = usr_path / "nnfit" / usr_path.stem + # create folder to dump the evolved replica if it does not exist + if not os.path.exists(path_where_dump): + os.makedirs(path_where_dump) + to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" genpdf.export.dump_blocks( - path_where_dump, replica, [block], pdf_type=to_write_in_head + path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head ) + + +def dump_info_file(usr_path, info): + # dump info file if not already there + path_where_dump = usr_path / "nnfit" / usr_path.stem + info_path = path_where_dump / (usr_path.stem + ".info") + if not info_path.is_file(): + genpdf.export.dump_info(path_where_dump, info) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 89f3d9e95c..79b3290103 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -59,11 +59,10 @@ def hasFlavor(self, pid): return False -def read_runcard(conf_folder): +def read_runcard(usr_path): """ reads the runcard and returns the relevant information for evolven3fit """ - usr_path = pathlib.Path(conf_folder) runcard_path = usr_path / "filter.yml" with runcard_path.open() as fp: data = yaml.safe_load(fp) From 214813d622caaca00137cceaf6d00cc4b300af27 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 14 Jul 2022 16:20:58 +0200 Subject: [PATCH 018/212] Added some doc --- n3fit/src/evolven3fit/evolven3fit_API.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 111bc6f511..8ea45b9b91 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -23,7 +23,6 @@ def evolve_fit(conf_folder): usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) eko, theory, op = construct_eko_for_fit(usr_path) - # construct info file info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed dump_info_file(usr_path, info) for replica in initial_PDFs_dict.keys(): @@ -79,6 +78,14 @@ def construct_eko_for_fit(usr_path): ---------- usr_path: pathlib.Path path to the folder containing the fit + Returns + ------- + : eko.output.Output + eko operator + : dict + theory runcard + : dict + operator runcard """ # read the runcard my_runcard = utils.read_runcard(usr_path) @@ -108,6 +115,10 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): theory card operator_card: dict operator card + Returns + ------- + : np.array + evolved block """ # construct LhapdfLike object pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() From ee662cd21d9460ee0b45edea7bc35d7827073773 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 14 Jul 2022 16:45:00 +0200 Subject: [PATCH 019/212] Added funcs to fix paths --- n3fit/src/evolven3fit/evolven3fit_API.py | 5 +++++ n3fit/src/evolven3fit/utils.py | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 8ea45b9b91..4b00203802 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -25,11 +25,16 @@ def evolve_fit(conf_folder): eko, theory, op = construct_eko_for_fit(usr_path) info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed dump_info_file(usr_path, info) + utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko, theory, op) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) + # fixing_replica_path + utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) + # remove folder + os.rmdir(usr_path / "nnfit" / usr_path.stem) def load_fit(usr_path): diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 79b3290103..7b1d742713 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -3,6 +3,7 @@ import math import pathlib import yaml +import shutil class LhapdfLike: @@ -75,3 +76,23 @@ def generate_q2grid(Q0, Qfin): """ grid = np.geomspace(Q0 ** 2, Qfin ** 2, num=100) return grid + + +def mv_file(file_path, dest_path): + shutil.move(str(file_path), str(dest_path)) + + +def fix_info_path(usr_path): + info_file_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") + dest_path_info = usr_path / "nnfit" / (usr_path.stem + ".info") + mv_file(info_file_path, dest_path_info) + + +def fix_replica_path(usr_path, replica_num): + replica_file_path = ( + usr_path / "nnfit" / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" + ) + dest_path_replica = ( + usr_path / "nnfit" / f"replica_{replica_num}" / f"{usr_path.stem}.dat" + ) + mv_file(replica_file_path, dest_path_replica) From ca53512b01af83a9f6884a75a57ed1040f482140 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 15 Jul 2022 09:30:09 +0200 Subject: [PATCH 020/212] Changed x-grid of eko --- n3fit/src/evolven3fit/evolven3fit_API.py | 3 ++- n3fit/src/evolven3fit/utils.py | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 4b00203802..6c4b33c4ba 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -99,8 +99,9 @@ def construct_eko_for_fit(usr_path): theory.pop("FNS") t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card + op_x_grid = utils.generate_x_grid() q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = gen_op.gen_op_card(q2_grid) + op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) # generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) return eko_op, t_card, op_card diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 7b1d742713..1a4719b608 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -78,6 +78,14 @@ def generate_q2grid(Q0, Qfin): return grid +def generate_x_grid(): + """ + Generate the xgrid used for the eko + """ + grid = np.geomspace(1e-09, 1.0, num=196) + return grid + + def mv_file(file_path, dest_path): shutil.move(str(file_path), str(dest_path)) From 9787fcb51ff65fe0c638db0c7c12fe3e3d73881b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 16 Aug 2022 13:47:33 +0200 Subject: [PATCH 021/212] Fixing stuff --- n3fit/src/evolven3fit/utils.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 1a4719b608..5b79a4938a 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -64,18 +64,14 @@ def read_runcard(usr_path): """ reads the runcard and returns the relevant information for evolven3fit """ - runcard_path = usr_path / "filter.yml" - with runcard_path.open() as fp: - data = yaml.safe_load(fp) - return data + return yaml.safe_load((usr_path / "filter.yml").read_text()) def generate_q2grid(Q0, Qfin): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - grid = np.geomspace(Q0 ** 2, Qfin ** 2, num=100) - return grid + return np.geomspace(Q0 ** 2, Qfin ** 2, num=100) def generate_x_grid(): From 17cec628afbbfa9d2e7106145cdb681a083931ef Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 16 Aug 2022 15:11:06 +0200 Subject: [PATCH 022/212] Minor fixes --- n3fit/src/evolven3fit/utils.py | 11 ++++--- n3fit/src/evolven3fit/varflavors.py | 51 ----------------------------- 2 files changed, 7 insertions(+), 55 deletions(-) delete mode 100644 n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 5b79a4938a..e191114f0a 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -87,16 +87,19 @@ def mv_file(file_path, dest_path): def fix_info_path(usr_path): - info_file_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") - dest_path_info = usr_path / "nnfit" / (usr_path.stem + ".info") + nnfit = usr_path / "nnfit" + info_file = usr_path.stem + ".info" + info_file_path = nnfit / usr_path.stem / info_file + dest_path_info = nnfit / info_file mv_file(info_file_path, dest_path_info) def fix_replica_path(usr_path, replica_num): + nnfit = usr_path / "nnfit" replica_file_path = ( - usr_path / "nnfit" / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" + nnfit / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" ) dest_path_replica = ( - usr_path / "nnfit" / f"replica_{replica_num}" / f"{usr_path.stem}.dat" + nnfit / f"replica_{replica_num}" / f"{usr_path.stem}.dat" ) mv_file(replica_file_path, dest_path_replica) diff --git a/n3fit/src/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py deleted file mode 100644 index 41e786907b..0000000000 --- a/n3fit/src/evolven3fit/varflavors.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -varflavors.py - -When producing a PDF with different maximal flavor number than the nf during the fit, we first run -evolven3fit by manually selecting a theory id of the theory correspodning to the desired nf -evolution. - -After running evolven3fit, but before running posfit, this script should be run to replace the -``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the -theory database. -""" - -from argparse import ArgumentParser -from pathlib import Path - -from validphys.loader import Loader -from validphys.theorydbutils import fetch_theory - - -ll = Loader() -path_db = ll.theorydb_file - -if __name__ == "__main__": - parser = ArgumentParser() - parser.add_argument( - "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" - ) - parser.add_argument( - "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" - ) - args = parser.parse_args() - - path_fit_folder = Path(args.fit_folder) - fit_name = path_fit_folder.name - path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" - - theory_dict = fetch_theory(path_db, args.theory_id) - Qref = theory_dict["Qref"] - alphas = theory_dict["alphas"] - - path_temp_info = path_info_file.parent / "temp.info" - with open(path_info_file, "r+") as f: - with open(path_temp_info, "w") as tempfile: - for line in f: - if line.startswith("AlphaS_MZ:"): - line = f"AlphaS_MZ: {alphas}\n" - if line.startswith("MZ"): - line = f"MZ: {Qref}\n" - tempfile.write(line) - - path_temp_info.rename(path_info_file) From 912f76775fb0adffaf05c496423d1ad64945d5f5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 9 Mar 2022 18:08:50 +0100 Subject: [PATCH 023/212] Starting substitution of apfel with eko in evolven3fit --- n3fit/{ => src}/evolven3fit/CMakeLists.txt | 0 n3fit/src/evolven3fit/__init__.py | 1 + n3fit/src/evolven3fit/evolven3fit_API.py | 66 +++++++++++++++++++ n3fit/src/evolven3fit/evolven3fit_cli.py | 24 +++++++ .../evolven3fit/evolven3fit_old.cc} | 0 n3fit/src/evolven3fit/utils.py | 44 +++++++++++++ n3fit/{ => src}/evolven3fit/varflavors.py | 0 n3fit/{ => src}/evolven3fit/version.h | 0 8 files changed, 135 insertions(+) rename n3fit/{ => src}/evolven3fit/CMakeLists.txt (100%) create mode 100644 n3fit/src/evolven3fit/__init__.py create mode 100644 n3fit/src/evolven3fit/evolven3fit_API.py create mode 100644 n3fit/src/evolven3fit/evolven3fit_cli.py rename n3fit/{evolven3fit/evolven3fit.cc => src/evolven3fit/evolven3fit_old.cc} (100%) create mode 100644 n3fit/src/evolven3fit/utils.py rename n3fit/{ => src}/evolven3fit/varflavors.py (100%) rename n3fit/{ => src}/evolven3fit/version.h (100%) diff --git a/n3fit/evolven3fit/CMakeLists.txt b/n3fit/src/evolven3fit/CMakeLists.txt similarity index 100% rename from n3fit/evolven3fit/CMakeLists.txt rename to n3fit/src/evolven3fit/CMakeLists.txt diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py new file mode 100644 index 0000000000..7258c84983 --- /dev/null +++ b/n3fit/src/evolven3fit/__init__.py @@ -0,0 +1 @@ +from . import evolven3fit_API \ No newline at end of file diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py new file mode 100644 index 0000000000..bf17f24245 --- /dev/null +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -0,0 +1,66 @@ + + +from ekobox import evol_pdf, gen_theory, gen_op, genpdf +import pathlib +import numpy as np +import yaml +from . import utils +from validphys.loader import Loader + + +def load_fit(conf_folder, num_replica): + """ + Loads a replica pdf at fitting scale in conf_folder and return a lhapdf-like object + + Parameters + ---------- + + conf_folder: str + path to the folder containing the fit + num_replicas: int + number of replica pdf + + Returns + ------- + + : lhapdf-like + lhapdf-like object + """ + nnfitpath = pathlib.Path(conf_folder + "/nnfit") + rep_path = pathlib.Path("/replica_" + str(num_replica) + "/" + conf_folder + ".exportgrid") + yaml_file = nnfitpath/rep_path.relative_to(rep_path.anchor) + with yaml_file.open() as fp: + data = yaml.safe_load(fp) + pdf_grid = np.array(data["pdfgrid"]).transpose() + x_grid = np.array(data["xgrid"]).astype(np.float) + my_pdf = utils.lhapdf_like(pdf_grid,data["q20"],x_grid) + return my_pdf + +def evolve_fit(conf_folder, max_replicas): + """ + Evolves num_replicas replica pdfs at fitting scale in conf_folder and dump lhapdf pdfs + + Parameters + ---------- + conf_folder: str + path to the folder containing the fit + num_replicas: int + number of replica pdfs + """ + initial_PDFs_list = [] + for rep in range(2,max_replicas+1): + initial_PDFs_list.append(load_fit(conf_folder, rep)) + #read the runcard + my_runcard = utils.read_runcard(conf_folder) + #theory_card construction + theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() + del theory["FNS"] + #theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) + theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) + #construct operator card + q2_grid = utils.generate_q2grid(theory["Q0"]) + op_card = gen_op.gen_op_card(q2_grid) #Change also x-grid according to pdf one? + #generate eko operator (temporary because it will be loaded from theory) + evol_pdf.gen_out(theory_card,op_card,path = conf_folder) + #evolve and dump + evol_pdf.evolve_pdfs(initial_PDFs_list, theory_card, op_card,path = conf_folder, name = "Evolved_fit", info_update={"SetDesc": my_runcard["description"], "OrderQCD":theory["PTO"] } ) #name to be changed and also info diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py new file mode 100644 index 0000000000..56e5f59b77 --- /dev/null +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -0,0 +1,24 @@ +""" +This module contains the CLI for evolven3fit +""" + +import click + +from . import evolven3fit_API +@click.group() +def cli(): + pass + + +@cli.command("evolven3fit") +@click.argument("configuration_folder", nargs=1) +@click.argument("max_replicas", nargs=1) +def cli_evolven3fit(configuration_folder, max_replicas): + """Evolves the fitted PDFs""" + return evolven3fit_API.evolve_fit(configuration_folder,max_replicas) + + + + + + diff --git a/n3fit/evolven3fit/evolven3fit.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc similarity index 100% rename from n3fit/evolven3fit/evolven3fit.cc rename to n3fit/src/evolven3fit/evolven3fit_old.cc diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py new file mode 100644 index 0000000000..678572d7a9 --- /dev/null +++ b/n3fit/src/evolven3fit/utils.py @@ -0,0 +1,44 @@ +from scipy.interpolate import interp1d +import numpy as np +import math +import pathlib +import yaml + +class lhapdf_like(): + pids_dict = {-6:'TBAR', -5:'BBAR', -4:'CBAR', -3:'SBAR', -2:'UBAR', -1:'DBAR', 21:'GLUON', 1:'D', 2:'U', 3:'S', 4:'C', 5:'B', 6:'T', 22:'PHT' } + pids_order = ['TBAR', 'BBAR', 'CBAR', 'SBAR', 'UBAR', 'DBAR', 'GLUON', 'D', 'U', 'S', 'C', 'B', 'T', 'PHT' ] + def __init__(self, pdf_grid, q20, x_grid): + self.pdf_grid = pdf_grid + self.q20 = q20 + self.x_grid = x_grid + self.funcs = [interp1d(self.x_grid, self.pdf_grid[pid]) for pid in range(len(self.pids_order))] + def xfxQ2(self, pid, x, q2 ): + if not math.isclose(q2,self.q20,rel_tol = 1e-6): + raise ValueError("The q2 requested is not the fitting scale of this pdf") + return x*(self.funcs[self.pids_order.index(self.pids_dict[pid])](x)) + def hasFlavor(self,pid): + if pid in self.pids_dict.keys(): + return True + return False + + +def read_runcard(conf_folder): + """ + reads the runcard and returns the relevant information for evolven3fit + """ + runcard_path = pathlib.Path(conf_folder + "/filter.yml") + with runcard_path.open() as fp: + data = yaml.safe_load(fp) + return data + +def generate_q2grid(Q0): + """ + Generate the q2grid used in the final evolved pdfs (Temporary solution) + """ + Qfin = 1.e5 + #grid = np.geomspace(Q0**2,Qfin**2, num = 100) + #for testing + grid = np.array([100.]) + return grid + + diff --git a/n3fit/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py similarity index 100% rename from n3fit/evolven3fit/varflavors.py rename to n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/evolven3fit/version.h b/n3fit/src/evolven3fit/version.h similarity index 100% rename from n3fit/evolven3fit/version.h rename to n3fit/src/evolven3fit/version.h From e5775ec672273dff167b8c48e0a57902b90738b6 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 9 Mar 2022 18:11:29 +0100 Subject: [PATCH 024/212] Fixing --- n3fit/src/evolven3fit/evolven3fit_API.py | 5 +++-- n3fit/src/evolven3fit/utils.py | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index bf17f24245..5f9280cefe 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -55,8 +55,9 @@ def evolve_fit(conf_folder, max_replicas): #theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() del theory["FNS"] - #theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) - theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) + theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) + #for testing + #theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) #construct operator card q2_grid = utils.generate_q2grid(theory["Q0"]) op_card = gen_op.gen_op_card(q2_grid) #Change also x-grid according to pdf one? diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 678572d7a9..f5e38d616f 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -36,9 +36,9 @@ def generate_q2grid(Q0): Generate the q2grid used in the final evolved pdfs (Temporary solution) """ Qfin = 1.e5 - #grid = np.geomspace(Q0**2,Qfin**2, num = 100) + grid = np.geomspace(Q0**2,Qfin**2, num = 100) #for testing - grid = np.array([100.]) + #grid = np.array([100.]) return grid From 14c917589abf2c3fb981a3c728a9030ae0c478e9 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 10 Mar 2022 14:00:35 +0100 Subject: [PATCH 025/212] Separated function to evolve exportgrid --- n3fit/src/evolven3fit/evolven3fit_API.py | 149 ++++++++++++++++------- n3fit/src/evolven3fit/evolven3fit_cli.py | 15 +-- n3fit/src/evolven3fit/utils.py | 67 +++++++--- 3 files changed, 163 insertions(+), 68 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 5f9280cefe..23594831ef 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,67 +1,134 @@ - - -from ekobox import evol_pdf, gen_theory, gen_op, genpdf -import pathlib +from ekobox import evol_pdf, gen_theory, gen_op, genpdf, gen_info +import pathlib import numpy as np import yaml from . import utils from validphys.loader import Loader +import os +from ekomark import apply +from eko import basis_rotation as br + + +def evolve_fit(conf_folder): + """ + Evolves all the fitted replica in conf_folder/nnfit + """ + initial_PDFs_dict = load_fit(conf_folder) + eko, theory, op = construct_eko_for_fit(conf_folder) + for replica in initial_PDFs_dict.keys(): + evolve_exportgrid( + initial_PDFs_dict[replica], + eko, + theory, + op, + int(replica.removeprefix("replica_")), + conf_folder, + ) -def load_fit(conf_folder, num_replica): +def load_fit(conf_folder): """ - Loads a replica pdf at fitting scale in conf_folder and return a lhapdf-like object + Loads all the replica pdfs at fitting scale in conf_folder and return the exportgrids Parameters ---------- conf_folder: str - path to the folder containing the fit - num_replicas: int - number of replica pdf + path to the folder containing the fit Returns ------- - : lhapdf-like - lhapdf-like object + : dict + exportgrids info """ - nnfitpath = pathlib.Path(conf_folder + "/nnfit") - rep_path = pathlib.Path("/replica_" + str(num_replica) + "/" + conf_folder + ".exportgrid") - yaml_file = nnfitpath/rep_path.relative_to(rep_path.anchor) - with yaml_file.open() as fp: - data = yaml.safe_load(fp) - pdf_grid = np.array(data["pdfgrid"]).transpose() - x_grid = np.array(data["xgrid"]).astype(np.float) - my_pdf = utils.lhapdf_like(pdf_grid,data["q20"],x_grid) - return my_pdf + nnfitpath = pathlib.Path(conf_folder) / "nnfit" + replica_list = [] + for subdir, dirs, files in os.walk(nnfitpath): + for dir in dirs: + replica_list.append(dir) + replica_list.remove("input") + pdf_dict = {} + for replica in replica_list: + rep_path = pathlib.Path(replica) / (conf_folder + ".exportgrid") + yaml_file = nnfitpath / rep_path.relative_to(rep_path.anchor) + with yaml_file.open() as fp: + data = yaml.safe_load(fp) + pdf_dict[replica] = data + return pdf_dict -def evolve_fit(conf_folder, max_replicas): + +# Temporary solution. Then it will be loaded from the theory itself +def construct_eko_for_fit(conf_folder): """ - Evolves num_replicas replica pdfs at fitting scale in conf_folder and dump lhapdf pdfs + Construct the eko operator needed for evolution of fitted pdfs Parameters ---------- conf_folder: str - path to the folder containing the fit - num_replicas: int - number of replica pdfs + path to the folder containing the fit """ - initial_PDFs_list = [] - for rep in range(2,max_replicas+1): - initial_PDFs_list.append(load_fit(conf_folder, rep)) - #read the runcard + # read the runcard my_runcard = utils.read_runcard(conf_folder) - #theory_card construction + # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() - del theory["FNS"] - theory_card = gen_theory.gen_theory_card(theory["PTO"],theory["Q0"], update = theory ) - #for testing - #theory_card = gen_theory.gen_theory_card(0,theory["Q0"] ) - #construct operator card - q2_grid = utils.generate_q2grid(theory["Q0"]) - op_card = gen_op.gen_op_card(q2_grid) #Change also x-grid according to pdf one? - #generate eko operator (temporary because it will be loaded from theory) - evol_pdf.gen_out(theory_card,op_card,path = conf_folder) - #evolve and dump - evol_pdf.evolve_pdfs(initial_PDFs_list, theory_card, op_card,path = conf_folder, name = "Evolved_fit", info_update={"SetDesc": my_runcard["description"], "OrderQCD":theory["PTO"] } ) #name to be changed and also info + theory.pop("FNS") + theory_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + + # construct operator card + q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) + op_card = gen_op.gen_op_card(q2_grid) + # generate eko operator (temporary because it will be loaded from theory) + eko = evol_pdf.gen_out(theory_card, op_card) + return eko, theory_card, op_card + # + + +def evolve_exportgrid( + exportgrid, eko, theory_card, operator_card, replica, conf_folder +): + """ + Evolves the provided exportgrid for the desired replica with the eko and dump the replica in conf_folder/nnfit + + Parameters + ---------- + exportgrid: dict + exportgrid of pdf at fitting scale + eko: eko object + eko operator for evolution + theory_card: dict + theory card + operator_card: dict + operator card + replica: int + num replica + conf_folder: str + path to fit folder + """ + path_where_dump = pathlib.Path(conf_folder) / "nnfit" / conf_folder + # construct LhapdfLike object + pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() + x_grid = np.array(exportgrid["xgrid"]).astype(np.float) + pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) + # evolve pdf + evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) + # construct and dump info file if not already there + info_path = pathlib.Path(conf_folder) / "nnfit" / (conf_folder + ".info") + if not info_path.is_file(): + info = gen_info.create_info_file( + theory_card, operator_card, 1, info_update={} + ) # to be changed + genpdf.export.dump_info(path_where_dump, info) + # generate block to dump + targetgrid = operator_card["interpolation_xgrid"] + block = genpdf.generate_block( + lambda pid, x, Q2, evolved_PDF=evolved_pdf: targetgrid[targetgrid.index(x)] + * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], + xgrid=targetgrid, + Q2grid=operator_card["Q2grid"], + pids=br.flavor_basis_pids, + ) + to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica) + "\n" + genpdf.export.dump_blocks( + path_where_dump, replica, [block], pdf_type=to_write_in_head + ) diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 56e5f59b77..b6c04717d1 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -2,9 +2,11 @@ This module contains the CLI for evolven3fit """ -import click +import click from . import evolven3fit_API + + @click.group() def cli(): pass @@ -12,13 +14,6 @@ def cli(): @cli.command("evolven3fit") @click.argument("configuration_folder", nargs=1) -@click.argument("max_replicas", nargs=1) -def cli_evolven3fit(configuration_folder, max_replicas): +def cli_evolven3fit(configuration_folder): """Evolves the fitted PDFs""" - return evolven3fit_API.evolve_fit(configuration_folder,max_replicas) - - - - - - + return evolven3fit_API.evolve_fit(configuration_folder) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index f5e38d616f..458ba3062e 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -4,21 +4,58 @@ import pathlib import yaml -class lhapdf_like(): - pids_dict = {-6:'TBAR', -5:'BBAR', -4:'CBAR', -3:'SBAR', -2:'UBAR', -1:'DBAR', 21:'GLUON', 1:'D', 2:'U', 3:'S', 4:'C', 5:'B', 6:'T', 22:'PHT' } - pids_order = ['TBAR', 'BBAR', 'CBAR', 'SBAR', 'UBAR', 'DBAR', 'GLUON', 'D', 'U', 'S', 'C', 'B', 'T', 'PHT' ] + +class LhapdfLike: + pids_dict = { + -6: "TBAR", + -5: "BBAR", + -4: "CBAR", + -3: "SBAR", + -2: "UBAR", + -1: "DBAR", + 21: "GLUON", + 1: "D", + 2: "U", + 3: "S", + 4: "C", + 5: "B", + 6: "T", + 22: "PHT", + } + pids_order = [ + "TBAR", + "BBAR", + "CBAR", + "SBAR", + "UBAR", + "DBAR", + "GLUON", + "D", + "U", + "S", + "C", + "B", + "T", + "PHT", + ] + def __init__(self, pdf_grid, q20, x_grid): self.pdf_grid = pdf_grid - self.q20 = q20 + self.q20 = q20 self.x_grid = x_grid - self.funcs = [interp1d(self.x_grid, self.pdf_grid[pid]) for pid in range(len(self.pids_order))] - def xfxQ2(self, pid, x, q2 ): - if not math.isclose(q2,self.q20,rel_tol = 1e-6): + self.funcs = [ + interp1d(self.x_grid, self.pdf_grid[pid]) + for pid in range(len(self.pids_order)) + ] + + def xfxQ2(self, pid, x, q2): + if not math.isclose(q2, self.q20, rel_tol=1e-6): raise ValueError("The q2 requested is not the fitting scale of this pdf") - return x*(self.funcs[self.pids_order.index(self.pids_dict[pid])](x)) - def hasFlavor(self,pid): + return x * (self.funcs[self.pids_order.index(self.pids_dict[pid])](x)) + + def hasFlavor(self, pid): if pid in self.pids_dict.keys(): - return True + return True return False @@ -31,14 +68,10 @@ def read_runcard(conf_folder): data = yaml.safe_load(fp) return data -def generate_q2grid(Q0): + +def generate_q2grid(Q0, Qfin): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - Qfin = 1.e5 - grid = np.geomspace(Q0**2,Qfin**2, num = 100) - #for testing - #grid = np.array([100.]) + grid = np.geomspace(Q0 ** 2, Qfin ** 2, num=100) return grid - - From 713df254bd33e5a84f541f72d2717d8dbea9ba17 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 10 Mar 2022 15:10:29 +0100 Subject: [PATCH 026/212] removed old evolven3fit --- n3fit/src/evolven3fit/evolven3fit_old.cc | 144 ----------------------- n3fit/src/evolven3fit/varflavors.py | 51 -------- 2 files changed, 195 deletions(-) delete mode 100644 n3fit/src/evolven3fit/evolven3fit_old.cc delete mode 100644 n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/src/evolven3fit/evolven3fit_old.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc deleted file mode 100644 index 5b29f2bd58..0000000000 --- a/n3fit/src/evolven3fit/evolven3fit_old.cc +++ /dev/null @@ -1,144 +0,0 @@ -// $Id$ -// -// NNPDF++ 2016 -// -// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk -// Stefano Carrazza, stefano.carrazza@mi.infn.it - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "exportgrid.h" -#include "evolgrid.h" - -using namespace NNPDF; -using std::cout; -using std::endl; -using std::cerr; -using std::string; -using std::stringstream; -using std::stoi; - -// Check if folder exists -bool CheckConsistency(string const& folder, string const& exportfile) -{ - bool status1 = false, status2 = false; - struct stat s, t; - if (stat(folder.c_str(), &s) == 0) - if (s.st_mode & S_IFDIR) - status1 = true; - if (stat(exportfile.c_str(), &t) == 0) - if (t.st_mode) - status2 = true; - if (status1 == true && status2 == true) return true; - else return false; -} - -// return theoryid from runcard -int get_theory_id_from_runcard(string const& filteryaml_path) -{ - YAML::Node runcard; - try { - runcard = YAML::LoadFile(filteryaml_path); - } - catch(YAML::BadFile &e) - { - throw FileError("evolven3fit", "runcard not found: " + filteryaml_path); - } - return runcard["theory"]["theoryid"].as(); -} - -/** - * This program: - * - takes as input a fit folder and a theoryID, - * - loads a vector of ExportGrid for all replicas generated by nnfit, - * - computes the DGLAP evolution operators for the theoryID - * - applies the evolution operators to the ExportGrid objects - * - outputs the evolved PDFs in the LHAPDF format to the fit folder. - */ -int main(int argc, char **argv) -{ - // Read configuration filename from arguments - if (argc != 3 && argc != 5) - { - cerr << "\nusage: evolven3fit [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; - exit(EXIT_FAILURE); - } - - const string fit_path = argv[1]; - const int maxreplica = stoi(argv[2]); - const string filteryaml_path = fit_path + "/filter.yml"; - int theory_id; - - // Get theory id - if (argc == 5) - { - const string flag = argv[3]; - if (flag == "--theory_id") - theory_id = stoi(argv[4]); - else - { - cerr << "\nNot supported flag: " << flag << endl; - exit(EXIT_FAILURE); - } - } - else - theory_id = get_theory_id_from_runcard(filteryaml_path); - cout << "Theory ID = " << theory_id << endl; - - // load theory from db - std::map theory_map; - NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); - auto keys = APFEL::kValues; - keys.push_back("EScaleVar"); - db.ExtractMap(theory_id, keys, theory_map); - - // load grids - vector initialscale_grids; - vector replicas; - for (int nrep = 1; nrep <= maxreplica; nrep++) - { - const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); - const string path = folder + "/" + fit_path + ".exportgrid"; - bool status = CheckConsistency(folder, path); - if (status) - { - initialscale_grids.emplace_back(path); - replicas.push_back(nrep); - } - else - { - cout << "Skipping exportgrid (missing file): " << path << endl; - } - } - - if (initialscale_grids.size() == 0) - throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); - - string infofile = fit_path + "/nnfit/" + fit_path + ".info"; - auto dglapg = EvolveGrid(initialscale_grids, theory_map); - dglapg.WriteInfoFile(infofile); - - const auto outstream = dglapg.WriteLHAFile(); - for (size_t i = 0; i < outstream.size(); i++) - { - stringstream replica_file; - replica_file << fit_path - << "/nnfit/replica_" - << replicas[i] - << "/" - << fit_path - << ".dat"; - write_to_file(replica_file.str(), outstream[i].str()); - } - - return 0; -} diff --git a/n3fit/src/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py deleted file mode 100644 index 41e786907b..0000000000 --- a/n3fit/src/evolven3fit/varflavors.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -varflavors.py - -When producing a PDF with different maximal flavor number than the nf during the fit, we first run -evolven3fit by manually selecting a theory id of the theory correspodning to the desired nf -evolution. - -After running evolven3fit, but before running posfit, this script should be run to replace the -``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the -theory database. -""" - -from argparse import ArgumentParser -from pathlib import Path - -from validphys.loader import Loader -from validphys.theorydbutils import fetch_theory - - -ll = Loader() -path_db = ll.theorydb_file - -if __name__ == "__main__": - parser = ArgumentParser() - parser.add_argument( - "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" - ) - parser.add_argument( - "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" - ) - args = parser.parse_args() - - path_fit_folder = Path(args.fit_folder) - fit_name = path_fit_folder.name - path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" - - theory_dict = fetch_theory(path_db, args.theory_id) - Qref = theory_dict["Qref"] - alphas = theory_dict["alphas"] - - path_temp_info = path_info_file.parent / "temp.info" - with open(path_info_file, "r+") as f: - with open(path_temp_info, "w") as tempfile: - for line in f: - if line.startswith("AlphaS_MZ:"): - line = f"AlphaS_MZ: {alphas}\n" - if line.startswith("MZ"): - line = f"MZ: {Qref}\n" - tempfile.write(line) - - path_temp_info.rename(path_info_file) From 50b116539ec830af5516ef68b28c972b8e1415cf Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 25 Mar 2022 12:16:15 +0100 Subject: [PATCH 027/212] Fixed names according to name changed in ekobox --- n3fit/src/evolven3fit/evolven3fit_API.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 23594831ef..89f0294392 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,4 +1,4 @@ -from ekobox import evol_pdf, gen_theory, gen_op, genpdf, gen_info +from ekobox import evol_pdf, theory_card, operators_card, genpdf, info_file import pathlib import numpy as np import yaml @@ -7,7 +7,7 @@ import os from ekomark import apply from eko import basis_rotation as br - +from eko import run_dglap def evolve_fit(conf_folder): """ @@ -73,14 +73,14 @@ def construct_eko_for_fit(conf_folder): # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") - theory_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + t_card = theory_card.generate(theory["PTO"], theory["Q0"], update=theory) # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = gen_op.gen_op_card(q2_grid) + op_card = operators_card.generate(q2_grid) # generate eko operator (temporary because it will be loaded from theory) - eko = evol_pdf.gen_out(theory_card, op_card) - return eko, theory_card, op_card + eko = run_dglap(t_card, op_card) + return eko, t_card, op_card # @@ -115,12 +115,12 @@ def evolve_exportgrid( # construct and dump info file if not already there info_path = pathlib.Path(conf_folder) / "nnfit" / (conf_folder + ".info") if not info_path.is_file(): - info = gen_info.create_info_file( + info = info_file.build( theory_card, operator_card, 1, info_update={} ) # to be changed genpdf.export.dump_info(path_where_dump, info) # generate block to dump - targetgrid = operator_card["interpolation_xgrid"] + targetgrid = operator_card["xgrid"] block = genpdf.generate_block( lambda pid, x, Q2, evolved_PDF=evolved_pdf: targetgrid[targetgrid.index(x)] * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], From 950a9675ccb803c4b85caffdc25e9834d33d26ee Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 25 Mar 2022 12:28:24 +0100 Subject: [PATCH 028/212] Revert "removed old evolven3fit" This reverts commit 166222058f1a843ccd14021c83394ae4092ebe38. --- n3fit/src/evolven3fit/evolven3fit_old.cc | 144 +++++++++++++++++++++++ n3fit/src/evolven3fit/varflavors.py | 51 ++++++++ 2 files changed, 195 insertions(+) create mode 100644 n3fit/src/evolven3fit/evolven3fit_old.cc create mode 100644 n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/src/evolven3fit/evolven3fit_old.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc new file mode 100644 index 0000000000..5b29f2bd58 --- /dev/null +++ b/n3fit/src/evolven3fit/evolven3fit_old.cc @@ -0,0 +1,144 @@ +// $Id$ +// +// NNPDF++ 2016 +// +// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk +// Stefano Carrazza, stefano.carrazza@mi.infn.it + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "exportgrid.h" +#include "evolgrid.h" + +using namespace NNPDF; +using std::cout; +using std::endl; +using std::cerr; +using std::string; +using std::stringstream; +using std::stoi; + +// Check if folder exists +bool CheckConsistency(string const& folder, string const& exportfile) +{ + bool status1 = false, status2 = false; + struct stat s, t; + if (stat(folder.c_str(), &s) == 0) + if (s.st_mode & S_IFDIR) + status1 = true; + if (stat(exportfile.c_str(), &t) == 0) + if (t.st_mode) + status2 = true; + if (status1 == true && status2 == true) return true; + else return false; +} + +// return theoryid from runcard +int get_theory_id_from_runcard(string const& filteryaml_path) +{ + YAML::Node runcard; + try { + runcard = YAML::LoadFile(filteryaml_path); + } + catch(YAML::BadFile &e) + { + throw FileError("evolven3fit", "runcard not found: " + filteryaml_path); + } + return runcard["theory"]["theoryid"].as(); +} + +/** + * This program: + * - takes as input a fit folder and a theoryID, + * - loads a vector of ExportGrid for all replicas generated by nnfit, + * - computes the DGLAP evolution operators for the theoryID + * - applies the evolution operators to the ExportGrid objects + * - outputs the evolved PDFs in the LHAPDF format to the fit folder. + */ +int main(int argc, char **argv) +{ + // Read configuration filename from arguments + if (argc != 3 && argc != 5) + { + cerr << "\nusage: evolven3fit [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; + exit(EXIT_FAILURE); + } + + const string fit_path = argv[1]; + const int maxreplica = stoi(argv[2]); + const string filteryaml_path = fit_path + "/filter.yml"; + int theory_id; + + // Get theory id + if (argc == 5) + { + const string flag = argv[3]; + if (flag == "--theory_id") + theory_id = stoi(argv[4]); + else + { + cerr << "\nNot supported flag: " << flag << endl; + exit(EXIT_FAILURE); + } + } + else + theory_id = get_theory_id_from_runcard(filteryaml_path); + cout << "Theory ID = " << theory_id << endl; + + // load theory from db + std::map theory_map; + NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); + auto keys = APFEL::kValues; + keys.push_back("EScaleVar"); + db.ExtractMap(theory_id, keys, theory_map); + + // load grids + vector initialscale_grids; + vector replicas; + for (int nrep = 1; nrep <= maxreplica; nrep++) + { + const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); + const string path = folder + "/" + fit_path + ".exportgrid"; + bool status = CheckConsistency(folder, path); + if (status) + { + initialscale_grids.emplace_back(path); + replicas.push_back(nrep); + } + else + { + cout << "Skipping exportgrid (missing file): " << path << endl; + } + } + + if (initialscale_grids.size() == 0) + throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); + + string infofile = fit_path + "/nnfit/" + fit_path + ".info"; + auto dglapg = EvolveGrid(initialscale_grids, theory_map); + dglapg.WriteInfoFile(infofile); + + const auto outstream = dglapg.WriteLHAFile(); + for (size_t i = 0; i < outstream.size(); i++) + { + stringstream replica_file; + replica_file << fit_path + << "/nnfit/replica_" + << replicas[i] + << "/" + << fit_path + << ".dat"; + write_to_file(replica_file.str(), outstream[i].str()); + } + + return 0; +} diff --git a/n3fit/src/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py new file mode 100644 index 0000000000..41e786907b --- /dev/null +++ b/n3fit/src/evolven3fit/varflavors.py @@ -0,0 +1,51 @@ +""" +varflavors.py + +When producing a PDF with different maximal flavor number than the nf during the fit, we first run +evolven3fit by manually selecting a theory id of the theory correspodning to the desired nf +evolution. + +After running evolven3fit, but before running posfit, this script should be run to replace the +``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the +theory database. +""" + +from argparse import ArgumentParser +from pathlib import Path + +from validphys.loader import Loader +from validphys.theorydbutils import fetch_theory + + +ll = Loader() +path_db = ll.theorydb_file + +if __name__ == "__main__": + parser = ArgumentParser() + parser.add_argument( + "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" + ) + parser.add_argument( + "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" + ) + args = parser.parse_args() + + path_fit_folder = Path(args.fit_folder) + fit_name = path_fit_folder.name + path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" + + theory_dict = fetch_theory(path_db, args.theory_id) + Qref = theory_dict["Qref"] + alphas = theory_dict["alphas"] + + path_temp_info = path_info_file.parent / "temp.info" + with open(path_info_file, "r+") as f: + with open(path_temp_info, "w") as tempfile: + for line in f: + if line.startswith("AlphaS_MZ:"): + line = f"AlphaS_MZ: {alphas}\n" + if line.startswith("MZ"): + line = f"MZ: {Qref}\n" + tempfile.write(line) + + path_temp_info.rename(path_info_file) From 8fc0afffdfcace315708604e61a1c45f373dcb95 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 25 Mar 2022 12:30:14 +0100 Subject: [PATCH 029/212] Removing old evolven3fit --- n3fit/src/evolven3fit/evolven3fit_old.cc | 144 ----------------------- 1 file changed, 144 deletions(-) delete mode 100644 n3fit/src/evolven3fit/evolven3fit_old.cc diff --git a/n3fit/src/evolven3fit/evolven3fit_old.cc b/n3fit/src/evolven3fit/evolven3fit_old.cc deleted file mode 100644 index 5b29f2bd58..0000000000 --- a/n3fit/src/evolven3fit/evolven3fit_old.cc +++ /dev/null @@ -1,144 +0,0 @@ -// $Id$ -// -// NNPDF++ 2016 -// -// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk -// Stefano Carrazza, stefano.carrazza@mi.infn.it - -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "exportgrid.h" -#include "evolgrid.h" - -using namespace NNPDF; -using std::cout; -using std::endl; -using std::cerr; -using std::string; -using std::stringstream; -using std::stoi; - -// Check if folder exists -bool CheckConsistency(string const& folder, string const& exportfile) -{ - bool status1 = false, status2 = false; - struct stat s, t; - if (stat(folder.c_str(), &s) == 0) - if (s.st_mode & S_IFDIR) - status1 = true; - if (stat(exportfile.c_str(), &t) == 0) - if (t.st_mode) - status2 = true; - if (status1 == true && status2 == true) return true; - else return false; -} - -// return theoryid from runcard -int get_theory_id_from_runcard(string const& filteryaml_path) -{ - YAML::Node runcard; - try { - runcard = YAML::LoadFile(filteryaml_path); - } - catch(YAML::BadFile &e) - { - throw FileError("evolven3fit", "runcard not found: " + filteryaml_path); - } - return runcard["theory"]["theoryid"].as(); -} - -/** - * This program: - * - takes as input a fit folder and a theoryID, - * - loads a vector of ExportGrid for all replicas generated by nnfit, - * - computes the DGLAP evolution operators for the theoryID - * - applies the evolution operators to the ExportGrid objects - * - outputs the evolved PDFs in the LHAPDF format to the fit folder. - */ -int main(int argc, char **argv) -{ - // Read configuration filename from arguments - if (argc != 3 && argc != 5) - { - cerr << "\nusage: evolven3fit [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; - exit(EXIT_FAILURE); - } - - const string fit_path = argv[1]; - const int maxreplica = stoi(argv[2]); - const string filteryaml_path = fit_path + "/filter.yml"; - int theory_id; - - // Get theory id - if (argc == 5) - { - const string flag = argv[3]; - if (flag == "--theory_id") - theory_id = stoi(argv[4]); - else - { - cerr << "\nNot supported flag: " << flag << endl; - exit(EXIT_FAILURE); - } - } - else - theory_id = get_theory_id_from_runcard(filteryaml_path); - cout << "Theory ID = " << theory_id << endl; - - // load theory from db - std::map theory_map; - NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); - auto keys = APFEL::kValues; - keys.push_back("EScaleVar"); - db.ExtractMap(theory_id, keys, theory_map); - - // load grids - vector initialscale_grids; - vector replicas; - for (int nrep = 1; nrep <= maxreplica; nrep++) - { - const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); - const string path = folder + "/" + fit_path + ".exportgrid"; - bool status = CheckConsistency(folder, path); - if (status) - { - initialscale_grids.emplace_back(path); - replicas.push_back(nrep); - } - else - { - cout << "Skipping exportgrid (missing file): " << path << endl; - } - } - - if (initialscale_grids.size() == 0) - throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); - - string infofile = fit_path + "/nnfit/" + fit_path + ".info"; - auto dglapg = EvolveGrid(initialscale_grids, theory_map); - dglapg.WriteInfoFile(infofile); - - const auto outstream = dglapg.WriteLHAFile(); - for (size_t i = 0; i < outstream.size(); i++) - { - stringstream replica_file; - replica_file << fit_path - << "/nnfit/replica_" - << replicas[i] - << "/" - << fit_path - << ".dat"; - write_to_file(replica_file.str(), outstream[i].str()); - } - - return 0; -} From 735064e48e315673e787f6776e29681f81b73da4 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 16 May 2022 12:35:10 +0200 Subject: [PATCH 030/212] Added eko and banana to conda-recipe/meta --- conda-recipe/meta.yaml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index adc3c6328e..b4858db74a 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -53,6 +53,9 @@ requirements: - docutils =0.16 # This dependency is not explicity needed but https://github.com/NNPDF/nnpdf/issues/1220 - curio >=1.0 - pineappl >=0.5.2 + - eko + - banana-hep + test: requires: From c1fd37062224eb8d9eb7dc9ac7b0a477533b7622 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 11 Jul 2022 16:40:13 +0200 Subject: [PATCH 031/212] Restored old evolven3fit and changed name --- .gitignore | 3 + CMakeLists.txt | 4 +- n3fit/evolven3fit_cpp/CMakeLists.txt | 29 +++++ n3fit/evolven3fit_cpp/evolven3fit_cpp.cc | 144 +++++++++++++++++++++++ n3fit/evolven3fit_cpp/varflavors.py | 51 ++++++++ n3fit/evolven3fit_cpp/version.h | 1 + 6 files changed, 230 insertions(+), 2 deletions(-) create mode 100644 n3fit/evolven3fit_cpp/CMakeLists.txt create mode 100644 n3fit/evolven3fit_cpp/evolven3fit_cpp.cc create mode 100644 n3fit/evolven3fit_cpp/varflavors.py create mode 100644 n3fit/evolven3fit_cpp/version.h diff --git a/.gitignore b/.gitignore index 14960be3b1..648157bf6c 100644 --- a/.gitignore +++ b/.gitignore @@ -378,6 +378,9 @@ ENV/ env.bak/ venv.bak/ +#conda-build +conda_bld/ + # Spyder project settings .spyderproject .spyproject diff --git a/CMakeLists.txt b/CMakeLists.txt index f04bd55248..6e3b9f9697 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,8 +145,8 @@ add_subdirectory(libnnpdf) # nnpdfcpp configuration add_subdirectory(nnpdfcpp) -# evolven3fit -add_subdirectory(n3fit/evolven3fit) +# evolven3fit_cpp +add_subdirectory(n3fit/evolven3fit_cpp) if((BURN_TAG) AND (NOT (VP_DEV) OR NOT (N3_DEV))) # Find out where is the root of the git repository (if available) and finds the correct tag to burn down diff --git a/n3fit/evolven3fit_cpp/CMakeLists.txt b/n3fit/evolven3fit_cpp/CMakeLists.txt new file mode 100644 index 0000000000..629c5a4d33 --- /dev/null +++ b/n3fit/evolven3fit_cpp/CMakeLists.txt @@ -0,0 +1,29 @@ +# Include files (should this information not be known at this point?) +include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/inc) +include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/inc) +include_directories(${PROJECT_SOURCE_DIR}/n3fit/evolven3fit_cpp) +include_directories(${PROJECT_SOURCE_DIR}/libnnpdf/src/) +set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/binaries) + +configure_file( + "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h.in" + "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h" + ) + +# Add files to the make +add_executable(evolven3fit_cpp ${PROJECT_SOURCE_DIR}/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc + ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/md5.cc + ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/exportgrid.cc + ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/src/evolgrid.cc ) + +# Set all flags +set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${NNPDF_LDFLAGS} ${GSL_LDFLAGS} ${APFEL_LIBRARIES} ${YAML_LDFLAGS}") + +# I am pretty sure this should not be a thing +string(REPLACE ";" " " CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") +target_link_libraries(evolven3fit_cpp nnpdf ${YAML_LDFLAGS} ${APFEL_LIBRARIES} ${GSL_LDFLAGS}) + +install(TARGETS evolven3fit_cpp DESTINATION bin + PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ +GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + diff --git a/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc b/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc new file mode 100644 index 0000000000..df34e6a423 --- /dev/null +++ b/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc @@ -0,0 +1,144 @@ +// $Id$ +// +// NNPDF++ 2016 +// +// Authors: Nathan Hartland, n.p.hartland@ed.ac.uk +// Stefano Carrazza, stefano.carrazza@mi.infn.it + +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include "exportgrid.h" +#include "evolgrid.h" + +using namespace NNPDF; +using std::cout; +using std::endl; +using std::cerr; +using std::string; +using std::stringstream; +using std::stoi; + +// Check if folder exists +bool CheckConsistency(string const& folder, string const& exportfile) +{ + bool status1 = false, status2 = false; + struct stat s, t; + if (stat(folder.c_str(), &s) == 0) + if (s.st_mode & S_IFDIR) + status1 = true; + if (stat(exportfile.c_str(), &t) == 0) + if (t.st_mode) + status2 = true; + if (status1 == true && status2 == true) return true; + else return false; +} + +// return theoryid from runcard +int get_theory_id_from_runcard(string const& filteryaml_path) +{ + YAML::Node runcard; + try { + runcard = YAML::LoadFile(filteryaml_path); + } + catch(YAML::BadFile &e) + { + throw FileError("evolven3fit_cpp", "runcard not found: " + filteryaml_path); + } + return runcard["theory"]["theoryid"].as(); +} + +/** + * This program: + * - takes as input a fit folder and a theoryID, + * - loads a vector of ExportGrid for all replicas generated by nnfit, + * - computes the DGLAP evolution operators for the theoryID + * - applies the evolution operators to the ExportGrid objects + * - outputs the evolved PDFs in the LHAPDF format to the fit folder. + */ +int main(int argc, char **argv) +{ + // Read configuration filename from arguments + if (argc != 3 && argc != 5) + { + cerr << "\nusage: evolven3fit_cpp [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; + exit(EXIT_FAILURE); + } + + const string fit_path = argv[1]; + const int maxreplica = stoi(argv[2]); + const string filteryaml_path = fit_path + "/filter.yml"; + int theory_id; + + // Get theory id + if (argc == 5) + { + const string flag = argv[3]; + if (flag == "--theory_id") + theory_id = stoi(argv[4]); + else + { + cerr << "\nNot supported flag: " << flag << endl; + exit(EXIT_FAILURE); + } + } + else + theory_id = get_theory_id_from_runcard(filteryaml_path); + cout << "Theory ID = " << theory_id << endl; + + // load theory from db + std::map theory_map; + NNPDF::IndexDB db(get_data_path() + "/theory.db", "theoryIndex"); + auto keys = APFEL::kValues; + keys.push_back("EScaleVar"); + db.ExtractMap(theory_id, keys, theory_map); + + // load grids + vector initialscale_grids; + vector replicas; + for (int nrep = 1; nrep <= maxreplica; nrep++) + { + const string folder = fit_path + "/nnfit/replica_" + std::to_string(nrep); + const string path = folder + "/" + fit_path + ".exportgrid"; + bool status = CheckConsistency(folder, path); + if (status) + { + initialscale_grids.emplace_back(path); + replicas.push_back(nrep); + } + else + { + cout << "Skipping exportgrid (missing file): " << path << endl; + } + } + + if (initialscale_grids.size() == 0) + throw NNPDF::RuntimeException("main", "nrep = 0, check replica folder/files."); + + string infofile = fit_path + "/nnfit/" + fit_path + ".info"; + auto dglapg = EvolveGrid(initialscale_grids, theory_map); + dglapg.WriteInfoFile(infofile); + + const auto outstream = dglapg.WriteLHAFile(); + for (size_t i = 0; i < outstream.size(); i++) + { + stringstream replica_file; + replica_file << fit_path + << "/nnfit/replica_" + << replicas[i] + << "/" + << fit_path + << ".dat"; + write_to_file(replica_file.str(), outstream[i].str()); + } + + return 0; +} diff --git a/n3fit/evolven3fit_cpp/varflavors.py b/n3fit/evolven3fit_cpp/varflavors.py new file mode 100644 index 0000000000..d2b4e52962 --- /dev/null +++ b/n3fit/evolven3fit_cpp/varflavors.py @@ -0,0 +1,51 @@ +""" +varflavors.py + +When producing a PDF with different maximal flavor number than the nf during the fit, we first run +evolven3fit_cpp by manually selecting a theory id of the theory correspodning to the desired nf +evolution. + +After running evolven3fit_cpp, but before running posfit, this script should be run to replace the +``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the +theory database. +""" + +from argparse import ArgumentParser +from pathlib import Path + +from validphys.loader import Loader +from validphys.theorydbutils import fetch_theory + + +ll = Loader() +path_db = ll.theorydb_file + +if __name__ == "__main__": + parser = ArgumentParser() + parser.add_argument( + "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" + ) + parser.add_argument( + "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" + ) + args = parser.parse_args() + + path_fit_folder = Path(args.fit_folder) + fit_name = path_fit_folder.name + path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" + + theory_dict = fetch_theory(path_db, args.theory_id) + Qref = theory_dict["Qref"] + alphas = theory_dict["alphas"] + + path_temp_info = path_info_file.parent / "temp.info" + with open(path_info_file, "r+") as f: + with open(path_temp_info, "w") as tempfile: + for line in f: + if line.startswith("AlphaS_MZ:"): + line = f"AlphaS_MZ: {alphas}\n" + if line.startswith("MZ"): + line = f"MZ: {Qref}\n" + tempfile.write(line) + + path_temp_info.rename(path_info_file) diff --git a/n3fit/evolven3fit_cpp/version.h b/n3fit/evolven3fit_cpp/version.h new file mode 100644 index 0000000000..f84864988a --- /dev/null +++ b/n3fit/evolven3fit_cpp/version.h @@ -0,0 +1 @@ +#define SVN_REV 3.1 From b2f8c6436c2a3bc8e792a5608335881379d9743b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 12 Jul 2022 16:57:46 +0200 Subject: [PATCH 032/212] Fixed cli, removed files, changed name of command --- n3fit/src/evolven3fit/CMakeLists.txt | 29 ------------------------ n3fit/src/evolven3fit/evolven3fit_cli.py | 2 +- n3fit/src/evolven3fit/version.h | 1 - n3fit/src/setup.py | 9 ++++++++ 4 files changed, 10 insertions(+), 31 deletions(-) delete mode 100644 n3fit/src/evolven3fit/CMakeLists.txt delete mode 100644 n3fit/src/evolven3fit/version.h create mode 100644 n3fit/src/setup.py diff --git a/n3fit/src/evolven3fit/CMakeLists.txt b/n3fit/src/evolven3fit/CMakeLists.txt deleted file mode 100644 index 417de24e7c..0000000000 --- a/n3fit/src/evolven3fit/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -# Include files (should this information not be known at this point?) -include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/inc) -include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/inc) -include_directories(${PROJECT_SOURCE_DIR}/n3fit/evolven3fit) -include_directories(${PROJECT_SOURCE_DIR}/libnnpdf/src/) -set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/binaries) - -configure_file( - "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h.in" - "${PROJECT_SOURCE_DIR}/libnnpdf/src/NNPDF/common.h" - ) - -# Add files to the make -add_executable(evolven3fit ${PROJECT_SOURCE_DIR}/n3fit/evolven3fit/evolven3fit.cc - ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/md5.cc - ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/exportgrid.cc - ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/src/evolgrid.cc ) - -# Set all flags -set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${NNPDF_LDFLAGS} ${GSL_LDFLAGS} ${APFEL_LIBRARIES} ${YAML_LDFLAGS}") - -# I am pretty sure this should not be a thing -string(REPLACE ";" " " CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") -target_link_libraries(evolven3fit nnpdf ${YAML_LDFLAGS} ${APFEL_LIBRARIES} ${GSL_LDFLAGS}) - -install(TARGETS evolven3fit DESTINATION bin - PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ -GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) - diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index b6c04717d1..d665c72326 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -12,7 +12,7 @@ def cli(): pass -@cli.command("evolven3fit") +@cli.command("evolve") @click.argument("configuration_folder", nargs=1) def cli_evolven3fit(configuration_folder): """Evolves the fitted PDFs""" diff --git a/n3fit/src/evolven3fit/version.h b/n3fit/src/evolven3fit/version.h deleted file mode 100644 index f84864988a..0000000000 --- a/n3fit/src/evolven3fit/version.h +++ /dev/null @@ -1 +0,0 @@ -#define SVN_REV 3.1 diff --git a/n3fit/src/setup.py b/n3fit/src/setup.py new file mode 100644 index 0000000000..6195485926 --- /dev/null +++ b/n3fit/src/setup.py @@ -0,0 +1,9 @@ +from setuptools import setup, find_packages + +setup( + name="evolven3fit", + version="1.0", + packages=find_packages(include=["evolven3fit", "evolven3fit.*"]), + include_package_data=True, + entry_points={"console_scripts": ["evolven3fit=evolven3fit.evolven3fit_cli:cli"]}, +) From 8853ebc8fba1b883f65564fc8ce9f076b52c3a25 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 12:31:03 +0200 Subject: [PATCH 033/212] Fixed folder issues --- n3fit/src/evolven3fit/evolven3fit_API.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 89f0294392..10a88dad1d 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -105,7 +105,11 @@ def evolve_exportgrid( conf_folder: str path to fit folder """ - path_where_dump = pathlib.Path(conf_folder) / "nnfit" / conf_folder + usr_path = pathlib.Path(conf_folder) + path_where_dump = usr_path / "nnfit" / usr_path.stem + #create folder to dump the evolved replica if it does not exists + if not os.path.exists(path_where_dump): + os.makedirs(path_where_dump) # construct LhapdfLike object pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() x_grid = np.array(exportgrid["xgrid"]).astype(np.float) From 5aa071674b2384ac8dc77e4eefc67e8e22acc6f2 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 12:50:24 +0200 Subject: [PATCH 034/212] allow global and pathlib paths --- n3fit/src/evolven3fit/evolven3fit_API.py | 17 +++++++++++++---- n3fit/src/evolven3fit/utils.py | 3 ++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 10a88dad1d..1f75c67c91 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -12,6 +12,12 @@ def evolve_fit(conf_folder): """ Evolves all the fitted replica in conf_folder/nnfit + + Parameters + ---------- + + conf_folder: str or pathlib.Path + path to the folder containing the fit """ initial_PDFs_dict = load_fit(conf_folder) eko, theory, op = construct_eko_for_fit(conf_folder) @@ -33,7 +39,7 @@ def load_fit(conf_folder): Parameters ---------- - conf_folder: str + conf_folder: str or pathlib.Path path to the folder containing the fit Returns @@ -42,15 +48,18 @@ def load_fit(conf_folder): : dict exportgrids info """ - nnfitpath = pathlib.Path(conf_folder) / "nnfit" + usr_path = pathlib.Path(conf_folder) + nnfitpath = usr_path / "nnfit" replica_list = [] for subdir, dirs, files in os.walk(nnfitpath): for dir in dirs: replica_list.append(dir) replica_list.remove("input") + #remove the eventual evolution folder + replica_list.remove(usr_path.stem) pdf_dict = {} for replica in replica_list: - rep_path = pathlib.Path(replica) / (conf_folder + ".exportgrid") + rep_path = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") yaml_file = nnfitpath / rep_path.relative_to(rep_path.anchor) with yaml_file.open() as fp: data = yaml.safe_load(fp) @@ -65,7 +74,7 @@ def construct_eko_for_fit(conf_folder): Parameters ---------- - conf_folder: str + conf_folder: str or pathlib.Path path to the folder containing the fit """ # read the runcard diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 458ba3062e..a53ebb785d 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -63,7 +63,8 @@ def read_runcard(conf_folder): """ reads the runcard and returns the relevant information for evolven3fit """ - runcard_path = pathlib.Path(conf_folder + "/filter.yml") + usr_path = pathlib.Path(conf_folder) + runcard_path = conf_folder / "filter.yml" with runcard_path.open() as fp: data = yaml.safe_load(fp) return data From 213ffccb1ddd865c5372ec0246af76147b4755b8 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 13:10:10 +0200 Subject: [PATCH 035/212] Minor changes --- n3fit/src/evolven3fit/evolven3fit_API.py | 8 +++----- n3fit/src/evolven3fit/utils.py | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 1f75c67c91..40535c414c 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -83,14 +83,12 @@ def construct_eko_for_fit(conf_folder): theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") t_card = theory_card.generate(theory["PTO"], theory["Q0"], update=theory) - # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) op_card = operators_card.generate(q2_grid) - # generate eko operator (temporary because it will be loaded from theory) - eko = run_dglap(t_card, op_card) - return eko, t_card, op_card - # + #generate eko operator (temporary because it will be loaded from theory) + eko_op = run_dglap(t_card, op_card) + return eko_op, t_card, op_card def evolve_exportgrid( diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index a53ebb785d..89f3d9e95c 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -64,7 +64,7 @@ def read_runcard(conf_folder): reads the runcard and returns the relevant information for evolven3fit """ usr_path = pathlib.Path(conf_folder) - runcard_path = conf_folder / "filter.yml" + runcard_path = usr_path / "filter.yml" with runcard_path.open() as fp: data = yaml.safe_load(fp) return data From b4b254fc0b70b7b941796c4aef8e8069a63c6ded Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 16:22:10 +0200 Subject: [PATCH 036/212] Updated eko version --- n3fit/src/evolven3fit/evolven3fit_API.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 40535c414c..1311fdc2bf 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,4 +1,4 @@ -from ekobox import evol_pdf, theory_card, operators_card, genpdf, info_file +from ekobox import evol_pdf, gen_theory, gen_op, genpdf, gen_info import pathlib import numpy as np import yaml @@ -82,10 +82,10 @@ def construct_eko_for_fit(conf_folder): # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") - t_card = theory_card.generate(theory["PTO"], theory["Q0"], update=theory) + t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = operators_card.generate(q2_grid) + op_card = gen_op.gen_op_card(q2_grid) #generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) return eko_op, t_card, op_card @@ -114,7 +114,7 @@ def evolve_exportgrid( """ usr_path = pathlib.Path(conf_folder) path_where_dump = usr_path / "nnfit" / usr_path.stem - #create folder to dump the evolved replica if it does not exists + #create folder to dump the evolved replica if it does not exist if not os.path.exists(path_where_dump): os.makedirs(path_where_dump) # construct LhapdfLike object @@ -124,14 +124,14 @@ def evolve_exportgrid( # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # construct and dump info file if not already there - info_path = pathlib.Path(conf_folder) / "nnfit" / (conf_folder + ".info") + info_path = usr_path / "nnfit" / (usr_path.stem + ".info") if not info_path.is_file(): - info = info_file.build( + info = gen_info.create_info_file( theory_card, operator_card, 1, info_update={} ) # to be changed genpdf.export.dump_info(path_where_dump, info) # generate block to dump - targetgrid = operator_card["xgrid"] + targetgrid = operator_card["interpolation_xgrid"] block = genpdf.generate_block( lambda pid, x, Q2, evolved_PDF=evolved_pdf: targetgrid[targetgrid.index(x)] * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], From 04095cf1eed64389f262ae0fc5b07e3aa8ad339f Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 16:28:51 +0200 Subject: [PATCH 037/212] Fixed load_fit --- n3fit/src/evolven3fit/evolven3fit_API.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 1311fdc2bf..d7f262cb71 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -55,8 +55,11 @@ def load_fit(conf_folder): for dir in dirs: replica_list.append(dir) replica_list.remove("input") - #remove the eventual evolution folder - replica_list.remove(usr_path.stem) + #remove the eventual evolution folder + try: + replica_list.remove(usr_path.stem) + except: + pass pdf_dict = {} for replica in replica_list: rep_path = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") From 1c652dd27a1b512544d076ae7d905a89827191f3 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 13 Jul 2022 19:11:13 +0200 Subject: [PATCH 038/212] Fixed info path --- n3fit/src/evolven3fit/evolven3fit_API.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index d7f262cb71..833886551b 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -127,7 +127,7 @@ def evolve_exportgrid( # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # construct and dump info file if not already there - info_path = usr_path / "nnfit" / (usr_path.stem + ".info") + info_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") if not info_path.is_file(): info = gen_info.create_info_file( theory_card, operator_card, 1, info_update={} From 18c2d6bb31479fd27e85f75b2737fc6e400db33e Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 14 Jul 2022 16:15:33 +0200 Subject: [PATCH 039/212] Reworked evolven3fit_API --- n3fit/src/evolven3fit/evolven3fit_API.py | 80 ++++++++++++------------ n3fit/src/evolven3fit/utils.py | 3 +- 2 files changed, 40 insertions(+), 43 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 833886551b..111bc6f511 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -9,6 +9,7 @@ from eko import basis_rotation as br from eko import run_dglap + def evolve_fit(conf_folder): """ Evolves all the fitted replica in conf_folder/nnfit @@ -19,27 +20,27 @@ def evolve_fit(conf_folder): conf_folder: str or pathlib.Path path to the folder containing the fit """ - initial_PDFs_dict = load_fit(conf_folder) - eko, theory, op = construct_eko_for_fit(conf_folder) + usr_path = pathlib.Path(conf_folder) + initial_PDFs_dict = load_fit(usr_path) + eko, theory, op = construct_eko_for_fit(usr_path) + # construct info file + info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed + dump_info_file(usr_path, info) for replica in initial_PDFs_dict.keys(): - evolve_exportgrid( - initial_PDFs_dict[replica], - eko, - theory, - op, - int(replica.removeprefix("replica_")), - conf_folder, + evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko, theory, op) + dump_evolved_replica( + evolved_block, usr_path, int(replica.removeprefix("replica_")) ) -def load_fit(conf_folder): +def load_fit(usr_path): """ - Loads all the replica pdfs at fitting scale in conf_folder and return the exportgrids + Loads all the replica pdfs at fitting scale in usr_path and return the exportgrids Parameters ---------- - conf_folder: str or pathlib.Path + usr_path: pathlib.Path path to the folder containing the fit Returns @@ -48,15 +49,14 @@ def load_fit(conf_folder): : dict exportgrids info """ - usr_path = pathlib.Path(conf_folder) nnfitpath = usr_path / "nnfit" replica_list = [] for subdir, dirs, files in os.walk(nnfitpath): for dir in dirs: replica_list.append(dir) replica_list.remove("input") - #remove the eventual evolution folder - try: + # remove the eventual evolution folder + try: replica_list.remove(usr_path.stem) except: pass @@ -71,17 +71,17 @@ def load_fit(conf_folder): # Temporary solution. Then it will be loaded from the theory itself -def construct_eko_for_fit(conf_folder): +def construct_eko_for_fit(usr_path): """ Construct the eko operator needed for evolution of fitted pdfs Parameters ---------- - conf_folder: str or pathlib.Path + usr_path: pathlib.Path path to the folder containing the fit """ # read the runcard - my_runcard = utils.read_runcard(conf_folder) + my_runcard = utils.read_runcard(usr_path) # theory_card construction theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() theory.pop("FNS") @@ -89,16 +89,14 @@ def construct_eko_for_fit(conf_folder): # construct operator card q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) op_card = gen_op.gen_op_card(q2_grid) - #generate eko operator (temporary because it will be loaded from theory) + # generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) return eko_op, t_card, op_card -def evolve_exportgrid( - exportgrid, eko, theory_card, operator_card, replica, conf_folder -): +def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): """ - Evolves the provided exportgrid for the desired replica with the eko and dump the replica in conf_folder/nnfit + Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block Parameters ---------- @@ -110,29 +108,13 @@ def evolve_exportgrid( theory card operator_card: dict operator card - replica: int - num replica - conf_folder: str - path to fit folder """ - usr_path = pathlib.Path(conf_folder) - path_where_dump = usr_path / "nnfit" / usr_path.stem - #create folder to dump the evolved replica if it does not exist - if not os.path.exists(path_where_dump): - os.makedirs(path_where_dump) # construct LhapdfLike object pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() x_grid = np.array(exportgrid["xgrid"]).astype(np.float) pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) - # construct and dump info file if not already there - info_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") - if not info_path.is_file(): - info = gen_info.create_info_file( - theory_card, operator_card, 1, info_update={} - ) # to be changed - genpdf.export.dump_info(path_where_dump, info) # generate block to dump targetgrid = operator_card["interpolation_xgrid"] block = genpdf.generate_block( @@ -142,7 +124,23 @@ def evolve_exportgrid( Q2grid=operator_card["Q2grid"], pids=br.flavor_basis_pids, ) - to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica) + "\n" + return block + + +def dump_evolved_replica(evolved_block, usr_path, replica_num): + path_where_dump = usr_path / "nnfit" / usr_path.stem + # create folder to dump the evolved replica if it does not exist + if not os.path.exists(path_where_dump): + os.makedirs(path_where_dump) + to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" genpdf.export.dump_blocks( - path_where_dump, replica, [block], pdf_type=to_write_in_head + path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head ) + + +def dump_info_file(usr_path, info): + # dump info file if not already there + path_where_dump = usr_path / "nnfit" / usr_path.stem + info_path = path_where_dump / (usr_path.stem + ".info") + if not info_path.is_file(): + genpdf.export.dump_info(path_where_dump, info) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 89f3d9e95c..79b3290103 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -59,11 +59,10 @@ def hasFlavor(self, pid): return False -def read_runcard(conf_folder): +def read_runcard(usr_path): """ reads the runcard and returns the relevant information for evolven3fit """ - usr_path = pathlib.Path(conf_folder) runcard_path = usr_path / "filter.yml" with runcard_path.open() as fp: data = yaml.safe_load(fp) From 94bb090487770432246a252e8150e06f7e9b8ebc Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 14 Jul 2022 16:20:58 +0200 Subject: [PATCH 040/212] Added some doc --- n3fit/src/evolven3fit/evolven3fit_API.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 111bc6f511..8ea45b9b91 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -23,7 +23,6 @@ def evolve_fit(conf_folder): usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) eko, theory, op = construct_eko_for_fit(usr_path) - # construct info file info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed dump_info_file(usr_path, info) for replica in initial_PDFs_dict.keys(): @@ -79,6 +78,14 @@ def construct_eko_for_fit(usr_path): ---------- usr_path: pathlib.Path path to the folder containing the fit + Returns + ------- + : eko.output.Output + eko operator + : dict + theory runcard + : dict + operator runcard """ # read the runcard my_runcard = utils.read_runcard(usr_path) @@ -108,6 +115,10 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): theory card operator_card: dict operator card + Returns + ------- + : np.array + evolved block """ # construct LhapdfLike object pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() From 4358bf4dd919f4b38215d6d845d88a4fcdf49be7 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 14 Jul 2022 16:45:00 +0200 Subject: [PATCH 041/212] Added funcs to fix paths --- n3fit/src/evolven3fit/evolven3fit_API.py | 5 +++++ n3fit/src/evolven3fit/utils.py | 21 +++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 8ea45b9b91..4b00203802 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -25,11 +25,16 @@ def evolve_fit(conf_folder): eko, theory, op = construct_eko_for_fit(usr_path) info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed dump_info_file(usr_path, info) + utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko, theory, op) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) + # fixing_replica_path + utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) + # remove folder + os.rmdir(usr_path / "nnfit" / usr_path.stem) def load_fit(usr_path): diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 79b3290103..7b1d742713 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -3,6 +3,7 @@ import math import pathlib import yaml +import shutil class LhapdfLike: @@ -75,3 +76,23 @@ def generate_q2grid(Q0, Qfin): """ grid = np.geomspace(Q0 ** 2, Qfin ** 2, num=100) return grid + + +def mv_file(file_path, dest_path): + shutil.move(str(file_path), str(dest_path)) + + +def fix_info_path(usr_path): + info_file_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") + dest_path_info = usr_path / "nnfit" / (usr_path.stem + ".info") + mv_file(info_file_path, dest_path_info) + + +def fix_replica_path(usr_path, replica_num): + replica_file_path = ( + usr_path / "nnfit" / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" + ) + dest_path_replica = ( + usr_path / "nnfit" / f"replica_{replica_num}" / f"{usr_path.stem}.dat" + ) + mv_file(replica_file_path, dest_path_replica) From f5c7cab42da1b457a55fadc906b5aef18039772b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 15 Jul 2022 09:30:09 +0200 Subject: [PATCH 042/212] Changed x-grid of eko --- n3fit/src/evolven3fit/evolven3fit_API.py | 3 ++- n3fit/src/evolven3fit/utils.py | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 4b00203802..6c4b33c4ba 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -99,8 +99,9 @@ def construct_eko_for_fit(usr_path): theory.pop("FNS") t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card + op_x_grid = utils.generate_x_grid() q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = gen_op.gen_op_card(q2_grid) + op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) # generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) return eko_op, t_card, op_card diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 7b1d742713..1a4719b608 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -78,6 +78,14 @@ def generate_q2grid(Q0, Qfin): return grid +def generate_x_grid(): + """ + Generate the xgrid used for the eko + """ + grid = np.geomspace(1e-09, 1.0, num=196) + return grid + + def mv_file(file_path, dest_path): shutil.move(str(file_path), str(dest_path)) From b5ec0b4f61dd91803686743aad40fd59b2175114 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 16 Aug 2022 13:47:33 +0200 Subject: [PATCH 043/212] Fixing stuff --- n3fit/src/evolven3fit/utils.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 1a4719b608..5b79a4938a 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -64,18 +64,14 @@ def read_runcard(usr_path): """ reads the runcard and returns the relevant information for evolven3fit """ - runcard_path = usr_path / "filter.yml" - with runcard_path.open() as fp: - data = yaml.safe_load(fp) - return data + return yaml.safe_load((usr_path / "filter.yml").read_text()) def generate_q2grid(Q0, Qfin): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - grid = np.geomspace(Q0 ** 2, Qfin ** 2, num=100) - return grid + return np.geomspace(Q0 ** 2, Qfin ** 2, num=100) def generate_x_grid(): From d078c8f58a8a35a4bb2da6b32b679373453c2c83 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 16 Aug 2022 15:11:06 +0200 Subject: [PATCH 044/212] Minor fixes --- n3fit/src/evolven3fit/utils.py | 11 ++++--- n3fit/src/evolven3fit/varflavors.py | 51 ----------------------------- 2 files changed, 7 insertions(+), 55 deletions(-) delete mode 100644 n3fit/src/evolven3fit/varflavors.py diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 5b79a4938a..e191114f0a 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -87,16 +87,19 @@ def mv_file(file_path, dest_path): def fix_info_path(usr_path): - info_file_path = usr_path / "nnfit" / usr_path.stem / (usr_path.stem + ".info") - dest_path_info = usr_path / "nnfit" / (usr_path.stem + ".info") + nnfit = usr_path / "nnfit" + info_file = usr_path.stem + ".info" + info_file_path = nnfit / usr_path.stem / info_file + dest_path_info = nnfit / info_file mv_file(info_file_path, dest_path_info) def fix_replica_path(usr_path, replica_num): + nnfit = usr_path / "nnfit" replica_file_path = ( - usr_path / "nnfit" / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" + nnfit / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" ) dest_path_replica = ( - usr_path / "nnfit" / f"replica_{replica_num}" / f"{usr_path.stem}.dat" + nnfit / f"replica_{replica_num}" / f"{usr_path.stem}.dat" ) mv_file(replica_file_path, dest_path_replica) diff --git a/n3fit/src/evolven3fit/varflavors.py b/n3fit/src/evolven3fit/varflavors.py deleted file mode 100644 index 41e786907b..0000000000 --- a/n3fit/src/evolven3fit/varflavors.py +++ /dev/null @@ -1,51 +0,0 @@ -""" -varflavors.py - -When producing a PDF with different maximal flavor number than the nf during the fit, we first run -evolven3fit by manually selecting a theory id of the theory correspodning to the desired nf -evolution. - -After running evolven3fit, but before running posfit, this script should be run to replace the -``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the -theory database. -""" - -from argparse import ArgumentParser -from pathlib import Path - -from validphys.loader import Loader -from validphys.theorydbutils import fetch_theory - - -ll = Loader() -path_db = ll.theorydb_file - -if __name__ == "__main__": - parser = ArgumentParser() - parser.add_argument( - "--fit_folder", required=True, help=f"Path to the folder containing the evolved fit" - ) - parser.add_argument( - "--theory_id", required=True, help=f"ID of the theory used to evolve the fit" - ) - args = parser.parse_args() - - path_fit_folder = Path(args.fit_folder) - fit_name = path_fit_folder.name - path_info_file = path_fit_folder / f"nnfit/{fit_name}.info" - - theory_dict = fetch_theory(path_db, args.theory_id) - Qref = theory_dict["Qref"] - alphas = theory_dict["alphas"] - - path_temp_info = path_info_file.parent / "temp.info" - with open(path_info_file, "r+") as f: - with open(path_temp_info, "w") as tempfile: - for line in f: - if line.startswith("AlphaS_MZ:"): - line = f"AlphaS_MZ: {alphas}\n" - if line.startswith("MZ"): - line = f"MZ: {Qref}\n" - tempfile.write(line) - - path_temp_info.rename(path_info_file) From 998e2fd61e975a0fffac11821496b2be9e463626 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 23 Aug 2022 09:57:54 +0200 Subject: [PATCH 045/212] move evolven3fit to n3fit setup --- n3fit/setup.py | 1 + n3fit/src/setup.py | 9 --------- 2 files changed, 1 insertion(+), 9 deletions(-) delete mode 100644 n3fit/src/setup.py diff --git a/n3fit/setup.py b/n3fit/setup.py index e68a67f4fe..ffbd519197 100644 --- a/n3fit/setup.py +++ b/n3fit/setup.py @@ -13,6 +13,7 @@ entry_points = {'console_scripts': ['n3fit = n3fit.scripts.n3fit_exec:main', + 'evolven3fit = evolven3fit.evolven3fit_cli:cli', 'vp-setupfit = n3fit.scripts.vp_setupfit:main', 'varflavors = n3fit.scripts.varflavors:main', ] diff --git a/n3fit/src/setup.py b/n3fit/src/setup.py deleted file mode 100644 index 6195485926..0000000000 --- a/n3fit/src/setup.py +++ /dev/null @@ -1,9 +0,0 @@ -from setuptools import setup, find_packages - -setup( - name="evolven3fit", - version="1.0", - packages=find_packages(include=["evolven3fit", "evolven3fit.*"]), - include_package_data=True, - entry_points={"console_scripts": ["evolven3fit=evolven3fit.evolven3fit_cli:cli"]}, -) From 821c9dc9b89b8fa99fcb8773f69b2c020f12a444 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 23 Aug 2022 10:49:41 +0200 Subject: [PATCH 046/212] Converted grids to lists --- n3fit/src/evolven3fit/utils.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index e191114f0a..d81984212c 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -71,14 +71,14 @@ def generate_q2grid(Q0, Qfin): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - return np.geomspace(Q0 ** 2, Qfin ** 2, num=100) + return np.geomspace(Q0 ** 2, Qfin ** 2, num=100).tolist() def generate_x_grid(): """ Generate the xgrid used for the eko """ - grid = np.geomspace(1e-09, 1.0, num=196) + grid = np.geomspace(1e-09, 1.0, num=196).tolist() return grid From 0f3de49c80b00194d46273af4ce69849bf370f34 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 23 Aug 2022 14:07:53 +0200 Subject: [PATCH 047/212] update variable number of replicas in info file --- n3fit/src/evolven3fit/evolven3fit_API.py | 1 + 1 file changed, 1 insertion(+) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 6c4b33c4ba..ea41a7f8b3 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -24,6 +24,7 @@ def evolve_fit(conf_folder): initial_PDFs_dict = load_fit(usr_path) eko, theory, op = construct_eko_for_fit(usr_path) info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed + info["NumMembers"] = "REPLACE_NREP" dump_info_file(usr_path, info) utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): From aad9d75fd1048f583c499b0fc9633c24a4b725eb Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 23 Aug 2022 14:11:36 +0200 Subject: [PATCH 048/212] Added log, dump options and more options --- n3fit/src/evolven3fit/evolven3fit_API.py | 72 +++++++++++++++++++----- n3fit/src/evolven3fit/evolven3fit_cli.py | 24 +++++++- 2 files changed, 78 insertions(+), 18 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 6c4b33c4ba..d1eddab021 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -8,9 +8,12 @@ from ekomark import apply from eko import basis_rotation as br from eko import run_dglap +from eko import output +import logging +logger = logging.getLogger(__name__) -def evolve_fit(conf_folder): +def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=None): """ Evolves all the fitted replica in conf_folder/nnfit @@ -19,15 +22,39 @@ def evolve_fit(conf_folder): conf_folder: str or pathlib.Path path to the folder containing the fit + op_card_dict: dict + user settings for the op_card + t_card_dict: dict + user settings for the t_card + eko_path: str or pathlib.Path + path where the eko is stored (if None the eko will be + recomputed) + dump_eko: str or pathlib.Path + path where the eko is dumped (if None the eko won't be + stored) """ + log_file = logging.FileHandler(pathlib.Path(conf_folder / "eko_log.log")) + log_file.setLevel(logging.INFO) + log_file.setFormatter( + logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") + ) + for logger_ in (logger, *[logging.getLogger("eko")]): + logger_.handlers = [] + logger_.setLevel(logging.INFO) + logger_.addHandler(log_file) usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) - eko, theory, op = construct_eko_for_fit(usr_path) + theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict) + if eko_path is not None: + eko_path = pathlib.Path(eko_path) + eko_op = output.Output.load_tar(eko_path) + else: + eko_op = construct_eko_for_fit(theory, op, dump_eko) info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed dump_info_file(usr_path, info) utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): - evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko, theory, op) + evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko_op, theory, op) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) @@ -74,8 +101,24 @@ def load_fit(usr_path): return pdf_dict +def construct_eko_cards(usr_path, op_card_dict, t_card_dict): + """Return the theory and operator cards used to construct the eko""" + # read the runcard + my_runcard = utils.read_runcard(usr_path) + # theory_card construction + theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() + theory.pop("FNS") + theory.update(t_card_dict) + t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + # construct operator card + op_x_grid = utils.generate_x_grid() + q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) + op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) + op_card.update(op_card_dict) + return t_card, op_card + # Temporary solution. Then it will be loaded from the theory itself -def construct_eko_for_fit(usr_path): +def construct_eko_for_fit(t_card, op_card, save_path=None): """ Construct the eko operator needed for evolution of fitted pdfs @@ -83,6 +126,9 @@ def construct_eko_for_fit(usr_path): ---------- usr_path: pathlib.Path path to the folder containing the fit + save_path: pathlib.Path + path where the eko will be saved (the eko + won't be saved if save_path is None) Returns ------- : eko.output.Output @@ -92,19 +138,15 @@ def construct_eko_for_fit(usr_path): : dict operator runcard """ - # read the runcard - my_runcard = utils.read_runcard(usr_path) - # theory_card construction - theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() - theory.pop("FNS") - t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) - # construct operator card - op_x_grid = utils.generate_x_grid() - q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) + # generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) - return eko_op, t_card, op_card + if save_path is not None: + try: + eko_op.dump_tar(save_path) + except: + pass + return eko_op def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index d665c72326..41601f7c0e 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -14,6 +14,24 @@ def cli(): @cli.command("evolve") @click.argument("configuration_folder", nargs=1) -def cli_evolven3fit(configuration_folder): - """Evolves the fitted PDFs""" - return evolven3fit_API.evolve_fit(configuration_folder) +@click.option("-o", "--ev_ord", type=int) +@click.option("-i", "--ev_it", type=int) +@click.option("-n", "--n_cores", type=int) +@click.option("-b", "--back", type=bool) +@click.option("-d", "--dump", type=click.Path) +@click.option("-l", "--load", type=click.Path) +def cli_evolven3fit(configuration_folder, ev_ord=10, ev_it=1, n_cores=1, back=False, dump=None, load=None): + """Evolves the fitted PDFs. + + If a path is given for the dump option, the eko + will be dumped in that path after the computation. + + If a path is given for the dump option, the eko + to be used for the evolution will be loaded from that + path. + + The two options are mutually exclusive. + """ + op_card_info = {"ev_op_max_order": ev_ord, "ev_op_iterations": ev_it, "n_integration_cores": n_cores, "backward_inversion": back} + t_card_info = {} + return evolven3fit_API.evolve_fit(configuration_folder, op_card_info, t_card_info, load, dump) From 3e8b63a01403859d7af4d7b5d0d8a532c5411648 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 23 Aug 2022 14:12:17 +0200 Subject: [PATCH 049/212] removed comment --- n3fit/src/evolven3fit/evolven3fit_API.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index e61062ae9a..0ccd490431 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -50,7 +50,7 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=N eko_op = output.Output.load_tar(eko_path) else: eko_op = construct_eko_for_fit(theory, op, dump_eko) - info = gen_info.create_info_file(theory, op, 1, info_update={}) # to be changed + info = gen_info.create_info_file(theory, op, 1, info_update={}) info["NumMembers"] = "REPLACE_NREP" dump_info_file(usr_path, info) utils.fix_info_path(usr_path) From ddd75a5d67e707b520608dfe990c2291edd9809a Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 23 Aug 2022 14:13:07 +0200 Subject: [PATCH 050/212] Changed default --- n3fit/src/evolven3fit/evolven3fit_cli.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 41601f7c0e..0613ac6a7a 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -17,10 +17,10 @@ def cli(): @click.option("-o", "--ev_ord", type=int) @click.option("-i", "--ev_it", type=int) @click.option("-n", "--n_cores", type=int) -@click.option("-b", "--back", type=bool) +@click.option("-b", "--back", type=str) @click.option("-d", "--dump", type=click.Path) @click.option("-l", "--load", type=click.Path) -def cli_evolven3fit(configuration_folder, ev_ord=10, ev_it=1, n_cores=1, back=False, dump=None, load=None): +def cli_evolven3fit(configuration_folder, ev_ord=10, ev_it=1, n_cores=1, back="expanded", dump=None, load=None): """Evolves the fitted PDFs. If a path is given for the dump option, the eko From 7d83c5d3388c868785d817da83077e0f537cc954 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 23 Aug 2022 14:34:07 +0200 Subject: [PATCH 051/212] Fixing default cli --- n3fit/src/evolven3fit/evolven3fit_API.py | 2 +- n3fit/src/evolven3fit/evolven3fit_cli.py | 14 +++++++------- n3fit/src/evolven3fit/utils.py | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 0ccd490431..8ff86ce97f 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -33,7 +33,7 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=N path where the eko is dumped (if None the eko won't be stored) """ - log_file = logging.FileHandler(pathlib.Path(conf_folder / "eko_log.log")) + log_file = logging.FileHandler(pathlib.Path(conf_folder) / "eko_log.log") log_file.setLevel(logging.INFO) log_file.setFormatter( logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 0613ac6a7a..3c3fda7c91 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -14,13 +14,13 @@ def cli(): @cli.command("evolve") @click.argument("configuration_folder", nargs=1) -@click.option("-o", "--ev_ord", type=int) -@click.option("-i", "--ev_it", type=int) -@click.option("-n", "--n_cores", type=int) -@click.option("-b", "--back", type=str) -@click.option("-d", "--dump", type=click.Path) -@click.option("-l", "--load", type=click.Path) -def cli_evolven3fit(configuration_folder, ev_ord=10, ev_it=1, n_cores=1, back="expanded", dump=None, load=None): +@click.option("-o", "--ev_ord", type=int, default = 10) +@click.option("-i", "--ev_it", type=int, default = 1) +@click.option("-n", "--n_cores", type=int, default = 1) +@click.option("-b", "--back", type=str, default = "expanded") +@click.option("-d", "--dump") +@click.option("-l", "--load") +def cli_evolven3fit(configuration_folder, ev_ord, ev_it, n_cores, back, dump, load): """Evolves the fitted PDFs. If a path is given for the dump option, the eko diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index d81984212c..8265622bde 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -71,14 +71,14 @@ def generate_q2grid(Q0, Qfin): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - return np.geomspace(Q0 ** 2, Qfin ** 2, num=100).tolist() + return np.geomspace(Q0 ** 2, Qfin ** 2, num=20).tolist() def generate_x_grid(): """ Generate the xgrid used for the eko """ - grid = np.geomspace(1e-09, 1.0, num=196).tolist() + grid = np.geomspace(1e-09, 1.0, num=50).tolist() return grid From f55265ca000d50b5bdedbf8ae337a4682a128562 Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Tue, 23 Aug 2022 14:46:50 +0200 Subject: [PATCH 052/212] Adding ErrorType to info file --- n3fit/src/evolven3fit/evolven3fit_API.py | 1 + 1 file changed, 1 insertion(+) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 8ff86ce97f..b5abf2c860 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -52,6 +52,7 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=N eko_op = construct_eko_for_fit(theory, op, dump_eko) info = gen_info.create_info_file(theory, op, 1, info_update={}) info["NumMembers"] = "REPLACE_NREP" + info["ErrorType"] = "replicas" dump_info_file(usr_path, info) utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): From 5c5487c378af5ac92ed41c41fb0cd54157020ffe Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 24 Aug 2022 11:27:19 +0200 Subject: [PATCH 053/212] use cubic interpolation and fix xfxQ2 --- n3fit/src/evolven3fit/evolven3fit_API.py | 3 +-- n3fit/src/evolven3fit/utils.py | 6 +++--- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index b5abf2c860..a989cf583b 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -179,8 +179,7 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): # generate block to dump targetgrid = operator_card["interpolation_xgrid"] block = genpdf.generate_block( - lambda pid, x, Q2, evolved_PDF=evolved_pdf: targetgrid[targetgrid.index(x)] - * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], + lambda pid, x, Q2, evolved_PDF=evolved_pdf: x * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], xgrid=targetgrid, Q2grid=operator_card["Q2grid"], pids=br.flavor_basis_pids, diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 8265622bde..fe84fde7e6 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -45,14 +45,14 @@ def __init__(self, pdf_grid, q20, x_grid): self.q20 = q20 self.x_grid = x_grid self.funcs = [ - interp1d(self.x_grid, self.pdf_grid[pid]) + interp1d(self.x_grid, self.pdf_grid[pid], kind='cubic') for pid in range(len(self.pids_order)) ] def xfxQ2(self, pid, x, q2): if not math.isclose(q2, self.q20, rel_tol=1e-6): raise ValueError("The q2 requested is not the fitting scale of this pdf") - return x * (self.funcs[self.pids_order.index(self.pids_dict[pid])](x)) + return self.funcs[self.pids_order.index(self.pids_dict[pid])](x) def hasFlavor(self, pid): if pid in self.pids_dict.keys(): @@ -78,7 +78,7 @@ def generate_x_grid(): """ Generate the xgrid used for the eko """ - grid = np.geomspace(1e-09, 1.0, num=50).tolist() + grid = np.geomspace(1e-09, 1.0, num=196).tolist() return grid From d919fba16e0d39c914dc39e950af6842545e64eb Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 24 Aug 2022 14:53:00 +0200 Subject: [PATCH 054/212] remove evolven3fit log file if exists --- n3fit/src/evolven3fit/evolven3fit_API.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index a989cf583b..1839667e97 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,4 +1,4 @@ -from ekobox import evol_pdf, gen_theory, gen_op, genpdf, gen_info +from ekobox import gen_theory, gen_op, genpdf, gen_info import pathlib import numpy as np import yaml @@ -33,7 +33,10 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=N path where the eko is dumped (if None the eko won't be stored) """ - log_file = logging.FileHandler(pathlib.Path(conf_folder) / "eko_log.log") + log_file = pathlib.Path(conf_folder) / f"evolven3fit.log" + if log_file.exists(): + log_file.unlink() + log_file = logging.FileHandler(log_file) log_file.setLevel(logging.INFO) log_file.setFormatter( logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") From ce1eb033defdf5fe456a8a39d964de0d8a5ff614 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 24 Aug 2022 16:41:50 +0200 Subject: [PATCH 055/212] Fixed test --- n3fit/src/n3fit/tests/regressions/quickcard_2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/regressions/quickcard_2.json b/n3fit/src/n3fit/tests/regressions/quickcard_2.json index c84bc93421..d7b872a045 100644 --- a/n3fit/src/n3fit/tests/regressions/quickcard_2.json +++ b/n3fit/src/n3fit/tests/regressions/quickcard_2.json @@ -49,7 +49,7 @@ "trainable": true } ], - "stop_epoch": 313, + "stop_epoch": 314, "best_epoch": 11, "erf_tr": 3.859008312225342, "erf_vl": 3.781097650527954, From 5a1a1e8362f0af35139179be0c7865aa35f083be Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 11:19:22 +0200 Subject: [PATCH 056/212] Removed import in init --- n3fit/src/evolven3fit/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index 7258c84983..e69de29bb2 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -1 +0,0 @@ -from . import evolven3fit_API \ No newline at end of file From caba20a6ea603165370d41b127acb061d9e4ebf4 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 13:17:19 +0200 Subject: [PATCH 057/212] Fixed import order --- n3fit/src/evolven3fit/evolven3fit_API.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 1839667e97..fdd1ab1848 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,15 +1,18 @@ -from ekobox import gen_theory, gen_op, genpdf, gen_info import pathlib +import logging import numpy as np import yaml -from . import utils -from validphys.loader import Loader import os + +from ekobox import gen_theory, gen_op, genpdf, gen_info from ekomark import apply from eko import basis_rotation as br from eko import run_dglap from eko import output -import logging + +from . import utils +from validphys.loader import Loader + logger = logging.getLogger(__name__) From ea4598049a469795a8af90863b79216ad2f57aa2 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 13:20:15 +0200 Subject: [PATCH 058/212] Added docstring --- n3fit/src/evolven3fit/evolven3fit_API.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index fdd1ab1848..039342f538 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,3 +1,9 @@ + +""" +The evolven3fit_API module provides the necessary tools to evolve a fit +using eko and to prepare it for postfit. +""" + import pathlib import logging import numpy as np From 3f960df844b2435ad966ee151f856c6ce4196bae Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 13:22:20 +0200 Subject: [PATCH 059/212] Run black --- n3fit/src/evolven3fit/evolven3fit_API.py | 34 +++++++++++++----------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 039342f538..d06956d391 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -1,4 +1,3 @@ - """ The evolven3fit_API module provides the necessary tools to evolve a fit using eko and to prepare it for postfit. @@ -20,11 +19,12 @@ from validphys.loader import Loader -logger = logging.getLogger(__name__) +logger = logging.getLogger(__name__) + -def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=None): +def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): """ - Evolves all the fitted replica in conf_folder/nnfit + Evolves all the fitted replica in conf_folder/nnfit Parameters ---------- @@ -42,14 +42,14 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=N path where the eko is dumped (if None the eko won't be stored) """ - log_file = pathlib.Path(conf_folder) / f"evolven3fit.log" + log_file = pathlib.Path(conf_folder) / "evolven3fit.log" if log_file.exists(): log_file.unlink() log_file = logging.FileHandler(log_file) log_file.setLevel(logging.INFO) log_file.setFormatter( - logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") - ) + logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") + ) for logger_ in (logger, *[logging.getLogger("eko")]): logger_.handlers = [] logger_.setLevel(logging.INFO) @@ -59,16 +59,18 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict ,eko_path=None, dump_eko=N theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict) if eko_path is not None: eko_path = pathlib.Path(eko_path) - eko_op = output.Output.load_tar(eko_path) + eko_op = output.Output.load_tar(eko_path) else: eko_op = construct_eko_for_fit(theory, op, dump_eko) - info = gen_info.create_info_file(theory, op, 1, info_update={}) + info = gen_info.create_info_file(theory, op, 1, info_update={}) info["NumMembers"] = "REPLACE_NREP" info["ErrorType"] = "replicas" dump_info_file(usr_path, info) utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): - evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko_op, theory, op) + evolved_block = evolve_exportgrid( + initial_PDFs_dict[replica], eko_op, theory, op + ) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) @@ -86,8 +88,8 @@ def load_fit(usr_path): ---------- usr_path: pathlib.Path - path to the folder containing the fit - + path to the folder containing the fit + Returns ------- @@ -131,6 +133,7 @@ def construct_eko_cards(usr_path, op_card_dict, t_card_dict): op_card.update(op_card_dict) return t_card, op_card + # Temporary solution. Then it will be loaded from the theory itself def construct_eko_for_fit(t_card, op_card, save_path=None): """ @@ -139,7 +142,7 @@ def construct_eko_for_fit(t_card, op_card, save_path=None): Parameters ---------- usr_path: pathlib.Path - path to the folder containing the fit + path to the folder containing the fit save_path: pathlib.Path path where the eko will be saved (the eko won't be saved if save_path is None) @@ -152,7 +155,7 @@ def construct_eko_for_fit(t_card, op_card, save_path=None): : dict operator runcard """ - + # generate eko operator (temporary because it will be loaded from theory) eko_op = run_dglap(t_card, op_card) if save_path is not None: @@ -191,7 +194,8 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): # generate block to dump targetgrid = operator_card["interpolation_xgrid"] block = genpdf.generate_block( - lambda pid, x, Q2, evolved_PDF=evolved_pdf: x * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], + lambda pid, x, Q2, evolved_PDF=evolved_pdf: x + * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], xgrid=targetgrid, Q2grid=operator_card["Q2grid"], pids=br.flavor_basis_pids, From 2866b46a73e4910c98aabe0fe177d3fa6af042a7 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 13:25:03 +0200 Subject: [PATCH 060/212] Added error if log exists --- n3fit/src/evolven3fit/evolven3fit_API.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index d06956d391..65e37e928d 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -44,7 +44,7 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=N """ log_file = pathlib.Path(conf_folder) / "evolven3fit.log" if log_file.exists(): - log_file.unlink() + raise SystemError("Log file already exists: evolven3fit has already been run?") log_file = logging.FileHandler(log_file) log_file.setLevel(logging.INFO) log_file.setFormatter( From b56cb35297990645434cb0310658e9107f5adff8 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 13:29:09 +0200 Subject: [PATCH 061/212] Use rmdir in place of os --- n3fit/src/evolven3fit/evolven3fit_API.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 65e37e928d..46249cba4f 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -77,7 +77,7 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=N # fixing_replica_path utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) # remove folder - os.rmdir(usr_path / "nnfit" / usr_path.stem) + (usr_path / "nnfit" / usr_path.stem).rmdir() def load_fit(usr_path): From f4375cdc728cd1b1d6657e87a39b21e7ccd211d8 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 13:46:56 +0200 Subject: [PATCH 062/212] Using glob to get replica --- n3fit/src/evolven3fit/evolven3fit_API.py | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 46249cba4f..eeda330ba4 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -8,6 +8,7 @@ import numpy as np import yaml import os +import glob from ekobox import gen_theory, gen_op, genpdf, gen_info from ekomark import apply @@ -98,22 +99,14 @@ def load_fit(usr_path): """ nnfitpath = usr_path / "nnfit" replica_list = [] - for subdir, dirs, files in os.walk(nnfitpath): - for dir in dirs: - replica_list.append(dir) - replica_list.remove("input") - # remove the eventual evolution folder - try: - replica_list.remove(usr_path.stem) - except: - pass + for file in nnfitpath.glob("replica_*"): + replica_list.append(file) pdf_dict = {} for replica in replica_list: - rep_path = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") - yaml_file = nnfitpath / rep_path.relative_to(rep_path.anchor) + yaml_file = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") with yaml_file.open() as fp: data = yaml.safe_load(fp) - pdf_dict[replica] = data + pdf_dict[replica.stem] = data return pdf_dict From 75974015c6bf53540baa39cac7adaa4d0a09b080 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 13:51:09 +0200 Subject: [PATCH 063/212] Simplified hasFlavor --- n3fit/src/evolven3fit/utils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index fe84fde7e6..f597390ce3 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -55,9 +55,8 @@ def xfxQ2(self, pid, x, q2): return self.funcs[self.pids_order.index(self.pids_dict[pid])](x) def hasFlavor(self, pid): - if pid in self.pids_dict.keys(): - return True - return False + return pid in self.pids_dict.keys(): + def read_runcard(usr_path): From 543372148fcbcaaf5b43adccd725da3b8db66e65 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 14:02:35 +0200 Subject: [PATCH 064/212] Raise error if eko path does not exists --- n3fit/src/evolven3fit/evolven3fit_API.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index eeda330ba4..b77aa69f9f 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -148,8 +148,10 @@ def construct_eko_for_fit(t_card, op_card, save_path=None): : dict operator runcard """ - # generate eko operator (temporary because it will be loaded from theory) + if save_path is not None: + if not save_path.parent.exists(): + raise ValueError("Path where eko should be dumped does not exists") eko_op = run_dglap(t_card, op_card) if save_path is not None: try: From 10d096c4c73aca3bb37e010f0137ff6d29b73a98 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 14:07:56 +0200 Subject: [PATCH 065/212] Using exist_ok=True --- n3fit/src/evolven3fit/evolven3fit_API.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index b77aa69f9f..83af72119d 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -201,8 +201,7 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): def dump_evolved_replica(evolved_block, usr_path, replica_num): path_where_dump = usr_path / "nnfit" / usr_path.stem # create folder to dump the evolved replica if it does not exist - if not os.path.exists(path_where_dump): - os.makedirs(path_where_dump) + path_where_dump.mkdir(exist_ok=True) to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" genpdf.export.dump_blocks( path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head From 8bdca5afbccd4f71fe682816da111ed9d546acfd Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 14:32:14 +0200 Subject: [PATCH 066/212] Added docstrings and run black --- n3fit/src/evolven3fit/evolven3fit_API.py | 35 ++++++++++++++---- n3fit/src/evolven3fit/utils.py | 45 +++++++++++++++++------- 2 files changed, 61 insertions(+), 19 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 83af72119d..0fcebe5788 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -100,7 +100,7 @@ def load_fit(usr_path): nnfitpath = usr_path / "nnfit" replica_list = [] for file in nnfitpath.glob("replica_*"): - replica_list.append(file) + replica_list.append(file) pdf_dict = {} for replica in replica_list: yaml_file = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") @@ -134,8 +134,10 @@ def construct_eko_for_fit(t_card, op_card, save_path=None): Parameters ---------- - usr_path: pathlib.Path - path to the folder containing the fit + t_card: dict + theory card to use for the eko + op_card: dict + operator card to use for the eko save_path: pathlib.Path path where the eko will be saved (the eko won't be saved if save_path is None) @@ -143,10 +145,6 @@ def construct_eko_for_fit(t_card, op_card, save_path=None): ------- : eko.output.Output eko operator - : dict - theory runcard - : dict - operator runcard """ # generate eko operator (temporary because it will be loaded from theory) if save_path is not None: @@ -199,6 +197,19 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): def dump_evolved_replica(evolved_block, usr_path, replica_num): + """ + Dump the evolved replica given by evolved_block as the replica num "replica_num" in + the folder usr_path/nnfit/usr_path.stem. + + Parameters + ---------- + evolved_block: numpyp.array + block of an evolved PDF + usr_path: pathlib.Path + path of the fit folder + replica_num: int + replica number + """ path_where_dump = usr_path / "nnfit" / usr_path.stem # create folder to dump the evolved replica if it does not exist path_where_dump.mkdir(exist_ok=True) @@ -209,6 +220,16 @@ def dump_evolved_replica(evolved_block, usr_path, replica_num): def dump_info_file(usr_path, info): + """ + Dump the info file given by info in the folder usr_path/nnfit/usr_path.stem. + + Parameters + ---------- + usr_path: pathlib.Path + path of the fit folder + info: dict + info of the fit + """ # dump info file if not already there path_where_dump = usr_path / "nnfit" / usr_path.stem info_path = path_where_dump / (usr_path.stem + ".info") diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index f597390ce3..1b58ee1e2a 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -7,6 +7,10 @@ class LhapdfLike: + """ + Class which emulates lhapdf but only for an initial condition PDF (i.e. with only one q2 value) + """ + pids_dict = { -6: "TBAR", -5: "BBAR", @@ -45,18 +49,39 @@ def __init__(self, pdf_grid, q20, x_grid): self.q20 = q20 self.x_grid = x_grid self.funcs = [ - interp1d(self.x_grid, self.pdf_grid[pid], kind='cubic') + interp1d(self.x_grid, self.pdf_grid[pid], kind="cubic") for pid in range(len(self.pids_order)) ] def xfxQ2(self, pid, x, q2): + """ + Return the value of the PDF for the requested pid and x value. If the requested q2 + value is different from the (only) value available, it raises an error. + + Parameters + ---------- + + pid: int + pid index of particle + x: float + x-value + q2: float + Q square value + + Returns + ------- + : float + x * PDF value + """ if not math.isclose(q2, self.q20, rel_tol=1e-6): raise ValueError("The q2 requested is not the fitting scale of this pdf") return self.funcs[self.pids_order.index(self.pids_dict[pid])](x) def hasFlavor(self, pid): - return pid in self.pids_dict.keys(): - + """ + Check if the requested pid is in the PDF. + """ + return pid in self.pids_dict.keys() def read_runcard(usr_path): @@ -70,7 +95,7 @@ def generate_q2grid(Q0, Qfin): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - return np.geomspace(Q0 ** 2, Qfin ** 2, num=20).tolist() + return np.geomspace(Q0**2, Qfin**2, num=20).tolist() def generate_x_grid(): @@ -86,7 +111,7 @@ def mv_file(file_path, dest_path): def fix_info_path(usr_path): - nnfit = usr_path / "nnfit" + nnfit = usr_path / "nnfit" info_file = usr_path.stem + ".info" info_file_path = nnfit / usr_path.stem / info_file dest_path_info = nnfit / info_file @@ -94,11 +119,7 @@ def fix_info_path(usr_path): def fix_replica_path(usr_path, replica_num): - nnfit = usr_path / "nnfit" - replica_file_path = ( - nnfit / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" - ) - dest_path_replica = ( - nnfit / f"replica_{replica_num}" / f"{usr_path.stem}.dat" - ) + nnfit = usr_path / "nnfit" + replica_file_path = nnfit / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" + dest_path_replica = nnfit / f"replica_{replica_num}" / f"{usr_path.stem}.dat" mv_file(replica_file_path, dest_path_replica) From fdd3a51c10b6fe21d2a23270ebbd8f6ba97907aa Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 15:01:00 +0200 Subject: [PATCH 067/212] Moved docstring to init --- n3fit/src/evolven3fit/__init__.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index e69de29bb2..b9a6f9b7f4 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -0,0 +1,4 @@ +""" +The evolven3fit module provides the necessary tools to evolve a fit +using eko and to prepare it for postfit. +""" \ No newline at end of file From a02cd35b6e5f3015380326e7b165b0dc52a9839d Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Thu, 25 Aug 2022 15:37:47 +0200 Subject: [PATCH 068/212] Add more log when saving ad loading ekos --- n3fit/src/evolven3fit/evolven3fit_API.py | 2 ++ n3fit/src/evolven3fit/evolven3fit_cli.py | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 0fcebe5788..9e80d64850 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -60,6 +60,7 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=N theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict) 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) else: eko_op = construct_eko_for_fit(theory, op, dump_eko) @@ -153,6 +154,7 @@ def construct_eko_for_fit(t_card, op_card, save_path=None): eko_op = run_dglap(t_card, op_card) if save_path is not None: try: + logger.info(f"Saving computed eko to : {save_path}") eko_op.dump_tar(save_path) except: pass diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 3c3fda7c91..86d26ea0e4 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -2,6 +2,7 @@ This module contains the CLI for evolven3fit """ +import pathlib import click from . import evolven3fit_API @@ -18,8 +19,8 @@ def cli(): @click.option("-i", "--ev_it", type=int, default = 1) @click.option("-n", "--n_cores", type=int, default = 1) @click.option("-b", "--back", type=str, default = "expanded") -@click.option("-d", "--dump") -@click.option("-l", "--load") +@click.option("-d", "--dump", type=pathlib.Path, default = None) +@click.option("-l", "--load", type=pathlib.Path, default = None) def cli_evolven3fit(configuration_folder, ev_ord, ev_it, n_cores, back, dump, load): """Evolves the fitted PDFs. From e5a68be22619813b8f28b062d059a79b13148031 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 16:32:21 +0200 Subject: [PATCH 069/212] Removed evolven3fit_API --- n3fit/src/evolven3fit/__init__.py | 239 ++++++++++++++++++++++- n3fit/src/evolven3fit/evolven3fit_API.py | 239 ----------------------- n3fit/src/evolven3fit/evolven3fit_cli.py | 4 +- 3 files changed, 239 insertions(+), 243 deletions(-) delete mode 100644 n3fit/src/evolven3fit/evolven3fit_API.py diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index b9a6f9b7f4..9e80d64850 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -1,4 +1,239 @@ """ -The evolven3fit module provides the necessary tools to evolve a fit +The evolven3fit_API module provides the necessary tools to evolve a fit using eko and to prepare it for postfit. -""" \ No newline at end of file +""" + +import pathlib +import logging +import numpy as np +import yaml +import os +import glob + +from ekobox import gen_theory, gen_op, genpdf, gen_info +from ekomark import apply +from eko import basis_rotation as br +from eko import run_dglap +from eko import output + +from . import utils +from validphys.loader import Loader + + +logger = logging.getLogger(__name__) + + +def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): + """ + Evolves all the fitted replica in conf_folder/nnfit + + Parameters + ---------- + + conf_folder: str or pathlib.Path + path to the folder containing the fit + op_card_dict: dict + user settings for the op_card + t_card_dict: dict + user settings for the t_card + eko_path: str or pathlib.Path + path where the eko is stored (if None the eko will be + recomputed) + dump_eko: str or pathlib.Path + path where the eko is dumped (if None the eko won't be + stored) + """ + log_file = pathlib.Path(conf_folder) / "evolven3fit.log" + if log_file.exists(): + raise SystemError("Log file already exists: evolven3fit has already been run?") + log_file = logging.FileHandler(log_file) + log_file.setLevel(logging.INFO) + log_file.setFormatter( + logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") + ) + for logger_ in (logger, *[logging.getLogger("eko")]): + logger_.handlers = [] + logger_.setLevel(logging.INFO) + logger_.addHandler(log_file) + usr_path = pathlib.Path(conf_folder) + initial_PDFs_dict = load_fit(usr_path) + theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict) + 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) + else: + eko_op = construct_eko_for_fit(theory, op, dump_eko) + info = gen_info.create_info_file(theory, op, 1, info_update={}) + info["NumMembers"] = "REPLACE_NREP" + info["ErrorType"] = "replicas" + dump_info_file(usr_path, info) + utils.fix_info_path(usr_path) + for replica in initial_PDFs_dict.keys(): + evolved_block = evolve_exportgrid( + initial_PDFs_dict[replica], eko_op, theory, op + ) + dump_evolved_replica( + evolved_block, usr_path, int(replica.removeprefix("replica_")) + ) + # fixing_replica_path + utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) + # remove folder + (usr_path / "nnfit" / usr_path.stem).rmdir() + + +def load_fit(usr_path): + """ + Loads all the replica pdfs at fitting scale in usr_path and return the exportgrids + + Parameters + ---------- + + usr_path: pathlib.Path + path to the folder containing the fit + + Returns + ------- + + : dict + exportgrids info + """ + nnfitpath = usr_path / "nnfit" + replica_list = [] + for file in nnfitpath.glob("replica_*"): + replica_list.append(file) + pdf_dict = {} + for replica in replica_list: + yaml_file = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") + with yaml_file.open() as fp: + data = yaml.safe_load(fp) + pdf_dict[replica.stem] = data + return pdf_dict + + +def construct_eko_cards(usr_path, op_card_dict, t_card_dict): + """Return the theory and operator cards used to construct the eko""" + # read the runcard + my_runcard = utils.read_runcard(usr_path) + # theory_card construction + theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() + theory.pop("FNS") + theory.update(t_card_dict) + t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + # construct operator card + op_x_grid = utils.generate_x_grid() + q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) + op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) + op_card.update(op_card_dict) + return t_card, op_card + + +# Temporary solution. Then it will be loaded from the theory itself +def construct_eko_for_fit(t_card, op_card, save_path=None): + """ + Construct the eko operator needed for evolution of fitted pdfs + + Parameters + ---------- + t_card: dict + theory card to use for the eko + op_card: dict + operator card to use for the eko + save_path: pathlib.Path + path where the eko will be saved (the eko + won't be saved if save_path is None) + Returns + ------- + : eko.output.Output + eko operator + """ + # generate eko operator (temporary because it will be loaded from theory) + if save_path is not None: + if not save_path.parent.exists(): + raise ValueError("Path where eko should be dumped does not exists") + eko_op = run_dglap(t_card, op_card) + if save_path is not None: + try: + logger.info(f"Saving computed eko to : {save_path}") + eko_op.dump_tar(save_path) + except: + pass + return eko_op + + +def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): + """ + Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block + + Parameters + ---------- + exportgrid: dict + exportgrid of pdf at fitting scale + eko: eko object + eko operator for evolution + theory_card: dict + theory card + operator_card: dict + operator card + Returns + ------- + : np.array + evolved block + """ + # construct LhapdfLike object + pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() + x_grid = np.array(exportgrid["xgrid"]).astype(np.float) + pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) + # evolve pdf + evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) + # generate block to dump + targetgrid = operator_card["interpolation_xgrid"] + block = genpdf.generate_block( + lambda pid, x, Q2, evolved_PDF=evolved_pdf: x + * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], + xgrid=targetgrid, + Q2grid=operator_card["Q2grid"], + pids=br.flavor_basis_pids, + ) + return block + + +def dump_evolved_replica(evolved_block, usr_path, replica_num): + """ + Dump the evolved replica given by evolved_block as the replica num "replica_num" in + the folder usr_path/nnfit/usr_path.stem. + + Parameters + ---------- + evolved_block: numpyp.array + block of an evolved PDF + usr_path: pathlib.Path + path of the fit folder + replica_num: int + replica number + """ + path_where_dump = usr_path / "nnfit" / usr_path.stem + # create folder to dump the evolved replica if it does not exist + path_where_dump.mkdir(exist_ok=True) + to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" + genpdf.export.dump_blocks( + path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head + ) + + +def dump_info_file(usr_path, info): + """ + Dump the info file given by info in the folder usr_path/nnfit/usr_path.stem. + + Parameters + ---------- + usr_path: pathlib.Path + path of the fit folder + info: dict + info of the fit + """ + # dump info file if not already there + path_where_dump = usr_path / "nnfit" / usr_path.stem + info_path = path_where_dump / (usr_path.stem + ".info") + if not info_path.is_file(): + genpdf.export.dump_info(path_where_dump, info) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py deleted file mode 100644 index 9e80d64850..0000000000 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ /dev/null @@ -1,239 +0,0 @@ -""" -The evolven3fit_API module provides the necessary tools to evolve a fit -using eko and to prepare it for postfit. -""" - -import pathlib -import logging -import numpy as np -import yaml -import os -import glob - -from ekobox import gen_theory, gen_op, genpdf, gen_info -from ekomark import apply -from eko import basis_rotation as br -from eko import run_dglap -from eko import output - -from . import utils -from validphys.loader import Loader - - -logger = logging.getLogger(__name__) - - -def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): - """ - Evolves all the fitted replica in conf_folder/nnfit - - Parameters - ---------- - - conf_folder: str or pathlib.Path - path to the folder containing the fit - op_card_dict: dict - user settings for the op_card - t_card_dict: dict - user settings for the t_card - eko_path: str or pathlib.Path - path where the eko is stored (if None the eko will be - recomputed) - dump_eko: str or pathlib.Path - path where the eko is dumped (if None the eko won't be - stored) - """ - log_file = pathlib.Path(conf_folder) / "evolven3fit.log" - if log_file.exists(): - raise SystemError("Log file already exists: evolven3fit has already been run?") - log_file = logging.FileHandler(log_file) - log_file.setLevel(logging.INFO) - log_file.setFormatter( - logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") - ) - for logger_ in (logger, *[logging.getLogger("eko")]): - logger_.handlers = [] - logger_.setLevel(logging.INFO) - logger_.addHandler(log_file) - usr_path = pathlib.Path(conf_folder) - initial_PDFs_dict = load_fit(usr_path) - theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict) - 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) - else: - eko_op = construct_eko_for_fit(theory, op, dump_eko) - info = gen_info.create_info_file(theory, op, 1, info_update={}) - info["NumMembers"] = "REPLACE_NREP" - info["ErrorType"] = "replicas" - dump_info_file(usr_path, info) - utils.fix_info_path(usr_path) - for replica in initial_PDFs_dict.keys(): - evolved_block = evolve_exportgrid( - initial_PDFs_dict[replica], eko_op, theory, op - ) - dump_evolved_replica( - evolved_block, usr_path, int(replica.removeprefix("replica_")) - ) - # fixing_replica_path - utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) - # remove folder - (usr_path / "nnfit" / usr_path.stem).rmdir() - - -def load_fit(usr_path): - """ - Loads all the replica pdfs at fitting scale in usr_path and return the exportgrids - - Parameters - ---------- - - usr_path: pathlib.Path - path to the folder containing the fit - - Returns - ------- - - : dict - exportgrids info - """ - nnfitpath = usr_path / "nnfit" - replica_list = [] - for file in nnfitpath.glob("replica_*"): - replica_list.append(file) - pdf_dict = {} - for replica in replica_list: - yaml_file = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") - with yaml_file.open() as fp: - data = yaml.safe_load(fp) - pdf_dict[replica.stem] = data - return pdf_dict - - -def construct_eko_cards(usr_path, op_card_dict, t_card_dict): - """Return the theory and operator cards used to construct the eko""" - # read the runcard - my_runcard = utils.read_runcard(usr_path) - # theory_card construction - theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() - theory.pop("FNS") - theory.update(t_card_dict) - t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) - # construct operator card - op_x_grid = utils.generate_x_grid() - q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) - op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) - op_card.update(op_card_dict) - return t_card, op_card - - -# Temporary solution. Then it will be loaded from the theory itself -def construct_eko_for_fit(t_card, op_card, save_path=None): - """ - Construct the eko operator needed for evolution of fitted pdfs - - Parameters - ---------- - t_card: dict - theory card to use for the eko - op_card: dict - operator card to use for the eko - save_path: pathlib.Path - path where the eko will be saved (the eko - won't be saved if save_path is None) - Returns - ------- - : eko.output.Output - eko operator - """ - # generate eko operator (temporary because it will be loaded from theory) - if save_path is not None: - if not save_path.parent.exists(): - raise ValueError("Path where eko should be dumped does not exists") - eko_op = run_dglap(t_card, op_card) - if save_path is not None: - try: - logger.info(f"Saving computed eko to : {save_path}") - eko_op.dump_tar(save_path) - except: - pass - return eko_op - - -def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): - """ - Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block - - Parameters - ---------- - exportgrid: dict - exportgrid of pdf at fitting scale - eko: eko object - eko operator for evolution - theory_card: dict - theory card - operator_card: dict - operator card - Returns - ------- - : np.array - evolved block - """ - # construct LhapdfLike object - pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() - x_grid = np.array(exportgrid["xgrid"]).astype(np.float) - pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) - # evolve pdf - evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) - # generate block to dump - targetgrid = operator_card["interpolation_xgrid"] - block = genpdf.generate_block( - lambda pid, x, Q2, evolved_PDF=evolved_pdf: x - * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], - xgrid=targetgrid, - Q2grid=operator_card["Q2grid"], - pids=br.flavor_basis_pids, - ) - return block - - -def dump_evolved_replica(evolved_block, usr_path, replica_num): - """ - Dump the evolved replica given by evolved_block as the replica num "replica_num" in - the folder usr_path/nnfit/usr_path.stem. - - Parameters - ---------- - evolved_block: numpyp.array - block of an evolved PDF - usr_path: pathlib.Path - path of the fit folder - replica_num: int - replica number - """ - path_where_dump = usr_path / "nnfit" / usr_path.stem - # create folder to dump the evolved replica if it does not exist - path_where_dump.mkdir(exist_ok=True) - to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" - genpdf.export.dump_blocks( - path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head - ) - - -def dump_info_file(usr_path, info): - """ - Dump the info file given by info in the folder usr_path/nnfit/usr_path.stem. - - Parameters - ---------- - usr_path: pathlib.Path - path of the fit folder - info: dict - info of the fit - """ - # dump info file if not already there - path_where_dump = usr_path / "nnfit" / usr_path.stem - info_path = path_where_dump / (usr_path.stem + ".info") - if not info_path.is_file(): - genpdf.export.dump_info(path_where_dump, info) diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 86d26ea0e4..24fc3ca39c 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -5,7 +5,7 @@ import pathlib import click -from . import evolven3fit_API +from . import evolve_fit @click.group() @@ -35,4 +35,4 @@ def cli_evolven3fit(configuration_folder, ev_ord, ev_it, n_cores, back, dump, lo """ op_card_info = {"ev_op_max_order": ev_ord, "ev_op_iterations": ev_it, "n_integration_cores": n_cores, "backward_inversion": back} t_card_info = {} - return evolven3fit_API.evolve_fit(configuration_folder, op_card_info, t_card_info, load, dump) + return evolve_fit(configuration_folder, op_card_info, t_card_info, load, dump) From d4a57a626557be18429e6b45d6f1902098113bfa Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 25 Aug 2022 16:33:42 +0200 Subject: [PATCH 070/212] Changed best_epoch in quickcard --- n3fit/src/n3fit/tests/regressions/quickcard_2.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/regressions/quickcard_2.json b/n3fit/src/n3fit/tests/regressions/quickcard_2.json index d7b872a045..b4b17419a6 100644 --- a/n3fit/src/n3fit/tests/regressions/quickcard_2.json +++ b/n3fit/src/n3fit/tests/regressions/quickcard_2.json @@ -50,7 +50,7 @@ } ], "stop_epoch": 314, - "best_epoch": 11, + "best_epoch": 12, "erf_tr": 3.859008312225342, "erf_vl": 3.781097650527954, "chi2": 2.1904516220092773, From 975f3734f159057f1246ad0dbfe7596bccc8747c Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Thu, 25 Aug 2022 16:35:55 +0200 Subject: [PATCH 071/212] Update n3fit/src/evolven3fit/utils.py Co-authored-by: Zaharid --- n3fit/src/evolven3fit/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 1b58ee1e2a..7771f89a0c 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -2,7 +2,7 @@ import numpy as np import math import pathlib -import yaml +from reportengine.compat import yaml import shutil From d9d84ca57addc5bbdcd2a025d4bb8ded186f20fd Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Thu, 25 Aug 2022 16:42:41 +0200 Subject: [PATCH 072/212] Update n3fit/src/evolven3fit/utils.py Co-authored-by: Zaharid --- n3fit/src/evolven3fit/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 7771f89a0c..3d5d1c5d33 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -88,7 +88,7 @@ def read_runcard(usr_path): """ reads the runcard and returns the relevant information for evolven3fit """ - return yaml.safe_load((usr_path / "filter.yml").read_text()) + return yaml.safe_load((usr_path / "filter.yml")) def generate_q2grid(Q0, Qfin): From cdd973ffaf778fbdddbc2886335dff642205a367 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 13:52:38 +0200 Subject: [PATCH 073/212] Remove function mv_file and add docs --- n3fit/src/evolven3fit/utils.py | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 3d5d1c5d33..ffb81ffa54 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -105,21 +105,22 @@ def generate_x_grid(): grid = np.geomspace(1e-09, 1.0, num=196).tolist() return grid - -def mv_file(file_path, dest_path): - shutil.move(str(file_path), str(dest_path)) - - def fix_info_path(usr_path): + """Fix the location of the info file from the folder nnfit/usr_path to + just nnfit + """ nnfit = usr_path / "nnfit" info_file = usr_path.stem + ".info" info_file_path = nnfit / usr_path.stem / info_file dest_path_info = nnfit / info_file - mv_file(info_file_path, dest_path_info) + shutil.move(info_file_path, dest_path_info) def fix_replica_path(usr_path, replica_num): + """Fix the location of the dat file of the replica from the folder nnfit/usr_path to + just nnfit/replica_ + """ nnfit = usr_path / "nnfit" replica_file_path = nnfit / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" dest_path_replica = nnfit / f"replica_{replica_num}" / f"{usr_path.stem}.dat" - mv_file(replica_file_path, dest_path_replica) + shutil.move(replica_file_path, dest_path_replica) From 3d47814d0f001a9f9c4bfd9d5cd91398b74dba4b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 13:56:31 +0200 Subject: [PATCH 074/212] Add comment in evolve_fit --- n3fit/src/evolven3fit/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index 9e80d64850..49579ac163 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -79,6 +79,8 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=N # fixing_replica_path utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) # remove folder + # The function dump_evolved_replica dumps the replica files in a temporary folder + # We need then to remove it after fixing the position of those replica files (usr_path / "nnfit" / usr_path.stem).rmdir() From b4ec3dd65e9d50d74d20661122af4f7044ba41a7 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 14:35:12 +0200 Subject: [PATCH 075/212] Add the possibility to choose q_grid --- n3fit/src/evolven3fit/__init__.py | 8 ++++---- n3fit/src/evolven3fit/evolven3fit_cli.py | 10 ++++++++-- n3fit/src/evolven3fit/utils.py | 4 ++-- 3 files changed, 14 insertions(+), 8 deletions(-) diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index 49579ac163..b7a214836b 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -23,7 +23,7 @@ logger = logging.getLogger(__name__) -def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): +def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): """ Evolves all the fitted replica in conf_folder/nnfit @@ -57,7 +57,7 @@ def evolve_fit(conf_folder, op_card_dict, t_card_dict, eko_path=None, dump_eko=N logger_.addHandler(log_file) usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) - theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict) + theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points) if eko_path is not None: eko_path = pathlib.Path(eko_path) logger.info(f"Loading eko from : {eko_path}") @@ -113,7 +113,7 @@ def load_fit(usr_path): return pdf_dict -def construct_eko_cards(usr_path, op_card_dict, t_card_dict): +def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points): """Return the theory and operator cards used to construct the eko""" # read the runcard my_runcard = utils.read_runcard(usr_path) @@ -124,7 +124,7 @@ def construct_eko_cards(usr_path, op_card_dict, t_card_dict): t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card op_x_grid = utils.generate_x_grid() - q2_grid = utils.generate_q2grid(theory["Q0"], 1.0e5) + q2_grid = utils.generate_q2grid(theory["Q0"], q_fin, q_points) op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) op_card.update(op_card_dict) return t_card, op_card diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 24fc3ca39c..dc25c1c1f1 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -15,15 +15,21 @@ def cli(): @cli.command("evolve") @click.argument("configuration_folder", nargs=1) +@click.option("-q", "--q_fin", type=float, default=1.0e5) +@click.option("-p", "--q_points", type=int, default=20) @click.option("-o", "--ev_ord", type=int, default = 10) @click.option("-i", "--ev_it", type=int, default = 1) @click.option("-n", "--n_cores", type=int, default = 1) @click.option("-b", "--back", type=str, default = "expanded") @click.option("-d", "--dump", type=pathlib.Path, default = None) @click.option("-l", "--load", type=pathlib.Path, default = None) -def cli_evolven3fit(configuration_folder, ev_ord, ev_it, n_cores, back, dump, load): +def cli_evolven3fit(configuration_folder, q_fin, q_points, ev_ord, ev_it, n_cores, back, dump, load): """Evolves the fitted PDFs. + The q_grid starts at the Q0 given by the theory but + the last point is q_fin and its number of + points can be specified by q_points. + If a path is given for the dump option, the eko will be dumped in that path after the computation. @@ -35,4 +41,4 @@ def cli_evolven3fit(configuration_folder, ev_ord, ev_it, n_cores, back, dump, lo """ op_card_info = {"ev_op_max_order": ev_ord, "ev_op_iterations": ev_it, "n_integration_cores": n_cores, "backward_inversion": back} t_card_info = {} - return evolve_fit(configuration_folder, op_card_info, t_card_info, load, dump) + return evolve_fit(configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index ffb81ffa54..cc9d305926 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -91,11 +91,11 @@ def read_runcard(usr_path): return yaml.safe_load((usr_path / "filter.yml")) -def generate_q2grid(Q0, Qfin): +def generate_q2grid(Q0, Qfin, Q_points): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ - return np.geomspace(Q0**2, Qfin**2, num=20).tolist() + return np.geomspace(Q0**2, Qfin**2, num=Q_points).tolist() def generate_x_grid(): From 69490c2bda00893cc55486ad768baae2b9e74524 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 15:13:10 +0200 Subject: [PATCH 076/212] Added default q grid --- n3fit/src/evolven3fit/evolven3fit_cli.py | 8 +++++--- n3fit/src/evolven3fit/utils.py | 10 ++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index dc25c1c1f1..12b9fe51bc 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -15,8 +15,8 @@ def cli(): @cli.command("evolve") @click.argument("configuration_folder", nargs=1) -@click.option("-q", "--q_fin", type=float, default=1.0e5) -@click.option("-p", "--q_points", type=int, default=20) +@click.option("-q", "--q_fin", type=float) +@click.option("-p", "--q_points", type=int) @click.option("-o", "--ev_ord", type=int, default = 10) @click.option("-i", "--ev_it", type=int, default = 1) @click.option("-n", "--n_cores", type=int, default = 1) @@ -28,7 +28,9 @@ def cli_evolven3fit(configuration_folder, q_fin, q_points, ev_ord, ev_it, n_core The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of - points can be specified by q_points. + points can be specified by q_points. If just one of the + two is not specified by the user, the default grid + will be used. If a path is given for the dump option, the eko will be dumped in that path after the computation. diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index cc9d305926..225d453318 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -95,6 +95,16 @@ def generate_q2grid(Q0, Qfin, Q_points): """ Generate the q2grid used in the final evolved pdfs (Temporary solution) """ + if (Qfin is None) or (Q_points is None): + return [1.6500000e+00, 1.7874388e+00, 1.9429053e+00, 2.1193749e+00, 2.3204100e+00, + 2.5502944e+00, 2.8142025e+00, 3.1184122e+00, 3.4705775e+00, 3.8800751e+00, 4.3584516e+00, + 4.9200000e+00, 4.9200000e+00, 5.5493622e+00, 6.2897452e+00, 7.1650687e+00, 8.2052867e+00, + 9.4481248e+00, 1.0941378e+01, 1.2745972e+01, 1.4940062e+01, 1.7624572e+01, 2.0930715e+01, + 2.5030298e+01, 3.0149928e+01, 3.6590777e+01, 4.4756282e+01, 5.5191298e+01, 6.8637940e+01, + 8.6115921e+01, 1.0903923e+02, 1.3938725e+02, 1.7995815e+02, 2.3474820e+02, 3.0952544e+02, + 4.1270732e+02, 5.5671861e+02, 7.6011795e+02, 1.0509694e+03, 1.4722574e+03, 2.0906996e+03, + 3.0112909e+03, 4.4016501e+03, 6.5333918e+03, 9.8535186e+03, 1.5109614e+04, 2.3573066e+04, + 3.7444017e+04, 6.0599320e+04, 1.0000000e+05] return np.geomspace(Q0**2, Qfin**2, num=Q_points).tolist() From 9715d61a2bd23160fd4f0c67bf7c71985514b1cd Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 15:18:59 +0200 Subject: [PATCH 077/212] Added default x-grid --- n3fit/src/evolven3fit/utils.py | 45 ++++++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 225d453318..d1cd80547b 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -112,8 +112,49 @@ def generate_x_grid(): """ Generate the xgrid used for the eko """ - grid = np.geomspace(1e-09, 1.0, num=196).tolist() - return grid + return [1e-09, 1.29708482343957e-09, 1.68242903474257e-09, 2.18225315420583e-09, 2.83056741739819e-09, + 3.67148597892941e-09, 4.76222862935315e-09, 6.1770142737618e-09, 8.01211109898438e-09, + 1.03923870607245e-08, 1.34798064073805e-08, 1.74844503691778e-08, 2.26788118881103e-08, + 2.94163370300835e-08, 3.81554746595878e-08, 4.94908707232129e-08, 6.41938295708371e-08, + 8.32647951986859e-08, 1.08001422993829e-07, 1.4008687308113e-07, 1.81704331793772e-07, + 2.35685551545377e-07, 3.05703512595323e-07, 3.96522309841747e-07, 5.1432125723657e-07, + 6.67115245136676e-07, 8.65299922973143e-07, 1.12235875241487e-06, 1.45577995547683e-06, + 1.88824560514613e-06, 2.44917352454946e-06, 3.17671650028717e-06, 4.12035415232797e-06, + 5.3442526575209e-06, 6.93161897806315e-06, 8.99034258238145e-06, 1.16603030112258e-05, + 1.51228312288769e-05, 1.96129529349212e-05, 2.54352207134502e-05, 3.29841683435992e-05, + 4.27707053972016e-05, 5.54561248105849e-05, 7.18958313632514e-05, 9.31954227979614e-05, + 0.00012078236773133, 0.000156497209466554, 0.000202708936328495, 0.000262459799331951, + 0.000339645244168985, 0.000439234443000422, 0.000567535660104533, 0.000732507615725537, + 0.000944112105452451, 0.00121469317686978, 0.00155935306118224, 0.00199627451141338, + 0.00254691493736552, 0.00323597510213126, 0.00409103436509565, 0.00514175977083962, + 0.00641865096062317, 0.00795137940306351, 0.009766899996241, 0.0118876139251364, + 0.0143298947643919, 0.0171032279460271, 0.0202100733925079, 0.0236463971369542, + 0.0274026915728357, 0.0314652506132444, 0.0358174829282429, 0.0404411060163317, + 0.0453171343973807, 0.0504266347950069, 0.0557512610084339, 0.0612736019390519, + 0.0669773829498255, 0.0728475589986517, 0.0788703322292727, 0.0850331197801452, + 0.0913244910278679, 0.0977340879783772, 0.104252538208639, 0.110871366547237, 0.117582909372878, + 0.124380233801599, 0.131257062945031, 0.138207707707289, 0.145227005135651, 0.152310263065985, + 0.159453210652156, 0.166651954293987, 0.173902938455578, 0.181202910873333, 0.188548891679097, + 0.195938145999193, 0.203368159629765, 0.210836617429103, 0.218341384106561, 0.225880487124065, + 0.233452101459503, 0.241054536011681, 0.248686221452762, 0.256345699358723, 0.264031612468684, + 0.271742695942783, 0.279477769504149, 0.287235730364833, 0.295015546847664, 0.302816252626866, + 0.310636941519503, 0.318476762768082, 0.326334916761672, 0.334210651149156, 0.342103257303627, + 0.350012067101685, 0.357936449985571, 0.365875810279643, 0.373829584735962, 0.381797240286494, + 0.389778271981947, 0.397772201099286, 0.40577857340234, 0.413796957540671, 0.421826943574548, + 0.429868141614175, 0.437920180563205, 0.44598270695699, 0.454055383887562, 0.462137890007651, + 0.470229918607142, 0.478331176755675, 0.486441384506059, 0.494560274153348, 0.502687589545177, + 0.510823085439086, 0.518966526903235, 0.527117688756998, 0.535276355048428, 0.543442318565661, + 0.551615380379768, 0.559795349416641, 0.5679820420558, 0.576175281754088, 0.584374898692498, + 0.59258072944444, 0.60079261666395, 0.609010408792398, 0.61723395978245, 0.625463128838069, + 0.633697780169485, 0.641937782762089, 0.650183010158361, 0.658433340251944, 0.666688655093089, + 0.674948840704708, 0.683213786908386, 0.691483387159697, 0.699757538392251, 0.708036140869916, + 0.716319098046733, 0.724606316434025, 0.732897705474271, 0.741193177421404, 0.749492647227008, + 0.757796032432224, 0.766103253064927, 0.774414231541921, 0.782728892575836, 0.791047163086478, + 0.799368972116378, 0.807694250750291, 0.816022932038457, 0.824354950923382, 0.832690244169987, + 0.841028750298844, 0.8493704095226, 0.857715163684985, 0.866062956202683, 0.874413732009721, + 0.882767437504206, 0.891124020497459, 0.899483430165226, 0.907845617001021, 0.916210532771399, + 0.924578130473112, 0.932948364292029, 0.941321189563734, 0.949696562735755, 0.958074441331298, + 0.966454783914439, 0.974837550056705, 0.983222700304978, 0.991610196150662, 1.0] def fix_info_path(usr_path): """Fix the location of the info file from the folder nnfit/usr_path to From 98d5192e2c0718faf0d0f3c720e5089c4ce44b11 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 15:25:27 +0200 Subject: [PATCH 078/212] Fixing yaml safe_load --- n3fit/src/evolven3fit/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index d1cd80547b..fdce416eeb 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -88,7 +88,7 @@ def read_runcard(usr_path): """ reads the runcard and returns the relevant information for evolven3fit """ - return yaml.safe_load((usr_path / "filter.yml")) + return yaml.safe_load((usr_path / "filter.yml").read_text()) def generate_q2grid(Q0, Qfin, Q_points): From aa421a0617f9ce6bc48d08341353ea01fc76313b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 17:30:32 +0200 Subject: [PATCH 079/212] Change target x-grid --- n3fit/src/evolven3fit/__init__.py | 20 +++++----- n3fit/src/evolven3fit/utils.py | 65 +++++-------------------------- 2 files changed, 20 insertions(+), 65 deletions(-) diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index b7a214836b..6cab552cb8 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -64,21 +64,24 @@ def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path eko_op = output.Output.load_tar(eko_path) else: eko_op = construct_eko_for_fit(theory, op, dump_eko) + x_grid = np.array(initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"]).astype(np.float) + 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"] = list(eko_op["Q2grid"].keys()) dump_info_file(usr_path, info) utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): evolved_block = evolve_exportgrid( - initial_PDFs_dict[replica], eko_op, theory, op + initial_PDFs_dict[replica], eko_op, x_grid ) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) # fixing_replica_path utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) - # remove folder + # remove folder: # The function dump_evolved_replica dumps the replica files in a temporary folder # We need then to remove it after fixing the position of those replica files (usr_path / "nnfit" / usr_path.stem).rmdir() @@ -163,7 +166,7 @@ def construct_eko_for_fit(t_card, op_card, save_path=None): return eko_op -def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): +def evolve_exportgrid(exportgrid, eko, x_grid): """ Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block @@ -173,10 +176,8 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): exportgrid of pdf at fitting scale eko: eko object eko operator for evolution - theory_card: dict - theory card - operator_card: dict - operator card + xgrid: list + xgrid to be used as the targetgrid Returns ------- : np.array @@ -184,17 +185,16 @@ def evolve_exportgrid(exportgrid, eko, theory_card, operator_card): """ # construct LhapdfLike object pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() - x_grid = np.array(exportgrid["xgrid"]).astype(np.float) pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) # evolve pdf evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # generate block to dump - targetgrid = operator_card["interpolation_xgrid"] + targetgrid = list(eko["targetgrid"]) block = genpdf.generate_block( lambda pid, x, Q2, evolved_PDF=evolved_pdf: x * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], xgrid=targetgrid, - Q2grid=operator_card["Q2grid"], + Q2grid=list(eko["Q2grid"].keys()), pids=br.flavor_basis_pids, ) return block diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index fdce416eeb..c18058b52b 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -54,8 +54,7 @@ def __init__(self, pdf_grid, q20, x_grid): ] def xfxQ2(self, pid, x, q2): - """ - Return the value of the PDF for the requested pid and x value. If the requested q2 + """Return the value of the PDF for the requested pid and x value. If the requested q2 value is different from the (only) value available, it raises an error. Parameters @@ -78,25 +77,23 @@ def xfxQ2(self, pid, x, q2): return self.funcs[self.pids_order.index(self.pids_dict[pid])](x) def hasFlavor(self, pid): - """ - Check if the requested pid is in the PDF. + """Check if the requested pid is in the PDF. """ return pid in self.pids_dict.keys() def read_runcard(usr_path): - """ - reads the runcard and returns the relevant information for evolven3fit + """Read the runcard and return the relevant information for evolven3fit """ return yaml.safe_load((usr_path / "filter.yml").read_text()) def generate_q2grid(Q0, Qfin, Q_points): - """ - Generate the q2grid used in the final evolved pdfs (Temporary solution) + """Generate the q2grid used in the final evolved pdfs or use the default grid if Qfin or Q_points is + not provided. """ if (Qfin is None) or (Q_points is None): - return [1.6500000e+00, 1.7874388e+00, 1.9429053e+00, 2.1193749e+00, 2.3204100e+00, + return (np.array([1.6500000e+00, 1.7874388e+00, 1.9429053e+00, 2.1193749e+00, 2.3204100e+00, 2.5502944e+00, 2.8142025e+00, 3.1184122e+00, 3.4705775e+00, 3.8800751e+00, 4.3584516e+00, 4.9200000e+00, 4.9200000e+00, 5.5493622e+00, 6.2897452e+00, 7.1650687e+00, 8.2052867e+00, 9.4481248e+00, 1.0941378e+01, 1.2745972e+01, 1.4940062e+01, 1.7624572e+01, 2.0930715e+01, @@ -104,57 +101,15 @@ def generate_q2grid(Q0, Qfin, Q_points): 8.6115921e+01, 1.0903923e+02, 1.3938725e+02, 1.7995815e+02, 2.3474820e+02, 3.0952544e+02, 4.1270732e+02, 5.5671861e+02, 7.6011795e+02, 1.0509694e+03, 1.4722574e+03, 2.0906996e+03, 3.0112909e+03, 4.4016501e+03, 6.5333918e+03, 9.8535186e+03, 1.5109614e+04, 2.3573066e+04, - 3.7444017e+04, 6.0599320e+04, 1.0000000e+05] + 3.7444017e+04, 6.0599320e+04, 1.0000000e+05])**2) return np.geomspace(Q0**2, Qfin**2, num=Q_points).tolist() def generate_x_grid(): + """Generate the xgrid used for the eko """ - Generate the xgrid used for the eko - """ - return [1e-09, 1.29708482343957e-09, 1.68242903474257e-09, 2.18225315420583e-09, 2.83056741739819e-09, - 3.67148597892941e-09, 4.76222862935315e-09, 6.1770142737618e-09, 8.01211109898438e-09, - 1.03923870607245e-08, 1.34798064073805e-08, 1.74844503691778e-08, 2.26788118881103e-08, - 2.94163370300835e-08, 3.81554746595878e-08, 4.94908707232129e-08, 6.41938295708371e-08, - 8.32647951986859e-08, 1.08001422993829e-07, 1.4008687308113e-07, 1.81704331793772e-07, - 2.35685551545377e-07, 3.05703512595323e-07, 3.96522309841747e-07, 5.1432125723657e-07, - 6.67115245136676e-07, 8.65299922973143e-07, 1.12235875241487e-06, 1.45577995547683e-06, - 1.88824560514613e-06, 2.44917352454946e-06, 3.17671650028717e-06, 4.12035415232797e-06, - 5.3442526575209e-06, 6.93161897806315e-06, 8.99034258238145e-06, 1.16603030112258e-05, - 1.51228312288769e-05, 1.96129529349212e-05, 2.54352207134502e-05, 3.29841683435992e-05, - 4.27707053972016e-05, 5.54561248105849e-05, 7.18958313632514e-05, 9.31954227979614e-05, - 0.00012078236773133, 0.000156497209466554, 0.000202708936328495, 0.000262459799331951, - 0.000339645244168985, 0.000439234443000422, 0.000567535660104533, 0.000732507615725537, - 0.000944112105452451, 0.00121469317686978, 0.00155935306118224, 0.00199627451141338, - 0.00254691493736552, 0.00323597510213126, 0.00409103436509565, 0.00514175977083962, - 0.00641865096062317, 0.00795137940306351, 0.009766899996241, 0.0118876139251364, - 0.0143298947643919, 0.0171032279460271, 0.0202100733925079, 0.0236463971369542, - 0.0274026915728357, 0.0314652506132444, 0.0358174829282429, 0.0404411060163317, - 0.0453171343973807, 0.0504266347950069, 0.0557512610084339, 0.0612736019390519, - 0.0669773829498255, 0.0728475589986517, 0.0788703322292727, 0.0850331197801452, - 0.0913244910278679, 0.0977340879783772, 0.104252538208639, 0.110871366547237, 0.117582909372878, - 0.124380233801599, 0.131257062945031, 0.138207707707289, 0.145227005135651, 0.152310263065985, - 0.159453210652156, 0.166651954293987, 0.173902938455578, 0.181202910873333, 0.188548891679097, - 0.195938145999193, 0.203368159629765, 0.210836617429103, 0.218341384106561, 0.225880487124065, - 0.233452101459503, 0.241054536011681, 0.248686221452762, 0.256345699358723, 0.264031612468684, - 0.271742695942783, 0.279477769504149, 0.287235730364833, 0.295015546847664, 0.302816252626866, - 0.310636941519503, 0.318476762768082, 0.326334916761672, 0.334210651149156, 0.342103257303627, - 0.350012067101685, 0.357936449985571, 0.365875810279643, 0.373829584735962, 0.381797240286494, - 0.389778271981947, 0.397772201099286, 0.40577857340234, 0.413796957540671, 0.421826943574548, - 0.429868141614175, 0.437920180563205, 0.44598270695699, 0.454055383887562, 0.462137890007651, - 0.470229918607142, 0.478331176755675, 0.486441384506059, 0.494560274153348, 0.502687589545177, - 0.510823085439086, 0.518966526903235, 0.527117688756998, 0.535276355048428, 0.543442318565661, - 0.551615380379768, 0.559795349416641, 0.5679820420558, 0.576175281754088, 0.584374898692498, - 0.59258072944444, 0.60079261666395, 0.609010408792398, 0.61723395978245, 0.625463128838069, - 0.633697780169485, 0.641937782762089, 0.650183010158361, 0.658433340251944, 0.666688655093089, - 0.674948840704708, 0.683213786908386, 0.691483387159697, 0.699757538392251, 0.708036140869916, - 0.716319098046733, 0.724606316434025, 0.732897705474271, 0.741193177421404, 0.749492647227008, - 0.757796032432224, 0.766103253064927, 0.774414231541921, 0.782728892575836, 0.791047163086478, - 0.799368972116378, 0.807694250750291, 0.816022932038457, 0.824354950923382, 0.832690244169987, - 0.841028750298844, 0.8493704095226, 0.857715163684985, 0.866062956202683, 0.874413732009721, - 0.882767437504206, 0.891124020497459, 0.899483430165226, 0.907845617001021, 0.916210532771399, - 0.924578130473112, 0.932948364292029, 0.941321189563734, 0.949696562735755, 0.958074441331298, - 0.966454783914439, 0.974837550056705, 0.983222700304978, 0.991610196150662, 1.0] + grid = np.geomspace(1e-09, 1.0, num=196).tolist() + return grid def fix_info_path(usr_path): """Fix the location of the info file from the folder nnfit/usr_path to From 5665b1ec5146ffc52d57b1818e98ec080d4b2fb4 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 17:31:21 +0200 Subject: [PATCH 080/212] Change fitbot --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 2bd6b8ec14..8d861f6f23 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -81,7 +81,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit $RUNCARD $N3FIT_MAXNREP + evolven3fit $RUNCARD # running postfit - name: Postfit and upload fit shell: bash -l {0} From 3484ef37ebe109eeb1c4a557d2201071951fe15f Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 6 Sep 2022 17:47:04 +0200 Subject: [PATCH 081/212] Use exportgrid as interpolation grid for eko --- n3fit/src/evolven3fit/__init__.py | 9 ++++----- n3fit/src/evolven3fit/utils.py | 7 ------- 2 files changed, 4 insertions(+), 12 deletions(-) diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index 6cab552cb8..46f36078d1 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -57,14 +57,14 @@ def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path logger_.addHandler(log_file) usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) - theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points) + x_grid = np.array(initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"]).astype(np.float) + theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid) 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) else: eko_op = construct_eko_for_fit(theory, op, dump_eko) - x_grid = np.array(initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"]).astype(np.float) 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" @@ -116,7 +116,7 @@ def load_fit(usr_path): return pdf_dict -def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points): +def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid): """Return the theory and operator cards used to construct the eko""" # read the runcard my_runcard = utils.read_runcard(usr_path) @@ -126,9 +126,8 @@ def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points): theory.update(t_card_dict) t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card - op_x_grid = utils.generate_x_grid() q2_grid = utils.generate_q2grid(theory["Q0"], q_fin, q_points) - op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": op_x_grid}) + op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": x_grid}) op_card.update(op_card_dict) return t_card, op_card diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index c18058b52b..66b59bec92 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -104,13 +104,6 @@ def generate_q2grid(Q0, Qfin, Q_points): 3.7444017e+04, 6.0599320e+04, 1.0000000e+05])**2) return np.geomspace(Q0**2, Qfin**2, num=Q_points).tolist() - -def generate_x_grid(): - """Generate the xgrid used for the eko - """ - grid = np.geomspace(1e-09, 1.0, num=196).tolist() - return grid - def fix_info_path(usr_path): """Fix the location of the info file from the folder nnfit/usr_path to just nnfit From d1912f6721e0910414d6feb8abdd1ee15868c59b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 8 Sep 2022 15:00:34 +0200 Subject: [PATCH 082/212] Add simple test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 n3fit/src/n3fit/tests/test_evolven3fit.py diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py new file mode 100644 index 0000000000..2cdffe54fa --- /dev/null +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -0,0 +1,6 @@ +import evolven3fit +from numpy.testing import assert_allclose + +def test_utils(): + grid = evolven3fit.utils.generate_q2grid(1.65, None, None) + assert_allclose(1.65**2, grid[0]) \ No newline at end of file From 58e6f5a76b4646fa6ff9f85427baf2f8e9ce76fb Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 8 Sep 2022 15:30:34 +0200 Subject: [PATCH 083/212] test on workflow --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 8d861f6f23..e4f79135dc 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -51,7 +51,7 @@ jobs: - name: Installing NNPDF conda package shell: bash -l {0} run: | - conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ nnpdf + conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ --override-channels nnpdf # create fancy runcards - name: Preparing fit runcard run: | From 59663c6b49ffba179e90d573fac595eea191ddf1 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 8 Sep 2022 16:46:02 +0200 Subject: [PATCH 084/212] Test workflow --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index e4f79135dc..5228e6d6ea 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -51,7 +51,7 @@ jobs: - name: Installing NNPDF conda package shell: bash -l {0} run: | - conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ --override-channels nnpdf + conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ -c defaults -c conda-forge --override-channels nnpdf # create fancy runcards - name: Preparing fit runcard run: | From 58ce979b33161aa6199e91f45d8be564ba321d29 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 9 Sep 2022 14:15:05 +0200 Subject: [PATCH 085/212] Fix problem with xmin and xmax --- n3fit/src/evolven3fit/__init__.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index 46f36078d1..ec59a945ff 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -70,6 +70,8 @@ def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path info["NumMembers"] = "REPLACE_NREP" info["ErrorType"] = "replicas" info["AlphaS_Qs"] = list(eko_op["Q2grid"].keys()) + info["XMin"] = float(x_grid[0]) + info["XMax"] = float(x_grid[-1]) dump_info_file(usr_path, info) utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): From 02c85a89bfc9f1436505d45de414f676f227cc26 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 9 Sep 2022 15:18:18 +0200 Subject: [PATCH 086/212] Test on workflow --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 5228e6d6ea..1b8431abf9 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -51,7 +51,7 @@ jobs: - name: Installing NNPDF conda package shell: bash -l {0} run: | - conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ -c defaults -c conda-forge --override-channels nnpdf + conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ -c defaults -c conda-forge nnpdf=$GITHUB_REF # create fancy runcards - name: Preparing fit runcard run: | From 9a4004bbbcf4ad86cb43b15b0a26fa79627d2398 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 9 Sep 2022 15:48:53 +0200 Subject: [PATCH 087/212] Test workflow --- .github/workflows/fitbot.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 1b8431abf9..b918eec559 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -51,7 +51,10 @@ jobs: - name: Installing NNPDF conda package shell: bash -l {0} run: | - conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ -c defaults -c conda-forge nnpdf=$GITHUB_REF + NAME_VERSION=$(basename /usr/share/miniconda/envs/test/conda-bld/linux-64/nnpdf* .tar.bz2) + FINAL_NAME_VERSION=${NAME_VERSION#nnpdf-} + FINAL_NAME_VERSION=${FINAL_NAME_VERSION%-py*} + conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ -c defaults -c conda-forge nnpdf=$FINAL_NAME_VERSION # create fancy runcards - name: Preparing fit runcard run: | From 48dea082d1351177a533b684c811c82b778abe7d Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 9 Sep 2022 18:23:55 +0200 Subject: [PATCH 088/212] Fix workflow and add more points to q2 grid in matching region --- .github/workflows/fitbot.yml | 2 +- n3fit/src/evolven3fit/__init__.py | 2 +- n3fit/src/evolven3fit/utils.py | 15 +++++++++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index b918eec559..5eb3e83d3c 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -84,7 +84,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit $RUNCARD + evolven3fit evolve $RUNCARD # running postfit - name: Postfit and upload fit shell: bash -l {0} diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index ec59a945ff..312e55dd9c 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -128,7 +128,7 @@ def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_ theory.update(t_card_dict) t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card - q2_grid = utils.generate_q2grid(theory["Q0"], q_fin, q_points) + q2_grid = utils.generate_q2grid(theory["Q0"], q_fin, 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.update(op_card_dict) return t_card, op_card diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 66b59bec92..2464a47a92 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -88,7 +88,7 @@ def read_runcard(usr_path): return yaml.safe_load((usr_path / "filter.yml").read_text()) -def generate_q2grid(Q0, Qfin, Q_points): +def generate_q2grid(Q0, Qfin, Q_points, match_dict): """Generate the q2grid used in the final evolved pdfs or use the default grid if Qfin or Q_points is not provided. """ @@ -102,7 +102,18 @@ def generate_q2grid(Q0, Qfin, Q_points): 4.1270732e+02, 5.5671861e+02, 7.6011795e+02, 1.0509694e+03, 1.4722574e+03, 2.0906996e+03, 3.0112909e+03, 4.4016501e+03, 6.5333918e+03, 9.8535186e+03, 1.5109614e+04, 2.3573066e+04, 3.7444017e+04, 6.0599320e+04, 1.0000000e+05])**2) - return np.geomspace(Q0**2, Qfin**2, num=Q_points).tolist() + grids = [] + Q_ini=Q0 + num_points_list = [] + for masses in match_dict.keys(): + match_scale = masses*match_dict[masses] + num_points = int(Q_points*(np.log(match_scale/Q0)/np.log(Qfin/Q_ini))) + num_points_list.append(num_points) + grids.append(np.geomspace(Q0**2, match_scale**2, num=num_points)) + Q0 = match_scale + num_points = Q_points - sum(num_points_list) + grids.append(np.geomspace(Q0**2, Qfin**2, num=num_points )) + return np.concatenate(grids).tolist() def fix_info_path(usr_path): """Fix the location of the info file from the folder nnfit/usr_path to From f9f6c53ca9832c36f7289fb07a955451a6cec1a0 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 9 Sep 2022 19:20:01 +0200 Subject: [PATCH 089/212] Fix test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 2cdffe54fa..452422e49b 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -2,5 +2,5 @@ from numpy.testing import assert_allclose def test_utils(): - grid = evolven3fit.utils.generate_q2grid(1.65, None, None) + grid = evolven3fit.utils.generate_q2grid(1.65, None, None, {}) assert_allclose(1.65**2, grid[0]) \ No newline at end of file From 5df949ddc74c49c9bf873a621f87baca669ff2f5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 12 Sep 2022 13:04:23 +0200 Subject: [PATCH 090/212] Add some test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 57 ++++++++++++++++++++++- 1 file changed, 56 insertions(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 452422e49b..a1dfad4db8 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -1,6 +1,61 @@ import evolven3fit from numpy.testing import assert_allclose +import numpy as np +import pytest + +pids_dict = { + -6: "TBAR", + -5: "BBAR", + -4: "CBAR", + -3: "SBAR", + -2: "UBAR", + -1: "DBAR", + 21: "GLUON", + 1: "D", + 2: "U", + 3: "S", + 4: "C", + 5: "B", + 6: "T", + 22: "PHT", + } + +pids_order = [ + "TBAR", + "BBAR", + "CBAR", + "SBAR", + "UBAR", + "DBAR", + "GLUON", + "D", + "U", + "S", + "C", + "B", + "T", + "PHT", + ] def test_utils(): grid = evolven3fit.utils.generate_q2grid(1.65, None, None, {}) - assert_allclose(1.65**2, grid[0]) \ No newline at end of file + assert_allclose(1.65**2, grid[0]) + assert len(grid) == 50 + assert_allclose(4.92**2, grid[11]) + assert_allclose(4.92**2, grid[12]) + matched_grid = evolven3fit.utils.generate_q2grid(1.65, 1.0e5, 100, {4.92:2.0, 100:1.0} ) + assert len(matched_grid) == 100 + assert_allclose((1.0e5)**2, matched_grid[-1]) + assert_allclose(matched_grid[list(matched_grid).index((4.92*2.0)**2)+1], (4.92*2.0)**2) + assert_allclose(matched_grid[list(matched_grid).index((100*1.0)**2)+1], (100*1.0)**2) + q20 = 1.65**2 + x_grid = np.geomspace(1.0e-7, 1.0, 30) + pdf_grid = dict([(pid,v) for pid,v in zip(range(len(pids_order)), [[x*(1.-x) for x in x_grid] for pid in pids_order] )]) + my_PDF = evolven3fit.utils.LhapdfLike(pdf_grid, q20, x_grid) + assert my_PDF.hasFlavor(6) + assert not my_PDF.hasFlavor(0) + with pytest.raises(ValueError): + my_PDF.xfxQ2(21, 0.01, 5.0**2) + for pid in pids_dict.keys(): + for x in x_grid: + assert_allclose(my_PDF.xfxQ2(pid, x, q20), x*(1.-x) ) From da1619a934d6ecc6ec553809f3e25e7772ec48df Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 11:27:15 +0200 Subject: [PATCH 091/212] Remove code from init --- n3fit/src/evolven3fit/__init__.py | 242 +---------------------- n3fit/src/evolven3fit/evolven3fit_API.py | 237 ++++++++++++++++++++++ n3fit/src/evolven3fit/evolven3fit_cli.py | 4 +- 3 files changed, 241 insertions(+), 242 deletions(-) create mode 100644 n3fit/src/evolven3fit/evolven3fit_API.py diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py index 312e55dd9c..b9a6f9b7f4 100644 --- a/n3fit/src/evolven3fit/__init__.py +++ b/n3fit/src/evolven3fit/__init__.py @@ -1,242 +1,4 @@ """ -The evolven3fit_API module provides the necessary tools to evolve a fit +The evolven3fit module provides the necessary tools to evolve a fit using eko and to prepare it for postfit. -""" - -import pathlib -import logging -import numpy as np -import yaml -import os -import glob - -from ekobox import gen_theory, gen_op, genpdf, gen_info -from ekomark import apply -from eko import basis_rotation as br -from eko import run_dglap -from eko import output - -from . import utils -from validphys.loader import Loader - - -logger = logging.getLogger(__name__) - - -def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): - """ - Evolves all the fitted replica in conf_folder/nnfit - - Parameters - ---------- - - conf_folder: str or pathlib.Path - path to the folder containing the fit - op_card_dict: dict - user settings for the op_card - t_card_dict: dict - user settings for the t_card - eko_path: str or pathlib.Path - path where the eko is stored (if None the eko will be - recomputed) - dump_eko: str or pathlib.Path - path where the eko is dumped (if None the eko won't be - stored) - """ - log_file = pathlib.Path(conf_folder) / "evolven3fit.log" - if log_file.exists(): - raise SystemError("Log file already exists: evolven3fit has already been run?") - log_file = logging.FileHandler(log_file) - log_file.setLevel(logging.INFO) - log_file.setFormatter( - logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") - ) - for logger_ in (logger, *[logging.getLogger("eko")]): - logger_.handlers = [] - logger_.setLevel(logging.INFO) - logger_.addHandler(log_file) - usr_path = pathlib.Path(conf_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) - theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid) - 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) - else: - eko_op = 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"] = list(eko_op["Q2grid"].keys()) - info["XMin"] = float(x_grid[0]) - info["XMax"] = float(x_grid[-1]) - dump_info_file(usr_path, info) - utils.fix_info_path(usr_path) - for replica in initial_PDFs_dict.keys(): - evolved_block = evolve_exportgrid( - initial_PDFs_dict[replica], eko_op, x_grid - ) - dump_evolved_replica( - evolved_block, usr_path, int(replica.removeprefix("replica_")) - ) - # fixing_replica_path - utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) - # remove folder: - # The function dump_evolved_replica dumps the replica files in a temporary folder - # We need then to remove it after fixing the position of those replica files - (usr_path / "nnfit" / usr_path.stem).rmdir() - - -def load_fit(usr_path): - """ - Loads all the replica pdfs at fitting scale in usr_path and return the exportgrids - - Parameters - ---------- - - usr_path: pathlib.Path - path to the folder containing the fit - - Returns - ------- - - : dict - exportgrids info - """ - nnfitpath = usr_path / "nnfit" - replica_list = [] - for file in nnfitpath.glob("replica_*"): - replica_list.append(file) - pdf_dict = {} - for replica in replica_list: - yaml_file = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") - with yaml_file.open() as fp: - data = yaml.safe_load(fp) - pdf_dict[replica.stem] = data - return pdf_dict - - -def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid): - """Return the theory and operator cards used to construct the eko""" - # read the runcard - my_runcard = utils.read_runcard(usr_path) - # theory_card construction - theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() - theory.pop("FNS") - theory.update(t_card_dict) - t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) - # construct operator card - q2_grid = utils.generate_q2grid(theory["Q0"], q_fin, 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.update(op_card_dict) - return t_card, op_card - - -# Temporary solution. Then it will be loaded from the theory itself -def construct_eko_for_fit(t_card, op_card, save_path=None): - """ - Construct the eko operator needed for evolution of fitted pdfs - - Parameters - ---------- - t_card: dict - theory card to use for the eko - op_card: dict - operator card to use for the eko - save_path: pathlib.Path - path where the eko will be saved (the eko - won't be saved if save_path is None) - Returns - ------- - : eko.output.Output - eko operator - """ - # generate eko operator (temporary because it will be loaded from theory) - if save_path is not None: - if not save_path.parent.exists(): - raise ValueError("Path where eko should be dumped does not exists") - eko_op = run_dglap(t_card, op_card) - if save_path is not None: - try: - logger.info(f"Saving computed eko to : {save_path}") - eko_op.dump_tar(save_path) - except: - pass - return eko_op - - -def evolve_exportgrid(exportgrid, eko, x_grid): - """ - Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block - - Parameters - ---------- - exportgrid: dict - exportgrid of pdf at fitting scale - eko: eko object - eko operator for evolution - xgrid: list - xgrid to be used as the targetgrid - Returns - ------- - : np.array - evolved block - """ - # construct LhapdfLike object - pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() - pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) - # evolve pdf - evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) - # generate block to dump - targetgrid = list(eko["targetgrid"]) - block = genpdf.generate_block( - lambda pid, x, Q2, evolved_PDF=evolved_pdf: x - * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], - xgrid=targetgrid, - Q2grid=list(eko["Q2grid"].keys()), - pids=br.flavor_basis_pids, - ) - return block - - -def dump_evolved_replica(evolved_block, usr_path, replica_num): - """ - Dump the evolved replica given by evolved_block as the replica num "replica_num" in - the folder usr_path/nnfit/usr_path.stem. - - Parameters - ---------- - evolved_block: numpyp.array - block of an evolved PDF - usr_path: pathlib.Path - path of the fit folder - replica_num: int - replica number - """ - path_where_dump = usr_path / "nnfit" / usr_path.stem - # create folder to dump the evolved replica if it does not exist - path_where_dump.mkdir(exist_ok=True) - to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" - genpdf.export.dump_blocks( - path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head - ) - - -def dump_info_file(usr_path, info): - """ - Dump the info file given by info in the folder usr_path/nnfit/usr_path.stem. - - Parameters - ---------- - usr_path: pathlib.Path - path of the fit folder - info: dict - info of the fit - """ - # dump info file if not already there - path_where_dump = usr_path / "nnfit" / usr_path.stem - info_path = path_where_dump / (usr_path.stem + ".info") - if not info_path.is_file(): - genpdf.export.dump_info(path_where_dump, info) +""" \ No newline at end of file diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py new file mode 100644 index 0000000000..7aeb9637a1 --- /dev/null +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -0,0 +1,237 @@ +import pathlib +import logging +import numpy as np +import yaml +import os +import glob + +from ekobox import gen_theory, gen_op, genpdf, gen_info +from ekomark import apply +from eko import basis_rotation as br +from eko import run_dglap +from eko import output + +from . import utils +from validphys.loader import Loader + + +logger = logging.getLogger(__name__) + + +def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): + """ + Evolves all the fitted replica in conf_folder/nnfit + + Parameters + ---------- + + conf_folder: str or pathlib.Path + path to the folder containing the fit + op_card_dict: dict + user settings for the op_card + t_card_dict: dict + user settings for the t_card + eko_path: str or pathlib.Path + path where the eko is stored (if None the eko will be + recomputed) + dump_eko: str or pathlib.Path + path where the eko is dumped (if None the eko won't be + stored) + """ + log_file = pathlib.Path(conf_folder) / "evolven3fit.log" + if log_file.exists(): + raise SystemError("Log file already exists: evolven3fit has already been run?") + log_file = logging.FileHandler(log_file) + log_file.setLevel(logging.INFO) + log_file.setFormatter( + logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") + ) + for logger_ in (logger, *[logging.getLogger("eko")]): + logger_.handlers = [] + logger_.setLevel(logging.INFO) + logger_.addHandler(log_file) + usr_path = pathlib.Path(conf_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) + theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid) + 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) + else: + eko_op = 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"] = list(eko_op["Q2grid"].keys()) + info["XMin"] = float(x_grid[0]) + info["XMax"] = float(x_grid[-1]) + dump_info_file(usr_path, info) + utils.fix_info_path(usr_path) + for replica in initial_PDFs_dict.keys(): + evolved_block = evolve_exportgrid( + initial_PDFs_dict[replica], eko_op, x_grid + ) + dump_evolved_replica( + evolved_block, usr_path, int(replica.removeprefix("replica_")) + ) + # fixing_replica_path + utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) + # remove folder: + # The function dump_evolved_replica dumps the replica files in a temporary folder + # We need then to remove it after fixing the position of those replica files + (usr_path / "nnfit" / usr_path.stem).rmdir() + + +def load_fit(usr_path): + """ + Loads all the replica pdfs at fitting scale in usr_path and return the exportgrids + + Parameters + ---------- + + usr_path: pathlib.Path + path to the folder containing the fit + + Returns + ------- + + : dict + exportgrids info + """ + nnfitpath = usr_path / "nnfit" + replica_list = [] + for file in nnfitpath.glob("replica_*"): + replica_list.append(file) + pdf_dict = {} + for replica in replica_list: + yaml_file = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") + with yaml_file.open() as fp: + data = yaml.safe_load(fp) + pdf_dict[replica.stem] = data + return pdf_dict + + +def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid): + """Return the theory and operator cards used to construct the eko""" + # read the runcard + my_runcard = utils.read_runcard(usr_path) + # theory_card construction + theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() + theory.pop("FNS") + theory.update(t_card_dict) + t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + # construct operator card + q2_grid = utils.generate_q2grid(theory["Q0"], q_fin, 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.update(op_card_dict) + return t_card, op_card + + +# Temporary solution. Then it will be loaded from the theory itself +def construct_eko_for_fit(t_card, op_card, save_path=None): + """ + Construct the eko operator needed for evolution of fitted pdfs + + Parameters + ---------- + t_card: dict + theory card to use for the eko + op_card: dict + operator card to use for the eko + save_path: pathlib.Path + path where the eko will be saved (the eko + won't be saved if save_path is None) + Returns + ------- + : eko.output.Output + eko operator + """ + # generate eko operator (temporary because it will be loaded from theory) + if save_path is not None: + if not save_path.parent.exists(): + raise ValueError("Path where eko should be dumped does not exists") + eko_op = run_dglap(t_card, op_card) + if save_path is not None: + try: + logger.info(f"Saving computed eko to : {save_path}") + eko_op.dump_tar(save_path) + except: + pass + return eko_op + + +def evolve_exportgrid(exportgrid, eko, x_grid): + """ + Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block + + Parameters + ---------- + exportgrid: dict + exportgrid of pdf at fitting scale + eko: eko object + eko operator for evolution + xgrid: list + xgrid to be used as the targetgrid + Returns + ------- + : np.array + evolved block + """ + # construct LhapdfLike object + pdf_grid = np.array(exportgrid["pdfgrid"]).transpose() + pdf_to_evolve = utils.LhapdfLike(pdf_grid, exportgrid["q20"], x_grid) + # evolve pdf + evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) + # generate block to dump + targetgrid = list(eko["targetgrid"]) + block = genpdf.generate_block( + lambda pid, x, Q2, evolved_PDF=evolved_pdf: x + * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], + xgrid=targetgrid, + Q2grid=list(eko["Q2grid"].keys()), + pids=br.flavor_basis_pids, + ) + return block + + +def dump_evolved_replica(evolved_block, usr_path, replica_num): + """ + Dump the evolved replica given by evolved_block as the replica num "replica_num" in + the folder usr_path/nnfit/usr_path.stem. + + Parameters + ---------- + evolved_block: numpyp.array + block of an evolved PDF + usr_path: pathlib.Path + path of the fit folder + replica_num: int + replica number + """ + path_where_dump = usr_path / "nnfit" / usr_path.stem + # create folder to dump the evolved replica if it does not exist + path_where_dump.mkdir(exist_ok=True) + to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" + genpdf.export.dump_blocks( + path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head + ) + + +def dump_info_file(usr_path, info): + """ + Dump the info file given by info in the folder usr_path/nnfit/usr_path.stem. + + Parameters + ---------- + usr_path: pathlib.Path + path of the fit folder + info: dict + info of the fit + """ + # dump info file if not already there + path_where_dump = usr_path / "nnfit" / usr_path.stem + info_path = path_where_dump / (usr_path.stem + ".info") + if not info_path.is_file(): + genpdf.export.dump_info(path_where_dump, info) diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 12b9fe51bc..905ea5961f 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -5,7 +5,7 @@ import pathlib import click -from . import evolve_fit +from evolven3fit import evolven3fit_API @click.group() @@ -43,4 +43,4 @@ def cli_evolven3fit(configuration_folder, q_fin, q_points, ev_ord, ev_it, n_core """ op_card_info = {"ev_op_max_order": ev_ord, "ev_op_iterations": ev_it, "n_integration_cores": n_cores, "backward_inversion": back} t_card_info = {} - return evolve_fit(configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump) + return evolven3fit_API.evolve_fit(configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump) From dac38516ce408fe8b6abd75d40340edb37d214fb Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 12:07:59 +0200 Subject: [PATCH 092/212] Move to argparse --- n3fit/setup.py | 2 +- n3fit/src/evolven3fit/evolven3fit_cli.py | 113 ++++++++++++++++------ n3fit/src/n3fit/tests/test_evolven3fit.py | 8 +- 3 files changed, 89 insertions(+), 34 deletions(-) diff --git a/n3fit/setup.py b/n3fit/setup.py index ffbd519197..49f81a372e 100644 --- a/n3fit/setup.py +++ b/n3fit/setup.py @@ -13,7 +13,7 @@ entry_points = {'console_scripts': ['n3fit = n3fit.scripts.n3fit_exec:main', - 'evolven3fit = evolven3fit.evolven3fit_cli:cli', + 'evolven3fit = evolven3fit.evolven3fit_cli:main', 'vp-setupfit = n3fit.scripts.vp_setupfit:main', 'varflavors = n3fit.scripts.varflavors:main', ] diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 905ea5961f..ca7eecf623 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -1,46 +1,101 @@ """ This module contains the CLI for evolven3fit """ - +import logging import pathlib -import click +from argparse import ArgumentParser from evolven3fit import evolven3fit_API +logging.basicConfig(level=logging.INFO) +log = logging.getLogger(__name__) + -@click.group() -def cli(): - pass +def main(): + parser = ArgumentParser(description="evolven3fit - a script to evolve PDF fits") + parser.add_argument( + "configuration_folder", + help="Path to the folder containing the (pre-DGLAP) fit result", + ) + parser.add_argument( + "-q", + "--q_fin", + type=float, + default=None, + help="Final q-value of the evolution", + ) + parser.add_argument( + "-p", + "--q_points", + type=int, + default=None, + help="Number of q points for the evolution", + ) + parser.add_argument( + "-n", + "--n_cores", + type=int, + default=1, + help="Number of cores to be used", + ) + parser.add_argument( + "-l", + "--load", + type=pathlib.Path, + default=None, + help="Path of the EKO to be loaded", + ) + parser.add_argument( + "-d", + "--dump", + type=pathlib.Path, + default=None, + help="Path where the EKO is dumped", + ) + args = parser.parse_args() + cli_evolven3fit( + args.configuration_folder, + args.q_fin, + args.q_points, + 10, + 1, + args.n_cores, + "expanded", + args.dump, + args.load, + ) -@cli.command("evolve") -@click.argument("configuration_folder", nargs=1) -@click.option("-q", "--q_fin", type=float) -@click.option("-p", "--q_points", type=int) -@click.option("-o", "--ev_ord", type=int, default = 10) -@click.option("-i", "--ev_it", type=int, default = 1) -@click.option("-n", "--n_cores", type=int, default = 1) -@click.option("-b", "--back", type=str, default = "expanded") -@click.option("-d", "--dump", type=pathlib.Path, default = None) -@click.option("-l", "--load", type=pathlib.Path, default = None) -def cli_evolven3fit(configuration_folder, q_fin, q_points, ev_ord, ev_it, n_cores, back, dump, load): +def cli_evolven3fit( + configuration_folder, q_fin, q_points, ev_ord, ev_it, n_cores, back, dump, load +): """Evolves the fitted PDFs. - The q_grid starts at the Q0 given by the theory but - the last point is q_fin and its number of - points can be specified by q_points. If just one of the - two is not specified by the user, the default grid - will be used. + The q_grid starts at the Q0 given by the theory but + the last point is q_fin and its number of + points can be specified by q_points. If just one of the + two is not specified by the user, the default grid + will be used. - If a path is given for the dump option, the eko - will be dumped in that path after the computation. + If a path is given for the dump option, the eko + will be dumped in that path after the computation. - If a path is given for the dump option, the eko - to be used for the evolution will be loaded from that - path. + If a path is given for the dump option, the eko + to be used for the evolution will be loaded from that + path. - The two options are mutually exclusive. + The two options are mutually exclusive. """ - op_card_info = {"ev_op_max_order": ev_ord, "ev_op_iterations": ev_it, "n_integration_cores": n_cores, "backward_inversion": back} + op_card_info = { + "ev_op_max_order": ev_ord, + "ev_op_iterations": ev_it, + "n_integration_cores": n_cores, + "backward_inversion": back, + } t_card_info = {} - return evolven3fit_API.evolve_fit(configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump) + import ipdb + + ipdb.set_trace() + return evolven3fit_API.evolve_fit( + configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump + ) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index a1dfad4db8..3a3d23fc4d 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -1,4 +1,4 @@ -import evolven3fit +from evolven3fit import utils from numpy.testing import assert_allclose import numpy as np import pytest @@ -38,12 +38,12 @@ ] def test_utils(): - grid = evolven3fit.utils.generate_q2grid(1.65, None, None, {}) + grid = utils.generate_q2grid(1.65, None, None, {}) assert_allclose(1.65**2, grid[0]) assert len(grid) == 50 assert_allclose(4.92**2, grid[11]) assert_allclose(4.92**2, grid[12]) - matched_grid = evolven3fit.utils.generate_q2grid(1.65, 1.0e5, 100, {4.92:2.0, 100:1.0} ) + matched_grid = utils.generate_q2grid(1.65, 1.0e5, 100, {4.92:2.0, 100:1.0} ) assert len(matched_grid) == 100 assert_allclose((1.0e5)**2, matched_grid[-1]) assert_allclose(matched_grid[list(matched_grid).index((4.92*2.0)**2)+1], (4.92*2.0)**2) @@ -51,7 +51,7 @@ def test_utils(): q20 = 1.65**2 x_grid = np.geomspace(1.0e-7, 1.0, 30) pdf_grid = dict([(pid,v) for pid,v in zip(range(len(pids_order)), [[x*(1.-x) for x in x_grid] for pid in pids_order] )]) - my_PDF = evolven3fit.utils.LhapdfLike(pdf_grid, q20, x_grid) + my_PDF = utils.LhapdfLike(pdf_grid, q20, x_grid) assert my_PDF.hasFlavor(6) assert not my_PDF.hasFlavor(0) with pytest.raises(ValueError): From ebb04f3e84f01b55bc3e78e2f882dcd5cb5a05a5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 13:53:31 +0200 Subject: [PATCH 093/212] Improve argparse and give possibility to only construct eko --- n3fit/src/evolven3fit/evolven3fit_API.py | 43 ++++++++--- n3fit/src/evolven3fit/evolven3fit_cli.py | 93 +++++++++++++++++------- 2 files changed, 98 insertions(+), 38 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolven3fit_API.py index 7aeb9637a1..9c7872a23c 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolven3fit_API.py @@ -18,7 +18,15 @@ logger = logging.getLogger(__name__) -def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path=None, dump_eko=None): +def evolve_fit( + conf_folder, + q_fin, + q_points, + op_card_dict, + t_card_dict, + eko_path=None, + dump_eko=None, +): """ Evolves all the fitted replica in conf_folder/nnfit @@ -52,15 +60,20 @@ def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path logger_.addHandler(log_file) usr_path = pathlib.Path(conf_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) - theory, op = construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid) + x_grid = np.array( + initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"] + ).astype(np.float) + theoryID = get_theoryID_from_runcard(usr_path) + theory, op = construct_eko_cards( + theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid + ) 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) else: eko_op = construct_eko_for_fit(theory, op, dump_eko) - eko_op.xgrid_reshape(targetgrid = x_grid, inputgrid = x_grid) + 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" @@ -70,9 +83,7 @@ def evolve_fit(conf_folder, q_fin, q_points, op_card_dict, t_card_dict, eko_path dump_info_file(usr_path, info) utils.fix_info_path(usr_path) 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) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) @@ -113,17 +124,27 @@ def load_fit(usr_path): return pdf_dict -def construct_eko_cards(usr_path, op_card_dict, t_card_dict, q_fin, q_points, x_grid): - """Return the theory and operator cards used to construct the eko""" +def get_theoryID_from_runcard(usr_path): + """Return the theoryID from the runcard""" # read the runcard my_runcard = utils.read_runcard(usr_path) + return my_runcard["theory"]["theoryid"] + + +def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid): + """Return the theory and operator cards used to construct the eko""" # theory_card construction - theory = Loader().check_theoryID(my_runcard["theory"]["theoryid"]).get_description() + theory = Loader().check_theoryID(theoryID).get_description() theory.pop("FNS") theory.update(t_card_dict) t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card - q2_grid = utils.generate_q2grid(theory["Q0"], q_fin, q_points, {theory["mb"]:theory["kbThr"], theory["mt"]:theory["ktThr"] }) + q2_grid = utils.generate_q2grid( + theory["Q0"], + q_fin, + 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.update(op_card_dict) return t_card, op_card diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index ca7eecf623..090e8ffa9a 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -3,17 +3,30 @@ """ import logging import pathlib +import numpy as np from argparse import ArgumentParser from evolven3fit import evolven3fit_API +from validphys.core import CommonDataMetadata logging.basicConfig(level=logging.INFO) log = logging.getLogger(__name__) def main(): - parser = ArgumentParser(description="evolven3fit - a script to evolve PDF fits") - parser.add_argument( + parser = ArgumentParser( + description="evolven3fit - a script with tools to evolve PDF fits" + ) + subparsers = parser.add_subparsers(title="actions", dest="actions") + evolvefit_parser = subparsers.add_parser( + "evolve", + help="Evolves the fitted PDFs. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. If a path is given for the dump option, the eko will be dumped in that path after the computation. If a path is given for the load option, the eko to be used for the evolution will be loaded from that path. The two options are mutually exclusive.", + ) + eko_parser = subparsers.add_parser( + "produce_eko", + help="Produce the eko for the specified theory. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points. The eko will be dumped in the provided path.", + ) + evolvefit_parser.add_argument( "configuration_folder", help="Path to the folder containing the (pre-DGLAP) fit result", ) @@ -38,36 +51,68 @@ def main(): default=1, help="Number of cores to be used", ) - parser.add_argument( + evolvefit_parser.add_argument( "-l", "--load", type=pathlib.Path, default=None, help="Path of the EKO to be loaded", ) - parser.add_argument( + evolvefit_parser.add_argument( "-d", "--dump", type=pathlib.Path, default=None, + help="Path where the EKO is dumped (optional)", + ) + eko_parser.add_argument( + "theoryID", type=int, help="ID of the theory used to produce the eko" + ) + eko_parser.add_argument( + "dump", + type=pathlib.Path, help="Path where the EKO is dumped", ) - args = parser.parse_args() - cli_evolven3fit( - args.configuration_folder, - args.q_fin, - args.q_points, - 10, - 1, - args.n_cores, - "expanded", - args.dump, - args.load, + eko_parser.add_argument( + "x_grid_ini", + default=1.0e-7, + type=float, + help="Starting point of the x-grid", + ) + eko_parser.add_argument( + "x_grid_points", + default=196, + type=int, + help="Number of points of the x-grid", ) + args = parser.parse_args() + op_card_info = { + "ev_op_max_order": 10, + "ev_op_iterations": 1, + "n_integration_cores": args.n_cores, + "backward_inversion": "expanded", + } + t_card_info = {} + if args.actions == "evolve": + cli_evolven3fit( + args.configuration_folder, + args.q_fin, + args.q_points, + op_card_info, + t_card_info, + args.dump, + args.load, + ) + elif args.actions == "produce_eko": + x_grid = np.geomspace(args.x_grid_ini, 1.0, args.x_grid_points) + tcard, opcard = evolven3fit_API.construct_eko_cards( + args.theoryID, op_card_info, t_card_info, args.q_fin, args.q_points, x_grid + ) + eko_op = evolven3fit_API.construct_eko_for_fit(tcard, opcard, args.dump) def cli_evolven3fit( - configuration_folder, q_fin, q_points, ev_ord, ev_it, n_cores, back, dump, load + configuration_folder, q_fin, q_points, op_card_info, t_card_info, dump, load ): """Evolves the fitted PDFs. @@ -80,22 +125,16 @@ def cli_evolven3fit( If a path is given for the dump option, the eko will be dumped in that path after the computation. - If a path is given for the dump option, the eko + If a path is given for the load option, the eko to be used for the evolution will be loaded from that path. The two options are mutually exclusive. """ - op_card_info = { - "ev_op_max_order": ev_ord, - "ev_op_iterations": ev_it, - "n_integration_cores": n_cores, - "backward_inversion": back, - } - t_card_info = {} - import ipdb - - ipdb.set_trace() return evolven3fit_API.evolve_fit( configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump ) + + +if __name__ == "__main__": + main() From eda1f18e09b3af92f6d0f438e8c8d1e660ed05eb Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 14:01:39 +0200 Subject: [PATCH 094/212] Use default x_grid for produce_eko --- n3fit/src/evolven3fit/evolven3fit_cli.py | 221 ++++++++++++++++++++++- 1 file changed, 216 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/evolven3fit_cli.py index 090e8ffa9a..06fb19eda0 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/evolven3fit_cli.py @@ -74,14 +74,14 @@ def main(): help="Path where the EKO is dumped", ) eko_parser.add_argument( - "x_grid_ini", - default=1.0e-7, + "-i" "--x_grid_ini", + default=None, type=float, help="Starting point of the x-grid", ) eko_parser.add_argument( - "x_grid_points", - default=196, + "-p" "--x_grid_points", + default=None, type=int, help="Number of points of the x-grid", ) @@ -104,7 +104,218 @@ def main(): args.load, ) elif args.actions == "produce_eko": - x_grid = np.geomspace(args.x_grid_ini, 1.0, args.x_grid_points) + if args.x_grid_ini is None: + if args.x_grid_points is None: + x_grid = np.array( + [ + 1.00000000000000e-09, + 1.29708482343957e-09, + 1.68242903474257e-09, + 2.18225315420583e-09, + 2.83056741739819e-09, + 3.67148597892941e-09, + 4.76222862935315e-09, + 6.17701427376180e-09, + 8.01211109898438e-09, + 1.03923870607245e-08, + 1.34798064073805e-08, + 1.74844503691778e-08, + 2.26788118881103e-08, + 2.94163370300835e-08, + 3.81554746595878e-08, + 4.94908707232129e-08, + 6.41938295708371e-08, + 8.32647951986859e-08, + 1.08001422993829e-07, + 1.40086873081130e-07, + 1.81704331793772e-07, + 2.35685551545377e-07, + 3.05703512595323e-07, + 3.96522309841747e-07, + 5.14321257236570e-07, + 6.67115245136676e-07, + 8.65299922973143e-07, + 1.12235875241487e-06, + 1.45577995547683e-06, + 1.88824560514613e-06, + 2.44917352454946e-06, + 3.17671650028717e-06, + 4.12035415232797e-06, + 5.34425265752090e-06, + 6.93161897806315e-06, + 8.99034258238145e-06, + 1.16603030112258e-05, + 1.51228312288769e-05, + 1.96129529349212e-05, + 2.54352207134502e-05, + 3.29841683435992e-05, + 4.27707053972016e-05, + 5.54561248105849e-05, + 7.18958313632514e-05, + 9.31954227979614e-05, + 1.20782367731330e-04, + 1.56497209466554e-04, + 2.02708936328495e-04, + 2.62459799331951e-04, + 3.39645244168985e-04, + 4.39234443000422e-04, + 5.67535660104533e-04, + 7.32507615725537e-04, + 9.44112105452451e-04, + 1.21469317686978e-03, + 1.55935306118224e-03, + 1.99627451141338e-03, + 2.54691493736552e-03, + 3.23597510213126e-03, + 4.09103436509565e-03, + 5.14175977083962e-03, + 6.41865096062317e-03, + 7.95137940306351e-03, + 9.76689999624100e-03, + 1.18876139251364e-02, + 1.43298947643919e-02, + 1.71032279460271e-02, + 2.02100733925079e-02, + 2.36463971369542e-02, + 2.74026915728357e-02, + 3.14652506132444e-02, + 3.58174829282429e-02, + 4.04411060163317e-02, + 4.53171343973807e-02, + 5.04266347950069e-02, + 5.57512610084339e-02, + 6.12736019390519e-02, + 6.69773829498255e-02, + 7.28475589986517e-02, + 7.88703322292727e-02, + 8.50331197801452e-02, + 9.13244910278679e-02, + 9.77340879783772e-02, + 1.04252538208639e-01, + 1.10871366547237e-01, + 1.17582909372878e-01, + 1.24380233801599e-01, + 1.31257062945031e-01, + 1.38207707707289e-01, + 1.45227005135651e-01, + 1.52310263065985e-01, + 1.59453210652156e-01, + 1.66651954293987e-01, + 1.73902938455578e-01, + 1.81202910873333e-01, + 1.88548891679097e-01, + 1.95938145999193e-01, + 2.03368159629765e-01, + 2.10836617429103e-01, + 2.18341384106561e-01, + 2.25880487124065e-01, + 2.33452101459503e-01, + 2.41054536011681e-01, + 2.48686221452762e-01, + 2.56345699358723e-01, + 2.64031612468684e-01, + 2.71742695942783e-01, + 2.79477769504149e-01, + 2.87235730364833e-01, + 2.95015546847664e-01, + 3.02816252626866e-01, + 3.10636941519503e-01, + 3.18476762768082e-01, + 3.26334916761672e-01, + 3.34210651149156e-01, + 3.42103257303627e-01, + 3.50012067101685e-01, + 3.57936449985571e-01, + 3.65875810279643e-01, + 3.73829584735962e-01, + 3.81797240286494e-01, + 3.89778271981947e-01, + 3.97772201099286e-01, + 4.05778573402340e-01, + 4.13796957540671e-01, + 4.21826943574548e-01, + 4.29868141614175e-01, + 4.37920180563205e-01, + 4.45982706956990e-01, + 4.54055383887562e-01, + 4.62137890007651e-01, + 4.70229918607142e-01, + 4.78331176755675e-01, + 4.86441384506059e-01, + 4.94560274153348e-01, + 5.02687589545177e-01, + 5.10823085439086e-01, + 5.18966526903235e-01, + 5.27117688756998e-01, + 5.35276355048428e-01, + 5.43442318565661e-01, + 5.51615380379768e-01, + 5.59795349416641e-01, + 5.67982042055800e-01, + 5.76175281754088e-01, + 5.84374898692498e-01, + 5.92580729444440e-01, + 6.00792616663950e-01, + 6.09010408792398e-01, + 6.17233959782450e-01, + 6.25463128838069e-01, + 6.33697780169485e-01, + 6.41937782762089e-01, + 6.50183010158361e-01, + 6.58433340251944e-01, + 6.66688655093089e-01, + 6.74948840704708e-01, + 6.83213786908386e-01, + 6.91483387159697e-01, + 6.99757538392251e-01, + 7.08036140869916e-01, + 7.16319098046733e-01, + 7.24606316434025e-01, + 7.32897705474271e-01, + 7.41193177421404e-01, + 7.49492647227008e-01, + 7.57796032432224e-01, + 7.66103253064927e-01, + 7.74414231541921e-01, + 7.82728892575836e-01, + 7.91047163086478e-01, + 7.99368972116378e-01, + 8.07694250750291e-01, + 8.16022932038457e-01, + 8.24354950923382e-01, + 8.32690244169987e-01, + 8.41028750298844e-01, + 8.49370409522600e-01, + 8.57715163684985e-01, + 8.66062956202683e-01, + 8.74413732009721e-01, + 8.82767437504206e-01, + 8.91124020497459e-01, + 8.99483430165226e-01, + 9.07845617001021e-01, + 9.16210532771399e-01, + 9.24578130473112e-01, + 9.32948364292029e-01, + 9.41321189563734e-01, + 9.49696562735755e-01, + 9.58074441331298e-01, + 9.66454783914439e-01, + 9.74837550056705e-01, + 9.83222700304978e-01, + 9.91610196150662e-01, + 1.00000000000000e00, + ] + ).reshape(-1, 1) + else: + raise ValueError( + "x_grid_ini and x_grid_points must be specified either both or none of them" + ) + elif args.x_grid_points is None: + raise ValueError( + "x_grid_ini and x_grid_points must be specified either both or none of them" + ) + else: + x_grid = np.geomspace(args.x_grid_ini, 1.0, args.x_grid_points) tcard, opcard = evolven3fit_API.construct_eko_cards( args.theoryID, op_card_info, t_card_info, args.q_fin, args.q_points, x_grid ) From 8e5dfa64a10992c4c1dde8c32fad8b765f041940 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 14:16:23 +0200 Subject: [PATCH 095/212] Change names and fix imports --- conda-bld/binaries/evolven3fit_cpp | Bin 0 -> 176764 bytes conda-bld/libnnpdf/wrapper/nnpdf.py | 5024 +++++++++++++++++ conda-bld/nnpdfcpp/README.md | 1 + conda-bld/nnpdfcpp/src/common/inc/version.h | 1 + n3fit/setup.py | 2 +- .../{evolven3fit_cli.py => cli.py} | 8 +- n3fit/src/evolven3fit/eko_utils.py | 58 + .../{evolven3fit_API.py => evolve.py} | 72 +- n3fit/src/evolven3fit/utils.py | 8 +- 9 files changed, 5101 insertions(+), 73 deletions(-) create mode 100755 conda-bld/binaries/evolven3fit_cpp create mode 100644 conda-bld/libnnpdf/wrapper/nnpdf.py create mode 100644 conda-bld/nnpdfcpp/README.md create mode 100644 conda-bld/nnpdfcpp/src/common/inc/version.h rename n3fit/src/evolven3fit/{evolven3fit_cli.py => cli.py} (98%) create mode 100644 n3fit/src/evolven3fit/eko_utils.py rename n3fit/src/evolven3fit/{evolven3fit_API.py => evolve.py} (72%) diff --git a/conda-bld/binaries/evolven3fit_cpp b/conda-bld/binaries/evolven3fit_cpp new file mode 100755 index 0000000000000000000000000000000000000000..3a73ffb30c20c2c413608461b386ef4a021a6829 GIT binary patch literal 176764 zcmeFad3aPs_BY;_q#>*~s6bSdM1v+Sm?&r>AZgN_+{SJQvdADItPy03q#JQ$NhaOG zoog#DjOYv_u7l%-Uj^d=CIr(F6#^;*QHh{~0x{+{=F|9F!p z-S^h1Q>RXyI<=iTRlW1X_oq6UOj3-=RMNp@GF^aAN@tVFTatt~lj(eX6nqK_@+`Tw ziMCrt5w!K6)H-;^5YbtT3G zX3d;iG;<+fZRsu9Am~jpn4+*jT2MHRzuTuzFPOP_`phC%fotltw)E;=7xWU(70D^w zik`t&=uuEGeZl-CFy<*qG+4FA?hg;Wg{KtacB}N5O zIQp+GuLT9}`FG8pKcisw{K5r5Y|G!k&jh_~q!jq0a9bK8Mtn!~&T1KJiHd=KF(-)z z3}OC@7Z0=t6MZ6jH-BzH@!j*LEtp$S(BsZBrkJ5+!NI!}~0Xz!|ZeI|o z1q!#O7iaKSVz5Qww)F07MQ`rZ-{WuPSE9Tn1`!HJ)1z`e*^1u01yl*MT?K{i`O{D5 z?;Alc!AKK_a5O!1A+7#S*Spr`O*H7G8TCrxXnL)PAy7~-W2$Rv1lm@9dEW{CvJ4ao z|GpkiD~|L6r`N}-5WOCeJfrCu)fA45^qUU*$eV3ed$`Z*U}D@_1GQ14T(VV!DHKiX z67w*{(`4XGVWDQFn3ybh+g zX(kgjXG%|hImm!ML-AgQ=d%nw^H-XqgQ;gULk1d&ArYT$_*~;IUU<#i+0(9>arfLA z2-Dw%_z)kCpJyNbb<&NGZroD;K~>$+8Oeaf<74WALf~^nC`>T?rJ%f&F22n;L-~*# zC=SIk-V#h%3yY?@W>N097tbAV?R5jd!)%n7@G}f7flq~yTH{ZjHg{_AfV5B=Aem8jDI=(lxx3gkbKZdAZPT^puWf#oyd0Y&oLO7`VyJ__CsLlfr_P&u_4J}5B)LA4 z)9G>`uA|e$WBemqtQG6BOId`^e=5^tcaQ3Imt;0Ep zI43II)P>V$&0aKfKzg{2DCOz=wUyiSE3X`o9%9eb7y3cNWGwSz&COG4;A@X3k$!d=1Ni6oazibXjIgXN>F2jfP zb|o5B3Rp}v!qm>%|Jo(cE`fFlv`e5}0__rLmq5D&+9l8~fp!VBOQ2l>?Gk90K)VFm zCD1N`b_ujgpj`s(5@?q|y9C-L&@O>?3A9U~T>|YAXqP~{1llFgE`fFlv`e5}0__rL zmq5D&+9l8~fp!VBOQ2l>?Gk90K)VFmCD1N`b_ujgpj`t0uSsB>qJCq!)iQoeom7c~~xTKa--?*)tEgdMUmMdN50uTt6t<;%5Ea z1(GRn$gbVwRF}mmW!vIzvrM)W(_K%O^cnM@Y>5q~g-@o!`ND&SX~ zYH3l_1Nt#!?X8ekR}_|Q-UgUSexy>-dL4R#vN}f@Jg(lIV2e8yS7VK994INJ+lU>( zc9p&yiRFG)lPScnW$YMmya8fR)RW-&A54ZguB*1KljK_~|*Qqxd$@0+WjR zr9Nsd^7AcS2hIqjcg1m6May5Mc=x+{EB*?=S{fC(GCNKIw;mZx1ieK7O0Ld|wzNbq z$4v{0uUFoK^w^w+7{%var)T3JH^5l}%(?kCQmmedGx7!l`cRxpwy4#=lVK%_)H=gl z%1~Q7fpR)ClO%?qH-nk%rf8cL$~K;p<=6a1nkOiYZM`T}xqgtuqM672lO85zu&qw^ z{sSmhwGmZ88Qf->#5z=^XfdeImb`eX)k#Qauq%5%N3}N8Q+-FHWJaT00oED@P*I{$ zdNT?aK=uwMl;Lerewu@fz_09eP&{klY$UTsqT~yOmCFVqVbo<0uFE5U1Y(#( zSiWbYatBipyn3#uCSwTv2}CsX2LSXMF5>52ygIa*tDN4iUHwDc+2u-WGHI9l9J>~q z>`=djEb*_BC zE?O{m(aibRDXMoi39nqo9L{ch${464|ISX0omjPyE=6W=6fuj2L zXGJxfgQjP{?45%^!+d;2y3|nrGDayoqS#d=FINM>nuGZGE9)yv*>5P(B%M#rld9ooBerdwYQJ|HoB znLkcJm*h}S>CaKQ{I*&!)#A6+(ZlivDrIRo_cA`5%f?Hs;u}{^Vwi_>*qq%z7n$=%)NX>ngjU4XZc$N}M>KmgSB9fk_EirCvkr2)z`pcIDt@BD^;+#U+& z>GuLh&&O9dp2k1RIO^fcj?A*FKcftrnPuwUYax5t^9r>)^<#{U4)sU9&sAu2nk~)H zaLVzolyg~gqg-|#6x6P6Q`EIo_ki^&J}283o4nGt-r-yNJesCEC6M7z4=H6;@k-gD zMoPX945CpXzjCGQ14&Wy*E`gi8>o)8jYP+x9@OKIM|O4W<&<|KP)qPk!E+_rw#(e8 zv}B=L-Rn_TCD1%-d-@l{i5WkXA4q2$a5h3QqWa|##0bdSwfq!HF$!d}<1E!3X^6AP zJ#*sh{v5g_0%UU%?ds$dM!>M27V2+8gPHq=R=wdfshm7ph}a@!9&f3puNB2__m;(m+M-mlc`sv~CYCafyDbJ#<2^ z(55~78Fc@Dw1@X0r?a+)W+45S?ct+g|7Cl)kr??u(jFdy#Q$)6xOz2d6wQjSxbzobJ(gL{9=r;2^eFq zU+Jy+6=S9ErT6i0dV}utz)%NPm{B9`0#=XrFm%@eM+~-WIhDGxmJ+K!I@H4s^_cz` zFte+zgE)VlFh2{3$p4?13Udu&bT@KN#5x2yC*g7CoPRE$TBn@TXvxCE{8~<>ZcL%X z;hg)0b5?wt2_rrD7OrzL=|v!6QMU!X1e7!`y^B_0L{YyVv6vy>TSkw~8>o1`jZ`%K z-afdA>ZI8{&aM?C(0pS*p|T`z5+!k{o5P~a5uy|Y+8ioS0lL~7O!6kq8|`JDqIrq! z!0kq6dTnD%i|Tz588+l#zT{MYMmH00FZ-sECQU);0(a?Le0$kPl0$u|Rq<(hOM*`X zbFDLTKdkK1u_iTG>?(T)$kZUZKlc|dE0M93(;ZytLB+q7hID;#KCl11vA}d_#fhZy zUz5smu_sV^wF-eg#eICS7q0Zu)ZXFSY{3H)AJQDV`bBgB289cd2OOgSlnPTlS^=Z; zai~EBE1LpfTB>7VE%EV+Ayj>@f+ZoKAZI6W-4Qi?H=>Mcja2An02OU$vyTcn=<`y^ z^cLN(q(7Q&GHDx0(6sir5?CZyv>dHScSxrUrP1%7M9BwLa&p!q-OZplB-=s?)iOGR ztOG*H^aK#H$XkNci70*(CA*JQ zQ;s*usjN6m1U+3AttCxZ8-h-6rQ9`Z=7NQH+vkJw-GKPLCHS5{W9H&&uLo~Lw;oUE zGgUPfiq zXO5o=CP?WE{oYhO7D9&1jxyN061f)tNzu4aimJrR@uE~cp;i@WS&SGcK#L?){TF7C z$V;+kE~$#qR1a|k^Cx>JA);YA#rifAS4Jsy6YjJ-O(&jbVTYu_Iv}K>_;sv)#t_!h-AthI| z)znS`y&^-xDrMJqAVrOi+NTK#6-}rOcr?_8-pIZdR-4mW&m%~8nxvK!F`=R)Q7XEx z*Qd+C?OnJ#4g68p7~-#vqP5kvc$|Sh8cqyS`lLTactpkimTI$%2F;@Ek|QbNK}e)9 z(Oa8R2}SWXqbAU&P-kb9RQATAdQd_n!ct{(5}vM3q)d20KZ|}x?||Z>F$cXwnUJIq z5@-6x+GKDGK~SyepMoWuHwY6N@+v(<#?(UZe%bR8f-pm}*#~x0D{!&;eFIR3ws95+ zItFhn!b2`QL@+ggo*gtPOZ~P9Jg=bH%yXFboK_z{BHmtFy$U69s7$QkRS=0N1I-UY z4P+~j+sMH43l%`y%>Ct4h;J4L{&3LUPqxFpq%f(AQUzG7S293F>14mhY&3 zVw$Rd64aAKgzAsOBQQRayl@rdIECVjGJcQ#!U6jmK#swi^YD;8m7If@s>`Bwf^j7l zgDGJI3Xz`mo2r7k>MyS}mLFh=yJ{L3za1}Oto(r_sSP?0eCj&^QMBk@T9`NPx)tqe z%TLrVC*YNyz40`voW~6+i0)-zB3>nj#!cB6JCTj-Nd=>Z>gcxtvmt>2tFwS_Pu=TO zf3a8o(!uVtCQHhjPyqTHrexO0D?Y;oica;Eeb*^_X0<~e-l&v|=$3x=%xw-i`zU5U zin_W21Z7VN@y zKHv_uLctNf*w;q*x;?FwRmMUuh*yj)BxQ8ER1b=Gx9mAa8lvviJ;D+SyH0E)@|!_59rFYVblfSl?#j=|4Tr0nU5**a*i1Jjr)W#Caxwjfl&I@FO3 zlP|6NE%#C`mMj2yx~7>GFG2D!Jg!~?G>nuKxr$zW78*3Ef>E)vP@^>NVC`ZiB3ND` za=n0PM5L?&jl#PDkU){J?-^`RQy4s!vf+6SYKV~Zz5r1Z8;_^Gr5dje?IkLTQ8tHK z??}~^%H|m5P3@KDztX=Vzf!4`a)A=iRYB9`vh!in3r#=OwLE>-yj&KQ$A7347YA~H zOfcrs#F*3_CRV%ptG;~Z;23~Zka^FTOp#A|{oOy&%Vm6YRkw7*QR3MTSd;Dl>2vkrp-K)o&z8qWzy+lg@ zn+bRafWIqr(Op2xxR!;KF~) z^2%OvXQFdRq(z@FhPiF&71%E%D?%&N@a764x)d202~j|8Gxgf~EXq|g@2Ay@AmVyk ze?YL3MF=*q((o?STk#Ej&ke0yf2qmT@G<~m11uA`So@1*L!6)23iGDUo?q?l4`G_# zO@kQpI3kFV32j_XF$ZB)r|CC^;?0k^5bBwQ#e?~7el;m?F1)62_S~7p1F)#Ls5+~^ z*chYk9%~&+MziB}XxeN~%Pj$MU#|_==q31v#BdL0cr%Y%>PU(gE54<8Z#YUdqYeER zrs`OfXnKz{UoC_n3TUK6(_Mil2?+Zr zRBc91=Tc59C?{iG*a3jR-C_nr3o1(b`6WaG<39K)(iQ2;5b{?}P{RC&vlD}94TGYm zL1MAWBh(xar^PB+GrHoPo}KX&e7%P^+8x{$B0mIx(2Vr@2HGJ+qydmUwdjYSA5`{+ zck#|~l#S%R&_HsJHFQz-CYqrSm*Wdbcrw~6iuk_3l~m40zJdIDF&)-m+4~*nHXIER zCy`687mZByk5SYx{R+bL3(N)$svTj~g?(DlRX>Row3UoPFr%_(5ikvo8fJ=A4bwuY zMPbef6=ncTr#CfNBPsOJ%zFJ7uqvy(+Q)oP|5bTGwm~%Gj?0Vod3>Aps>PaGCN(d+5{g-$mtFenOQEHR!jvb5$fF+(agU>bZk3^e%Z+bXpvT-d;PHK#Tz;TW}a(Eu90 z5_yMYxD%yo*lfT;T>8XB$44|VpAZur-#YFW&M??A&paZ%0cxPkvw>U1yPzTFco_iE z9B&~#HJ&KY7&RVpp+OdEiXqZLK3-=N)wbjH002=D^;GO%a;ey@#_L_f!s9i| ztb*`PC?qo)m4qO92>u2@vgf}IGjU|G9odf`KL$Pz_! zxT8Ki-(dd<;Flf2THz$d^%z=LVRTV#s8g6oXplMO@VV=$zgogv4|-)W)6{S0;AsQQ z(t5o+I1G(0FA)|-mlqh@{M6kdgTXf4jmcRZc6Z{5uPS{664BV^1Az~XM0IFnks?O? z-$MQdXr;mo)XA>yv8(@4{JCryl{Z}+tdiXE$}X5#n)E9{+TOA)01uu?$=C~N($5FP zsm(}^clfS~v6ubYSbUE|b=TmnH_BdnmlZ~B%gRnp-(3>zPzpqC!OndBVE=>9#Nlx_|yIK%Ort)V3!fG!`ImkA3psgU?jU;R>Xz;>GB)8QN@SD@IDlE*9Y~Y_!KM&WjwGPe4vCn8D1~u zqM&yrpn|`{LP0DIa}$EO6WICWo>}^XT!1Eh5ap;1n#5SusM`a2ZvvGCO7PAKq#zuc zueS2P5nNPKQq~~e-@ApJZ=8yjokngJmn+&xyu9zam?w{t{741Xy!Uew-tu$x(T9UR zrlnf;lfggY@VDpmD85IpWv=i`oFZ9>K^4U?+CO36MkE2K_=rQ5e;JKtD1Z zl!c}0YQPD!51@$pV|^5oxA3;f6CO{ah)0%q9d=Y@PZAG8LH4}qg?HlfX-sypdzI$Y z3L$^YK^~&<1^#R>l$B(f(BmMx`>{PjFuUd;kGJ>PE5-sPh;eAs@whqek9o!gvr#qL z@-??|LjB3eQ~i7vx~ zXp8_Fwvz3HO1h2kk+~g% z1a?&@S2p^4Egum%aUO$;_xZ$w`M<*jgKq5#A$mS1`ymTXu$ne@M7;U;f7 z7t1x-^C$p{HYQHdZi{bNMFH%R!q3zH?i51xAb-rXSTL$39_!HiVfL4MN?3T_3xZgK zI`KMRyk_BbjCf7MYle7D#Op=kmDZ~r_|;UMl@F{16=GT0jaZQ?w+Ai?QtNo`=@qQpa4g$B*I6QDBm z`#vV1Um#GZX7oHpF@HrU&=C02xX;HVn&lI6{|>vC=}QP(tqR!a>sId9ew!zQ?Feff zM83@0Q^P33LGKr}W^Flvg^KDM=^a}B{LtU+FB5r^fXNWebj~-*0T*xU2uv zP8;W;CY)ttj%iHUO)c(oEM?1LF~r~z2OIQv)a8a+_Rz1f+_C!#vS_aeY7lAJAI}FP zJeN32%N{@_hWisl7i!sdUoM%Y*Hhb5y`q8p(ZIPoK~7@PA~J;3-$A9JosT9~{!lvy z`$oGaKdrZ@>FZVSXt8LEVp||tzkVx7qQzW8(VY=ZuqOpZoWK|)F!~S%rUi_#oG|1~ z<4k1C>0;N$#W}Tk@o?yFc~3M(a(|o%q&5xjc5aK&+ds)c_LMi(F`*p&5#r#Y6fa>N{pWzObN`FMAErx^gToj z4HPrTs=!Qqfl^ex{a57}DVXFo`vYe-s8^eEd_Z8M91>@JK>szncgSbRVPoIR+lVnz?o^(0P7{MMgma9nle((}5XA>;5F8RibY|OD+PM zD;blPNy(VCSd)3$ayH-6cW(rfnl(95(K7TPY7$IR;xtmEfiAq)+bZO*5>ME@dt zp9I&@MQ#WnshHk;L=s8NtAG7!E>{ zI~=^orGeaiDf(Khkoed|i~bl25P%~wT*ToaM*%Y9QBEHrK;8J$H&CgO6(&yP{kvX& z4KX;sFChftS|E$h9EYwz8aH<0Ygs#3^_v3aku3+OhYK_kB9Xa`GsL( zngLHK%#nkxa8;uaIb4XIcC90rx8_GdS^pF=A_${{cD;TW(*+_;mGT+hA(fOrB9$$u4Y0$jOcR)>ii~$-$M9MQ z7Kse3aohuReGtt_?~2E|Al~V_J;9NA$en7}?!uh1Nq3_>SW3jBbz*BTm)GQUpsorn z%8^;`+Kc_2MEwb7^JY}f`>x(Xo{Ea~d}jdMKL#(5KQP6EhrSyU6r1hNb-ZV8 zTgAN@x`&W^8TlKXgRMk6B`eQQoVjq}f`vC?P$vL58I4CGSXjD>hgp4jgk*&vxuG>l zuy^r3!R4fEmGk6u=s0$5xNp=YQn*$^w(S5AcU7WZ12~5C^H6H3@ABDIN z)`i0yHqt7Pl$$booqByJk{LX>N-z>r@$?h|5-%PXg21cLdoiA1%0q{ofIES3f8nBl zK~I6eT_;LsaOxQ^aH*d4TEb=3KoN2PX&6D^p8$KiZ&-bdN2t0x1v8?L*W*cF#|3+?HFjs*d!kjWoKO*wbS8*K- zdIOVJnkAC;@J@iB{oHMfv%^mU67D~#&qv>xr8|5>@a%qslKMttntom)s#P6$S zY%f5qIqL*uV?QC>Rnm&=R%Yrf_RA}nG%dke*)MmATy(c!;2+b3XsBAp6Ug^Al}W#k z-i;CFpLpl|`TRB{PxbRLCH(FBarl-~{XEO$nF*tQFrduR9iT{+(U=Az+MqsBOzZ-P zdZ(^}fv9@w0|*A6*7M(ReX;Ph?n9WZKUQB<#c-pe`ucS$7%6LAU(D%K%ub7*BRHMM zc*5L!xxwjFiZT>lXw*DFqDL#Mn6GpDfKXO35fVzLU~U%oo%iJF8Bt{N8}?wsExOeB$Be>rhvgfbHAzjr#(|CzUy!C~qb4Ysl_bmD35r@-PGSt^PKk5%RkT|ZmCWrFH3~$w12sX( z+*KSSZ<3;Eh5OGl(F2hLrm1A!8ee>A*{K#+BFM+PJ7#4pgv~HWl(xW)O__n2g z-9Q7HaADQSQq-k2=|TOCt0dDF{E#_~eKoW}(?!v4 zP|6OUQd)MT@75new4&K6?5XeBQ*mE_vj);w52KFKQVFYK0G&p*qG&hgX~;pUfhirC zWM|l=j~wcpG`qCJ?sH0x%%kK4>QIX(1hXOPOM=bjaTaBlCGfU8QnkVIag95 zvqouoWQ!3^IZFFZvrm^D$%wYt-Ol-f9~*4bIAM)R#tFhSa{Sxy3yKmAM{CYiJ?-3V1{(eegCs0MZ}ha2$%dB@y^I+p*I22FDCT zCh`{B8y3}*ELzag^-k%OrSzK(K(v(onh0-OyKLQKmA8O2&Nv@+s`YvWB5C;w-$7AX;Wdlo^K{N^s5uT)qZ;aRmaUo*oL3 z(2p=FWVIN3wy^jksDH^Y^VJdZt|#@c2&h)+mHa%Q7pG9zulK{rpGfB%uD|H^m4Pa( zCyDW5q!wM5?70vo7pJ<-uI_}drd4&mPK&72M!TjYkV|W7r9&QdR8hyR!wGOD^(U;8 zm-WV(P$E>{Vou&rGF3j3lX?mcc?m)Ke~cj=NpS;H0FJFS@dWb8t=mO0rS`?EoaL5cz443 zIQK-13|Q=T!~yeoVx}P`mN?46xLAmBaT|5mIT#nWVLVHLSF$}7$FqLLiTm%dgGKw^ zca6{XS+6!(R>Dq!Q|T47qMp<67GjYi9#j&eQ@vrNl2`l{nVptW_WqrCSOP4kZz;CC zzip(MQ5sYYC*Kj?i7jwkcQYS1>U%I`l zzTWOr>J@c|Qu%{fX{lC^l^yJ)lpe1~PQ`bpw=|%CXqDU6%g>zKVc618V&wKA-dg8I z)?lZ4mfYmB3CIdL4hA+xfo7%Y%k&oXUvhlxU^(6~7~^nkhTPMUfn6W#;6wsph_+^6 zjCN#Tf5L3c-rxc+cPx6i$x6Z!k3rxu++C!#(fI;4tFX z8Sxv8cn%|;!-%gi;%kj~4kMn!h_5%|8;y7lBc8%aso#Wh(i%hdCSj<=DFN3Fif>>B zK$xh&8s?8zDi4~|-#6y-D23c8$9I!ah#rk{&u%?1{iNxF`x}Q;;mp)!&umb1NL9k# zB5&%t5@RIB_6mFE=kCUan>jy2poOd2<@x*ae9v_e$ue@qR2z9#Q(sC~Kj22G@ZKB^ z7SCQvBXoHEBm4;xg+D>dxKIaQ$E(IJ4s9Cm{C8}$w^-pB02{RG#7H-@miz%iP~W&3 z{U4}48mhE>j1BuEX3+4Z7Ok)N`3PJPiF2cDzLWuWZxdiI#VAvfVRBtTJ;$*COd792 zDakI4{}$yWk%d^Q=n;_T{3 z*dqzH4AazVeHqRI*jsWEssA4v8W-x^n7vVzL~RO=qEh^EvHk55A-1#MQ8X8rRNbqv zXL8#3A@0oiR8ie)gqg9U!6YVFT5fzH@`TTiadC}4 zf%-sg(5tsl342Y%gK}I%NLoH*y5D8xOHM*{{2RJZnM4Vk_}DNBb5`)Ej*9Ao#948$ z_+#7!tb#T#zzU{M?h4B2n|_qA9=t7rpP(CaItGX^xv)xL2WVN4I*RAHIS)s z9Sn*`eja*%6cOs8EiI=z-lC2BVuu38{iq#^CJ3AED|!N4(vBwO=3Z@Nv(Ct7eN;BM zkPP#UHTp=5*nAW@AF*d|Jr5usri$$%|HY63I}c$33Rge<69Q=F>$q0LZvEwAVu?$Q z!d(IT!vU>Z1kJTiuOPzWnv|#U8dzX36}X9@n!ARK`4dC+8Q$VhT5WM0MZHkN?FB|e zdPw%{g?h_K_T@#G`w06L?BQic(s%`Ho<5q2MT($95$b69=C{?;15S#p565Z3;&azw z0!6dG69>p3X#O}4>BPDtYFq#BtUKmqkw~DLj4a4Qu`}9f8e4Sr7YLW8hhe9He1;s* zuLG;m_AI&&iEl%iLi_TX`4uA1Jl9d*k;*zu<1e5c+Vri}wv`eNBdtQ=)-i^PdyjCH zQFKSE((O{PTOPnU0*mTL>vZEnK>#L`Lz{1D1@%4WaQ)|RAeo=xqP%B8oUaHG*W)|{ zY|5ffRHcfJSoV--w7khyfg8=x4ZMgD3cD=ndlWmMPN5dT z`$IV82G%??k&u$eUVg)@=aTdw^`G)4>!3=@jj`8*H}`9pgDROv-QNYCe@zPf1D_{# zFY*vQIZHm=Rs2S$_hDaAAm(tL-W92-8qVIaKgI~Ok5WQlEZa-PI*;${c0WBdp#-9IU&^u6~%RB)KY0Q7y#{U z&X8<%cYiU=Wf>bHQPsEyOGZlT-WK>kAA^)aVs(F{e|X$TYb??BAxH&(<^0z3ncwnn zyVPKiZ3rR%wl5tJ`$ghlIzMoLgL7v5>ER~4= zuU*PWLqe>L609v60ZXhhQ}3`AH#g>M%`ySdLG!uJn8$ta=dhUVTOcaBpDqN$WskvqpaGJy35 z2#QyW4(m)85O&)`>Jhns@CZgsWcQw(3f|V`*+;ZA^Q=gu@K)UkUwN|k;XzI9A3%dc z$KMINmAS+TNHB5%;Y|oe{GKBh5XPcB3VAUvq@$lYrLN z+k7wBh?05@f@hNY{pS%SNc~?xXf5@3sUT4GIY5bCE=9?o{S9GnYQjRHx|6uC7gJw< zF5A6?t#~ZRz`P`Uta6#=X+BnclZES43gf;fHZ!pHGS3N@+y)}~aG#o+9OqOE69s-V zDFj{jK^|G%=`4lV){1keQ?O9WNg@8L&Lsw5@S?LCr}TBA8AY#rX&!30j$_t}bq36{ zJpYF+k{6Ue>Ng@Maxd}|#d|1#6(g+Q-|F)zFc5(Nj&As|(oFdy9PdThd(D(f~A+tv7-%q?mC`9 znK6NiXm!Ku$VI4d1#!|^g};Twen*9O>}svTFOy1Z<`r~0;WQN<#R_J=A`&T7_(7aq zfePP<2lXD4frj2ApRil?9x@TrI-4xSm8 zh5NU$;ohjIT@-aR;KSns%RvHLfa;C_ZfzZpbUleYo+FI(IU@aTq?cE3Rn&pCppE!D z0ndrA&PkA}vl1W?1^M?>RKXtZ_@I30&S%OeFP`%6AoA~aOi@vOC7!&YwpR}i5kPvB zL5-*U&z7Ffgb;zK^;wn}4Xd)LdQc5?er%Xhwj55H=@^0D(dqIFPlfDx72?ut@1Pk! z%DB`&!-M8(HvDZ9vqhn>GE|pmhJ*F76pO{bIT!Z5LR%m=p z;qet(Vu{s8<4kM!I^qhJFI?2vdSIM7ynFRSWAA^$OAo@@PL1nnuz9Qu%_r`&vdT?#;>#?TKbHc-dld;6tuwZ z21QUbRHj`ITH_MUSy*m231M=NDuJNO&DmpP?@k-t(klLcdYK^ynmZjH}WS|sW#CXv)Zs4>=t45 zDndcUCw8SFD2v+{`?u)l0YcS9ruh7ZOMn-O5AWw;4v=6`$sSunooT7R1T~Ho;xJ_B z^tqC=u;Y(oocAQ4h}R9JOvzWOs}O$~AuIlDS_C4arRe)k=?@ZX{<1j8i2nR#Xmch= zzr~L0sgM>YU$@P2s85$5l8Iwlay6yV%v&h~uD|RAo_S?YaQKQR$UU=XS=Bjz!la*VsGL)$ezI7 zHu!k}tvJh}-J@U_%5zA~ikdyaaJvC3@VrR?GswLoIorT`7k0LR{|@jQq19Lq6sI6v zMlgFyjBB#J$&Xx1Tsd~%1N5T21*@q^7(r^3rh`iAE;4R{;mQWM*3>AK_5GC88oN{t zCrLD&<@Qv+z0?m;mJo5;5a?o`?ngWYxqS;;BDHUt4Bl)w)fk8J&)^>)%+3(aMbSH> zIKk{h5lquhaJ>kR_#f~dz10`JK8C$Hd=fr%1|B|famtl9x$YwWIJ%?j?HB$n{%}WE zol3;?JyP z?o{M#wqW*!K;;!CB!mdRfNtSABugJeJa{=^_)S9@cT%zKrf0dN4=l-z!?ytWO6Dg zJVywoJvWO8*s)CdP>v7<@C*|Xq!xNIM~K3Bt`iYDSk$|6LI^a&g>Nyk{nnY#HDsF-~?XBMi71(376h3gF*#7G)?=Hgx38KQy9AMa=gFu zDdv`Rpc(5hy5gcn&!Dt0q2Y&>maZ}QIr%&M#6|J5<0Prt>HK_+Yy+=@{3<)q!4@R zrZ_U)<+5iYlA*J{m*A)}FUR}5B|^S*EQz2LwEMlQ@IcGMAhKm8L9X1w5o(K_h7+)V zi@cJ1i(V)MmM?bI%Xlgiz`d=_fDjS8wuw?Y4LZUbu?Hq^bk*xsBmwE9U0utGeQVcH z3g0Gr(EKhLEDOGDy4`Q%u>r$cqy5TdaLMX|3bp%Sv4JBcrV-#QRw;jD-u_MWkG9vW zl#h5Q*^d7X_Dp~AUHWWvV?0x^HQH5BoZ~NYNcDJa#t@}r4&11u9)-WVeE$o~047m- ztn${wOyi+snq{dU^W0&(ekW)tbE=B$(zb@Bgk82RCCWnqwOp$oJ%xFz@X0)kSGjAT zLm(MCg_^4&D=5T>bM#9a_3e-~mG_b3P*E{422QPk)6K4m%O{@(8Y#@(7#N~w9ASG1 z&!=dq?a_K5IegcnoT#o_0u z$F}?4pa(%G3n+E)fYO7Yihx!KC_M;zt$@<-0bF_zw6B0R3Mf4Y+EGAhZ~`tp2-=8Z zJAKd5pbIEH2>O|T(zuNIEj<9G-mVf6;jx|U-#syyi}?ZhNa4Q9^Xc#FJ`7n0pq#kb=ogb|mH4Cf7&NcO`W%Do9%Kp7r^z;F&+Dgq-pa0+WmP@BkseIiiE zf!9S~AqO51fn^-HLj=fL5;WUH;BOpA6oIEWa1zTnkbap1bl4sN+Heh;UloCB4%{aK zyE$;X2z<$b;Ue%I2QCtUAP1VUngz8EFsla5AB#W_4!kS^7jQrofy+2BLjAVqcreJ@9B zXVG|m5D_0y#1@WtOhgZEi1-&pq;N#BhvYig0p7?G4P;CK2&5Li#|CctS+{ zTSPoX5f^gAd=c?a5pgF)bl`}gBH|$tkwp;=7`lVzZX)7d5g}7VEl2FXo-_Zmi1-qr z{Dw`43H8_E`Ow%g)#d@$Nv2qbum9zE7W&Qo@UUB}%@^Q_ndLnS%ToBf6jCBg|j&M$C!qad50pB?z#|W%r zdIqEX1R#7F2GPk@zxfcptrllqwYeT|A+?qbS60nuxbr zK)L|&eLVf<3Vb^k%&;NJ+jw0RBKjudz5@_(xRG&R#Pc< zd~+1y+l)98kZwTC#nW%T3Exxa7R^GEOnL<~1Mv(ovyzis2M87QDm?w>OYuE=;mpEn zb7B9piFr)MakV+=wsgzURQ}3KP10`#L)uq~O0yvbQ3n%y$ zaAKHF8T-xO<9qbX84JO%j#pyi5T2nVdw(Wj90Y{4VLzVG8hnpge9KHE`3SGYA>0=j zcZY%NXWT7}JBrA^iPsq++~th>7CA%68AD)kaT zh!&lO_M7M8d-S|%A(SnQawmX9>kd3YYZ@N&T-D}$JVS`98F30AMC(s@LYweCdY&tU zvXD{60Z2j~$tX5_&zU}!6e$a@3q!a$jB7D)Z)Dtb!kxyrS4HDqz_?c%xR){RMTF~O z+=OV{AAX`DpAQhRc@E=t#&`D3&QR7LFiH;qsmPu11amEEXnqr`%_r~-AwI>3zXC#t zK|F!@10mj8ZElD{yqgh^7>M5p#4qs3MZ>R)Ld;{t{eY0>euAgp`~kkl*hgLq+SPa+ z3)+=Hv&j}zKkbmJ%;N^JdO>6{Ds30H`+KAC+Jo5}?VNq5&N)pwA2FB?j~=0ewM0 zlMQHZ0ewk8FEgMf0ewY4Qw->LSR|obuL|fD2J{mFeN8~GGN4-olmw2l4KSeV1@sL8 zO*5bm2`JSYaIZC>O9YfmhJX$IDmGzAoHG@!`>S|y-E z3}_DleNRAdGN8>ra*6!{nq@!_3h4U+I^2MMD4?XO$jxd%HwoxR0-9q$*9quO0aXm> zUj>wIJ^+Og2Gk{>9}B3%fKC?BPX%G?PH8kWl)_`^t zP->WfjyIrAQ2ei;46pgt3s z@m8ss<%8h{iRka$#aI>T0})L&3)Q@dh^c1MbBC{-A|2{bL%*rrz_db}adu=vrU!5y zYB$#lP#Qo<1}m2ekOELh-{S>n3P4vHSigSHv=##t($nu4#Fhv^Lwfp&fRYIU(2$;P z5zq<&4e9B60j(3zke)sypwK{~5Yp2n0!k(bKtp<3D4=A505qhhc>;<#H9nKG?PhA3q=ka6cvL)R7 z_6}}|>|WIq1=y(Y3q9EXGwf4K&S0N<0*HYFKy|47`&0JXpx%@p?CVbC=*;{N_9JhI zwhl(kBl5|A@f9<-f$g+|> z$Jeb%_!`v{U%9xl7Qbi{YciE*ftIE8ml8Y{Uhy`CB6Y9|zi=w?4{W{$R9|)$t|hl- z9#X3oVas;8q*mf44NEF60|d@Nz0Y@~GZEE5{~JXsydN3%zrj5zd*EfF)t2hPk)NRQcUSQl&b|+VfW0!?L`S1(+@Mh%NI!i_ExABv6Q-XuDEr!S6n0 z!@JT}YgG@D?et+(Jl4g0qNW8}U0#B8)>Pe^*?3o4m`d25YE!?l;^%YmBcw25?*zWh zH#5sp_I-&h^XEkeag~6P3nXoq{I*oA$!WpOJ8$7reGL~Q)5v~nxP0Vagz{n2=%NeI zjKt;}-5Bm&ik?f$w!-`mUyZ23Qc=ciHiGwk z2KnRAfWWcB$-*}<1#V3>d=ST)dP4sjaOL=H2b`uR@x&lo!fQ`_lJH4~4-L8$OypzW zsbf|XM4iw^-Z|o=X4FkBRr-}67QW9*_xk9IU%b@ME2zG(#xHUAmyt~_nj zSnbvc77ceSE?r~OCdL9@Zqr6!$Je(Qh${ByYLXh&qfNV#;8C@D0$@^|RD&zpN~;z> zbH`r!nf;xlpVT_w>}%TPpwW#l%S$?Ll|GZU;%6;-T1qR%zv0(y@-r3PEK(grl2nIY zPL@bIO|^=;u?SR?8m+!=ahB4`{Y8n%z3u@0v1qr%tK+swA4^qgO;arrN_FN}@at#jAS!_+(YSX6S=N-PX;$|3&voRWn*7Y}Zs_~=Bvo6qKc`rvlNPl_UHZBO z6|kpiPtuMYU+l#w%d5BH#~nekCrDV;>ZCouzDhc7QBSH%E2N_U0l8W_T3Wef?<7?) zSgG!?GTAhB=?1A;YE*XsX^+%szNF`>IR<~#NjpGlAe=p=6VfpvgEYP&y-WQM-?;`Q zZRsZY)e|g@3|wtR<$!RtTZX8ofa>ek#jfsF)Nw15j-pSOO1IvhefM)HQ%~uHx{DO% zeOw%7fktTg<-m@i8muuV#l3D%+GCY=fQjA^TxHU6Vtrcwi-VS=3aj+3Rq~?@W{j3Q zz;IKkKkK!u3NGUg(!pcktFyFIJ%u9gDXktoaq?v({G<~xxUaWXekRyMI;9><+D=0L zw|`TE+6)D2v`V;B3Eq6}RT7kJ_jxF8ZBjF-U4HyEd(=kY)LNw$BkNt%NTg=-nDeY1 z)V)o6lXhCAJ<=&~+!>1JPueS;Dy=R({A8WF6On$a=H6zNj!7pt_iD8%X{U6ebZgDY zkH1y@Kxne6^FFjn4bpKVYow8mmsTGB=&K~P2?%?w+PF`wQmxd?CEum)Olm^*dpg}v zC9;R}Ly1*7)s}@7-9P)qevy;< z2dh*s)j+^zX|H-b=_snJ`RN~jQFo!cIBwPQU$jbJa>aF)no)7PsN(i@Sa3VI?!onS z$|5xjiOkzzmA)gjD&6{5#}z&<_;z(~Iw~%`+A39-Ru9iS(E@?RN_*0qtWpiiTN=D` z1!UY6+S-)9H{BoOtROL6GIi}d{OL{UsEges-fkJ+Ku34?k+!Ql)BWjtW8CFb zE!OY0JR`_bZbX`D^7)-#-W*NZO2R0uoO1Kq!B(U-+v{kaM84>qceg~7N6A6GdfDGo zqNzJH=NiHMiOZk-u5}K_o$3h*Que0(_z7ehkH%D)el-2KmcJf)jQ+%Y(aKol-bXsF zo=D%CzCFhMA*pm`?I-&Z^cAXZ=J*$(mekJrpt?|poh#G1tywQg{STTFvhE0(qAhpckzP$T z^=Qi#*)dDO?Cvg*D*A)Yd(wAMvHx}HBQM0@e&1(;vb2XZt}`kKV$EFl@GnqoWYG(i zhL+M9HAI4~`qOPQQBOt|(DBZwBNFRFA9i~H)o)~h*3lWYL|H8T&yOuJw(`@m*p=_` z#^64@)3O+~Z2bZ&DLj`VDvSEVSDli+JUxf=vZbeEY}7@xF2s{P<3b+k-ZeIcM`iWa2~l1wr|rMd`Skx2>y1ml2+gKz^#^d7d-QDj zZ0n5z;Qz1I8!vx;=JiJDkpwK$Ft>fFdw9K}(6v5UdfAeWi6+-&hxSEm|zdtS7Pq$fiL|%Fv$VX3@h5f)--(&TcMh?)LxgVeK zz_Qd<$G;IZnS`$XBySo&3HI>&u$+KD;|8ppVf|09&<{ceaD4n9dDEDD0jU*`*8!O< zAX@}v6Cjw%QmPjP1Q+p*nIa&M3&>l5Ocjuo0`d+ZxH*+lEfSC|fJ_&V83IxP$P59w zML@O!GE+dZ1Y{c^g#t1_K&k<`T|oK@2=3(^GfP0a2*`FoW(!F3J}&8pfZQPDij3cXUS#zJ_3vg#)GH%hs1rQQE+}+m%h7?--xM3rZ z=}-^RMe<77p+;K3UV`*=lo%J{(fx(^2@0He#`daP2>+ly4hXoq@N#NHv-xlb9eoPl zAcdQ0jC)J;?!Y8F*++Y$Re;xvbhZzEkF@UZZ_rR}jdb`0ImPSyu*$-Zp48DL>~M;w z-*OyRALzvQ#k=%=KVU7rq!x9CvFDy~EXRNADmMGhLvPAuwweU{Gw~_9?hxw@!KBLGObt@U83UDo7{)2MQ zaiwxk-<`mK=O!U4#qn;fHdlw`Y44dX{hXOMw@%M+L|p z1p-8eOj0{7sqiNT+IPAK)q~E4(voEJapi{5)7-)?8)iDIB}57&qRm;b5}w|`y$_wslcNjmY05_Ut6(M=caVD_;XY9l(G2P#oVko z1T15RTW&$XMvw^v`O|O#$tOq=LGH{J5H}zzR)Ti`SEzW7VfYFkl?PGl@SvzC@f;_j z=x!v6DmS9u#M3IGHXBj3cy>XmU3lg?#*IP)U-2p4N1EsjCMHt{D=5GK34I3yeX6O$ zI6yk!g&~lislymRV2TqE>;{=SWCKEe4~#>#)nPawBSMfV1Q`p+G=d0^-W7}SZuhTP zNg(_wgT>FIdFXOWve)`@(fqw}R8>AkMkoa#-2Su5p}u6oYd{h9LYQK&$7ep;N6$jE zkDhF-9iN4_k$L#anS$SHD{`uDlu({H%jn2_mUMtf$)4Mg;W0F-*kt+E_vKXQ27K1x zL$_H~5NmQO&zSI_7Jx?{9>?T~6+fZb!OsXk8)qvaM52-#7mBeWhAujzq0_gK@qDWZ zsQ7%Ow|2FzB@d>}1BfMxx`xZ0<%#?*Pkf1tB=SUVu=2#UvpBT6h#zcJktfG#{cOWAB^f7)`#>N@k6`;%+3zZ;D=so0%Q* za9t@ke4cT3p$fM)9V+WP%r^wv%~AOkl9V&P0qJrfR3Q)0tc{9FVxD5#bbn|hH*9Y?9J|A5fAgEX+?!`O=xbQ__f zcfW8ansMZ6&d_uS-D=0lEMg19$y&pS5nnHMup!rZe?i1UxN{URcORlv4d4@BD?%E zRCq`QnMID$-VHu*l=ekn&VE8%*3+Vh%A22VMEcdT=yW4PE{A6ep#7Vez%D8L`P0&=23$Mq+iEGQ3*q@+|3g7Z0*DE^iJX4l>&ZKdHA#|PeJU6?^|-|`gw z>i4N*!udUM0AYE8ZbuZ&!}@&$8Asi(YTQRwjx8NjGe*h9V!VHt1Sxi6;7D*4wwfHi z&GBgMG{3yR7gxHz3Cj{(^oN#_ftcUAr>{F`2fYcv5XbCO@TR}HgGB75+^lK_ve*UB zsz?^JjggTca>=?7Pc%`^q9t-^Aa2UxTP|hKPW11g9QvXuQ4W|fc#A+?ABCKb$?+U8 zaztDfW)l;2ZhzV&6nsjgkSs&?(#wQJf{1zsbE zc;tXlmu6nAx)N9SS#%h|d1>ex7{c)hsco5Zq^$ZkmesY)O0&}&TuH%@5mKRuNM#{4 z8UH}djWFT@HPfNDWIOWNEN1)qF*r6XK%7*6keH@_IaM2OJ1o9K`~bncLyDogz9kq- zMER`{9muzP%aDy+sS0+pQ0^po79Ra+7BJC4@M(2)@*~7qF%C}SH?ZdNfO@2f4SG95 zoUecAUSxu$FT`buq?rEx@Uf?6x|M#W%dkj+c&N=;po_)tEKtsyWcwPHgh$DWC$~dM za7AunjwvNZYzi=FHz*dSKSldSz$bV{^!lcuxN4^iCqj@3Ci7@?*4t|Hz_id_&=q?% zb)JIV$b0n1) ziLw@-=2Trn7W-F#AJ}u${E;7I4fbi#ful!4!dR6O-BMJZZUlm92*re>5Dtdxli=h8 z*3E!}2ety(K@y3{!7cWgxZX3q-~@fi=j+hrU_O&JGW`@P-*KTQG*BugQ;S0J-Gs@w zi&?8by2GnyPVA{3JP~tckx&>i`a6L1imVo+r&Y#{Fe?0=;6*4~aAKuD9S%qJ75-B- zJWIo~;c#qU;m_6ZaTz7zfZ%LXm|h)hxZl!poW)d_(O0w zwy*F%rs1VlutE&#K|J$f@vev;2zwF%|yrEI&unEiSI` zw}4B0j)z(dsqi0f`8oV(F}T8ihUGWtA6?<+YhB>^3RW0yQDL*DGGVH_fQbUi6(~r$-pv~ zzM$17_qV!nelLlp6mpqExPyl#AKJ@QZ%*=^ijkUryR6?9+|T}Ur#9zyYVSJ-H$Gta z>)R8$4CRPsA;`l3QpHtqywbJ!+}LnS(S23UQm>0Pr zOotmSW?9eeF!AKzEL4NMoaE%7E#TEg1R3VB zp7f8sSVL{j5@ozz90k^OWnmL zdK^yT`yrLkLV7HL*!LRQDiafLOl`Z1zX2NVMJNM#tnS>^{DE@jmhcD5$W8ziEo(SQ zV+!3#6P6xJt`JxIi~U8y7HPxJZ|9TtrJ)uH~w6p8ttN zodSuHjs&lnieOnXbWkk>H4rHc6^fcIR*h7jyLbR}1BLAE4G^-^;Gq$3##@}kH0K`Io*I3rh2HQs^c!mZ`3Tf=??U`i10~8bt$YXL*0$T&NQ_f%lO|LC z8!kApFIm81;=9HvgYlRS?rF*_cl)1ZQ!!lyn8)a)5p0ff6&Pz?TtkRi^Kwk#=C9{m zL+Eh(`M_-GCVZMPxq`+Cz5X+Zz6DF%p9IIz`MSojLvg;X%@MeE+9rZW_^$58bp zLf>NODgg8yz~hm>?&|xvlUxfCAJat+8?a$xl;+Q#Q!s4KH8|quKLM}`|H=5qZOB4& z)devDUkXXVb`SSSFpn*yFUd7i(#cA}&r$kk5`LZ|KjSL0`o?9y9BgUc9+w64BI zCPrAT8jJG~n38X}UI*+%A#i`@4memI56uEw=`Pc5t>hZ-JEm4(4}jL=IBn+EH*uYwM=i0{9X$f3dp_lv?u48?4JZUps?;*P*uHSwk zQDfI{$07b-UBCUel}`QjTf*zF-@Xo5W9zq%63+G8nJ=;rcCOzB5XAM{iLZdidi{1n z=SL+@UF+z!hnNkQZ3k*P$--%UkEfEJnV7 z3J9k*nNsD@G^Q#EnXWvZvXC7Fbdy+-LlxrAJZ>aJUOI|Nd<+t2Dct_EQS1=cB=n`k z4C(%EIH{2EV=6KMj9I)b@K38}o;7oM~0Nhi!IE$d-w!=I%0cBL>_;!J$$zGFSdsZ zNXY+6dw3WeZ+3eah$+-xX%D$bywUb>yGTn+dwB6hq}^nDxF0q&&h~H<+lT2IjU!?W z+e0^`j==pG$XS8X9wyRnc20yt$?XFyt3B*_0qvou(By0nAAlrBdw2uh`t9L)z+&3N zn*gvqT>t!EY7bo{t4Mpe%u1y%QgOBijt2~FbM?HGhHXLaQ||+1U5dtCs`5{i(%)r; z%li#0pu3>B3~L8eE2Y-Rgxi#kw?|F`BTxy|S}AR(ll=;{5|Z|nsLs&l_)!h5R7w{9 zI!9{ZU5wZxwGg=}{a&VJy8a#w)HkJX|AO$&i{LPg$AE@W^P|L$dAMOLAho$A@dbFn z0JotJgSWBk(%Y?OazHo<2(j0tpD$_FsP8b5a4x_&>=$MKRQAZ(-%cQ{P4>61_!{V! z-poNP_5Q2=_8*pz{Aqu?5=ehhzbv@@FY1@?z{LL@{W2ISH(S4a_POT2*z7i=zx^5& z+o*o&!}7%Tw-*DqY5g)_W~_ecN=Y|ezwBoH*6(j$XHur?zG$H6m%18)JFkR8!G0T9 zmVUYOIp~*-@JnYJY2^igIP}X@cVot|uPo#_l{9k09)=qpv-dkF(hvrt6El*9ohwwke8<{@MyRZ+>I zPYDmNR)O|E(K4&9i`6oB&XT&APWIY$5z#Vzkvynv6Ajc_W)9XGP#Im}urdY#4O-@W zV#jEiy`aURWj=?uF)j1N(@YLprVI$NT4p;-gRyrpQ0()!Oy$kZH%9nJjLX|&wL=n@^gu#S)@^!O>Ei)^hnTXBtbs;sg8#F>(bt$au@w+BBL|L_#Ad3_pJ@m#X&UxA}xVu6rb z0{%f~urzt-+I(eEBqUvhPH#Eu_^MN}B0_^oK9a+SE^rrVv0wbKNMS~@24{|KPDboQ zV>8Obt)rxI8fc6>fUJ#`HJ$$H=#gO}!MT`4Z6Ri8OC0DRcWFgStd9*z#Q$Wx>p(Zn z2;KxU9lkrej4Q6{w$o9OI4RVe)sKa!iCW28uR=0+^$LK@_Q-Ea4gw~!0!xp)E^`dC zVyDkrSy!u3l1XjB1bbE&S#-TH#x~>ACn0A2ao|~MQ*gX8`FQmT!y)JeWFqRv_Bb% z%pvjW(|?jC^dC@~(tl}CIW#U>Elc3M_xxd@PxPRnU%|vxixU9!2CvJ4 zHFgy+VF^Jq6JUE$4E@Z@pFTi(SUrL21Z&IC7VHN|ace;`Y<_6af~muFtT6Rwld!VD zpkfH(c+G*^kq34|lkm_dbCs5mVA8oaP(*@W@VbwU*##_MDtL7HZnnli~ zIxi{9Z;v7cTy?$~YdT%)(X=%ZW<7n{0ui~6T>G$d&SQ^9?EbSqyR5((a*ik9p#PYz zjP@|OTak<+vb*d42+?ZRCxFu`0UlOjx_>vKp%dB*2LYHkOi0Qz7bJT#4;3tcjS>47 z9AqID9^TOQ8~RA2f!E#aZPpHKd@!z;XPh_(<%1CCqdr@5yw(N_^Nf;hYP@e)^-se#!LN<(uM`Mf$6o7h{9s;$zRiJZ|t;AHh_R|`ftyMj*{f6y-Nc$(*{=2k)p6y>G z{ufyaejgG>CO!gL-NZE5Zi3HHfufgMMFu--|YhBGu)f zKz~E1)#AD!O|{7ZkS6#705M7^|Eg(MYbAuXcvV9sbT?CIL9poZg4s-ZZV7%gIR2Q9lUwPqp|OuyvVXSvi#YsrNBRp=C~KBQhw=-?qQfZeED8s-M4Aha%>6_k$Y_wYCR-=pIRRz+)t*;N*Jop~rCS zP<_mpc)QB0(H#2iX-Q)Z)4&MZ(q!)9TUjsozp{ohwdsVyK#iRKKn@S=6Fck3akW{J&Dj68WG5h&%fP(2-nku(Kl}ko z(Rv(HsZl=?5$^YNEk!UEzh%3nQf&pQURZ74l0ba~I$3rwMUpVi;5k@KhJ5|P1MBT$ zo`~2|V|rs$wld{#ERM)=1})WtJ=8DMg}}t(>PetMcl-LGdUgN5BO1}|r<7XythR_P z9vghLU#PX;mpWEF)EEf)n|P>E;5l79)Hv|qa(%=p)1G1Cp~gZ8Pc+mPQKP{#ksf(p z>N@!~39uXF7hY46wyfWm3J45uC;9)$UoG`4Gf8!~SlbycOf`0E8FLr&LK#YVoPyI2e4;TOC&(EsQ5D- zkj#MD5}?^tyj2IpF<`6&Xx0_Kp##{>s(}(vCd?{+RR>fvAXNf1ON*b?0i_IRBLSMd z#Wc+~%-2d7uSY1-1?UD1%2JOA z2sKhXOM}wXQi8B9;lC1)&{P4hW0gSHDmZF35bOr<;(g?<>!Ua6=*5T>OerXGjwuDO zrLAQympSOQNI)CrR9JnuyZCm*u&OL{6MnNXn0gjdhgdL_(Na-YFfDX)3#@6qk8+34 z51$u8)^XvC@R^KZHOuax3bLXexmPD-WnYMdLKJqOhPrCkBEXj#&B5)jATd^2TagCS zx&*E*Q!`^J`amqE!Z}Dbe601}wg>jdnKGbo%fn`#;6ywNGYm@bYuH&FP`!~vcn1mj zC+Mep8_U684oZq)s8tujs|Io5ZV0iv0$AHyIX-6cRXs`z6aAo?Le0xbRTmJTQdKUH`c zsj~FL1|3ksfNcyQGmBr;P|**s3zYid34uaCJSiaRhX*xioVr&))DK#>;I+FV0Z~8P zuCdZoK0(wEHvUqD<*^tz@kO2zn)=0?y>{F7y)hx z-1i2`uh%lvAJ7MU9sV{7CPvH9b$BZWK(LexIk{!;QIq(@|)!el*z4C?@+Eo{W15jLE zs@7_63A40T!FtKg&rMh~SVOS-0U}=O=TE)z#p$#9k@1jRkGtUF*eK&`lIxS(_{!OH zI$w_F)o}hcGkh3fI#8VF`-o!oan^!6E78%-sk?~DnU5y8JM^j$JP`1( zn+FXyg}wY-A*0j3PWdk^v9;!RkCZ;+wT-cq|6QX9b{yS) z)D9pu>THZJIDZMQV4DQQ2vn?1MxdIpm?e!YZx=l(E8AFj%~FdVb+PHx?U5K<;4DWm zIEOMlcx5{=#pUY;A!Ujxw}{C|$cym|YvCKq1)yg^VsTl)F$Q}x{O!FtoY`+DtvOL| zSQWz*3c+n7!FA!|2_KuFMR7Io?63njdjhRshzL0;15~R&DNfM9T7S@BpIuaz1r@O! zBw-r1n`Jd!p$$NXKDuCa=yH6xVx1 zkyf$WcdTs5u_`PRCKPWRac2;hlT%kd(VI_i<`L+ngpl5w;6m~qUJpla1_-_52)5|G zgTGP#i%qBe$a}=905D1d?zFjlLTE8CZF>s|j~uZr{2V;L1QX|v40jHUOb;jcGK^rm zI;e?k9{ge=IK5T55rwW(XWXt&y^aJ!+%LDpbLfeIawf4=6>q7ZMp@%&{0PdpW8JPf zX)J0yji;X&7jm4^RFY4ig>5*kmVr=(GUH{a{?!kxPj>j*9% zlyAFtULZ3Y5b!nT3Sh)NWxA3!t&X>T;2gYE+a@ZPOaI0OTB$}_uE%n-EjQD0`@z-s zqm6*dXu5tiPqG>(X_O|ZxLG`D(Rdo|C55Q}bk?~{e3MOvUDHY4fA|GEXc*C8cf;~QazP;of(Y)YUdlZLsYuEcnzD2>DpvP z#4UYpKb~d=&Ta^2^rk-DFQ0`nTmAAs=8?AC)qydk6}e@x1BLRKfkI_P?t9Q>c*r_9 zri?1DhX+w%Kl>`Owl~Pj^gy9nZ2)HwxG@?C?bwIDVCT+4*nUOsX@VZXFN+{W6ZZd( zAoe=Qb6Pad+S~|1r)h%vMFT<5{pkBZP_b}xzsdp*1`31Vgkg^WBVR=Ci2*{j+H)&l z$J(&20^3Pg5@6)U0ebMZy?Da#up6-xrU|6cHdKp zYT?rLYmf^AP=TWooUCTJQ!yG!dFwKO5i0u_i(%qKd+U8lw^^>csTD7~yBV znd^j2R_2dIMGO`sZvS4kzTg@uF7{W0as``;$KVemQUg?D2*L5??4wx;`&FeLa;pDq zC1a#ES{@mkWV$xE!<^$tX6GLyIsMdO1p4lhWn;!NAc6rJVxAX*u#v5zF zSN@$~WLCRx4S|-t^gVcz-YEaAC0_pK3*R`kjwio0TAdr`QE_qIK`gPkiw_}b+OwpA zN>Ap;?pt3(e7x=P2jFpP6zZ3T9ugYZyl)7!`?wSVX3*BU4lvF3U7U?lG8$fKZGIdWaPv zFW$jPZPs{Vi0|6k_BfC>)&#bx66tW*n^}$pu`>lHOVlRM+ZLZ7b_|$`bi}{HbLG7D z2oPs`KMKVG12^qP3gy1@WF#4)w8jd`0f?F{4_6^lNWb!{jWw{`bEG3TrHF5e$|(A+ zB}Y4EyO}Ss;T&ZQ$gB2^;t^nQ-7y1ihK>mR4d)qYZ}Rveh;dsS-%VeM8f!ZiylSJ~ zLzd9~;hwnh1rE*ep{<0t-Zk;5;-rYLdajhpdl$7A*J9)8h>ELI&v)49D=LL zb5i?O>XgH2XuzPrQ! zj#)l`k6}24>U%W&wDKZl3{-8JkJL%r9ZgqEunQGaL+mP+_(-wGSUF47Qgsi!98t)o z!I9z~2juM9R=6yj*8?T1OW@~7`_vojzfbkCmWBGYKj)@q)_(SFt+SWpr1oc(XL%q$ z>KsJnFqy(J4nIV2uq$E<4u_)*lY_rf88Y^7X2}L2b!W*Iz|WFh{EwLa%bG8G0!@_f zpI}6@q`P7HE&>dx}5fS=`?JFl_wHC}mZz>8)TPTDEPr2T1bHOARK{z{cR zgY29ne+NHFF1w-Lcmeu{il?r=u(=}i;;M1cG{YJwnqhr!8`3{}$uJ1o%~?ipZkBov z90B$?Tu?p^?j*PlDFb9WAWk9M>@g=ctM%+e%2FWg*5SI?`s=e1YERVd`z!P4x zpCUETthrc>!0k&nVUGg4?!T`e0VSutB(0n+`;G%}5UK@B)jqH;G!eci zslp$R={!rb5Lk@pdng^rfZ^wA;)hvg2O15b(S;qB(pJH=Q&aS0~A>zw~#jJX0{qq#>t)ISoz0{ z-Sh#S_5DyCjsrRmo+WMmhQ~;PwNV*4@Hq&{gOcN;f%<^XqDKku+#3#AH5_PYWqHJo zIiOPqT535))yK;B!rRyZotOX4HbzHO1}6P8Dc(+yORk4mfpV3}`Aq$k}&`5uC76I*Y^V%C_i< zDq6uPej(OecB!4@lD@Ph1(&w;MY1wFEjS(Q#cc&lwHf!ZfJD=^?h(yTIUoKo64Ljv zIA6rlGS~;HvhQ)+w{kHnw8{G=2AnP;SO!hBlH$`9_vj+SUyw;e1S99RUl-YM-4_ki z=f58!b)8qjVG?h%;BC}faG;$XgZ%}7$g%G%aG*rZf;XIDqg*FkxePGs@xHUI$V>H{ zqC{mOL=J=x7L~tWU237aG%7UAlICcbr}A|U@6K}0w;bn{N3wL5zNmj*Ifyz2cTTfV z{`9=wL&!*~!g2l^r2dIISaoWwI=B;SVaRPd+1o%J^hNRrY!eOC>R?U@;hnp}VPy;g z8Y<&_V#lb1y`aUR4nBvsF?I07OeP0)PzHopb+DbKfjTG#ioHH)>jUyL8RR91XaEg2 zcbTmX^JuSmV3X|l(xesfpyxWM@R(vEu9fM;1g`6*IX3l2-j}fD$NM^ zNvs-K#EgdUVqPxCmFxVx0rOMm72N3T(J}cMB#JAy z4BZ~o5>9kSCU=I3tg!Q?TDO4aqQU6QDlQZs@o?|esBqrH=f9hkgp-bvv+r&y16N0j zaxMtn40BPiHqEiL>NV%0{_S(ZG-w9%hrINj?1n;OO9+1IL?{7 z9Yo?1tlf0HuvmhC^xLNPqed|-*e)H*KDDHesDUdP6KcQ+v~+9&rXyP<+cp{q-yK#a z19Fw`C{zG;ORs=rXA+l60DFKuW?rqr*AY^q%CBJ)w#HY{{o4^V|1n*IA~a*Zgq?!P zsKMwd{l=~m$i)f&sbvlZ=s?2!pexphu030NsS=h&&@!TGc7K-hBVK)J| z2sBm`Qz+gIjynf4vhT!6oUX`AT|SU~UWS)|L;z@MG7K>DO#b>Bj6vu*426=C&~(Po z7LnNMW0vadEYALf)cU5ILQ{i7&p%7LV%Dkd=5I4&?Z4nS4n5~<6ij;S)Z>EUI)~f@ z@2T33!%mn~NyCHB+lUS8%v^ph!RIfLHcsa&E82~key!}{Yco5kqZClUwzPQ~i<%L>kLY4%CuBTCaBv-yS0CedSQBv-Q2jN4{xwc{Ix;7Iy9b8mS*k-eM6*;v10aL;fW7I8AC+JyL5?l{Tq;hyn$jf)2|$ zzqQY^Ya7j9qx#`)CRSfR3zh=T#m(hti?Q*-o#odwop&O#jM zhb_qCFX;y!Dpz3?7?+-}2LG^cZ8!A1^XfPBNPdks^rJN|MFgHgl8}t8%iuT~`mF?8 zt!bU0xQ3H0RzvUX4X8$LH~0aVxPv*I%g-hF#5VFHkTqB5DP$cZd1jnjkF32@qGX)} z6z<+1KiN69h{%IIzQB4dpQByMlyqZQ39IegV!#_$l_!Mc?=5{Vg(RJD+3;M|Vf8*G}UcKM%?R2F3*_*YOsP%n5%2$$ISD z-9{da*eWfi$qv1V#pV$9UutH}Kre2~F<74^mqur>^j&?ydx zrdasjr`U^jjHc`GKS8!#H&uF&xLs9T$$6)V`#s9_ zJ?NM9*;fFGtk3RI-}7#0uFsYclQ+-?r@kHTiOh-tz<4pTKD$Si5tr+;s7VwG?c_(E zlsyhc8XVaF{aK7ka^J>n6de*cFD>QJu;JLXdo2dU1y7*xE7k3jQ1}O;6EePc;8<8X z0l~!fZ42>gd0Ae4|1L6HTc&V%6-$hfD|cmi^@S(`mRF}C2|ZF3aw5~;CT^d77K|49 zIJRD?zK55!w{e1#|GIs=1X#3vY;@EYP6x;!&vns5K&f<%hQmK^Fk>KoZb)ebS-1}o zjDV{TQG&|}G6LOC6JJJaY|^aNpi0G*5hUvv!GZIapbmna$E-RGp4YM;4ow8YQv0v| ze7Qf2r^c+tC$EazRewywL#fl;9o%?eH;FXub6>GhU5pgeaD0H5TgtO1Re~r^iYoB{uyHSgXKc4tklrv&U-CJVqR@-ljH!!n0Fkv&sTYE&an zEe$?@8f#DXF;Mf;ziqBPnP1A>A$O%1lRXMw#F)$lg3wQ~_$x^cb{8;dx`gpVuT2F-+gJ(_9H{o1 zDV$0{m*96`l4N?emQ2<5a=jlA)fbDt$3P8S?_j-y+d+&@0&CC%Lf5XNAp;ay{vD7w zOOsrWG_drsAp!AJElHY5`CFiJyvy>ZBh z%hrM15^r!ih@MFiMN^x(G8+dR+_ygfS<5b}_#=A*egGau4IrYt;)@v!rZafY^t3AX zEnb9&dqgz|-|X`KQR=Cy)Zu*)?#&Dr9EEQWMFahMoH_40gk#QJb*1^20)0fB^-FR{0&YyLu4uFf79| zsjvfbwVJI$T0lKANLQyUk6w(iYUFgA}Pt%D^r*gK46VDu;@aL|;&X z2DZ{jKY&g&(KiAftfiNc->?G0JbcroY%;*Y66;Y|%UP+O7l

WPnVG-Tv(@g-nc= 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" % (self.__class__.__module__, self.__class__.__name__, strthis,) + + +def _swig_setattr_nondynamic_instance_variable(set): + def set_instance_attr(self, name, value): + if name == "thisown": + self.this.own(value) + elif name == "this": + set(self, name, value) + elif hasattr(self, name) and isinstance(getattr(type(self), name), property): + set(self, name, value) + else: + raise AttributeError("You cannot add instance attributes to %s" % self) + return set_instance_attr + + +def _swig_setattr_nondynamic_class_variable(set): + def set_class_attr(cls, name, value): + if hasattr(cls, name) and not isinstance(getattr(cls, name), property): + set(cls, name, value) + else: + raise AttributeError("You cannot add class attributes to %s" % cls) + return set_class_attr + + +def _swig_add_metaclass(metaclass): + """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass""" + def wrapper(cls): + return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy()) + return wrapper + + +class _SwigNonDynamicMeta(type): + """Meta class to enforce nondynamic attributes (no new attributes) for a class""" + __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__) + + +class SwigPyIterator(object): + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + __swig_destroy__ = _nnpdf.delete_SwigPyIterator + + def value(self): + return _nnpdf.SwigPyIterator_value(self) + + def incr(self, n=1): + return _nnpdf.SwigPyIterator_incr(self, n) + + def decr(self, n=1): + return _nnpdf.SwigPyIterator_decr(self, n) + + def distance(self, x): + return _nnpdf.SwigPyIterator_distance(self, x) + + def equal(self, x): + return _nnpdf.SwigPyIterator_equal(self, x) + + def copy(self): + return _nnpdf.SwigPyIterator_copy(self) + + def next(self): + return _nnpdf.SwigPyIterator_next(self) + + def __next__(self): + return _nnpdf.SwigPyIterator___next__(self) + + def previous(self): + return _nnpdf.SwigPyIterator_previous(self) + + def advance(self, n): + return _nnpdf.SwigPyIterator_advance(self, n) + + def __eq__(self, x): + return _nnpdf.SwigPyIterator___eq__(self, x) + + def __ne__(self, x): + return _nnpdf.SwigPyIterator___ne__(self, x) + + def __iadd__(self, n): + return _nnpdf.SwigPyIterator___iadd__(self, n) + + def __isub__(self, n): + return _nnpdf.SwigPyIterator___isub__(self, n) + + def __add__(self, n): + return _nnpdf.SwigPyIterator___add__(self, n) + + def __sub__(self, *args): + return _nnpdf.SwigPyIterator___sub__(self, *args) + def __iter__(self): + return self + +# Register SwigPyIterator in _nnpdf: +_nnpdf.SwigPyIterator_swigregister(SwigPyIterator) + +REALDOUBLE = _nnpdf.REALDOUBLE + +class vector_str(object): + r"""Proxy of C++ std::vector< std::string > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(vector_str self) -> SwigPyIterator""" + return _nnpdf.vector_str_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(vector_str self) -> bool""" + return _nnpdf.vector_str___nonzero__(self) + + def __bool__(self): + r"""__bool__(vector_str self) -> bool""" + return _nnpdf.vector_str___bool__(self) + + def __len__(self): + r"""__len__(vector_str self) -> std::vector< std::string >::size_type""" + return _nnpdf.vector_str___len__(self) + + def __getslice__(self, i, j): + r""" + __getslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) -> vector_str + + Parameters + ---------- + i: std::vector< std::string >::difference_type + j: std::vector< std::string >::difference_type + + """ + return _nnpdf.vector_str___getslice__(self, i, j) + + def __setslice__(self, *args): + r""" + __setslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) + + Parameters + ---------- + i: std::vector< std::string >::difference_type + j: std::vector< std::string >::difference_type + + __setslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_str v) + + Parameters + ---------- + i: std::vector< std::string >::difference_type + j: std::vector< std::string >::difference_type + v: std::vector< std::string,std::allocator< std::string > > const & + + """ + return _nnpdf.vector_str___setslice__(self, *args) + + def __delslice__(self, i, j): + r""" + __delslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) + + Parameters + ---------- + i: std::vector< std::string >::difference_type + j: std::vector< std::string >::difference_type + + """ + return _nnpdf.vector_str___delslice__(self, i, j) + + def __delitem__(self, *args): + r""" + __delitem__(vector_str self, std::vector< std::string >::difference_type i) + + Parameters + ---------- + i: std::vector< std::string >::difference_type + + __delitem__(vector_str self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + """ + return _nnpdf.vector_str___delitem__(self, *args) + + def __getitem__(self, *args): + r""" + __getitem__(vector_str self, PySliceObject * slice) -> vector_str + + Parameters + ---------- + slice: PySliceObject * + + __getitem__(vector_str self, std::vector< std::string >::difference_type i) -> std::vector< std::string >::value_type const & + + Parameters + ---------- + i: std::vector< std::string >::difference_type + + """ + return _nnpdf.vector_str___getitem__(self, *args) + + def __setitem__(self, *args): + r""" + __setitem__(vector_str self, PySliceObject * slice, vector_str v) + + Parameters + ---------- + slice: PySliceObject * + v: std::vector< std::string,std::allocator< std::string > > const & + + __setitem__(vector_str self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + __setitem__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::value_type const & x) + + Parameters + ---------- + i: std::vector< std::string >::difference_type + x: std::vector< std::string >::value_type const & + + """ + return _nnpdf.vector_str___setitem__(self, *args) + + def pop(self): + r"""pop(vector_str self) -> std::vector< std::string >::value_type""" + return _nnpdf.vector_str_pop(self) + + def append(self, x): + r""" + append(vector_str self, std::vector< std::string >::value_type const & x) + + Parameters + ---------- + x: std::vector< std::string >::value_type const & + + """ + return _nnpdf.vector_str_append(self, x) + + def empty(self): + r"""empty(vector_str self) -> bool""" + return _nnpdf.vector_str_empty(self) + + def size(self): + r"""size(vector_str self) -> std::vector< std::string >::size_type""" + return _nnpdf.vector_str_size(self) + + def swap(self, v): + r""" + swap(vector_str self, vector_str v) + + Parameters + ---------- + v: std::vector< std::string > & + + """ + return _nnpdf.vector_str_swap(self, v) + + def begin(self): + r"""begin(vector_str self) -> std::vector< std::string >::iterator""" + return _nnpdf.vector_str_begin(self) + + def end(self): + r"""end(vector_str self) -> std::vector< std::string >::iterator""" + return _nnpdf.vector_str_end(self) + + def rbegin(self): + r"""rbegin(vector_str self) -> std::vector< std::string >::reverse_iterator""" + return _nnpdf.vector_str_rbegin(self) + + def rend(self): + r"""rend(vector_str self) -> std::vector< std::string >::reverse_iterator""" + return _nnpdf.vector_str_rend(self) + + def clear(self): + r"""clear(vector_str self)""" + return _nnpdf.vector_str_clear(self) + + def get_allocator(self): + r"""get_allocator(vector_str self) -> std::vector< std::string >::allocator_type""" + return _nnpdf.vector_str_get_allocator(self) + + def pop_back(self): + r"""pop_back(vector_str self)""" + return _nnpdf.vector_str_pop_back(self) + + def erase(self, *args): + r""" + erase(vector_str self, std::vector< std::string >::iterator pos) -> std::vector< std::string >::iterator + + Parameters + ---------- + pos: std::vector< std::string >::iterator + + erase(vector_str self, std::vector< std::string >::iterator first, std::vector< std::string >::iterator last) -> std::vector< std::string >::iterator + + Parameters + ---------- + first: std::vector< std::string >::iterator + last: std::vector< std::string >::iterator + + """ + return _nnpdf.vector_str_erase(self, *args) + + def __init__(self, *args): + r""" + __init__(vector_str self) -> vector_str + __init__(vector_str self, vector_str other) -> vector_str + + Parameters + ---------- + other: std::vector< std::string > const & + + __init__(vector_str self, std::vector< std::string >::size_type size) -> vector_str + + Parameters + ---------- + size: std::vector< std::string >::size_type + + __init__(vector_str self, std::vector< std::string >::size_type size, std::vector< std::string >::value_type const & value) -> vector_str + + Parameters + ---------- + size: std::vector< std::string >::size_type + value: std::vector< std::string >::value_type const & + + """ + _nnpdf.vector_str_swiginit(self, _nnpdf.new_vector_str(*args)) + + def push_back(self, x): + r""" + push_back(vector_str self, std::vector< std::string >::value_type const & x) + + Parameters + ---------- + x: std::vector< std::string >::value_type const & + + """ + return _nnpdf.vector_str_push_back(self, x) + + def front(self): + r"""front(vector_str self) -> std::vector< std::string >::value_type const &""" + return _nnpdf.vector_str_front(self) + + def back(self): + r"""back(vector_str self) -> std::vector< std::string >::value_type const &""" + return _nnpdf.vector_str_back(self) + + def assign(self, n, x): + r""" + assign(vector_str self, std::vector< std::string >::size_type n, std::vector< std::string >::value_type const & x) + + Parameters + ---------- + n: std::vector< std::string >::size_type + x: std::vector< std::string >::value_type const & + + """ + return _nnpdf.vector_str_assign(self, n, x) + + def resize(self, *args): + r""" + resize(vector_str self, std::vector< std::string >::size_type new_size) + + Parameters + ---------- + new_size: std::vector< std::string >::size_type + + resize(vector_str self, std::vector< std::string >::size_type new_size, std::vector< std::string >::value_type const & x) + + Parameters + ---------- + new_size: std::vector< std::string >::size_type + x: std::vector< std::string >::value_type const & + + """ + return _nnpdf.vector_str_resize(self, *args) + + def insert(self, *args): + r""" + insert(vector_str self, std::vector< std::string >::iterator pos, std::vector< std::string >::value_type const & x) -> std::vector< std::string >::iterator + + Parameters + ---------- + pos: std::vector< std::string >::iterator + x: std::vector< std::string >::value_type const & + + insert(vector_str self, std::vector< std::string >::iterator pos, std::vector< std::string >::size_type n, std::vector< std::string >::value_type const & x) + + Parameters + ---------- + pos: std::vector< std::string >::iterator + n: std::vector< std::string >::size_type + x: std::vector< std::string >::value_type const & + + """ + return _nnpdf.vector_str_insert(self, *args) + + def reserve(self, n): + r""" + reserve(vector_str self, std::vector< std::string >::size_type n) + + Parameters + ---------- + n: std::vector< std::string >::size_type + + """ + return _nnpdf.vector_str_reserve(self, n) + + def capacity(self): + r"""capacity(vector_str self) -> std::vector< std::string >::size_type""" + return _nnpdf.vector_str_capacity(self) + __swig_destroy__ = _nnpdf.delete_vector_str + +# Register vector_str in _nnpdf: +_nnpdf.vector_str_swigregister(vector_str) + +class vector_double(object): + r"""Proxy of C++ std::vector< double > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(vector_double self) -> SwigPyIterator""" + return _nnpdf.vector_double_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(vector_double self) -> bool""" + return _nnpdf.vector_double___nonzero__(self) + + def __bool__(self): + r"""__bool__(vector_double self) -> bool""" + return _nnpdf.vector_double___bool__(self) + + def __len__(self): + r"""__len__(vector_double self) -> std::vector< double >::size_type""" + return _nnpdf.vector_double___len__(self) + + def __getslice__(self, i, j): + r""" + __getslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) -> vector_double + + Parameters + ---------- + i: std::vector< double >::difference_type + j: std::vector< double >::difference_type + + """ + return _nnpdf.vector_double___getslice__(self, i, j) + + def __setslice__(self, *args): + r""" + __setslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) + + Parameters + ---------- + i: std::vector< double >::difference_type + j: std::vector< double >::difference_type + + __setslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vector_double v) + + Parameters + ---------- + i: std::vector< double >::difference_type + j: std::vector< double >::difference_type + v: std::vector< double,std::allocator< double > > const & + + """ + return _nnpdf.vector_double___setslice__(self, *args) + + def __delslice__(self, i, j): + r""" + __delslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) + + Parameters + ---------- + i: std::vector< double >::difference_type + j: std::vector< double >::difference_type + + """ + return _nnpdf.vector_double___delslice__(self, i, j) + + def __delitem__(self, *args): + r""" + __delitem__(vector_double self, std::vector< double >::difference_type i) + + Parameters + ---------- + i: std::vector< double >::difference_type + + __delitem__(vector_double self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + """ + return _nnpdf.vector_double___delitem__(self, *args) + + def __getitem__(self, *args): + r""" + __getitem__(vector_double self, PySliceObject * slice) -> vector_double + + Parameters + ---------- + slice: PySliceObject * + + __getitem__(vector_double self, std::vector< double >::difference_type i) -> std::vector< double >::value_type const & + + Parameters + ---------- + i: std::vector< double >::difference_type + + """ + return _nnpdf.vector_double___getitem__(self, *args) + + def __setitem__(self, *args): + r""" + __setitem__(vector_double self, PySliceObject * slice, vector_double v) + + Parameters + ---------- + slice: PySliceObject * + v: std::vector< double,std::allocator< double > > const & + + __setitem__(vector_double self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + __setitem__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::value_type const & x) + + Parameters + ---------- + i: std::vector< double >::difference_type + x: std::vector< double >::value_type const & + + """ + return _nnpdf.vector_double___setitem__(self, *args) + + def pop(self): + r"""pop(vector_double self) -> std::vector< double >::value_type""" + return _nnpdf.vector_double_pop(self) + + def append(self, x): + r""" + append(vector_double self, std::vector< double >::value_type const & x) + + Parameters + ---------- + x: std::vector< double >::value_type const & + + """ + return _nnpdf.vector_double_append(self, x) + + def empty(self): + r"""empty(vector_double self) -> bool""" + return _nnpdf.vector_double_empty(self) + + def size(self): + r"""size(vector_double self) -> std::vector< double >::size_type""" + return _nnpdf.vector_double_size(self) + + def swap(self, v): + r""" + swap(vector_double self, vector_double v) + + Parameters + ---------- + v: std::vector< double > & + + """ + return _nnpdf.vector_double_swap(self, v) + + def begin(self): + r"""begin(vector_double self) -> std::vector< double >::iterator""" + return _nnpdf.vector_double_begin(self) + + def end(self): + r"""end(vector_double self) -> std::vector< double >::iterator""" + return _nnpdf.vector_double_end(self) + + def rbegin(self): + r"""rbegin(vector_double self) -> std::vector< double >::reverse_iterator""" + return _nnpdf.vector_double_rbegin(self) + + def rend(self): + r"""rend(vector_double self) -> std::vector< double >::reverse_iterator""" + return _nnpdf.vector_double_rend(self) + + def clear(self): + r"""clear(vector_double self)""" + return _nnpdf.vector_double_clear(self) + + def get_allocator(self): + r"""get_allocator(vector_double self) -> std::vector< double >::allocator_type""" + return _nnpdf.vector_double_get_allocator(self) + + def pop_back(self): + r"""pop_back(vector_double self)""" + return _nnpdf.vector_double_pop_back(self) + + def erase(self, *args): + r""" + erase(vector_double self, std::vector< double >::iterator pos) -> std::vector< double >::iterator + + Parameters + ---------- + pos: std::vector< double >::iterator + + erase(vector_double self, std::vector< double >::iterator first, std::vector< double >::iterator last) -> std::vector< double >::iterator + + Parameters + ---------- + first: std::vector< double >::iterator + last: std::vector< double >::iterator + + """ + return _nnpdf.vector_double_erase(self, *args) + + def __init__(self, *args): + r""" + __init__(vector_double self) -> vector_double + __init__(vector_double self, vector_double other) -> vector_double + + Parameters + ---------- + other: std::vector< double > const & + + __init__(vector_double self, std::vector< double >::size_type size) -> vector_double + + Parameters + ---------- + size: std::vector< double >::size_type + + __init__(vector_double self, std::vector< double >::size_type size, std::vector< double >::value_type const & value) -> vector_double + + Parameters + ---------- + size: std::vector< double >::size_type + value: std::vector< double >::value_type const & + + """ + _nnpdf.vector_double_swiginit(self, _nnpdf.new_vector_double(*args)) + + def push_back(self, x): + r""" + push_back(vector_double self, std::vector< double >::value_type const & x) + + Parameters + ---------- + x: std::vector< double >::value_type const & + + """ + return _nnpdf.vector_double_push_back(self, x) + + def front(self): + r"""front(vector_double self) -> std::vector< double >::value_type const &""" + return _nnpdf.vector_double_front(self) + + def back(self): + r"""back(vector_double self) -> std::vector< double >::value_type const &""" + return _nnpdf.vector_double_back(self) + + def assign(self, n, x): + r""" + assign(vector_double self, std::vector< double >::size_type n, std::vector< double >::value_type const & x) + + Parameters + ---------- + n: std::vector< double >::size_type + x: std::vector< double >::value_type const & + + """ + return _nnpdf.vector_double_assign(self, n, x) + + def resize(self, *args): + r""" + resize(vector_double self, std::vector< double >::size_type new_size) + + Parameters + ---------- + new_size: std::vector< double >::size_type + + resize(vector_double self, std::vector< double >::size_type new_size, std::vector< double >::value_type const & x) + + Parameters + ---------- + new_size: std::vector< double >::size_type + x: std::vector< double >::value_type const & + + """ + return _nnpdf.vector_double_resize(self, *args) + + def insert(self, *args): + r""" + insert(vector_double self, std::vector< double >::iterator pos, std::vector< double >::value_type const & x) -> std::vector< double >::iterator + + Parameters + ---------- + pos: std::vector< double >::iterator + x: std::vector< double >::value_type const & + + insert(vector_double self, std::vector< double >::iterator pos, std::vector< double >::size_type n, std::vector< double >::value_type const & x) + + Parameters + ---------- + pos: std::vector< double >::iterator + n: std::vector< double >::size_type + x: std::vector< double >::value_type const & + + """ + return _nnpdf.vector_double_insert(self, *args) + + def reserve(self, n): + r""" + reserve(vector_double self, std::vector< double >::size_type n) + + Parameters + ---------- + n: std::vector< double >::size_type + + """ + return _nnpdf.vector_double_reserve(self, n) + + def capacity(self): + r"""capacity(vector_double self) -> std::vector< double >::size_type""" + return _nnpdf.vector_double_capacity(self) + __swig_destroy__ = _nnpdf.delete_vector_double + +# Register vector_double in _nnpdf: +_nnpdf.vector_double_swigregister(vector_double) + +class vector_int(object): + r"""Proxy of C++ std::vector< int > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(vector_int self) -> SwigPyIterator""" + return _nnpdf.vector_int_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(vector_int self) -> bool""" + return _nnpdf.vector_int___nonzero__(self) + + def __bool__(self): + r"""__bool__(vector_int self) -> bool""" + return _nnpdf.vector_int___bool__(self) + + def __len__(self): + r"""__len__(vector_int self) -> std::vector< int >::size_type""" + return _nnpdf.vector_int___len__(self) + + def __getslice__(self, i, j): + r""" + __getslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) -> vector_int + + Parameters + ---------- + i: std::vector< int >::difference_type + j: std::vector< int >::difference_type + + """ + return _nnpdf.vector_int___getslice__(self, i, j) + + def __setslice__(self, *args): + r""" + __setslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) + + Parameters + ---------- + i: std::vector< int >::difference_type + j: std::vector< int >::difference_type + + __setslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_int v) + + Parameters + ---------- + i: std::vector< int >::difference_type + j: std::vector< int >::difference_type + v: std::vector< int,std::allocator< int > > const & + + """ + return _nnpdf.vector_int___setslice__(self, *args) + + def __delslice__(self, i, j): + r""" + __delslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) + + Parameters + ---------- + i: std::vector< int >::difference_type + j: std::vector< int >::difference_type + + """ + return _nnpdf.vector_int___delslice__(self, i, j) + + def __delitem__(self, *args): + r""" + __delitem__(vector_int self, std::vector< int >::difference_type i) + + Parameters + ---------- + i: std::vector< int >::difference_type + + __delitem__(vector_int self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + """ + return _nnpdf.vector_int___delitem__(self, *args) + + def __getitem__(self, *args): + r""" + __getitem__(vector_int self, PySliceObject * slice) -> vector_int + + Parameters + ---------- + slice: PySliceObject * + + __getitem__(vector_int self, std::vector< int >::difference_type i) -> std::vector< int >::value_type const & + + Parameters + ---------- + i: std::vector< int >::difference_type + + """ + return _nnpdf.vector_int___getitem__(self, *args) + + def __setitem__(self, *args): + r""" + __setitem__(vector_int self, PySliceObject * slice, vector_int v) + + Parameters + ---------- + slice: PySliceObject * + v: std::vector< int,std::allocator< int > > const & + + __setitem__(vector_int self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + __setitem__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::value_type const & x) + + Parameters + ---------- + i: std::vector< int >::difference_type + x: std::vector< int >::value_type const & + + """ + return _nnpdf.vector_int___setitem__(self, *args) + + def pop(self): + r"""pop(vector_int self) -> std::vector< int >::value_type""" + return _nnpdf.vector_int_pop(self) + + def append(self, x): + r""" + append(vector_int self, std::vector< int >::value_type const & x) + + Parameters + ---------- + x: std::vector< int >::value_type const & + + """ + return _nnpdf.vector_int_append(self, x) + + def empty(self): + r"""empty(vector_int self) -> bool""" + return _nnpdf.vector_int_empty(self) + + def size(self): + r"""size(vector_int self) -> std::vector< int >::size_type""" + return _nnpdf.vector_int_size(self) + + def swap(self, v): + r""" + swap(vector_int self, vector_int v) + + Parameters + ---------- + v: std::vector< int > & + + """ + return _nnpdf.vector_int_swap(self, v) + + def begin(self): + r"""begin(vector_int self) -> std::vector< int >::iterator""" + return _nnpdf.vector_int_begin(self) + + def end(self): + r"""end(vector_int self) -> std::vector< int >::iterator""" + return _nnpdf.vector_int_end(self) + + def rbegin(self): + r"""rbegin(vector_int self) -> std::vector< int >::reverse_iterator""" + return _nnpdf.vector_int_rbegin(self) + + def rend(self): + r"""rend(vector_int self) -> std::vector< int >::reverse_iterator""" + return _nnpdf.vector_int_rend(self) + + def clear(self): + r"""clear(vector_int self)""" + return _nnpdf.vector_int_clear(self) + + def get_allocator(self): + r"""get_allocator(vector_int self) -> std::vector< int >::allocator_type""" + return _nnpdf.vector_int_get_allocator(self) + + def pop_back(self): + r"""pop_back(vector_int self)""" + return _nnpdf.vector_int_pop_back(self) + + def erase(self, *args): + r""" + erase(vector_int self, std::vector< int >::iterator pos) -> std::vector< int >::iterator + + Parameters + ---------- + pos: std::vector< int >::iterator + + erase(vector_int self, std::vector< int >::iterator first, std::vector< int >::iterator last) -> std::vector< int >::iterator + + Parameters + ---------- + first: std::vector< int >::iterator + last: std::vector< int >::iterator + + """ + return _nnpdf.vector_int_erase(self, *args) + + def __init__(self, *args): + r""" + __init__(vector_int self) -> vector_int + __init__(vector_int self, vector_int other) -> vector_int + + Parameters + ---------- + other: std::vector< int > const & + + __init__(vector_int self, std::vector< int >::size_type size) -> vector_int + + Parameters + ---------- + size: std::vector< int >::size_type + + __init__(vector_int self, std::vector< int >::size_type size, std::vector< int >::value_type const & value) -> vector_int + + Parameters + ---------- + size: std::vector< int >::size_type + value: std::vector< int >::value_type const & + + """ + _nnpdf.vector_int_swiginit(self, _nnpdf.new_vector_int(*args)) + + def push_back(self, x): + r""" + push_back(vector_int self, std::vector< int >::value_type const & x) + + Parameters + ---------- + x: std::vector< int >::value_type const & + + """ + return _nnpdf.vector_int_push_back(self, x) + + def front(self): + r"""front(vector_int self) -> std::vector< int >::value_type const &""" + return _nnpdf.vector_int_front(self) + + def back(self): + r"""back(vector_int self) -> std::vector< int >::value_type const &""" + return _nnpdf.vector_int_back(self) + + def assign(self, n, x): + r""" + assign(vector_int self, std::vector< int >::size_type n, std::vector< int >::value_type const & x) + + Parameters + ---------- + n: std::vector< int >::size_type + x: std::vector< int >::value_type const & + + """ + return _nnpdf.vector_int_assign(self, n, x) + + def resize(self, *args): + r""" + resize(vector_int self, std::vector< int >::size_type new_size) + + Parameters + ---------- + new_size: std::vector< int >::size_type + + resize(vector_int self, std::vector< int >::size_type new_size, std::vector< int >::value_type const & x) + + Parameters + ---------- + new_size: std::vector< int >::size_type + x: std::vector< int >::value_type const & + + """ + return _nnpdf.vector_int_resize(self, *args) + + def insert(self, *args): + r""" + insert(vector_int self, std::vector< int >::iterator pos, std::vector< int >::value_type const & x) -> std::vector< int >::iterator + + Parameters + ---------- + pos: std::vector< int >::iterator + x: std::vector< int >::value_type const & + + insert(vector_int self, std::vector< int >::iterator pos, std::vector< int >::size_type n, std::vector< int >::value_type const & x) + + Parameters + ---------- + pos: std::vector< int >::iterator + n: std::vector< int >::size_type + x: std::vector< int >::value_type const & + + """ + return _nnpdf.vector_int_insert(self, *args) + + def reserve(self, n): + r""" + reserve(vector_int self, std::vector< int >::size_type n) + + Parameters + ---------- + n: std::vector< int >::size_type + + """ + return _nnpdf.vector_int_reserve(self, n) + + def capacity(self): + r"""capacity(vector_int self) -> std::vector< int >::size_type""" + return _nnpdf.vector_int_capacity(self) + __swig_destroy__ = _nnpdf.delete_vector_int + +# Register vector_int in _nnpdf: +_nnpdf.vector_int_swigregister(vector_int) + + +def getVersion(): + r"""getVersion() -> std::string""" + return _nnpdf.getVersion() + +def SetVerbosity(arg1): + r""" + SetVerbosity(int arg1) + + Parameters + ---------- + arg1: int + + """ + return _nnpdf.SetVerbosity(arg1) + +def GetVerbosity(): + r"""GetVerbosity() -> int""" + return _nnpdf.GetVerbosity() + +def get_logger(): + r"""get_logger() -> std::ostream &""" + return _nnpdf.get_logger() + +def joinpath(list): + r""" + joinpath(std::initializer_list< std::string > const & list) -> std::string + + Parameters + ---------- + list: std::initializer_list< std::string > const & + + """ + return _nnpdf.joinpath(list) + +def write_to_file(filename, data): + r""" + write_to_file(std::string const & filename, std::string const & data) + + Parameters + ---------- + filename: std::string const & + data: std::string const & + + """ + return _nnpdf.write_to_file(filename, data) + +def untargz(filename): + r""" + untargz(std::string const & filename) -> std::string + + Parameters + ---------- + filename: std::string const & + + """ + return _nnpdf.untargz(filename) + +def targz(filename, data): + r""" + targz(std::string const & filename, std::string const & data) + + Parameters + ---------- + filename: std::string const & + data: std::string const & + + """ + return _nnpdf.targz(filename, data) +class istream_proxy(object): + r"""Proxy of C++ NNPDF::istream_proxy class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, filename): + r""" + __init__(istream_proxy self, std::string const & filename) -> istream_proxy + + Parameters + ---------- + filename: std::string const & + + """ + _nnpdf.istream_proxy_swiginit(self, _nnpdf.new_istream_proxy(filename)) + + def stream(self): + r"""stream(istream_proxy self) -> std::istream &""" + return _nnpdf.istream_proxy_stream(self) + __swig_destroy__ = _nnpdf.delete_istream_proxy + +# Register istream_proxy in _nnpdf: +_nnpdf.istream_proxy_swigregister(istream_proxy) +cvar = _nnpdf.cvar +convoluteAlign = cvar.convoluteAlign + +class ostream_proxy(object): + r"""Proxy of C++ NNPDF::ostream_proxy class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, filename): + r""" + __init__(ostream_proxy self, std::string const & filename) -> ostream_proxy + + Parameters + ---------- + filename: std::string const & + + """ + _nnpdf.ostream_proxy_swiginit(self, _nnpdf.new_ostream_proxy(filename)) + + def stream(self): + r"""stream(ostream_proxy self) -> std::ostream &""" + return _nnpdf.ostream_proxy_stream(self) + __swig_destroy__ = _nnpdf.delete_ostream_proxy + +# Register ostream_proxy in _nnpdf: +_nnpdf.ostream_proxy_swigregister(ostream_proxy) + + +def integrate(data, npoints, h): + r""" + integrate(double [] data, size_t npoints, double h) -> double + + Parameters + ---------- + data: double [] + npoints: size_t + h: double + + """ + return _nnpdf.integrate(data, npoints, h) + +def split(*args): + r""" + split(std::string const & input) -> vector_str + + Parameters + ---------- + input: std::string const & + + split(vector_str results, std::string const & input) + + Parameters + ---------- + results: std::vector< std::string,std::allocator< std::string > > & + input: std::string const & + + """ + return _nnpdf.split(*args) + +def rsplit(*args): + r""" + rsplit(std::string const & input) -> std::vector< NNPDF::real,std::allocator< NNPDF::real > > + + Parameters + ---------- + input: std::string const & + + rsplit(std::vector< NNPDF::real,std::allocator< NNPDF::real > > & results, std::string const & input) + + Parameters + ---------- + results: std::vector< NNPDF::real,std::allocator< NNPDF::real > > & + input: std::string const & + + """ + return _nnpdf.rsplit(*args) + +def isplit(*args): + r""" + isplit(std::string const & input) -> vector_int + + Parameters + ---------- + input: std::string const & + + isplit(vector_int results, std::string const & input) + + Parameters + ---------- + results: std::vector< int,std::allocator< int > > & + input: std::string const & + + """ + return _nnpdf.isplit(*args) + +def ComputeAVG(*args): + r""" + ComputeAVG(int const & n, NNPDF::real const * x) -> NNPDF::real + + Parameters + ---------- + n: int const & + x: NNPDF::real const * + + ComputeAVG(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x) -> NNPDF::real + + Parameters + ---------- + x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & + + """ + return _nnpdf.ComputeAVG(*args) + +def ComputeStdDev(*args): + r""" + ComputeStdDev(int const & n, NNPDF::real const * x) -> NNPDF::real + + Parameters + ---------- + n: int const & + x: NNPDF::real const * + + ComputeStdDev(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x) -> NNPDF::real + + Parameters + ---------- + x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & + + """ + return _nnpdf.ComputeStdDev(*args) + +def ComputeEigErr(p, x): + r""" + ComputeEigErr(int const & p, NNPDF::real const * x) -> NNPDF::real + + Parameters + ---------- + p: int const & + x: NNPDF::real const * + + """ + return _nnpdf.ComputeEigErr(p, x) + +def ComputeSymEigErr(p, x): + r""" + ComputeSymEigErr(int const & p, NNPDF::real const * x) -> NNPDF::real + + Parameters + ---------- + p: int const & + x: NNPDF::real const * + + """ + return _nnpdf.ComputeSymEigErr(p, x) + +def ComputeMom(n, x, m): + r""" + ComputeMom(int const & n, NNPDF::real const * x, int const & m) -> NNPDF::real + + Parameters + ---------- + n: int const & + x: NNPDF::real const * + m: int const & + + """ + return _nnpdf.ComputeMom(n, x, m) + +def Compute68cl(x, up, dn): + r""" + Compute68cl(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x, NNPDF::real & up, NNPDF::real & dn) + + Parameters + ---------- + x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & + up: NNPDF::real & + dn: NNPDF::real & + + """ + return _nnpdf.Compute68cl(x, up, dn) + +def Compute95cl(x, up, dn): + r""" + Compute95cl(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x, NNPDF::real & up, NNPDF::real & dn) + + Parameters + ---------- + x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & + up: NNPDF::real & + dn: NNPDF::real & + + """ + return _nnpdf.Compute95cl(x, up, dn) +class matrix_double(object): + r"""Proxy of C++ NNPDF::matrix< double > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, row=0, col=0): + r""" + __init__(matrix_double self, size_t row=0, size_t col=0) -> matrix_double + + Parameters + ---------- + row: size_t + col: size_t + + """ + _nnpdf.matrix_double_swiginit(self, _nnpdf.new_matrix_double(row, col)) + + def resize(self, row, col, v): + r""" + resize(matrix_double self, size_t row, size_t col, double v) + + Parameters + ---------- + row: size_t + col: size_t + v: double + + """ + return _nnpdf.matrix_double_resize(self, row, col, v) + + def clear(self): + r"""clear(matrix_double self)""" + return _nnpdf.matrix_double_clear(self) + + def size(self, dim): + r""" + size(matrix_double self, size_t dim) -> size_t const & + + Parameters + ---------- + dim: size_t + + """ + return _nnpdf.matrix_double_size(self, dim) + + def __call__(self, *args): + r""" + __call__(matrix_double self, size_t i, size_t j) -> double + + Parameters + ---------- + i: size_t + j: size_t + + __call__(matrix_double self, size_t i, size_t j) -> double const & + + Parameters + ---------- + i: size_t + j: size_t + + """ + return _nnpdf.matrix_double___call__(self, *args) + + def __mul__(self, _in): + r""" + __mul__(matrix_double self, vector_double _in) -> vector_double + + Parameters + ---------- + in: std::vector< double,std::allocator< double > > + + """ + return _nnpdf.matrix_double___mul__(self, _in) + + def data(self, *args): + r""" + data(matrix_double self) -> double + data(matrix_double self) -> double const * + """ + return _nnpdf.matrix_double_data(self, *args) + __swig_destroy__ = _nnpdf.delete_matrix_double + +# Register matrix_double in _nnpdf: +_nnpdf.matrix_double_swigregister(matrix_double) + +class RandomGenerator(object): + r"""Proxy of C++ NNPDF::RandomGenerator class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined") + __repr__ = _swig_repr + + @staticmethod + def InitRNG(method, seed): + r""" + InitRNG(int method, unsigned long seed) + + Parameters + ---------- + method: int + seed: unsigned long + + """ + return _nnpdf.RandomGenerator_InitRNG(method, seed) + + @staticmethod + def GetRNG(): + r"""GetRNG() -> RandomGenerator""" + return _nnpdf.RandomGenerator_GetRNG() + Verbose = property(_nnpdf.RandomGenerator_Verbose_get, _nnpdf.RandomGenerator_Verbose_set, doc=r"""Verbose : bool""") + + def GetRandomInt(self): + r"""GetRandomInt(RandomGenerator self) -> unsigned long""" + return _nnpdf.RandomGenerator_GetRandomInt(self) + + def GetRandomUniform(self, *args): + r""" + GetRandomUniform(RandomGenerator self, unsigned long arg2) -> unsigned long + + Parameters + ---------- + arg2: unsigned long + + GetRandomUniform(RandomGenerator self) -> double + GetRandomUniform(RandomGenerator self, double arg2, double arg3) -> double + + Parameters + ---------- + arg2: double + arg3: double + + """ + return _nnpdf.RandomGenerator_GetRandomUniform(self, *args) + + def GetRandomUniformPos(self): + r"""GetRandomUniformPos(RandomGenerator self) -> double""" + return _nnpdf.RandomGenerator_GetRandomUniformPos(self) + + def GetRandomGausDev(self, arg2): + r""" + GetRandomGausDev(RandomGenerator self, double const arg2) -> double + + Parameters + ---------- + arg2: double const + + """ + return _nnpdf.RandomGenerator_GetRandomGausDev(self, arg2) + + def SetSeed(self, arg2): + r""" + SetSeed(RandomGenerator self, unsigned long arg2) + + Parameters + ---------- + arg2: unsigned long + + """ + return _nnpdf.RandomGenerator_SetSeed(self, arg2) + +# Register RandomGenerator in _nnpdf: +_nnpdf.RandomGenerator_swigregister(RandomGenerator) + +def RandomGenerator_InitRNG(method, seed): + r""" + RandomGenerator_InitRNG(int method, unsigned long seed) + + Parameters + ---------- + method: int + seed: unsigned long + + """ + return _nnpdf.RandomGenerator_InitRNG(method, seed) + +def RandomGenerator_GetRNG(): + r"""RandomGenerator_GetRNG() -> RandomGenerator""" + return _nnpdf.RandomGenerator_GetRNG() + + +def get_profile_path(): + r"""get_profile_path() -> std::string""" + return _nnpdf.get_profile_path() + +def get_data_path(): + r"""get_data_path() -> std::string""" + return _nnpdf.get_data_path() + +def get_results_path(): + r"""get_results_path() -> std::string""" + return _nnpdf.get_results_path() + +def get_config_path(): + r"""get_config_path() -> std::string""" + return _nnpdf.get_config_path() +class LogManager(object): + r"""Proxy of C++ NNPDF::LogManager class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined") + __repr__ = _swig_repr + + @staticmethod + def InitPath(path): + r""" + InitPath(std::string const & path) + + Parameters + ---------- + path: std::string const & + + """ + return _nnpdf.LogManager_InitPath(path) + + @staticmethod + def AddLogger(arg1, arg2): + r""" + AddLogger(std::string const & arg1, std::string const & arg2) + + Parameters + ---------- + arg1: std::string const & + arg2: std::string const & + + """ + return _nnpdf.LogManager_AddLogger(arg1, arg2) + + @staticmethod + def GetLogger(arg1): + r""" + GetLogger(std::string const & arg1) -> Logger + + Parameters + ---------- + arg1: std::string const & + + """ + return _nnpdf.LogManager_GetLogger(arg1) + + @staticmethod + def AddLogEntry(log, ent): + r""" + AddLogEntry(std::string const & log, std::string ent) + + Parameters + ---------- + log: std::string const & + ent: std::string + + """ + return _nnpdf.LogManager_AddLogEntry(log, ent) + + @staticmethod + def ExportLogs(): + r"""ExportLogs()""" + return _nnpdf.LogManager_ExportLogs() + +# Register LogManager in _nnpdf: +_nnpdf.LogManager_swigregister(LogManager) + +def LogManager_InitPath(path): + r""" + LogManager_InitPath(std::string const & path) + + Parameters + ---------- + path: std::string const & + + """ + return _nnpdf.LogManager_InitPath(path) + +def LogManager_AddLogger(arg1, arg2): + r""" + LogManager_AddLogger(std::string const & arg1, std::string const & arg2) + + Parameters + ---------- + arg1: std::string const & + arg2: std::string const & + + """ + return _nnpdf.LogManager_AddLogger(arg1, arg2) + +def LogManager_GetLogger(arg1): + r""" + LogManager_GetLogger(std::string const & arg1) -> Logger + + Parameters + ---------- + arg1: std::string const & + + """ + return _nnpdf.LogManager_GetLogger(arg1) + +def LogManager_AddLogEntry(log, ent): + r""" + LogManager_AddLogEntry(std::string const & log, std::string ent) + + Parameters + ---------- + log: std::string const & + ent: std::string + + """ + return _nnpdf.LogManager_AddLogEntry(log, ent) + +def LogManager_ExportLogs(): + r"""LogManager_ExportLogs()""" + return _nnpdf.LogManager_ExportLogs() + +class Logger(object): + r"""Proxy of C++ NNPDF::Logger class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined") + __repr__ = _swig_repr + __swig_destroy__ = _nnpdf.delete_Logger + +# Register Logger in _nnpdf: +_nnpdf.Logger_swigregister(Logger) + +class map_str_vector_str(object): + r"""Proxy of C++ std::map< std::string,std::vector< std::string > > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(map_str_vector_str self) -> SwigPyIterator""" + return _nnpdf.map_str_vector_str_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(map_str_vector_str self) -> bool""" + return _nnpdf.map_str_vector_str___nonzero__(self) + + def __bool__(self): + r"""__bool__(map_str_vector_str self) -> bool""" + return _nnpdf.map_str_vector_str___bool__(self) + + def __len__(self): + r"""__len__(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::size_type""" + return _nnpdf.map_str_vector_str___len__(self) + def __iter__(self): + return self.key_iterator() + def iterkeys(self): + return self.key_iterator() + def itervalues(self): + return self.value_iterator() + def iteritems(self): + return self.iterator() + + def __getitem__(self, key): + r""" + __getitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) -> vector_str + + Parameters + ---------- + key: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str___getitem__(self, key) + + def __delitem__(self, key): + r""" + __delitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) + + Parameters + ---------- + key: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str___delitem__(self, key) + + def has_key(self, key): + r""" + has_key(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) -> bool + + Parameters + ---------- + key: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str_has_key(self, key) + + def keys(self): + r"""keys(map_str_vector_str self) -> PyObject *""" + return _nnpdf.map_str_vector_str_keys(self) + + def values(self): + r"""values(map_str_vector_str self) -> PyObject *""" + return _nnpdf.map_str_vector_str_values(self) + + def items(self): + r"""items(map_str_vector_str self) -> PyObject *""" + return _nnpdf.map_str_vector_str_items(self) + + def __contains__(self, key): + r""" + __contains__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) -> bool + + Parameters + ---------- + key: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str___contains__(self, key) + + def key_iterator(self): + r"""key_iterator(map_str_vector_str self) -> SwigPyIterator""" + return _nnpdf.map_str_vector_str_key_iterator(self) + + def value_iterator(self): + r"""value_iterator(map_str_vector_str self) -> SwigPyIterator""" + return _nnpdf.map_str_vector_str_value_iterator(self) + + def __setitem__(self, *args): + r""" + __setitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) + + Parameters + ---------- + key: std::map< std::string,std::vector< std::string > >::key_type const & + + __setitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key, vector_str x) + + Parameters + ---------- + key: std::map< std::string,std::vector< std::string > >::key_type const & + x: std::map< std::string,std::vector< std::string > >::mapped_type const & + + """ + return _nnpdf.map_str_vector_str___setitem__(self, *args) + + def asdict(self): + r"""asdict(map_str_vector_str self) -> PyObject *""" + return _nnpdf.map_str_vector_str_asdict(self) + + def __init__(self, *args): + r""" + __init__(map_str_vector_str self, std::less< std::string > const & other) -> map_str_vector_str + + Parameters + ---------- + other: std::less< std::string > const & + + __init__(map_str_vector_str self) -> map_str_vector_str + __init__(map_str_vector_str self, map_str_vector_str other) -> map_str_vector_str + + Parameters + ---------- + other: std::map< std::string,std::vector< std::string,std::allocator< std::string > > > const & + + """ + _nnpdf.map_str_vector_str_swiginit(self, _nnpdf.new_map_str_vector_str(*args)) + + def empty(self): + r"""empty(map_str_vector_str self) -> bool""" + return _nnpdf.map_str_vector_str_empty(self) + + def size(self): + r"""size(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::size_type""" + return _nnpdf.map_str_vector_str_size(self) + + def swap(self, v): + r""" + swap(map_str_vector_str self, map_str_vector_str v) + + Parameters + ---------- + v: std::map< std::string,std::vector< std::string,std::allocator< std::string > > > & + + """ + return _nnpdf.map_str_vector_str_swap(self, v) + + def begin(self): + r"""begin(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::iterator""" + return _nnpdf.map_str_vector_str_begin(self) + + def end(self): + r"""end(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::iterator""" + return _nnpdf.map_str_vector_str_end(self) + + def rbegin(self): + r"""rbegin(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::reverse_iterator""" + return _nnpdf.map_str_vector_str_rbegin(self) + + def rend(self): + r"""rend(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::reverse_iterator""" + return _nnpdf.map_str_vector_str_rend(self) + + def clear(self): + r"""clear(map_str_vector_str self)""" + return _nnpdf.map_str_vector_str_clear(self) + + def get_allocator(self): + r"""get_allocator(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::allocator_type""" + return _nnpdf.map_str_vector_str_get_allocator(self) + + def count(self, x): + r""" + count(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::size_type + + Parameters + ---------- + x: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str_count(self, x) + + def erase(self, *args): + r""" + erase(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::size_type + + Parameters + ---------- + x: std::map< std::string,std::vector< std::string > >::key_type const & + + erase(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::iterator position) + + Parameters + ---------- + position: std::map< std::string,std::vector< std::string > >::iterator + + erase(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::iterator first, std::map< std::string,std::vector< std::string > >::iterator last) + + Parameters + ---------- + first: std::map< std::string,std::vector< std::string > >::iterator + last: std::map< std::string,std::vector< std::string > >::iterator + + """ + return _nnpdf.map_str_vector_str_erase(self, *args) + + def find(self, x): + r""" + find(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::iterator + + Parameters + ---------- + x: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str_find(self, x) + + def lower_bound(self, x): + r""" + lower_bound(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::iterator + + Parameters + ---------- + x: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str_lower_bound(self, x) + + def upper_bound(self, x): + r""" + upper_bound(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::iterator + + Parameters + ---------- + x: std::map< std::string,std::vector< std::string > >::key_type const & + + """ + return _nnpdf.map_str_vector_str_upper_bound(self, x) + __swig_destroy__ = _nnpdf.delete_map_str_vector_str + +# Register map_str_vector_str in _nnpdf: +_nnpdf.map_str_vector_str_swigregister(map_str_vector_str) + +class dataInfo(object): + r"""Proxy of C++ NNPDF::dataInfo class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, nD, nS, sN, tF, sF): + r""" + __init__(dataInfo self, int nD, int nS, std::string sN, std::string tF, std::string sF) -> dataInfo + + Parameters + ---------- + nD: int + nS: int + sN: std::string + tF: std::string + sF: std::string + + """ + _nnpdf.dataInfo_swiginit(self, _nnpdf.new_dataInfo(nD, nS, sN, tF, sF)) + nData = property(_nnpdf.dataInfo_nData_get, doc=r"""nData : q(const).int""") + nSys = property(_nnpdf.dataInfo_nSys_get, doc=r"""nSys : q(const).int""") + SetName = property(_nnpdf.dataInfo_SetName_get, doc=r"""SetName : q(const).std::string""") + targetFile = property(_nnpdf.dataInfo_targetFile_get, doc=r"""targetFile : q(const).std::string""") + systypeFile = property(_nnpdf.dataInfo_systypeFile_get, doc=r"""systypeFile : q(const).std::string""") + __swig_destroy__ = _nnpdf.delete_dataInfo + +# Register dataInfo in _nnpdf: +_nnpdf.dataInfo_swigregister(dataInfo) + +class dataInfoRaw(object): + r"""Proxy of C++ NNPDF::dataInfoRaw class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, nD, nS, sN, pT): + r""" + __init__(dataInfoRaw self, int nD, int nS, std::string sN, std::string pT) -> dataInfoRaw + + Parameters + ---------- + nD: int + nS: int + sN: std::string + pT: std::string + + """ + _nnpdf.dataInfoRaw_swiginit(self, _nnpdf.new_dataInfoRaw(nD, nS, sN, pT)) + nData = property(_nnpdf.dataInfoRaw_nData_get, doc=r"""nData : q(const).int""") + nSys = property(_nnpdf.dataInfoRaw_nSys_get, doc=r"""nSys : q(const).int""") + SetName = property(_nnpdf.dataInfoRaw_SetName_get, doc=r"""SetName : q(const).std::string""") + ProcType = property(_nnpdf.dataInfoRaw_ProcType_get, doc=r"""ProcType : q(const).std::string""") + __swig_destroy__ = _nnpdf.delete_dataInfoRaw + +# Register dataInfoRaw in _nnpdf: +_nnpdf.dataInfoRaw_swigregister(dataInfoRaw) + +ADD = _nnpdf.ADD + +MULT = _nnpdf.MULT + +UNSET = _nnpdf.UNSET + +class sysError(object): + r"""Proxy of C++ NNPDF::sysError class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + add = property(_nnpdf.sysError_add_get, _nnpdf.sysError_add_set, doc=r"""add : double""") + mult = property(_nnpdf.sysError_mult_get, _nnpdf.sysError_mult_set, doc=r"""mult : double""") + type = property(_nnpdf.sysError_type_get, _nnpdf.sysError_type_set, doc=r"""type : NNPDF::sysType""") + name = property(_nnpdf.sysError_name_get, _nnpdf.sysError_name_set, doc=r"""name : std::string""") + isRAND = property(_nnpdf.sysError_isRAND_get, _nnpdf.sysError_isRAND_set, doc=r"""isRAND : bool""") + + def __init__(self, *args): + r""" + __init__(sysError self) -> sysError + __init__(sysError self, sysError o) -> sysError + + Parameters + ---------- + o: NNPDF::sysError const & + + """ + _nnpdf.sysError_swiginit(self, _nnpdf.new_sysError(*args)) + __swig_destroy__ = _nnpdf.delete_sysError + +# Register sysError in _nnpdf: +_nnpdf.sysError_swigregister(sysError) + + +def genInfoStruct(targetfile, sysfile): + r""" + genInfoStruct(std::string const & targetfile, std::string const & sysfile) -> dataInfo + + Parameters + ---------- + targetfile: std::string const & + sysfile: std::string const & + + """ + return _nnpdf.genInfoStruct(targetfile, sysfile) + +def extractSysID(sysfile): + r""" + extractSysID(std::string const & sysfile) -> std::string + + Parameters + ---------- + sysfile: std::string const & + + """ + return _nnpdf.extractSysID(sysfile) +class CommonData(object): + r"""Proxy of C++ NNPDF::CommonData class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, *args): + r""" + __init__(CommonData self, CommonData set) -> CommonData + + Parameters + ---------- + set: NNPDF::CommonData const & + + __init__(CommonData self, CommonData set, vector_int mask) -> CommonData + + Parameters + ---------- + set: NNPDF::CommonData const & + mask: std::vector< int,std::allocator< int > > const & + + """ + _nnpdf.CommonData_swiginit(self, _nnpdf.new_CommonData(*args)) + __swig_destroy__ = _nnpdf.delete_CommonData + + def GetSetName(self): + r"""GetSetName(CommonData self) -> std::string const &""" + return _nnpdf.CommonData_GetSetName(self) + + def GetNData(self): + r"""GetNData(CommonData self) -> int const &""" + return _nnpdf.CommonData_GetNData(self) + + def GetNSys(self): + r"""GetNSys(CommonData self) -> int const &""" + return _nnpdf.CommonData_GetNSys(self) + + def GetStat(self, i): + r""" + GetStat(CommonData self, int i) -> double const & + + Parameters + ---------- + i: int + + """ + return _nnpdf.CommonData_GetStat(self, i) + + def GetUncE(self, i): + r""" + GetUncE(CommonData self, int i) -> double + + Parameters + ---------- + i: int + + """ + return _nnpdf.CommonData_GetUncE(self, i) + + def GetCorE(self, i): + r""" + GetCorE(CommonData self, int i) -> double + + Parameters + ---------- + i: int + + """ + return _nnpdf.CommonData_GetCorE(self, i) + + def GetSys(self, i, l): + r""" + GetSys(CommonData self, int i, int l) -> sysError + + Parameters + ---------- + i: int + l: int + + """ + return _nnpdf.CommonData_GetSys(self, i, l) + + def GetSysErrors(self): + r"""GetSysErrors(CommonData self) -> NNPDF::sysError **""" + return _nnpdf.CommonData_GetSysErrors(self) + + def GetData(self, *args): + r""" + GetData(CommonData self, int i) -> double const + + Parameters + ---------- + i: int + + GetData(CommonData self) -> double * + """ + return _nnpdf.CommonData_GetData(self, *args) + + def GetProc(self, i): + r""" + GetProc(CommonData self, int i) -> std::string const & + + Parameters + ---------- + i: int + + """ + return _nnpdf.CommonData_GetProc(self, i) + + def GetKinematics(self, idat, ikin): + r""" + GetKinematics(CommonData self, int const & idat, int const & ikin) -> double const & + + Parameters + ---------- + idat: int const & + ikin: int const & + + """ + return _nnpdf.CommonData_GetKinematics(self, idat, ikin) + + @staticmethod + def ReadFile(filename, sysfile): + r""" + ReadFile(std::string const & filename, std::string const & sysfile) -> CommonData + + Parameters + ---------- + filename: std::string const & + sysfile: std::string const & + + """ + return _nnpdf.CommonData_ReadFile(filename, sysfile) + + def Verify(self): + r"""Verify(CommonData self)""" + return _nnpdf.CommonData_Verify(self) + + def Export(self, targetdir): + r""" + Export(CommonData self, std::string const & targetdir) + + Parameters + ---------- + targetdir: std::string const & + + """ + return _nnpdf.CommonData_Export(self, targetdir) + + def get_kintable(self): + r"""get_kintable(CommonData self)""" + return _nnpdf.CommonData_get_kintable(self) + + def get_cv(self): + r"""get_cv(CommonData self)""" + return _nnpdf.CommonData_get_cv(self) + + + def __len__(self): + return self.GetNData(); + + + +# Register CommonData in _nnpdf: +_nnpdf.CommonData_swigregister(CommonData) +CommonData.kinLabel_latex = _nnpdf.cvar.CommonData_kinLabel_latex +CommonData.kinLabel = _nnpdf.cvar.CommonData_kinLabel + +def CommonData_ReadFile(filename, sysfile): + r""" + CommonData_ReadFile(std::string const & filename, std::string const & sysfile) -> CommonData + + Parameters + ---------- + filename: std::string const & + sysfile: std::string const & + + """ + return _nnpdf.CommonData_ReadFile(filename, sysfile) + +class PDFSet(object): + r"""Proxy of C++ NNPDF::PDFSet class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + + def __init__(self, *args, **kwargs): + raise AttributeError("No constructor defined - class is abstract") + __repr__ = _swig_repr + erType_ER_NONE = _nnpdf.PDFSet_erType_ER_NONE + + erType_ER_MC = _nnpdf.PDFSet_erType_ER_MC + + erType_ER_MC68 = _nnpdf.PDFSet_erType_ER_MC68 + + erType_ER_MCT0 = _nnpdf.PDFSet_erType_ER_MCT0 + + erType_ER_EIG = _nnpdf.PDFSet_erType_ER_EIG + + erType_ER_EIG90 = _nnpdf.PDFSet_erType_ER_EIG90 + + erType_ER_SYMEIG = _nnpdf.PDFSet_erType_ER_SYMEIG + + PHT = _nnpdf.PDFSet_PHT + + TBAR = _nnpdf.PDFSet_TBAR + + BBAR = _nnpdf.PDFSet_BBAR + + CBAR = _nnpdf.PDFSet_CBAR + + SBAR = _nnpdf.PDFSet_SBAR + + UBAR = _nnpdf.PDFSet_UBAR + + DBAR = _nnpdf.PDFSet_DBAR + + GLUON = _nnpdf.PDFSet_GLUON + + D = _nnpdf.PDFSet_D + + U = _nnpdf.PDFSet_U + + S = _nnpdf.PDFSet_S + + C = _nnpdf.PDFSet_C + + B = _nnpdf.PDFSet_B + + T = _nnpdf.PDFSet_T + + + @staticmethod + def fl_labels(): + r"""fl_labels() -> std::array< std::string,14 > const""" + return _nnpdf.PDFSet_fl_labels() + EVLN_GAM = _nnpdf.PDFSet_EVLN_GAM + + EVLN_SNG = _nnpdf.PDFSet_EVLN_SNG + + EVLN_GLU = _nnpdf.PDFSet_EVLN_GLU + + EVLN_VAL = _nnpdf.PDFSet_EVLN_VAL + + EVLN_V3 = _nnpdf.PDFSet_EVLN_V3 + + EVLN_V8 = _nnpdf.PDFSet_EVLN_V8 + + EVLN_V15 = _nnpdf.PDFSet_EVLN_V15 + + EVLN_V24 = _nnpdf.PDFSet_EVLN_V24 + + EVLN_V35 = _nnpdf.PDFSet_EVLN_V35 + + EVLN_T3 = _nnpdf.PDFSet_EVLN_T3 + + EVLN_T8 = _nnpdf.PDFSet_EVLN_T8 + + EVLN_T15 = _nnpdf.PDFSet_EVLN_T15 + + EVLN_T24 = _nnpdf.PDFSet_EVLN_T24 + + EVLN_T35 = _nnpdf.PDFSet_EVLN_T35 + + __swig_destroy__ = _nnpdf.delete_PDFSet + Verbose = property(_nnpdf.PDFSet_Verbose_get, _nnpdf.PDFSet_Verbose_set, doc=r"""Verbose : bool""") + + def GetPDF(self, *args): + r""" + GetPDF(PDFSet self, NNPDF::real const & x, NNPDF::real const & Q2, int const & n, int const & fl) -> NNPDF::real + + Parameters + ---------- + x: NNPDF::real const & + Q2: NNPDF::real const & + n: int const & + fl: int const & + + GetPDF(PDFSet self, NNPDF::real const & x, NNPDF::real const & Q2, int const & n, NNPDF::real * pdf) + + Parameters + ---------- + x: NNPDF::real const & + Q2: NNPDF::real const & + n: int const & + pdf: NNPDF::real * + + """ + return _nnpdf.PDFSet_GetPDF(self, *args) + + def GetSetName(self): + r"""GetSetName(PDFSet self) -> std::string const &""" + return _nnpdf.PDFSet_GetSetName(self) + + def GetEtype(self): + r"""GetEtype(PDFSet self) -> NNPDF::PDFSet::erType const &""" + return _nnpdf.PDFSet_GetEtype(self) + + def GetMembers(self): + r"""GetMembers(PDFSet self) -> int const &""" + return _nnpdf.PDFSet_GetMembers(self) + XFX = _nnpdf.PDFSet_XFX + + FX = _nnpdf.PDFSet_FX + + + def IntegratePDF(self, mem, fl, Q2, xfx, gslerror, arg7, xmin=0.0, xmax=1.0): + r""" + IntegratePDF(PDFSet self, int const & mem, int const & fl, NNPDF::real const & Q2, NNPDF::PDFSet::intType xfx, bool & gslerror, gsl_integration_workspace * arg7, NNPDF::real xmin=0.0, NNPDF::real xmax=1.0) -> NNPDF::real + + Parameters + ---------- + mem: int const & + fl: int const & + Q2: NNPDF::real const & + xfx: enum NNPDF::PDFSet::intType + gslerror: bool & + arg7: gsl_integration_workspace * + xmin: NNPDF::real + xmax: NNPDF::real + + """ + return _nnpdf.PDFSet_IntegratePDF(self, mem, fl, Q2, xfx, gslerror, arg7, xmin, xmax) + + @staticmethod + def errString(type): + r""" + errString(NNPDF::PDFSet::erType const & type) -> std::string + + Parameters + ---------- + type: NNPDF::PDFSet::erType const & + + """ + return _nnpdf.PDFSet_errString(type) + + @staticmethod + def LHA2EVLN(LHA, EVLN): + r""" + LHA2EVLN(NNPDF::real const * LHA, NNPDF::real * EVLN) + + Parameters + ---------- + LHA: NNPDF::real const * + EVLN: NNPDF::real * + + """ + return _nnpdf.PDFSet_LHA2EVLN(LHA, EVLN) + + @staticmethod + def EVLN2LHA(EVL, LHA): + r""" + EVLN2LHA(NNPDF::real const * EVL, NNPDF::real * LHA) + + Parameters + ---------- + EVL: NNPDF::real const * + LHA: NNPDF::real * + + """ + return _nnpdf.PDFSet_EVLN2LHA(EVL, LHA) + +# Register PDFSet in _nnpdf: +_nnpdf.PDFSet_swigregister(PDFSet) + +def PDFSet_fl_labels(): + r"""PDFSet_fl_labels() -> std::array< std::string,14 > const""" + return _nnpdf.PDFSet_fl_labels() + +def PDFSet_errString(type): + r""" + PDFSet_errString(NNPDF::PDFSet::erType const & type) -> std::string + + Parameters + ---------- + type: NNPDF::PDFSet::erType const & + + """ + return _nnpdf.PDFSet_errString(type) + +def PDFSet_LHA2EVLN(LHA, EVLN): + r""" + PDFSet_LHA2EVLN(NNPDF::real const * LHA, NNPDF::real * EVLN) + + Parameters + ---------- + LHA: NNPDF::real const * + EVLN: NNPDF::real * + + """ + return _nnpdf.PDFSet_LHA2EVLN(LHA, EVLN) + +def PDFSet_EVLN2LHA(EVL, LHA): + r""" + PDFSet_EVLN2LHA(NNPDF::real const * EVL, NNPDF::real * LHA) + + Parameters + ---------- + EVL: NNPDF::real const * + LHA: NNPDF::real * + + """ + return _nnpdf.PDFSet_EVLN2LHA(EVL, LHA) + +class LHAPDFSet(PDFSet): + r"""Proxy of C++ NNPDF::LHAPDFSet class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, arg2, arg3): + r""" + __init__(LHAPDFSet self, std::string const & arg2, NNPDF::PDFSet::erType arg3) -> LHAPDFSet + + Parameters + ---------- + arg2: std::string const & + arg3: enum NNPDF::PDFSet::erType + + """ + _nnpdf.LHAPDFSet_swiginit(self, _nnpdf.new_LHAPDFSet(arg2, arg3)) + __swig_destroy__ = _nnpdf.delete_LHAPDFSet + + def GetPDF(self, x, Q2, n, pdf): + r""" + GetPDF(LHAPDFSet self, NNPDF::real const & x, NNPDF::real const & Q2, int const & n, NNPDF::real * pdf) + + Parameters + ---------- + x: NNPDF::real const & + Q2: NNPDF::real const & + n: int const & + pdf: NNPDF::real * + + """ + return _nnpdf.LHAPDFSet_GetPDF(self, x, Q2, n, pdf) + + def hasFlavor(self, pdgid): + r""" + hasFlavor(LHAPDFSet self, int pdgid) -> bool + + Parameters + ---------- + pdgid: int + + """ + return _nnpdf.LHAPDFSet_hasFlavor(self, pdgid) + + def xfxQ(self, x, Q, n, fl): + r""" + xfxQ(LHAPDFSet self, NNPDF::real const & x, NNPDF::real const & Q, int const & n, int const & fl) -> NNPDF::real + + Parameters + ---------- + x: NNPDF::real const & + Q: NNPDF::real const & + n: int const & + fl: int const & + + """ + return _nnpdf.LHAPDFSet_xfxQ(self, x, Q, n, fl) + + def grid_values(self, flmat, xmat, qmat): + r""" + grid_values(LHAPDFSet self, int * flmat, NNPDF::real * xmat, NNPDF::real * qmat) + + Parameters + ---------- + flmat: int * + xmat: NNPDF::real * + qmat: NNPDF::real * + + """ + return _nnpdf.LHAPDFSet_grid_values(self, flmat, xmat, qmat) + +# Register LHAPDFSet in _nnpdf: +_nnpdf.LHAPDFSet_swigregister(LHAPDFSet) + +def single_replica(arg1, arg2): + r""" + single_replica(std::string const & arg1, int const & arg2) -> LHAPDFSet + + Parameters + ---------- + arg1: std::string const & + arg2: int const & + + """ + val = _nnpdf.new_single_replica(arg1, arg2) + return val + + +def verbosity(): + r"""verbosity() -> int""" + return _nnpdf.verbosity() + +def SetLHAPDFVerbosity(v): + r""" + SetLHAPDFVerbosity(int v) + + Parameters + ---------- + v: int + + """ + return _nnpdf.SetLHAPDFVerbosity(v) +class FKHeader(object): + r"""Proxy of C++ NNPDF::FKHeader class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, *args): + r""" + __init__(FKHeader self) -> FKHeader + __init__(FKHeader self, std::istream & arg2) -> FKHeader + + Parameters + ---------- + arg2: std::istream & + + __init__(FKHeader self, std::string const & filename) -> FKHeader + + Parameters + ---------- + filename: std::string const & + + __init__(FKHeader self, FKHeader arg2) -> FKHeader + + Parameters + ---------- + arg2: NNPDF::FKHeader const & + + """ + _nnpdf.FKHeader_swiginit(self, _nnpdf.new_FKHeader(*args)) + __swig_destroy__ = _nnpdf.delete_FKHeader + + def Read(self, arg2): + r""" + Read(FKHeader self, std::istream & arg2) + + Parameters + ---------- + arg2: std::istream & + + """ + return _nnpdf.FKHeader_Read(self, arg2) + + def Print(self, arg2): + r""" + Print(FKHeader self, std::ostream & arg2) + + Parameters + ---------- + arg2: std::ostream & + + """ + return _nnpdf.FKHeader_Print(self, arg2) + + def ResetFlavourMap(self): + r"""ResetFlavourMap(FKHeader self)""" + return _nnpdf.FKHeader_ResetFlavourMap(self) + VERSIONS = _nnpdf.FKHeader_VERSIONS + + GRIDINFO = _nnpdf.FKHeader_GRIDINFO + + THEORYINFO = _nnpdf.FKHeader_THEORYINFO + + BLOB = _nnpdf.FKHeader_BLOB + + + def AddTag(self, *args): + r""" + AddTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key, char const * value) + + Parameters + ---------- + sec: enum NNPDF::FKHeader::section + key: std::string const & + value: char const * + + AddTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key, std::string const & value) + + Parameters + ---------- + sec: enum NNPDF::FKHeader::section + key: std::string const & + value: std::string const & + + """ + return _nnpdf.FKHeader_AddTag(self, *args) + + def HasTag(self, sec, key): + r""" + HasTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key) -> bool + + Parameters + ---------- + sec: enum NNPDF::FKHeader::section + key: std::string const & + + """ + return _nnpdf.FKHeader_HasTag(self, sec, key) + + def GetTag(self, sec, key): + r""" + GetTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key) -> std::string + + Parameters + ---------- + sec: enum NNPDF::FKHeader::section + key: std::string const & + + """ + return _nnpdf.FKHeader_GetTag(self, sec, key) + +# Register FKHeader in _nnpdf: +_nnpdf.FKHeader_swigregister(FKHeader) + +class FKTable(object): + r"""Proxy of C++ NNPDF::FKTable class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, *args): + r""" + __init__(FKTable self, std::istream & arg2, vector_str cFactors=std::vector< std::string >()) -> FKTable + + Parameters + ---------- + arg2: std::istream & + cFactors: std::vector< std::string,std::allocator< std::string > > const & + + __init__(FKTable self, std::string const & filename, vector_str cfactors=std::vector< std::string >()) -> FKTable + + Parameters + ---------- + filename: std::string const & + cfactors: std::vector< std::string,std::allocator< std::string > > const & + + __init__(FKTable self, FKTable arg2) -> FKTable + + Parameters + ---------- + arg2: NNPDF::FKTable const & + + __init__(FKTable self, FKTable arg2, vector_int arg3) -> FKTable + + Parameters + ---------- + arg2: NNPDF::FKTable const & + arg3: std::vector< int,std::allocator< int > > const & + + """ + _nnpdf.FKTable_swiginit(self, _nnpdf.new_FKTable(*args)) + __swig_destroy__ = _nnpdf.delete_FKTable + + def Print(self, *args): + r""" + Print(FKTable self, std::ostream & arg2) + + Parameters + ---------- + arg2: std::ostream & + + Print(FKTable self, std::string const & arg2, bool const & compress=True) + + Parameters + ---------- + arg2: std::string const & + compress: bool const & + + """ + return _nnpdf.FKTable_Print(self, *args) + + def GetDataName(self): + r"""GetDataName(FKTable self) -> std::string const &""" + return _nnpdf.FKTable_GetDataName(self) + + def GetQ20(self): + r"""GetQ20(FKTable self) -> double const &""" + return _nnpdf.FKTable_GetQ20(self) + + def GetCFactors(self): + r"""GetCFactors(FKTable self) -> double const *""" + return _nnpdf.FKTable_GetCFactors(self) + + def GetCUncerts(self): + r"""GetCUncerts(FKTable self) -> double const *""" + return _nnpdf.FKTable_GetCUncerts(self) + + def GetNData(self): + r"""GetNData(FKTable self) -> int const &""" + return _nnpdf.FKTable_GetNData(self) + + def GetNx(self): + r"""GetNx(FKTable self) -> int const &""" + return _nnpdf.FKTable_GetNx(self) + + def GetTx(self): + r"""GetTx(FKTable self) -> int const &""" + return _nnpdf.FKTable_GetTx(self) + + def GetDSz(self): + r"""GetDSz(FKTable self) -> int const &""" + return _nnpdf.FKTable_GetDSz(self) + + def GetXGrid(self): + r"""GetXGrid(FKTable self) -> double *""" + return _nnpdf.FKTable_GetXGrid(self) + + def GetSigma(self): + r"""GetSigma(FKTable self) -> NNPDF::real *""" + return _nnpdf.FKTable_GetSigma(self) + + def GetFlmap(self): + r"""GetFlmap(FKTable self) -> int *""" + return _nnpdf.FKTable_GetFlmap(self) + + def GetNonZero(self): + r"""GetNonZero(FKTable self) -> int const &""" + return _nnpdf.FKTable_GetNonZero(self) + + def IsHadronic(self): + r"""IsHadronic(FKTable self) -> bool const &""" + return _nnpdf.FKTable_IsHadronic(self) + + def GetTag(self, sec, key): + r""" + GetTag(FKTable self, NNPDF::FKHeader::section sec, std::string const & key) -> std::string + + Parameters + ---------- + sec: enum NNPDF::FKHeader::section + key: std::string const & + + """ + return _nnpdf.FKTable_GetTag(self, sec, key) + + def GetISig(self, *args): + r""" + GetISig(FKTable self, int const & d, int const & ix1, int const & ix2, int const & ifl1, int const & ifl2) -> int + + Parameters + ---------- + d: int const & + ix1: int const & + ix2: int const & + ifl1: int const & + ifl2: int const & + + GetISig(FKTable self, int const & d, int const & ix, int const & ifl) -> int + + Parameters + ---------- + d: int const & + ix: int const & + ifl: int const & + + """ + return _nnpdf.FKTable_GetISig(self, *args) + + def get_xgrid(self): + r"""get_xgrid(FKTable self)""" + return _nnpdf.FKTable_get_xgrid(self) + + def get_sigma(self): + r"""get_sigma(FKTable self)""" + return _nnpdf.FKTable_get_sigma(self) + + def get_flmap(self): + r"""get_flmap(FKTable self)""" + return _nnpdf.FKTable_get_flmap(self) + +# Register FKTable in _nnpdf: +_nnpdf.FKTable_swigregister(FKTable) + +class vector_fktable_p(object): + r"""Proxy of C++ std::vector< NNPDF::FKTable * > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(vector_fktable_p self) -> SwigPyIterator""" + return _nnpdf.vector_fktable_p_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(vector_fktable_p self) -> bool""" + return _nnpdf.vector_fktable_p___nonzero__(self) + + def __bool__(self): + r"""__bool__(vector_fktable_p self) -> bool""" + return _nnpdf.vector_fktable_p___bool__(self) + + def __len__(self): + r"""__len__(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::size_type""" + return _nnpdf.vector_fktable_p___len__(self) + + def __getslice__(self, i, j): + r""" + __getslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j) -> vector_fktable_p + + Parameters + ---------- + i: std::vector< NNPDF::FKTable * >::difference_type + j: std::vector< NNPDF::FKTable * >::difference_type + + """ + return _nnpdf.vector_fktable_p___getslice__(self, i, j) + + def __setslice__(self, *args): + r""" + __setslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::FKTable * >::difference_type + j: std::vector< NNPDF::FKTable * >::difference_type + + __setslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j, vector_fktable_p v) + + Parameters + ---------- + i: std::vector< NNPDF::FKTable * >::difference_type + j: std::vector< NNPDF::FKTable * >::difference_type + v: std::vector< NNPDF::FKTable *,std::allocator< NNPDF::FKTable * > > const & + + """ + return _nnpdf.vector_fktable_p___setslice__(self, *args) + + def __delslice__(self, i, j): + r""" + __delslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::FKTable * >::difference_type + j: std::vector< NNPDF::FKTable * >::difference_type + + """ + return _nnpdf.vector_fktable_p___delslice__(self, i, j) + + def __delitem__(self, *args): + r""" + __delitem__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i) + + Parameters + ---------- + i: std::vector< NNPDF::FKTable * >::difference_type + + __delitem__(vector_fktable_p self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + """ + return _nnpdf.vector_fktable_p___delitem__(self, *args) + + def __getitem__(self, *args): + r""" + __getitem__(vector_fktable_p self, PySliceObject * slice) -> vector_fktable_p + + Parameters + ---------- + slice: PySliceObject * + + __getitem__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i) -> FKTable + + Parameters + ---------- + i: std::vector< NNPDF::FKTable * >::difference_type + + """ + return _nnpdf.vector_fktable_p___getitem__(self, *args) + + def __setitem__(self, *args): + r""" + __setitem__(vector_fktable_p self, PySliceObject * slice, vector_fktable_p v) + + Parameters + ---------- + slice: PySliceObject * + v: std::vector< NNPDF::FKTable *,std::allocator< NNPDF::FKTable * > > const & + + __setitem__(vector_fktable_p self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + __setitem__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, FKTable x) + + Parameters + ---------- + i: std::vector< NNPDF::FKTable * >::difference_type + x: std::vector< NNPDF::FKTable * >::value_type + + """ + return _nnpdf.vector_fktable_p___setitem__(self, *args) + + def pop(self): + r"""pop(vector_fktable_p self) -> FKTable""" + return _nnpdf.vector_fktable_p_pop(self) + + def append(self, x): + r""" + append(vector_fktable_p self, FKTable x) + + Parameters + ---------- + x: std::vector< NNPDF::FKTable * >::value_type + + """ + return _nnpdf.vector_fktable_p_append(self, x) + + def empty(self): + r"""empty(vector_fktable_p self) -> bool""" + return _nnpdf.vector_fktable_p_empty(self) + + def size(self): + r"""size(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::size_type""" + return _nnpdf.vector_fktable_p_size(self) + + def swap(self, v): + r""" + swap(vector_fktable_p self, vector_fktable_p v) + + Parameters + ---------- + v: std::vector< NNPDF::FKTable * > & + + """ + return _nnpdf.vector_fktable_p_swap(self, v) + + def begin(self): + r"""begin(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::iterator""" + return _nnpdf.vector_fktable_p_begin(self) + + def end(self): + r"""end(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::iterator""" + return _nnpdf.vector_fktable_p_end(self) + + def rbegin(self): + r"""rbegin(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::reverse_iterator""" + return _nnpdf.vector_fktable_p_rbegin(self) + + def rend(self): + r"""rend(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::reverse_iterator""" + return _nnpdf.vector_fktable_p_rend(self) + + def clear(self): + r"""clear(vector_fktable_p self)""" + return _nnpdf.vector_fktable_p_clear(self) + + def get_allocator(self): + r"""get_allocator(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::allocator_type""" + return _nnpdf.vector_fktable_p_get_allocator(self) + + def pop_back(self): + r"""pop_back(vector_fktable_p self)""" + return _nnpdf.vector_fktable_p_pop_back(self) + + def erase(self, *args): + r""" + erase(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator pos) -> std::vector< NNPDF::FKTable * >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::FKTable * >::iterator + + erase(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator first, std::vector< NNPDF::FKTable * >::iterator last) -> std::vector< NNPDF::FKTable * >::iterator + + Parameters + ---------- + first: std::vector< NNPDF::FKTable * >::iterator + last: std::vector< NNPDF::FKTable * >::iterator + + """ + return _nnpdf.vector_fktable_p_erase(self, *args) + + def __init__(self, *args): + r""" + __init__(vector_fktable_p self) -> vector_fktable_p + __init__(vector_fktable_p self, vector_fktable_p other) -> vector_fktable_p + + Parameters + ---------- + other: std::vector< NNPDF::FKTable * > const & + + __init__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type size) -> vector_fktable_p + + Parameters + ---------- + size: std::vector< NNPDF::FKTable * >::size_type + + __init__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type size, FKTable value) -> vector_fktable_p + + Parameters + ---------- + size: std::vector< NNPDF::FKTable * >::size_type + value: std::vector< NNPDF::FKTable * >::value_type + + """ + _nnpdf.vector_fktable_p_swiginit(self, _nnpdf.new_vector_fktable_p(*args)) + + def push_back(self, x): + r""" + push_back(vector_fktable_p self, FKTable x) + + Parameters + ---------- + x: std::vector< NNPDF::FKTable * >::value_type + + """ + return _nnpdf.vector_fktable_p_push_back(self, x) + + def front(self): + r"""front(vector_fktable_p self) -> FKTable""" + return _nnpdf.vector_fktable_p_front(self) + + def back(self): + r"""back(vector_fktable_p self) -> FKTable""" + return _nnpdf.vector_fktable_p_back(self) + + def assign(self, n, x): + r""" + assign(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type n, FKTable x) + + Parameters + ---------- + n: std::vector< NNPDF::FKTable * >::size_type + x: std::vector< NNPDF::FKTable * >::value_type + + """ + return _nnpdf.vector_fktable_p_assign(self, n, x) + + def resize(self, *args): + r""" + resize(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type new_size) + + Parameters + ---------- + new_size: std::vector< NNPDF::FKTable * >::size_type + + resize(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type new_size, FKTable x) + + Parameters + ---------- + new_size: std::vector< NNPDF::FKTable * >::size_type + x: std::vector< NNPDF::FKTable * >::value_type + + """ + return _nnpdf.vector_fktable_p_resize(self, *args) + + def insert(self, *args): + r""" + insert(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator pos, FKTable x) -> std::vector< NNPDF::FKTable * >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::FKTable * >::iterator + x: std::vector< NNPDF::FKTable * >::value_type + + insert(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator pos, std::vector< NNPDF::FKTable * >::size_type n, FKTable x) + + Parameters + ---------- + pos: std::vector< NNPDF::FKTable * >::iterator + n: std::vector< NNPDF::FKTable * >::size_type + x: std::vector< NNPDF::FKTable * >::value_type + + """ + return _nnpdf.vector_fktable_p_insert(self, *args) + + def reserve(self, n): + r""" + reserve(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type n) + + Parameters + ---------- + n: std::vector< NNPDF::FKTable * >::size_type + + """ + return _nnpdf.vector_fktable_p_reserve(self, n) + + def capacity(self): + r"""capacity(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::size_type""" + return _nnpdf.vector_fktable_p_capacity(self) + __swig_destroy__ = _nnpdf.delete_vector_fktable_p + +# Register vector_fktable_p in _nnpdf: +_nnpdf.vector_fktable_p_swigregister(vector_fktable_p) + +class FKSet(object): + r"""Proxy of C++ NNPDF::FKSet class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + __swig_destroy__ = _nnpdf.delete_FKSet + + def __init__(self, *args): + r""" + __init__(FKSet self, NNPDF::SigmaOp arg2, vector_fktable_p arg3) -> FKSet + + Parameters + ---------- + arg2: NNPDF::SigmaOp + arg3: std::vector< NNPDF::FKTable *,std::allocator< NNPDF::FKTable * > > const & + + __init__(FKSet self, FKSet arg2) -> FKSet + + Parameters + ---------- + arg2: NNPDF::FKSet const & + + __init__(FKSet self, FKSet arg2, vector_int arg3) -> FKSet + + Parameters + ---------- + arg2: NNPDF::FKSet const & + arg3: std::vector< int,std::allocator< int > > const & + + """ + _nnpdf.FKSet_swiginit(self, _nnpdf.new_FKSet(*args)) + + def GetOperator(self): + r"""GetOperator(FKSet self) -> NNPDF::SigmaOp""" + return _nnpdf.FKSet_GetOperator(self) + + def GetNSigma(self): + r"""GetNSigma(FKSet self) -> int const &""" + return _nnpdf.FKSet_GetNSigma(self) + + def GetNDataFK(self): + r"""GetNDataFK(FKSet self) -> int const &""" + return _nnpdf.FKSet_GetNDataFK(self) + + def IsHadronic(self): + r"""IsHadronic(FKSet self) -> bool const &""" + return _nnpdf.FKSet_IsHadronic(self) + + def GetDataName(self): + r"""GetDataName(FKSet self) -> std::string const &""" + return _nnpdf.FKSet_GetDataName(self) + + def GetFK(self, i): + r""" + GetFK(FKSet self, size_t const & i) -> FKTable + + Parameters + ---------- + i: size_t const & + + """ + return _nnpdf.FKSet_GetFK(self, i) + + @staticmethod + def parseOperator(op): + r""" + parseOperator(std::string const & op) -> NNPDF::SigmaOp + + Parameters + ---------- + op: std::string const & + + """ + return _nnpdf.FKSet_parseOperator(op) + +# Register FKSet in _nnpdf: +_nnpdf.FKSet_swigregister(FKSet) + +def FKSet_parseOperator(op): + r""" + FKSet_parseOperator(std::string const & op) -> NNPDF::SigmaOp + + Parameters + ---------- + op: std::string const & + + """ + return _nnpdf.FKSet_parseOperator(op) + +class DataSet(CommonData, FKSet): + r"""Proxy of C++ NNPDF::DataSet class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, *args): + r""" + __init__(DataSet self, CommonData arg2, FKSet arg3, double weight=1.) -> DataSet + + Parameters + ---------- + arg2: NNPDF::CommonData const & + arg3: NNPDF::FKSet const & + weight: double + + __init__(DataSet self, DataSet arg2, vector_int arg3) -> DataSet + + Parameters + ---------- + arg2: NNPDF::DataSet const & + arg3: std::vector< int,std::allocator< int > > const & + + __init__(DataSet self, DataSet arg2) -> DataSet + + Parameters + ---------- + arg2: NNPDF::DataSet const & + + """ + _nnpdf.DataSet_swiginit(self, _nnpdf.new_DataSet(*args)) + __swig_destroy__ = _nnpdf.delete_DataSet + + def SetT0(self, *args): + r""" + SetT0(DataSet self, ThPredictions arg2) + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + SetT0(DataSet self, PDFSet arg2) + + Parameters + ---------- + arg2: NNPDF::PDFSet const & + + """ + return _nnpdf.DataSet_SetT0(self, *args) + + def IsT0(self): + r"""IsT0(DataSet self) -> bool const &""" + return _nnpdf.DataSet_IsT0(self) + + def GetT0Pred(self, i): + r""" + GetT0Pred(DataSet self, int i) -> double const & + + Parameters + ---------- + i: int + + """ + return _nnpdf.DataSet_GetT0Pred(self, i) + + def GetWeight(self): + r"""GetWeight(DataSet self) -> double""" + return _nnpdf.DataSet_GetWeight(self) + + def GetCovMat(self): + r"""GetCovMat(DataSet self) -> matrix_double""" + return _nnpdf.DataSet_GetCovMat(self) + + def GetSqrtCov(self, *args): + r""" + GetSqrtCov(DataSet self) -> matrix_double + GetSqrtCov(DataSet self, int i, int j) -> double + + Parameters + ---------- + i: int + j: int + + """ + return _nnpdf.DataSet_GetSqrtCov(self, *args) + + def IsArtificial(self): + r"""IsArtificial(DataSet self) -> bool const &""" + return _nnpdf.DataSet_IsArtificial(self) + + def UpdateData(self, *args): + r""" + UpdateData(DataSet self, double * newdat) + + Parameters + ---------- + newdat: double * + + UpdateData(DataSet self, double * newdat, double * norm) + + Parameters + ---------- + newdat: double * + norm: double * + + """ + return _nnpdf.DataSet_UpdateData(self, *args) + + def SetArtificial(self, artificial): + r""" + SetArtificial(DataSet self, bool const & artificial) + + Parameters + ---------- + artificial: bool const & + + """ + return _nnpdf.DataSet_SetArtificial(self, artificial) + + def RescaleErrors(self, mult): + r""" + RescaleErrors(DataSet self, double const mult) + + Parameters + ---------- + mult: double const + + """ + return _nnpdf.DataSet_RescaleErrors(self, mult) + + def get_covmat(self): + r""" + get_covmat(DataSet self) + Return a copy of the experiment covariance matrix. + """ + return _nnpdf.DataSet_get_covmat(self) + + def get_sqrtcovmat(self): + r"""get_sqrtcovmat(DataSet self)""" + return _nnpdf.DataSet_get_sqrtcovmat(self) + + + def __len__(self): + return self.GetNData(); + + + +# Register DataSet in _nnpdf: +_nnpdf.DataSet_swigregister(DataSet) + +class vector_dataset(object): + r"""Proxy of C++ std::vector< NNPDF::DataSet > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(vector_dataset self) -> SwigPyIterator""" + return _nnpdf.vector_dataset_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(vector_dataset self) -> bool""" + return _nnpdf.vector_dataset___nonzero__(self) + + def __bool__(self): + r"""__bool__(vector_dataset self) -> bool""" + return _nnpdf.vector_dataset___bool__(self) + + def __len__(self): + r"""__len__(vector_dataset self) -> std::vector< NNPDF::DataSet >::size_type""" + return _nnpdf.vector_dataset___len__(self) + + def __getslice__(self, i, j): + r""" + __getslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j) -> vector_dataset + + Parameters + ---------- + i: std::vector< NNPDF::DataSet >::difference_type + j: std::vector< NNPDF::DataSet >::difference_type + + """ + return _nnpdf.vector_dataset___getslice__(self, i, j) + + def __setslice__(self, *args): + r""" + __setslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::DataSet >::difference_type + j: std::vector< NNPDF::DataSet >::difference_type + + __setslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j, vector_dataset v) + + Parameters + ---------- + i: std::vector< NNPDF::DataSet >::difference_type + j: std::vector< NNPDF::DataSet >::difference_type + v: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & + + """ + return _nnpdf.vector_dataset___setslice__(self, *args) + + def __delslice__(self, i, j): + r""" + __delslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::DataSet >::difference_type + j: std::vector< NNPDF::DataSet >::difference_type + + """ + return _nnpdf.vector_dataset___delslice__(self, i, j) + + def __delitem__(self, *args): + r""" + __delitem__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i) + + Parameters + ---------- + i: std::vector< NNPDF::DataSet >::difference_type + + __delitem__(vector_dataset self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + """ + return _nnpdf.vector_dataset___delitem__(self, *args) + + def __getitem__(self, *args): + r""" + __getitem__(vector_dataset self, PySliceObject * slice) -> vector_dataset + + Parameters + ---------- + slice: PySliceObject * + + __getitem__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i) -> DataSet + + Parameters + ---------- + i: std::vector< NNPDF::DataSet >::difference_type + + """ + return _nnpdf.vector_dataset___getitem__(self, *args) + + def __setitem__(self, *args): + r""" + __setitem__(vector_dataset self, PySliceObject * slice, vector_dataset v) + + Parameters + ---------- + slice: PySliceObject * + v: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & + + __setitem__(vector_dataset self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + __setitem__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, DataSet x) + + Parameters + ---------- + i: std::vector< NNPDF::DataSet >::difference_type + x: std::vector< NNPDF::DataSet >::value_type const & + + """ + return _nnpdf.vector_dataset___setitem__(self, *args) + + def pop(self): + r"""pop(vector_dataset self) -> DataSet""" + return _nnpdf.vector_dataset_pop(self) + + def append(self, x): + r""" + append(vector_dataset self, DataSet x) + + Parameters + ---------- + x: std::vector< NNPDF::DataSet >::value_type const & + + """ + return _nnpdf.vector_dataset_append(self, x) + + def empty(self): + r"""empty(vector_dataset self) -> bool""" + return _nnpdf.vector_dataset_empty(self) + + def size(self): + r"""size(vector_dataset self) -> std::vector< NNPDF::DataSet >::size_type""" + return _nnpdf.vector_dataset_size(self) + + def swap(self, v): + r""" + swap(vector_dataset self, vector_dataset v) + + Parameters + ---------- + v: std::vector< NNPDF::DataSet > & + + """ + return _nnpdf.vector_dataset_swap(self, v) + + def begin(self): + r"""begin(vector_dataset self) -> std::vector< NNPDF::DataSet >::iterator""" + return _nnpdf.vector_dataset_begin(self) + + def end(self): + r"""end(vector_dataset self) -> std::vector< NNPDF::DataSet >::iterator""" + return _nnpdf.vector_dataset_end(self) + + def rbegin(self): + r"""rbegin(vector_dataset self) -> std::vector< NNPDF::DataSet >::reverse_iterator""" + return _nnpdf.vector_dataset_rbegin(self) + + def rend(self): + r"""rend(vector_dataset self) -> std::vector< NNPDF::DataSet >::reverse_iterator""" + return _nnpdf.vector_dataset_rend(self) + + def clear(self): + r"""clear(vector_dataset self)""" + return _nnpdf.vector_dataset_clear(self) + + def get_allocator(self): + r"""get_allocator(vector_dataset self) -> std::vector< NNPDF::DataSet >::allocator_type""" + return _nnpdf.vector_dataset_get_allocator(self) + + def pop_back(self): + r"""pop_back(vector_dataset self)""" + return _nnpdf.vector_dataset_pop_back(self) + + def erase(self, *args): + r""" + erase(vector_dataset self, std::vector< NNPDF::DataSet >::iterator pos) -> std::vector< NNPDF::DataSet >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::DataSet >::iterator + + erase(vector_dataset self, std::vector< NNPDF::DataSet >::iterator first, std::vector< NNPDF::DataSet >::iterator last) -> std::vector< NNPDF::DataSet >::iterator + + Parameters + ---------- + first: std::vector< NNPDF::DataSet >::iterator + last: std::vector< NNPDF::DataSet >::iterator + + """ + return _nnpdf.vector_dataset_erase(self, *args) + + def __init__(self, *args): + r""" + __init__(vector_dataset self) -> vector_dataset + __init__(vector_dataset self, vector_dataset other) -> vector_dataset + + Parameters + ---------- + other: std::vector< NNPDF::DataSet > const & + + __init__(vector_dataset self, std::vector< NNPDF::DataSet >::size_type size, DataSet value) -> vector_dataset + + Parameters + ---------- + size: std::vector< NNPDF::DataSet >::size_type + value: std::vector< NNPDF::DataSet >::value_type const & + + """ + _nnpdf.vector_dataset_swiginit(self, _nnpdf.new_vector_dataset(*args)) + + def push_back(self, x): + r""" + push_back(vector_dataset self, DataSet x) + + Parameters + ---------- + x: std::vector< NNPDF::DataSet >::value_type const & + + """ + return _nnpdf.vector_dataset_push_back(self, x) + + def front(self): + r"""front(vector_dataset self) -> DataSet""" + return _nnpdf.vector_dataset_front(self) + + def back(self): + r"""back(vector_dataset self) -> DataSet""" + return _nnpdf.vector_dataset_back(self) + + def assign(self, n, x): + r""" + assign(vector_dataset self, std::vector< NNPDF::DataSet >::size_type n, DataSet x) + + Parameters + ---------- + n: std::vector< NNPDF::DataSet >::size_type + x: std::vector< NNPDF::DataSet >::value_type const & + + """ + return _nnpdf.vector_dataset_assign(self, n, x) + + def insert(self, *args): + r""" + insert(vector_dataset self, std::vector< NNPDF::DataSet >::iterator pos, DataSet x) -> std::vector< NNPDF::DataSet >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::DataSet >::iterator + x: std::vector< NNPDF::DataSet >::value_type const & + + insert(vector_dataset self, std::vector< NNPDF::DataSet >::iterator pos, std::vector< NNPDF::DataSet >::size_type n, DataSet x) + + Parameters + ---------- + pos: std::vector< NNPDF::DataSet >::iterator + n: std::vector< NNPDF::DataSet >::size_type + x: std::vector< NNPDF::DataSet >::value_type const & + + """ + return _nnpdf.vector_dataset_insert(self, *args) + + def reserve(self, n): + r""" + reserve(vector_dataset self, std::vector< NNPDF::DataSet >::size_type n) + + Parameters + ---------- + n: std::vector< NNPDF::DataSet >::size_type + + """ + return _nnpdf.vector_dataset_reserve(self, n) + + def capacity(self): + r"""capacity(vector_dataset self) -> std::vector< NNPDF::DataSet >::size_type""" + return _nnpdf.vector_dataset_capacity(self) + __swig_destroy__ = _nnpdf.delete_vector_dataset + +# Register vector_dataset in _nnpdf: +_nnpdf.vector_dataset_swigregister(vector_dataset) + +class vector_thpredictions(object): + r"""Proxy of C++ std::vector< NNPDF::ThPredictions > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(vector_thpredictions self) -> SwigPyIterator""" + return _nnpdf.vector_thpredictions_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(vector_thpredictions self) -> bool""" + return _nnpdf.vector_thpredictions___nonzero__(self) + + def __bool__(self): + r"""__bool__(vector_thpredictions self) -> bool""" + return _nnpdf.vector_thpredictions___bool__(self) + + def __len__(self): + r"""__len__(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::size_type""" + return _nnpdf.vector_thpredictions___len__(self) + + def __getslice__(self, i, j): + r""" + __getslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j) -> vector_thpredictions + + Parameters + ---------- + i: std::vector< NNPDF::ThPredictions >::difference_type + j: std::vector< NNPDF::ThPredictions >::difference_type + + """ + return _nnpdf.vector_thpredictions___getslice__(self, i, j) + + def __setslice__(self, *args): + r""" + __setslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::ThPredictions >::difference_type + j: std::vector< NNPDF::ThPredictions >::difference_type + + __setslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j, vector_thpredictions v) + + Parameters + ---------- + i: std::vector< NNPDF::ThPredictions >::difference_type + j: std::vector< NNPDF::ThPredictions >::difference_type + v: std::vector< NNPDF::ThPredictions,std::allocator< NNPDF::ThPredictions > > const & + + """ + return _nnpdf.vector_thpredictions___setslice__(self, *args) + + def __delslice__(self, i, j): + r""" + __delslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::ThPredictions >::difference_type + j: std::vector< NNPDF::ThPredictions >::difference_type + + """ + return _nnpdf.vector_thpredictions___delslice__(self, i, j) + + def __delitem__(self, *args): + r""" + __delitem__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i) + + Parameters + ---------- + i: std::vector< NNPDF::ThPredictions >::difference_type + + __delitem__(vector_thpredictions self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + """ + return _nnpdf.vector_thpredictions___delitem__(self, *args) + + def __getitem__(self, *args): + r""" + __getitem__(vector_thpredictions self, PySliceObject * slice) -> vector_thpredictions + + Parameters + ---------- + slice: PySliceObject * + + __getitem__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i) -> ThPredictions + + Parameters + ---------- + i: std::vector< NNPDF::ThPredictions >::difference_type + + """ + return _nnpdf.vector_thpredictions___getitem__(self, *args) + + def __setitem__(self, *args): + r""" + __setitem__(vector_thpredictions self, PySliceObject * slice, vector_thpredictions v) + + Parameters + ---------- + slice: PySliceObject * + v: std::vector< NNPDF::ThPredictions,std::allocator< NNPDF::ThPredictions > > const & + + __setitem__(vector_thpredictions self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + __setitem__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, ThPredictions x) + + Parameters + ---------- + i: std::vector< NNPDF::ThPredictions >::difference_type + x: std::vector< NNPDF::ThPredictions >::value_type const & + + """ + return _nnpdf.vector_thpredictions___setitem__(self, *args) + + def pop(self): + r"""pop(vector_thpredictions self) -> ThPredictions""" + return _nnpdf.vector_thpredictions_pop(self) + + def append(self, x): + r""" + append(vector_thpredictions self, ThPredictions x) + + Parameters + ---------- + x: std::vector< NNPDF::ThPredictions >::value_type const & + + """ + return _nnpdf.vector_thpredictions_append(self, x) + + def empty(self): + r"""empty(vector_thpredictions self) -> bool""" + return _nnpdf.vector_thpredictions_empty(self) + + def size(self): + r"""size(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::size_type""" + return _nnpdf.vector_thpredictions_size(self) + + def swap(self, v): + r""" + swap(vector_thpredictions self, vector_thpredictions v) + + Parameters + ---------- + v: std::vector< NNPDF::ThPredictions > & + + """ + return _nnpdf.vector_thpredictions_swap(self, v) + + def begin(self): + r"""begin(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::iterator""" + return _nnpdf.vector_thpredictions_begin(self) + + def end(self): + r"""end(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::iterator""" + return _nnpdf.vector_thpredictions_end(self) + + def rbegin(self): + r"""rbegin(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::reverse_iterator""" + return _nnpdf.vector_thpredictions_rbegin(self) + + def rend(self): + r"""rend(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::reverse_iterator""" + return _nnpdf.vector_thpredictions_rend(self) + + def clear(self): + r"""clear(vector_thpredictions self)""" + return _nnpdf.vector_thpredictions_clear(self) + + def get_allocator(self): + r"""get_allocator(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::allocator_type""" + return _nnpdf.vector_thpredictions_get_allocator(self) + + def pop_back(self): + r"""pop_back(vector_thpredictions self)""" + return _nnpdf.vector_thpredictions_pop_back(self) + + def erase(self, *args): + r""" + erase(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator pos) -> std::vector< NNPDF::ThPredictions >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::ThPredictions >::iterator + + erase(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator first, std::vector< NNPDF::ThPredictions >::iterator last) -> std::vector< NNPDF::ThPredictions >::iterator + + Parameters + ---------- + first: std::vector< NNPDF::ThPredictions >::iterator + last: std::vector< NNPDF::ThPredictions >::iterator + + """ + return _nnpdf.vector_thpredictions_erase(self, *args) + + def __init__(self, *args): + r""" + __init__(vector_thpredictions self) -> vector_thpredictions + __init__(vector_thpredictions self, vector_thpredictions other) -> vector_thpredictions + + Parameters + ---------- + other: std::vector< NNPDF::ThPredictions > const & + + __init__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::size_type size, ThPredictions value) -> vector_thpredictions + + Parameters + ---------- + size: std::vector< NNPDF::ThPredictions >::size_type + value: std::vector< NNPDF::ThPredictions >::value_type const & + + """ + _nnpdf.vector_thpredictions_swiginit(self, _nnpdf.new_vector_thpredictions(*args)) + + def push_back(self, x): + r""" + push_back(vector_thpredictions self, ThPredictions x) + + Parameters + ---------- + x: std::vector< NNPDF::ThPredictions >::value_type const & + + """ + return _nnpdf.vector_thpredictions_push_back(self, x) + + def front(self): + r"""front(vector_thpredictions self) -> ThPredictions""" + return _nnpdf.vector_thpredictions_front(self) + + def back(self): + r"""back(vector_thpredictions self) -> ThPredictions""" + return _nnpdf.vector_thpredictions_back(self) + + def assign(self, n, x): + r""" + assign(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::size_type n, ThPredictions x) + + Parameters + ---------- + n: std::vector< NNPDF::ThPredictions >::size_type + x: std::vector< NNPDF::ThPredictions >::value_type const & + + """ + return _nnpdf.vector_thpredictions_assign(self, n, x) + + def insert(self, *args): + r""" + insert(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator pos, ThPredictions x) -> std::vector< NNPDF::ThPredictions >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::ThPredictions >::iterator + x: std::vector< NNPDF::ThPredictions >::value_type const & + + insert(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator pos, std::vector< NNPDF::ThPredictions >::size_type n, ThPredictions x) + + Parameters + ---------- + pos: std::vector< NNPDF::ThPredictions >::iterator + n: std::vector< NNPDF::ThPredictions >::size_type + x: std::vector< NNPDF::ThPredictions >::value_type const & + + """ + return _nnpdf.vector_thpredictions_insert(self, *args) + + def reserve(self, n): + r""" + reserve(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::size_type n) + + Parameters + ---------- + n: std::vector< NNPDF::ThPredictions >::size_type + + """ + return _nnpdf.vector_thpredictions_reserve(self, n) + + def capacity(self): + r"""capacity(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::size_type""" + return _nnpdf.vector_thpredictions_capacity(self) + __swig_destroy__ = _nnpdf.delete_vector_thpredictions + +# Register vector_thpredictions in _nnpdf: +_nnpdf.vector_thpredictions_swigregister(vector_thpredictions) + +class vector_experiment_pointer(object): + r"""Proxy of C++ std::vector< NNPDF::Experiment * > class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def iterator(self): + r"""iterator(vector_experiment_pointer self) -> SwigPyIterator""" + return _nnpdf.vector_experiment_pointer_iterator(self) + def __iter__(self): + return self.iterator() + + def __nonzero__(self): + r"""__nonzero__(vector_experiment_pointer self) -> bool""" + return _nnpdf.vector_experiment_pointer___nonzero__(self) + + def __bool__(self): + r"""__bool__(vector_experiment_pointer self) -> bool""" + return _nnpdf.vector_experiment_pointer___bool__(self) + + def __len__(self): + r"""__len__(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::size_type""" + return _nnpdf.vector_experiment_pointer___len__(self) + + def __getslice__(self, i, j): + r""" + __getslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j) -> vector_experiment_pointer + + Parameters + ---------- + i: std::vector< NNPDF::Experiment * >::difference_type + j: std::vector< NNPDF::Experiment * >::difference_type + + """ + return _nnpdf.vector_experiment_pointer___getslice__(self, i, j) + + def __setslice__(self, *args): + r""" + __setslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::Experiment * >::difference_type + j: std::vector< NNPDF::Experiment * >::difference_type + + __setslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j, vector_experiment_pointer v) + + Parameters + ---------- + i: std::vector< NNPDF::Experiment * >::difference_type + j: std::vector< NNPDF::Experiment * >::difference_type + v: std::vector< NNPDF::Experiment *,std::allocator< NNPDF::Experiment * > > const & + + """ + return _nnpdf.vector_experiment_pointer___setslice__(self, *args) + + def __delslice__(self, i, j): + r""" + __delslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j) + + Parameters + ---------- + i: std::vector< NNPDF::Experiment * >::difference_type + j: std::vector< NNPDF::Experiment * >::difference_type + + """ + return _nnpdf.vector_experiment_pointer___delslice__(self, i, j) + + def __delitem__(self, *args): + r""" + __delitem__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i) + + Parameters + ---------- + i: std::vector< NNPDF::Experiment * >::difference_type + + __delitem__(vector_experiment_pointer self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + """ + return _nnpdf.vector_experiment_pointer___delitem__(self, *args) + + def __getitem__(self, *args): + r""" + __getitem__(vector_experiment_pointer self, PySliceObject * slice) -> vector_experiment_pointer + + Parameters + ---------- + slice: PySliceObject * + + __getitem__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i) -> Experiment + + Parameters + ---------- + i: std::vector< NNPDF::Experiment * >::difference_type + + """ + return _nnpdf.vector_experiment_pointer___getitem__(self, *args) + + def __setitem__(self, *args): + r""" + __setitem__(vector_experiment_pointer self, PySliceObject * slice, vector_experiment_pointer v) + + Parameters + ---------- + slice: PySliceObject * + v: std::vector< NNPDF::Experiment *,std::allocator< NNPDF::Experiment * > > const & + + __setitem__(vector_experiment_pointer self, PySliceObject * slice) + + Parameters + ---------- + slice: PySliceObject * + + __setitem__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, Experiment x) + + Parameters + ---------- + i: std::vector< NNPDF::Experiment * >::difference_type + x: std::vector< NNPDF::Experiment * >::value_type + + """ + return _nnpdf.vector_experiment_pointer___setitem__(self, *args) + + def pop(self): + r"""pop(vector_experiment_pointer self) -> Experiment""" + return _nnpdf.vector_experiment_pointer_pop(self) + + def append(self, x): + r""" + append(vector_experiment_pointer self, Experiment x) + + Parameters + ---------- + x: std::vector< NNPDF::Experiment * >::value_type + + """ + return _nnpdf.vector_experiment_pointer_append(self, x) + + def empty(self): + r"""empty(vector_experiment_pointer self) -> bool""" + return _nnpdf.vector_experiment_pointer_empty(self) + + def size(self): + r"""size(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::size_type""" + return _nnpdf.vector_experiment_pointer_size(self) + + def swap(self, v): + r""" + swap(vector_experiment_pointer self, vector_experiment_pointer v) + + Parameters + ---------- + v: std::vector< NNPDF::Experiment * > & + + """ + return _nnpdf.vector_experiment_pointer_swap(self, v) + + def begin(self): + r"""begin(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::iterator""" + return _nnpdf.vector_experiment_pointer_begin(self) + + def end(self): + r"""end(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::iterator""" + return _nnpdf.vector_experiment_pointer_end(self) + + def rbegin(self): + r"""rbegin(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::reverse_iterator""" + return _nnpdf.vector_experiment_pointer_rbegin(self) + + def rend(self): + r"""rend(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::reverse_iterator""" + return _nnpdf.vector_experiment_pointer_rend(self) + + def clear(self): + r"""clear(vector_experiment_pointer self)""" + return _nnpdf.vector_experiment_pointer_clear(self) + + def get_allocator(self): + r"""get_allocator(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::allocator_type""" + return _nnpdf.vector_experiment_pointer_get_allocator(self) + + def pop_back(self): + r"""pop_back(vector_experiment_pointer self)""" + return _nnpdf.vector_experiment_pointer_pop_back(self) + + def erase(self, *args): + r""" + erase(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator pos) -> std::vector< NNPDF::Experiment * >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::Experiment * >::iterator + + erase(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator first, std::vector< NNPDF::Experiment * >::iterator last) -> std::vector< NNPDF::Experiment * >::iterator + + Parameters + ---------- + first: std::vector< NNPDF::Experiment * >::iterator + last: std::vector< NNPDF::Experiment * >::iterator + + """ + return _nnpdf.vector_experiment_pointer_erase(self, *args) + + def __init__(self, *args): + r""" + __init__(vector_experiment_pointer self) -> vector_experiment_pointer + __init__(vector_experiment_pointer self, vector_experiment_pointer other) -> vector_experiment_pointer + + Parameters + ---------- + other: std::vector< NNPDF::Experiment * > const & + + __init__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type size) -> vector_experiment_pointer + + Parameters + ---------- + size: std::vector< NNPDF::Experiment * >::size_type + + __init__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type size, Experiment value) -> vector_experiment_pointer + + Parameters + ---------- + size: std::vector< NNPDF::Experiment * >::size_type + value: std::vector< NNPDF::Experiment * >::value_type + + """ + _nnpdf.vector_experiment_pointer_swiginit(self, _nnpdf.new_vector_experiment_pointer(*args)) + + def push_back(self, x): + r""" + push_back(vector_experiment_pointer self, Experiment x) + + Parameters + ---------- + x: std::vector< NNPDF::Experiment * >::value_type + + """ + return _nnpdf.vector_experiment_pointer_push_back(self, x) + + def front(self): + r"""front(vector_experiment_pointer self) -> Experiment""" + return _nnpdf.vector_experiment_pointer_front(self) + + def back(self): + r"""back(vector_experiment_pointer self) -> Experiment""" + return _nnpdf.vector_experiment_pointer_back(self) + + def assign(self, n, x): + r""" + assign(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type n, Experiment x) + + Parameters + ---------- + n: std::vector< NNPDF::Experiment * >::size_type + x: std::vector< NNPDF::Experiment * >::value_type + + """ + return _nnpdf.vector_experiment_pointer_assign(self, n, x) + + def resize(self, *args): + r""" + resize(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type new_size) + + Parameters + ---------- + new_size: std::vector< NNPDF::Experiment * >::size_type + + resize(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type new_size, Experiment x) + + Parameters + ---------- + new_size: std::vector< NNPDF::Experiment * >::size_type + x: std::vector< NNPDF::Experiment * >::value_type + + """ + return _nnpdf.vector_experiment_pointer_resize(self, *args) + + def insert(self, *args): + r""" + insert(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator pos, Experiment x) -> std::vector< NNPDF::Experiment * >::iterator + + Parameters + ---------- + pos: std::vector< NNPDF::Experiment * >::iterator + x: std::vector< NNPDF::Experiment * >::value_type + + insert(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator pos, std::vector< NNPDF::Experiment * >::size_type n, Experiment x) + + Parameters + ---------- + pos: std::vector< NNPDF::Experiment * >::iterator + n: std::vector< NNPDF::Experiment * >::size_type + x: std::vector< NNPDF::Experiment * >::value_type + + """ + return _nnpdf.vector_experiment_pointer_insert(self, *args) + + def reserve(self, n): + r""" + reserve(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type n) + + Parameters + ---------- + n: std::vector< NNPDF::Experiment * >::size_type + + """ + return _nnpdf.vector_experiment_pointer_reserve(self, n) + + def capacity(self): + r"""capacity(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::size_type""" + return _nnpdf.vector_experiment_pointer_capacity(self) + __swig_destroy__ = _nnpdf.delete_vector_experiment_pointer + +# Register vector_experiment_pointer in _nnpdf: +_nnpdf.vector_experiment_pointer_swigregister(vector_experiment_pointer) + +class Experiment(object): + r"""Proxy of C++ NNPDF::Experiment class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, *args): + r""" + __init__(Experiment self, vector_dataset sets, std::string const & expname) -> Experiment + + Parameters + ---------- + sets: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & + expname: std::string const & + + __init__(Experiment self, Experiment arg2, vector_dataset sets) -> Experiment + + Parameters + ---------- + arg2: NNPDF::Experiment const & + sets: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & + + __init__(Experiment self, Experiment arg2) -> Experiment + + Parameters + ---------- + arg2: NNPDF::Experiment const & + + """ + _nnpdf.Experiment_swiginit(self, _nnpdf.new_Experiment(*args)) + __swig_destroy__ = _nnpdf.delete_Experiment + + def MakeReplica(self): + r"""MakeReplica(Experiment self)""" + return _nnpdf.Experiment_MakeReplica(self) + + def MakePerPointReplica(self, pointindex): + r""" + MakePerPointReplica(Experiment self, int pointindex) + + Parameters + ---------- + pointindex: int + + """ + return _nnpdf.Experiment_MakePerPointReplica(self, pointindex) + + def MakeClosure(self, *args): + r""" + MakeClosure(Experiment self, vector_thpredictions predictions, bool const & noise) + + Parameters + ---------- + predictions: std::vector< NNPDF::ThPredictions,std::allocator< NNPDF::ThPredictions > > const & + noise: bool const & + + MakeClosure(Experiment self, PDFSet pdf, bool const & noise) + + Parameters + ---------- + pdf: NNPDF::PDFSet * + noise: bool const & + + """ + return _nnpdf.Experiment_MakeClosure(self, *args) + + def GetNSet(self): + r"""GetNSet(Experiment self) -> int""" + return _nnpdf.Experiment_GetNSet(self) + + def GetSet(self, i): + r""" + GetSet(Experiment self, int i) -> DataSet + + Parameters + ---------- + i: int + + """ + return _nnpdf.Experiment_GetSet(self, i) + + def DataSets(self): + r"""DataSets(Experiment self) -> vector_dataset""" + return _nnpdf.Experiment_DataSets(self) + + def GetExpName(self): + r"""GetExpName(Experiment self) -> std::string const &""" + return _nnpdf.Experiment_GetExpName(self) + + def GetSetName(self, i): + r""" + GetSetName(Experiment self, int i) -> std::string const & + + Parameters + ---------- + i: int + + """ + return _nnpdf.Experiment_GetSetName(self, i) + + def GetNData(self): + r"""GetNData(Experiment self) -> int""" + return _nnpdf.Experiment_GetNData(self) + + def GetData(self): + r"""GetData(Experiment self) -> double const *""" + return _nnpdf.Experiment_GetData(self) + + def IsArtificial(self): + r"""IsArtificial(Experiment self) -> bool""" + return _nnpdf.Experiment_IsArtificial(self) + + def IsClosure(self): + r"""IsClosure(Experiment self) -> bool""" + return _nnpdf.Experiment_IsClosure(self) + + def IsT0(self): + r"""IsT0(Experiment self) -> bool""" + return _nnpdf.Experiment_IsT0(self) + + def GetCovMat(self): + r"""GetCovMat(Experiment self) -> matrix_double""" + return _nnpdf.Experiment_GetCovMat(self) + + def GetSqrtCov(self): + r"""GetSqrtCov(Experiment self) -> matrix_double""" + return _nnpdf.Experiment_GetSqrtCov(self) + + def ExportCovMat(self, arg2): + r""" + ExportCovMat(Experiment self, std::string arg2) + + Parameters + ---------- + arg2: std::string + + """ + return _nnpdf.Experiment_ExportCovMat(self, arg2) + + def ExportSqrtCov(self, arg2): + r""" + ExportSqrtCov(Experiment self, std::string arg2) + + Parameters + ---------- + arg2: std::string + + """ + return _nnpdf.Experiment_ExportSqrtCov(self, arg2) + + def SetT0(self, arg2): + r""" + SetT0(Experiment self, PDFSet arg2) + + Parameters + ---------- + arg2: NNPDF::PDFSet const & + + """ + return _nnpdf.Experiment_SetT0(self, arg2) + + def LoadRepCovMat(self, *args): + r""" + LoadRepCovMat(Experiment self, std::string filename, bool ThUnc, vector_int bmask={}) + + Parameters + ---------- + filename: std::string + ThUnc: bool + bmask: std::vector< int,std::allocator< int > > + + """ + return _nnpdf.Experiment_LoadRepCovMat(self, *args) + + def LoadFitCovMat(self, *args): + r""" + LoadFitCovMat(Experiment self, std::string filename, bool ThUnc, vector_int bmask={}) + + Parameters + ---------- + filename: std::string + ThUnc: bool + bmask: std::vector< int,std::allocator< int > > + + """ + return _nnpdf.Experiment_LoadFitCovMat(self, *args) + + def GetSqrtFitCovMat(self, *args): + r""" + GetSqrtFitCovMat(Experiment self, std::string filename, vector_int bmask={}) -> matrix_double + + Parameters + ---------- + filename: std::string + bmask: std::vector< int,std::allocator< int > > + + """ + return _nnpdf.Experiment_GetSqrtFitCovMat(self, *args) + + def get_covmat(self): + r""" + get_covmat(Experiment self) + Return a copy of the experiment covariance matrix. + """ + return _nnpdf.Experiment_get_covmat(self) + + def get_sqrtcovmat(self): + r"""get_sqrtcovmat(Experiment self)""" + return _nnpdf.Experiment_get_sqrtcovmat(self) + + def get_cv(self): + r""" + get_cv(Experiment self) + Return a copy of the central values for the experiment. + """ + return _nnpdf.Experiment_get_cv(self) + +# Register Experiment in _nnpdf: +_nnpdf.Experiment_swigregister(Experiment) + + +def pseudodata(exps, dataseed, replica_id): + r""" + pseudodata(vector_experiment_pointer exps, unsigned long dataseed, int replica_id) -> vector_experiment_pointer + + Parameters + ---------- + exps: std::vector< NNPDF::Experiment *,std::allocator< NNPDF::Experiment * > > const & + dataseed: unsigned long + replica_id: int + + """ + return _nnpdf.pseudodata(exps, dataseed, replica_id) +class ThPredictions(object): + r"""Proxy of C++ NNPDF::ThPredictions class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, *args): + r""" + __init__(ThPredictions self, PDFSet arg2, Experiment arg3) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + arg3: NNPDF::Experiment const * + + __init__(ThPredictions self, PDFSet arg2, FKTable arg3) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + arg3: NNPDF::FKTable const * + + __init__(ThPredictions self, PDFSet arg2, FKSet arg3) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + arg3: NNPDF::FKSet const * + + __init__(ThPredictions self, PDFSet arg2, PDFSet arg3, FKTable arg4) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + arg3: NNPDF::PDFSet const * + arg4: NNPDF::FKTable const * + + __init__(ThPredictions self, std::string pdfname, std::string setname, int nPDF, int nDat, NNPDF::PDFSet::erType arg6) -> ThPredictions + + Parameters + ---------- + pdfname: std::string + setname: std::string + nPDF: int + nDat: int + arg6: enum NNPDF::PDFSet::erType + + __init__(ThPredictions self, ThPredictions arg2) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + """ + _nnpdf.ThPredictions_swiginit(self, _nnpdf.new_ThPredictions(*args)) + __swig_destroy__ = _nnpdf.delete_ThPredictions + + def __iadd__(self, arg2): + r""" + __iadd__(ThPredictions self, ThPredictions arg2) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + """ + return _nnpdf.ThPredictions___iadd__(self, arg2) + + def __isub__(self, arg2): + r""" + __isub__(ThPredictions self, ThPredictions arg2) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + """ + return _nnpdf.ThPredictions___isub__(self, arg2) + + def __imul__(self, arg2): + r""" + __imul__(ThPredictions self, ThPredictions arg2) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + """ + return _nnpdf.ThPredictions___imul__(self, arg2) + + def __itruediv__(self, *args): + return _nnpdf.ThPredictions___itruediv__(self, *args) + __idiv__ = __itruediv__ + + + + def __add__(self, arg2): + r""" + __add__(ThPredictions self, ThPredictions arg2) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + """ + return _nnpdf.ThPredictions___add__(self, arg2) + + def __sub__(self, arg2): + r""" + __sub__(ThPredictions self, ThPredictions arg2) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + """ + return _nnpdf.ThPredictions___sub__(self, arg2) + + def __truediv__(self, *args): + return _nnpdf.ThPredictions___truediv__(self, *args) + __div__ = __truediv__ + + + + def __mul__(self, arg2): + r""" + __mul__(ThPredictions self, ThPredictions arg2) -> ThPredictions + + Parameters + ---------- + arg2: NNPDF::ThPredictions const & + + """ + return _nnpdf.ThPredictions___mul__(self, arg2) + + @staticmethod + def Convolute(*args): + r""" + Convolute(PDFSet arg1, FKTable arg2, NNPDF::real * arg3) + + Parameters + ---------- + arg1: NNPDF::PDFSet const * + arg2: NNPDF::FKTable const * + arg3: NNPDF::real * + + Convolute(PDFSet arg1, FKSet arg2, NNPDF::real * arg3) + + Parameters + ---------- + arg1: NNPDF::PDFSet const * + arg2: NNPDF::FKSet const * + arg3: NNPDF::real * + + Convolute(PDFSet arg1, PDFSet arg2, FKTable arg3, NNPDF::real * arg4) + + Parameters + ---------- + arg1: NNPDF::PDFSet const * + arg2: NNPDF::PDFSet const * + arg3: NNPDF::FKTable const * + arg4: NNPDF::real * + + """ + return _nnpdf.ThPredictions_Convolute(*args) + + def GetObs(self, *args): + r""" + GetObs(ThPredictions self) -> NNPDF::real + GetObs(ThPredictions self, int const & idat, int const & imem) -> NNPDF::real + + Parameters + ---------- + idat: int const & + imem: int const & + + """ + return _nnpdf.ThPredictions_GetObs(self, *args) + + def GetObsCV(self, idat): + r""" + GetObsCV(ThPredictions self, int const & idat) -> NNPDF::real + + Parameters + ---------- + idat: int const & + + """ + return _nnpdf.ThPredictions_GetObsCV(self, idat) + + def GetObsError(self, idat): + r""" + GetObsError(ThPredictions self, int const & idat) -> NNPDF::real + + Parameters + ---------- + idat: int const & + + """ + return _nnpdf.ThPredictions_GetObsError(self, idat) + + def GetTConv(self): + r"""GetTConv(ThPredictions self) -> NNPDF::real""" + return _nnpdf.ThPredictions_GetTConv(self) + + def GetNPdf(self): + r"""GetNPdf(ThPredictions self) -> int""" + return _nnpdf.ThPredictions_GetNPdf(self) + + def GetNData(self): + r"""GetNData(ThPredictions self) -> int""" + return _nnpdf.ThPredictions_GetNData(self) + + def GetSetName(self): + r"""GetSetName(ThPredictions self) -> std::string""" + return _nnpdf.ThPredictions_GetSetName(self) + + def GetPDFName(self): + r"""GetPDFName(ThPredictions self) -> std::string""" + return _nnpdf.ThPredictions_GetPDFName(self) + + def SetPDFName(self, newname): + r""" + SetPDFName(ThPredictions self, std::string const & newname) + + Parameters + ---------- + newname: std::string const & + + """ + return _nnpdf.ThPredictions_SetPDFName(self, newname) + + def SetDataName(self, newname): + r""" + SetDataName(ThPredictions self, std::string const & newname) + + Parameters + ---------- + newname: std::string const & + + """ + return _nnpdf.ThPredictions_SetDataName(self, newname) + + def Print(self, arg2, latex=False): + r""" + Print(ThPredictions self, std::ostream & arg2, bool latex=False) + + Parameters + ---------- + arg2: std::ostream & + latex: bool + + """ + return _nnpdf.ThPredictions_Print(self, arg2, latex) + Verbose = property(_nnpdf.ThPredictions_Verbose_get, _nnpdf.ThPredictions_Verbose_set, doc=r"""Verbose : bool""") + + def get_data(self): + r"""get_data(ThPredictions self)""" + return _nnpdf.ThPredictions_get_data(self) + + def get_cv(self): + r"""get_cv(ThPredictions self)""" + return _nnpdf.ThPredictions_get_cv(self) + + def get_error(self): + r"""get_error(ThPredictions self)""" + return _nnpdf.ThPredictions_get_error(self) + + + def __len__(self): + return self.GetNData() + + + def __iter__(self): + for i in range(len(self)): + yield self.GetObsCV(i), self.GetObsError(i) + + + +# Register ThPredictions in _nnpdf: +_nnpdf.ThPredictions_swigregister(ThPredictions) + +def ThPredictions_Convolute(*args): + r""" + ThPredictions_Convolute(PDFSet arg1, FKTable arg2, NNPDF::real * arg3) + + Parameters + ---------- + arg1: NNPDF::PDFSet const * + arg2: NNPDF::FKTable const * + arg3: NNPDF::real * + + ThPredictions_Convolute(PDFSet arg1, FKSet arg2, NNPDF::real * arg3) + + Parameters + ---------- + arg1: NNPDF::PDFSet const * + arg2: NNPDF::FKSet const * + arg3: NNPDF::real * + + ThPredictions_Convolute(PDFSet arg1, PDFSet arg2, FKTable arg3, NNPDF::real * arg4) + + Parameters + ---------- + arg1: NNPDF::PDFSet const * + arg2: NNPDF::PDFSet const * + arg3: NNPDF::FKTable const * + arg4: NNPDF::real * + + """ + return _nnpdf.ThPredictions_Convolute(*args) + +class PositivitySet(CommonData, FKTable): + r"""Proxy of C++ NNPDF::PositivitySet class.""" + + thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") + __repr__ = _swig_repr + + def __init__(self, *args): + r""" + __init__(PositivitySet self, CommonData arg2, FKTable arg3, NNPDF::real const & _lambda) -> PositivitySet + + Parameters + ---------- + arg2: NNPDF::CommonData const & + arg3: NNPDF::FKTable const & + lambda: NNPDF::real const & + + __init__(PositivitySet self, PositivitySet arg2) -> PositivitySet + + Parameters + ---------- + arg2: NNPDF::PositivitySet const & + + """ + _nnpdf.PositivitySet_swiginit(self, _nnpdf.new_PositivitySet(*args)) + __swig_destroy__ = _nnpdf.delete_PositivitySet + + def ComputeErf(self, arg2, arg3): + r""" + ComputeErf(PositivitySet self, PDFSet arg2, NNPDF::real * arg3) + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + arg3: NNPDF::real * + + """ + return _nnpdf.PositivitySet_ComputeErf(self, arg2, arg3) + + def ComputeNViolated(self, arg2): + r""" + ComputeNViolated(PositivitySet self, PDFSet arg2) + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + + """ + return _nnpdf.PositivitySet_ComputeNViolated(self, arg2) + + def ComputeNUnacceptable(self, arg2): + r""" + ComputeNUnacceptable(PositivitySet self, PDFSet arg2) + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + + """ + return _nnpdf.PositivitySet_ComputeNUnacceptable(self, arg2) + + def SetBounds(self, arg2): + r""" + SetBounds(PositivitySet self, PDFSet arg2) + + Parameters + ---------- + arg2: NNPDF::PDFSet const * + + """ + return _nnpdf.PositivitySet_SetBounds(self, arg2) + + def GetPredictions(self, arg2): + r""" + GetPredictions(PositivitySet self, PDFSet arg2) + + Parameters + ---------- + arg2: NNPDF::PDFSet const & + + """ + return _nnpdf.PositivitySet_GetPredictions(self, arg2) + +# Register PositivitySet in _nnpdf: +_nnpdf.PositivitySet_swigregister(PositivitySet) + + +def ComputeCovMat_basic(nDat, nSys, sqrt_weights, central_values, stat_error, systematic_errors, mult_errors, use_theory_errors, th_cov_matrix, filename, bmask): + r""" + ComputeCovMat_basic(int const nDat, int const nSys, vector_double sqrt_weights, vector_double central_values, vector_double stat_error, NNPDF::sysError **const systematic_errors, bool const mult_errors, bool const use_theory_errors, bool const th_cov_matrix, std::string filename, vector_int bmask) -> matrix_double + + Parameters + ---------- + nDat: int const + nSys: int const + sqrt_weights: std::vector< double,std::allocator< double > > const & + central_values: std::vector< double,std::allocator< double > > const & + stat_error: std::vector< double,std::allocator< double > > const & + systematic_errors: NNPDF::sysError **const + mult_errors: bool const + use_theory_errors: bool const + th_cov_matrix: bool const + filename: std::string + bmask: std::vector< int,std::allocator< int > > + + """ + return _nnpdf.ComputeCovMat_basic(nDat, nSys, sqrt_weights, central_values, stat_error, systematic_errors, mult_errors, use_theory_errors, th_cov_matrix, filename, bmask) + +def ComputeCovMat(*args): + r""" + ComputeCovMat(CommonData cd, vector_double t0, bool const th_cov_matrix=False, std::string filename="", vector_int bmask={}, double weight=1.) -> matrix_double + + Parameters + ---------- + cd: NNPDF::CommonData const & + t0: std::vector< double,std::allocator< double > > const & + th_cov_matrix: bool const + filename: std::string + bmask: std::vector< int,std::allocator< int > > + weight: double + + """ + return _nnpdf.ComputeCovMat(*args) + +def ComputeSqrtMat(inmatrix): + r""" + ComputeSqrtMat(matrix_double inmatrix) -> matrix_double + + Parameters + ---------- + inmatrix: NNPDF::matrix< double > const & + + """ + return _nnpdf.ComputeSqrtMat(inmatrix) + +def read_theory_covmat(ndata, filename, bmask): + r""" + read_theory_covmat(int ndata, std::string const filename, vector_int bmask) -> matrix_double + + Parameters + ---------- + ndata: int + filename: std::string const + bmask: std::vector< int,std::allocator< int > > + + """ + return _nnpdf.read_theory_covmat(ndata, filename, bmask) + +def ComputeChi2_basic(nDat, nMem, data, L, theory, chi2): + r""" + ComputeChi2_basic(int const nDat, int const nMem, double const * data, matrix_double L, NNPDF::real *const & theory, NNPDF::real * chi2) + + Parameters + ---------- + nDat: int const + nMem: int const + data: double const * + L: NNPDF::matrix< double > const & + theory: NNPDF::real *const & + chi2: NNPDF::real * + + """ + return _nnpdf.ComputeChi2_basic(nDat, nMem, data, L, theory, chi2) + + diff --git a/conda-bld/nnpdfcpp/README.md b/conda-bld/nnpdfcpp/README.md new file mode 100644 index 0000000000..232fdbce10 --- /dev/null +++ b/conda-bld/nnpdfcpp/README.md @@ -0,0 +1 @@ +Store here your fit output. \ No newline at end of file diff --git a/conda-bld/nnpdfcpp/src/common/inc/version.h b/conda-bld/nnpdfcpp/src/common/inc/version.h new file mode 100644 index 0000000000..8e46dc3712 --- /dev/null +++ b/conda-bld/nnpdfcpp/src/common/inc/version.h @@ -0,0 +1 @@ +#define SVN_REV 4.0 diff --git a/n3fit/setup.py b/n3fit/setup.py index 49f81a372e..e04cb8e3ea 100644 --- a/n3fit/setup.py +++ b/n3fit/setup.py @@ -13,7 +13,7 @@ entry_points = {'console_scripts': ['n3fit = n3fit.scripts.n3fit_exec:main', - 'evolven3fit = evolven3fit.evolven3fit_cli:main', + 'evolven3fit = evolven3fit.cli:main', 'vp-setupfit = n3fit.scripts.vp_setupfit:main', 'varflavors = n3fit.scripts.varflavors:main', ] diff --git a/n3fit/src/evolven3fit/evolven3fit_cli.py b/n3fit/src/evolven3fit/cli.py similarity index 98% rename from n3fit/src/evolven3fit/evolven3fit_cli.py rename to n3fit/src/evolven3fit/cli.py index 06fb19eda0..09e9e2596e 100644 --- a/n3fit/src/evolven3fit/evolven3fit_cli.py +++ b/n3fit/src/evolven3fit/cli.py @@ -6,7 +6,7 @@ import numpy as np from argparse import ArgumentParser -from evolven3fit import evolven3fit_API +from . import evolve from validphys.core import CommonDataMetadata logging.basicConfig(level=logging.INFO) @@ -316,10 +316,10 @@ def main(): ) else: x_grid = np.geomspace(args.x_grid_ini, 1.0, args.x_grid_points) - tcard, opcard = evolven3fit_API.construct_eko_cards( + tcard, opcard = evolve.construct_eko_cards( args.theoryID, op_card_info, t_card_info, args.q_fin, args.q_points, x_grid ) - eko_op = evolven3fit_API.construct_eko_for_fit(tcard, opcard, args.dump) + eko_op = evolve.construct_eko_for_fit(tcard, opcard, args.dump) def cli_evolven3fit( @@ -342,7 +342,7 @@ def cli_evolven3fit( The two options are mutually exclusive. """ - return evolven3fit_API.evolve_fit( + return evolve.evolve_fit( configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump ) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py new file mode 100644 index 0000000000..e2fa23fcef --- /dev/null +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -0,0 +1,58 @@ +import logging + +from validphys.loader import Loader +from . import utils +from ekobox import gen_theory, gen_op +from eko import run_dglap + + +def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid): + """Return the theory and operator cards used to construct the eko""" + # theory_card construction + theory = Loader().check_theoryID(theoryID).get_description() + theory.pop("FNS") + theory.update(t_card_dict) + t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + # construct operator card + q2_grid = utils.generate_q2grid( + theory["Q0"], + q_fin, + 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.update(op_card_dict) + return t_card, op_card + + +# Temporary solution. Then it will be loaded from the theory itself +def construct_eko_for_fit(t_card, op_card, logger, save_path=None): + """ + Construct the eko operator needed for evolution of fitted pdfs + + Parameters + ---------- + t_card: dict + theory card to use for the eko + op_card: dict + operator card to use for the eko + save_path: pathlib.Path + path where the eko will be saved (the eko + won't be saved if save_path is None) + Returns + ------- + : eko.output.Output + eko operator + """ + # generate eko operator (temporary because it will be loaded from theory) + if save_path is not None: + if not save_path.parent.exists(): + raise ValueError("Path where eko should be dumped does not exists") + eko_op = run_dglap(t_card, op_card) + if save_path is not None: + try: + logger.info(f"Saving computed eko to : {save_path}") + eko_op.dump_tar(save_path) + except: + pass + return eko_op \ No newline at end of file diff --git a/n3fit/src/evolven3fit/evolven3fit_API.py b/n3fit/src/evolven3fit/evolve.py similarity index 72% rename from n3fit/src/evolven3fit/evolven3fit_API.py rename to n3fit/src/evolven3fit/evolve.py index 9c7872a23c..1563515982 100644 --- a/n3fit/src/evolven3fit/evolven3fit_API.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -2,16 +2,13 @@ import logging import numpy as np import yaml -import os -import glob -from ekobox import gen_theory, gen_op, genpdf, gen_info +from ekobox import genpdf, gen_info from ekomark import apply from eko import basis_rotation as br -from eko import run_dglap from eko import output -from . import utils +from . import utils, eko_utils from validphys.loader import Loader @@ -63,8 +60,8 @@ def evolve_fit( x_grid = np.array( initial_PDFs_dict[list(initial_PDFs_dict.keys())[0]]["xgrid"] ).astype(np.float) - theoryID = get_theoryID_from_runcard(usr_path) - theory, op = construct_eko_cards( + theoryID = utils.get_theoryID_from_runcard(usr_path) + theory, op = eko_utils.construct_eko_cards( theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid ) if eko_path is not None: @@ -72,7 +69,7 @@ def evolve_fit( logger.info(f"Loading eko from : {eko_path}") eko_op = output.Output.load_tar(eko_path) else: - eko_op = construct_eko_for_fit(theory, op, dump_eko) + eko_op = eko_utils.construct_eko_for_fit(theory, op, logger, 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" @@ -124,65 +121,6 @@ def load_fit(usr_path): return pdf_dict -def get_theoryID_from_runcard(usr_path): - """Return the theoryID from the runcard""" - # read the runcard - my_runcard = utils.read_runcard(usr_path) - return my_runcard["theory"]["theoryid"] - - -def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid): - """Return the theory and operator cards used to construct the eko""" - # theory_card construction - theory = Loader().check_theoryID(theoryID).get_description() - theory.pop("FNS") - theory.update(t_card_dict) - t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) - # construct operator card - q2_grid = utils.generate_q2grid( - theory["Q0"], - q_fin, - 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.update(op_card_dict) - return t_card, op_card - - -# Temporary solution. Then it will be loaded from the theory itself -def construct_eko_for_fit(t_card, op_card, save_path=None): - """ - Construct the eko operator needed for evolution of fitted pdfs - - Parameters - ---------- - t_card: dict - theory card to use for the eko - op_card: dict - operator card to use for the eko - save_path: pathlib.Path - path where the eko will be saved (the eko - won't be saved if save_path is None) - Returns - ------- - : eko.output.Output - eko operator - """ - # generate eko operator (temporary because it will be loaded from theory) - if save_path is not None: - if not save_path.parent.exists(): - raise ValueError("Path where eko should be dumped does not exists") - eko_op = run_dglap(t_card, op_card) - if save_path is not None: - try: - logger.info(f"Saving computed eko to : {save_path}") - eko_op.dump_tar(save_path) - except: - pass - return eko_op - - def evolve_exportgrid(exportgrid, eko, x_grid): """ Evolves the provided exportgrid for the desired replica with the eko and returns the evolved block diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 2464a47a92..87cd181c98 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -1,11 +1,11 @@ from scipy.interpolate import interp1d import numpy as np import math -import pathlib from reportengine.compat import yaml import shutil + class LhapdfLike: """ Class which emulates lhapdf but only for an initial condition PDF (i.e. with only one q2 value) @@ -87,6 +87,12 @@ def read_runcard(usr_path): """ return yaml.safe_load((usr_path / "filter.yml").read_text()) +def get_theoryID_from_runcard(usr_path): + """Return the theoryID from the runcard""" + # read the runcard + my_runcard = read_runcard(usr_path) + return my_runcard["theory"]["theoryid"] + def generate_q2grid(Q0, Qfin, Q_points, match_dict): """Generate the q2grid used in the final evolved pdfs or use the default grid if Qfin or Q_points is From 7aa5814273d1308e65c3427adf67362370e240b8 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 14:35:26 +0200 Subject: [PATCH 096/212] Add log to stdout --- n3fit/src/evolven3fit/cli.py | 26 +++++++++++++++++++------- n3fit/src/evolven3fit/evolve.py | 8 +++++++- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/n3fit/src/evolven3fit/cli.py b/n3fit/src/evolven3fit/cli.py index 09e9e2596e..c48d85fbd4 100644 --- a/n3fit/src/evolven3fit/cli.py +++ b/n3fit/src/evolven3fit/cli.py @@ -3,14 +3,15 @@ """ import logging import pathlib +from evolven3fit import eko_utils import numpy as np from argparse import ArgumentParser +import sys from . import evolve from validphys.core import CommonDataMetadata -logging.basicConfig(level=logging.INFO) -log = logging.getLogger(__name__) +logger = logging.getLogger(__name__) def main(): @@ -74,13 +75,15 @@ def main(): help="Path where the EKO is dumped", ) eko_parser.add_argument( - "-i" "--x_grid_ini", + "-i", + "--x_grid_ini", default=None, type=float, help="Starting point of the x-grid", ) eko_parser.add_argument( - "-p" "--x_grid_points", + "-p", + "--x_grid_points", default=None, type=int, help="Number of points of the x-grid", @@ -104,6 +107,15 @@ def main(): args.load, ) elif args.actions == "produce_eko": + stdout_log = logging.StreamHandler(sys.stdout) + stdout_log.setLevel(logging.INFO) + stdout_log.setFormatter( + logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") + ) + for logger_ in (logger, *[logging.getLogger("eko")]): + logger_.handlers = [] + logger_.setLevel(logging.INFO) + logger_.addHandler(stdout_log) if args.x_grid_ini is None: if args.x_grid_points is None: x_grid = np.array( @@ -305,7 +317,7 @@ def main(): 9.91610196150662e-01, 1.00000000000000e00, ] - ).reshape(-1, 1) + ) else: raise ValueError( "x_grid_ini and x_grid_points must be specified either both or none of them" @@ -316,10 +328,10 @@ def main(): ) else: x_grid = np.geomspace(args.x_grid_ini, 1.0, args.x_grid_points) - tcard, opcard = evolve.construct_eko_cards( + tcard, opcard = eko_utils.construct_eko_cards( args.theoryID, op_card_info, t_card_info, args.q_fin, args.q_points, x_grid ) - eko_op = evolve.construct_eko_for_fit(tcard, opcard, args.dump) + eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, logger, args.dump) def cli_evolven3fit( diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 1563515982..3cddda756a 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -2,6 +2,7 @@ import logging import numpy as np import yaml +import sys from ekobox import genpdf, gen_info from ekomark import apply @@ -14,7 +15,6 @@ logger = logging.getLogger(__name__) - def evolve_fit( conf_folder, q_fin, @@ -47,14 +47,20 @@ def evolve_fit( if log_file.exists(): raise SystemError("Log file already exists: evolven3fit has already been run?") log_file = logging.FileHandler(log_file) + stdout_log = logging.StreamHandler(sys.stdout) log_file.setLevel(logging.INFO) + stdout_log.setLevel(logging.INFO) log_file.setFormatter( logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") ) + stdout_log.setFormatter( + logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") + ) for logger_ in (logger, *[logging.getLogger("eko")]): logger_.handlers = [] logger_.setLevel(logging.INFO) logger_.addHandler(log_file) + logger_.addHandler(stdout_log) usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) x_grid = np.array( From bffcc88585cacf1b62fccc7b26ef05d46bc7ff0b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 14:37:36 +0200 Subject: [PATCH 097/212] Fix imports --- n3fit/src/evolven3fit/cli.py | 1 - n3fit/src/evolven3fit/eko_utils.py | 2 -- n3fit/src/evolven3fit/evolve.py | 1 - 3 files changed, 4 deletions(-) diff --git a/n3fit/src/evolven3fit/cli.py b/n3fit/src/evolven3fit/cli.py index c48d85fbd4..0ff04d7ab0 100644 --- a/n3fit/src/evolven3fit/cli.py +++ b/n3fit/src/evolven3fit/cli.py @@ -9,7 +9,6 @@ import sys from . import evolve -from validphys.core import CommonDataMetadata logger = logging.getLogger(__name__) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index e2fa23fcef..0acdb0c350 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -1,5 +1,3 @@ -import logging - from validphys.loader import Loader from . import utils from ekobox import gen_theory, gen_op diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 3cddda756a..36798aadc2 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -10,7 +10,6 @@ from eko import output from . import utils, eko_utils -from validphys.loader import Loader logger = logging.getLogger(__name__) From 63ee62a6804b3b04f0ddc3ba274b55b49e813dd5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 14:58:12 +0200 Subject: [PATCH 098/212] Add pids_dict to pdfbases and use it --- n3fit/src/evolven3fit/utils.py | 129 ++++++++++++---------- n3fit/src/n3fit/tests/test_evolven3fit.py | 38 +------ validphys2/src/validphys/pdfbases.py | 17 +++ 3 files changed, 92 insertions(+), 92 deletions(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 87cd181c98..8cf3e4e0e7 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -3,7 +3,7 @@ import math from reportengine.compat import yaml import shutil - +from validphys.pdfbases import PIDS_DICT class LhapdfLike: @@ -11,46 +11,13 @@ class LhapdfLike: Class which emulates lhapdf but only for an initial condition PDF (i.e. with only one q2 value) """ - pids_dict = { - -6: "TBAR", - -5: "BBAR", - -4: "CBAR", - -3: "SBAR", - -2: "UBAR", - -1: "DBAR", - 21: "GLUON", - 1: "D", - 2: "U", - 3: "S", - 4: "C", - 5: "B", - 6: "T", - 22: "PHT", - } - pids_order = [ - "TBAR", - "BBAR", - "CBAR", - "SBAR", - "UBAR", - "DBAR", - "GLUON", - "D", - "U", - "S", - "C", - "B", - "T", - "PHT", - ] - def __init__(self, pdf_grid, q20, x_grid): self.pdf_grid = pdf_grid self.q20 = q20 self.x_grid = x_grid self.funcs = [ interp1d(self.x_grid, self.pdf_grid[pid], kind="cubic") - for pid in range(len(self.pids_order)) + for pid in range(len(PIDS_DICT)) ] def xfxQ2(self, pid, x, q2): @@ -74,19 +41,18 @@ def xfxQ2(self, pid, x, q2): """ if not math.isclose(q2, self.q20, rel_tol=1e-6): raise ValueError("The q2 requested is not the fitting scale of this pdf") - return self.funcs[self.pids_order.index(self.pids_dict[pid])](x) + return self.funcs[list(PIDS_DICT.values()).index(PIDS_DICT[pid])](x) def hasFlavor(self, pid): - """Check if the requested pid is in the PDF. - """ - return pid in self.pids_dict.keys() + """Check if the requested pid is in the PDF.""" + return pid in PIDS_DICT.keys() def read_runcard(usr_path): - """Read the runcard and return the relevant information for evolven3fit - """ + """Read the runcard and return the relevant information for evolven3fit""" return yaml.safe_load((usr_path / "filter.yml").read_text()) + def get_theoryID_from_runcard(usr_path): """Return the theoryID from the runcard""" # read the runcard @@ -98,31 +64,80 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): """Generate the q2grid used in the final evolved pdfs or use the default grid if Qfin or Q_points is not provided. """ - if (Qfin is None) or (Q_points is None): - return (np.array([1.6500000e+00, 1.7874388e+00, 1.9429053e+00, 2.1193749e+00, 2.3204100e+00, - 2.5502944e+00, 2.8142025e+00, 3.1184122e+00, 3.4705775e+00, 3.8800751e+00, 4.3584516e+00, - 4.9200000e+00, 4.9200000e+00, 5.5493622e+00, 6.2897452e+00, 7.1650687e+00, 8.2052867e+00, - 9.4481248e+00, 1.0941378e+01, 1.2745972e+01, 1.4940062e+01, 1.7624572e+01, 2.0930715e+01, - 2.5030298e+01, 3.0149928e+01, 3.6590777e+01, 4.4756282e+01, 5.5191298e+01, 6.8637940e+01, - 8.6115921e+01, 1.0903923e+02, 1.3938725e+02, 1.7995815e+02, 2.3474820e+02, 3.0952544e+02, - 4.1270732e+02, 5.5671861e+02, 7.6011795e+02, 1.0509694e+03, 1.4722574e+03, 2.0906996e+03, - 3.0112909e+03, 4.4016501e+03, 6.5333918e+03, 9.8535186e+03, 1.5109614e+04, 2.3573066e+04, - 3.7444017e+04, 6.0599320e+04, 1.0000000e+05])**2) + if (Qfin is None) or (Q_points is None): + return ( + np.array( + [ + 1.6500000e00, + 1.7874388e00, + 1.9429053e00, + 2.1193749e00, + 2.3204100e00, + 2.5502944e00, + 2.8142025e00, + 3.1184122e00, + 3.4705775e00, + 3.8800751e00, + 4.3584516e00, + 4.9200000e00, + 4.9200000e00, + 5.5493622e00, + 6.2897452e00, + 7.1650687e00, + 8.2052867e00, + 9.4481248e00, + 1.0941378e01, + 1.2745972e01, + 1.4940062e01, + 1.7624572e01, + 2.0930715e01, + 2.5030298e01, + 3.0149928e01, + 3.6590777e01, + 4.4756282e01, + 5.5191298e01, + 6.8637940e01, + 8.6115921e01, + 1.0903923e02, + 1.3938725e02, + 1.7995815e02, + 2.3474820e02, + 3.0952544e02, + 4.1270732e02, + 5.5671861e02, + 7.6011795e02, + 1.0509694e03, + 1.4722574e03, + 2.0906996e03, + 3.0112909e03, + 4.4016501e03, + 6.5333918e03, + 9.8535186e03, + 1.5109614e04, + 2.3573066e04, + 3.7444017e04, + 6.0599320e04, + 1.0000000e05, + ] + ) + ** 2 + ) grids = [] - Q_ini=Q0 + Q_ini = Q0 num_points_list = [] for masses in match_dict.keys(): - match_scale = masses*match_dict[masses] - num_points = int(Q_points*(np.log(match_scale/Q0)/np.log(Qfin/Q_ini))) + match_scale = masses * match_dict[masses] + num_points = int(Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini))) num_points_list.append(num_points) grids.append(np.geomspace(Q0**2, match_scale**2, num=num_points)) Q0 = match_scale num_points = Q_points - sum(num_points_list) - grids.append(np.geomspace(Q0**2, Qfin**2, num=num_points )) + grids.append(np.geomspace(Q0**2, Qfin**2, num=num_points)) return np.concatenate(grids).tolist() + def fix_info_path(usr_path): - """Fix the location of the info file from the folder nnfit/usr_path to + """Fix the location of the info file from the folder nnfit/usr_path to just nnfit """ nnfit = usr_path / "nnfit" @@ -133,7 +148,7 @@ def fix_info_path(usr_path): def fix_replica_path(usr_path, replica_num): - """Fix the location of the dat file of the replica from the folder nnfit/usr_path to + """Fix the location of the dat file of the replica from the folder nnfit/usr_path to just nnfit/replica_ """ nnfit = usr_path / "nnfit" diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 3a3d23fc4d..96a7cb41af 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -2,40 +2,8 @@ from numpy.testing import assert_allclose import numpy as np import pytest +from validphys.pdfbases import PIDS_DICT -pids_dict = { - -6: "TBAR", - -5: "BBAR", - -4: "CBAR", - -3: "SBAR", - -2: "UBAR", - -1: "DBAR", - 21: "GLUON", - 1: "D", - 2: "U", - 3: "S", - 4: "C", - 5: "B", - 6: "T", - 22: "PHT", - } - -pids_order = [ - "TBAR", - "BBAR", - "CBAR", - "SBAR", - "UBAR", - "DBAR", - "GLUON", - "D", - "U", - "S", - "C", - "B", - "T", - "PHT", - ] def test_utils(): grid = utils.generate_q2grid(1.65, None, None, {}) @@ -50,12 +18,12 @@ def test_utils(): assert_allclose(matched_grid[list(matched_grid).index((100*1.0)**2)+1], (100*1.0)**2) q20 = 1.65**2 x_grid = np.geomspace(1.0e-7, 1.0, 30) - pdf_grid = dict([(pid,v) for pid,v in zip(range(len(pids_order)), [[x*(1.-x) for x in x_grid] for pid in pids_order] )]) + pdf_grid = dict([(pid,v) for pid,v in zip(range(len(PIDS_DICT)), [[x*(1.-x) for x in x_grid] for pid in PIDS_DICT.keys()] )]) my_PDF = utils.LhapdfLike(pdf_grid, q20, x_grid) assert my_PDF.hasFlavor(6) assert not my_PDF.hasFlavor(0) with pytest.raises(ValueError): my_PDF.xfxQ2(21, 0.01, 5.0**2) - for pid in pids_dict.keys(): + for pid in PIDS_DICT.keys(): for x in x_grid: assert_allclose(my_PDF.xfxQ2(pid, x, q20), x*(1.-x) ) diff --git a/validphys2/src/validphys/pdfbases.py b/validphys2/src/validphys/pdfbases.py index 89321f098c..f3490de298 100644 --- a/validphys2/src/validphys/pdfbases.py +++ b/validphys2/src/validphys/pdfbases.py @@ -34,6 +34,23 @@ (21 , r"g"), )) +PIDS_DICT = { + -6: "TBAR", + -5: "BBAR", + -4: "CBAR", + -3: "SBAR", + -2: "UBAR", + -1: "DBAR", + 21: "GLUON", + 1: "D", + 2: "U", + 3: "S", + 4: "C", + 5: "B", + 6: "T", + 22: "PHT", + } + # Canonical ordering of PDG codes (so flavour basis) ALL_FLAVOURS = (-6, -5, -4, -3, -2, -1, 21, 1, 2, 3, 4, 5, 6, 22) DEFAULT_FLARR = (-3,-2,-1,0,1,2,3,4) From 52eadc1d357338beaaaf9987666832b6615d4678 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:05:56 +0200 Subject: [PATCH 099/212] Move fix path functions --- n3fit/src/evolven3fit/evolve.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 36798aadc2..9133ec2cc0 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -83,14 +83,11 @@ def evolve_fit( info["XMin"] = float(x_grid[0]) info["XMax"] = float(x_grid[-1]) dump_info_file(usr_path, info) - utils.fix_info_path(usr_path) for replica in initial_PDFs_dict.keys(): evolved_block = evolve_exportgrid(initial_PDFs_dict[replica], eko_op, x_grid) dump_evolved_replica( evolved_block, usr_path, int(replica.removeprefix("replica_")) ) - # fixing_replica_path - utils.fix_replica_path(usr_path, int(replica.removeprefix("replica_"))) # remove folder: # The function dump_evolved_replica dumps the replica files in a temporary folder # We need then to remove it after fixing the position of those replica files @@ -181,6 +178,8 @@ def dump_evolved_replica(evolved_block, usr_path, replica_num): genpdf.export.dump_blocks( path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head ) + # fixing_replica_path + utils.fix_replica_path(usr_path, replica_num) def dump_info_file(usr_path, info): @@ -199,3 +198,4 @@ def dump_info_file(usr_path, info): info_path = path_where_dump / (usr_path.stem + ".info") if not info_path.is_file(): genpdf.export.dump_info(path_where_dump, info) + utils.fix_info_path(usr_path) From fa1ec3cd57b9258c4a76c3e8b5e7123f99a4ec02 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:18:20 +0200 Subject: [PATCH 100/212] Move cli in n3fit.scripts --- n3fit/setup.py | 2 +- n3fit/src/{evolven3fit/cli.py => n3fit/scripts/evolven3fit.py} | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) rename n3fit/src/{evolven3fit/cli.py => n3fit/scripts/evolven3fit.py} (99%) diff --git a/n3fit/setup.py b/n3fit/setup.py index e04cb8e3ea..ed55de93d4 100644 --- a/n3fit/setup.py +++ b/n3fit/setup.py @@ -13,7 +13,7 @@ entry_points = {'console_scripts': ['n3fit = n3fit.scripts.n3fit_exec:main', - 'evolven3fit = evolven3fit.cli:main', + 'evolven3fit = n3fit.scripts.evolven3fit:main', 'vp-setupfit = n3fit.scripts.vp_setupfit:main', 'varflavors = n3fit.scripts.varflavors:main', ] diff --git a/n3fit/src/evolven3fit/cli.py b/n3fit/src/n3fit/scripts/evolven3fit.py similarity index 99% rename from n3fit/src/evolven3fit/cli.py rename to n3fit/src/n3fit/scripts/evolven3fit.py index 0ff04d7ab0..3d2baf1c05 100644 --- a/n3fit/src/evolven3fit/cli.py +++ b/n3fit/src/n3fit/scripts/evolven3fit.py @@ -3,12 +3,11 @@ """ import logging import pathlib -from evolven3fit import eko_utils import numpy as np from argparse import ArgumentParser import sys -from . import evolve +from evolven3fit import eko_utils, evolve logger = logging.getLogger(__name__) From afd5d6c55de887aad92bbbf2b9caba8b7e2cfff5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:20:52 +0200 Subject: [PATCH 101/212] Change name of logger --- n3fit/src/evolven3fit/eko_utils.py | 4 ++-- n3fit/src/evolven3fit/evolve.py | 8 ++++---- n3fit/src/n3fit/scripts/evolven3fit.py | 6 +++--- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index 0acdb0c350..07ef12621d 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -24,7 +24,7 @@ def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_ # Temporary solution. Then it will be loaded from the theory itself -def construct_eko_for_fit(t_card, op_card, logger, save_path=None): +def construct_eko_for_fit(t_card, op_card, log, save_path=None): """ Construct the eko operator needed for evolution of fitted pdfs @@ -49,7 +49,7 @@ def construct_eko_for_fit(t_card, op_card, logger, save_path=None): eko_op = run_dglap(t_card, op_card) if save_path is not None: try: - logger.info(f"Saving computed eko to : {save_path}") + log.info(f"Saving computed eko to : {save_path}") eko_op.dump_tar(save_path) except: pass diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 9133ec2cc0..f01bf7e322 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -12,7 +12,7 @@ from . import utils, eko_utils -logger = logging.getLogger(__name__) +log = logging.getLogger(__name__) def evolve_fit( conf_folder, @@ -55,7 +55,7 @@ def evolve_fit( stdout_log.setFormatter( logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") ) - for logger_ in (logger, *[logging.getLogger("eko")]): + for logger_ in (log, *[logging.getLogger("eko")]): logger_.handlers = [] logger_.setLevel(logging.INFO) logger_.addHandler(log_file) @@ -71,10 +71,10 @@ def evolve_fit( ) if eko_path is not None: eko_path = pathlib.Path(eko_path) - logger.info(f"Loading eko from : {eko_path}") + log.info(f"Loading eko from : {eko_path}") eko_op = output.Output.load_tar(eko_path) else: - eko_op = eko_utils.construct_eko_for_fit(theory, op, logger, dump_eko) + eko_op = eko_utils.construct_eko_for_fit(theory, op, log, 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" diff --git a/n3fit/src/n3fit/scripts/evolven3fit.py b/n3fit/src/n3fit/scripts/evolven3fit.py index 3d2baf1c05..f1385d85e2 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit.py +++ b/n3fit/src/n3fit/scripts/evolven3fit.py @@ -9,7 +9,7 @@ from evolven3fit import eko_utils, evolve -logger = logging.getLogger(__name__) +log = logging.getLogger(__name__) def main(): @@ -110,7 +110,7 @@ def main(): stdout_log.setFormatter( logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") ) - for logger_ in (logger, *[logging.getLogger("eko")]): + for logger_ in (log, *[logging.getLogger("eko")]): logger_.handlers = [] logger_.setLevel(logging.INFO) logger_.addHandler(stdout_log) @@ -329,7 +329,7 @@ def main(): tcard, opcard = eko_utils.construct_eko_cards( args.theoryID, op_card_info, t_card_info, args.q_fin, args.q_points, x_grid ) - eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, logger, args.dump) + eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, log, args.dump) def cli_evolven3fit( From efbcb72a127c8ddf66c31c75d3395018bc80e1d1 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:22:22 +0200 Subject: [PATCH 102/212] Add some doc --- n3fit/src/evolven3fit/evolve.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index f01bf7e322..9c49c4933d 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -31,6 +31,10 @@ def evolve_fit( conf_folder: str or pathlib.Path path to the folder containing the fit + q_fin: float + final point of the q_grid + q_points: int + number of points in the q_grid op_card_dict: dict user settings for the op_card t_card_dict: dict From 104e7be080accaa7d006631b9aac9ee90ebe646b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:36:05 +0200 Subject: [PATCH 103/212] Add check of the provided path --- n3fit/src/evolven3fit/utils.py | 10 ++++++++++ n3fit/src/n3fit/scripts/evolven3fit.py | 3 ++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 8cf3e4e0e7..8de28eb89c 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -4,6 +4,7 @@ from reportengine.compat import yaml import shutil from validphys.pdfbases import PIDS_DICT +import pathlib class LhapdfLike: @@ -155,3 +156,12 @@ def fix_replica_path(usr_path, replica_num): replica_file_path = nnfit / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" dest_path_replica = nnfit / f"replica_{replica_num}" / f"{usr_path.stem}.dat" shutil.move(replica_file_path, dest_path_replica) + +def check_is_a_fit(config_folder): + usr_path = pathlib.Path(config_folder) + filter_path = usr_path / "filter.yml" + if not filter_path.is_file(): + raise ValueError("filter.yaml file not found: provided path is not valid") + nnfitpath = usr_path / "nnfit" + if not nnfitpath.is_dir(): + raise ValueError("nnfit folder not found: provided path is not valid") diff --git a/n3fit/src/n3fit/scripts/evolven3fit.py b/n3fit/src/n3fit/scripts/evolven3fit.py index f1385d85e2..83cb38530f 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit.py +++ b/n3fit/src/n3fit/scripts/evolven3fit.py @@ -7,7 +7,7 @@ from argparse import ArgumentParser import sys -from evolven3fit import eko_utils, evolve +from evolven3fit import eko_utils, evolve, utils log = logging.getLogger(__name__) @@ -352,6 +352,7 @@ def cli_evolven3fit( The two options are mutually exclusive. """ + utils.check_is_a_fit(configuration_folder) return evolve.evolve_fit( configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump ) From ca625e062ca8b48c8776df33e921c3e82288faff Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:40:31 +0200 Subject: [PATCH 104/212] Remove comment --- n3fit/src/evolven3fit/eko_utils.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index 07ef12621d..339476c7fa 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -22,8 +22,6 @@ def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_ op_card.update(op_card_dict) return t_card, op_card - -# Temporary solution. Then it will be loaded from the theory itself def construct_eko_for_fit(t_card, op_card, log, save_path=None): """ Construct the eko operator needed for evolution of fitted pdfs From a3d689e07c5f6cceffeb6e0dce10335ef4b1b1e2 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:42:05 +0200 Subject: [PATCH 105/212] Remove comment --- n3fit/src/evolven3fit/eko_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index 339476c7fa..1c579d2e75 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -40,7 +40,7 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): : eko.output.Output eko operator """ - # generate eko operator (temporary because it will be loaded from theory) + # generate eko operator if save_path is not None: if not save_path.parent.exists(): raise ValueError("Path where eko should be dumped does not exists") From bb50d5cca01afbec8a8af1d304a28f0330333d44 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:49:43 +0200 Subject: [PATCH 106/212] Fix ValueError raised when dumping eko --- n3fit/src/evolven3fit/eko_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index 1c579d2e75..d112264a66 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -43,7 +43,7 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): # generate eko operator if save_path is not None: if not save_path.parent.exists(): - raise ValueError("Path where eko should be dumped does not exists") + raise FileNotFoundError(f"Path where eko should be dumped does not exist: {save_path}") eko_op = run_dglap(t_card, op_card) if save_path is not None: try: From 679404d60a7aff5890f0a9a2c2765ec4ed17060a Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 15:52:09 +0200 Subject: [PATCH 107/212] Add error if eko not saved --- n3fit/src/evolven3fit/eko_utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index d112264a66..df87ec2f18 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -50,5 +50,6 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): log.info(f"Saving computed eko to : {save_path}") eko_op.dump_tar(save_path) except: + log.error(f"Error saving the eko to : {save_path}") pass return eko_op \ No newline at end of file From 197feb80cb1037e36f1c1d2cd0e2b1dc827650a9 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 16:09:39 +0200 Subject: [PATCH 108/212] Add Error if one of q_fin and q_points is not specified --- n3fit/src/evolven3fit/evolve.py | 2 +- n3fit/src/evolven3fit/utils.py | 144 +++++++++++++------------ n3fit/src/n3fit/scripts/evolven3fit.py | 2 +- 3 files changed, 77 insertions(+), 71 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 9c49c4933d..00d788380d 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -168,7 +168,7 @@ def dump_evolved_replica(evolved_block, usr_path, replica_num): Parameters ---------- - evolved_block: numpyp.array + evolved_block: numpy.array block of an evolved PDF usr_path: pathlib.Path path of the fit folder diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index 8de28eb89c..e7d19ac084 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -65,76 +65,82 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): """Generate the q2grid used in the final evolved pdfs or use the default grid if Qfin or Q_points is not provided. """ - if (Qfin is None) or (Q_points is None): - return ( - np.array( - [ - 1.6500000e00, - 1.7874388e00, - 1.9429053e00, - 2.1193749e00, - 2.3204100e00, - 2.5502944e00, - 2.8142025e00, - 3.1184122e00, - 3.4705775e00, - 3.8800751e00, - 4.3584516e00, - 4.9200000e00, - 4.9200000e00, - 5.5493622e00, - 6.2897452e00, - 7.1650687e00, - 8.2052867e00, - 9.4481248e00, - 1.0941378e01, - 1.2745972e01, - 1.4940062e01, - 1.7624572e01, - 2.0930715e01, - 2.5030298e01, - 3.0149928e01, - 3.6590777e01, - 4.4756282e01, - 5.5191298e01, - 6.8637940e01, - 8.6115921e01, - 1.0903923e02, - 1.3938725e02, - 1.7995815e02, - 2.3474820e02, - 3.0952544e02, - 4.1270732e02, - 5.5671861e02, - 7.6011795e02, - 1.0509694e03, - 1.4722574e03, - 2.0906996e03, - 3.0112909e03, - 4.4016501e03, - 6.5333918e03, - 9.8535186e03, - 1.5109614e04, - 2.3573066e04, - 3.7444017e04, - 6.0599320e04, - 1.0000000e05, - ] + if Qfin is None: + if Q_points is None: + return ( + np.array( + [ + 1.6500000e00, + 1.7874388e00, + 1.9429053e00, + 2.1193749e00, + 2.3204100e00, + 2.5502944e00, + 2.8142025e00, + 3.1184122e00, + 3.4705775e00, + 3.8800751e00, + 4.3584516e00, + 4.9200000e00, + 4.9200000e00, + 5.5493622e00, + 6.2897452e00, + 7.1650687e00, + 8.2052867e00, + 9.4481248e00, + 1.0941378e01, + 1.2745972e01, + 1.4940062e01, + 1.7624572e01, + 2.0930715e01, + 2.5030298e01, + 3.0149928e01, + 3.6590777e01, + 4.4756282e01, + 5.5191298e01, + 6.8637940e01, + 8.6115921e01, + 1.0903923e02, + 1.3938725e02, + 1.7995815e02, + 2.3474820e02, + 3.0952544e02, + 4.1270732e02, + 5.5671861e02, + 7.6011795e02, + 1.0509694e03, + 1.4722574e03, + 2.0906996e03, + 3.0112909e03, + 4.4016501e03, + 6.5333918e03, + 9.8535186e03, + 1.5109614e04, + 2.3573066e04, + 3.7444017e04, + 6.0599320e04, + 1.0000000e05, + ] + ) + ** 2 ) - ** 2 - ) - grids = [] - Q_ini = Q0 - num_points_list = [] - for masses in match_dict.keys(): - match_scale = masses * match_dict[masses] - num_points = int(Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini))) - num_points_list.append(num_points) - grids.append(np.geomspace(Q0**2, match_scale**2, num=num_points)) - Q0 = match_scale - num_points = Q_points - sum(num_points_list) - grids.append(np.geomspace(Q0**2, Qfin**2, num=num_points)) - return np.concatenate(grids).tolist() + else: + raise ValueError("q_fin and q_points must be specified either both or none of them") + elif Q_points is None: + raise ValueError("q_fin and q_points must be specified either both or none of them") + else: + grids = [] + Q_ini = Q0 + num_points_list = [] + for masses in match_dict.keys(): + match_scale = masses * match_dict[masses] + num_points = int(Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini))) + num_points_list.append(num_points) + grids.append(np.geomspace(Q0**2, match_scale**2, num=num_points)) + Q0 = match_scale + num_points = Q_points - sum(num_points_list) + grids.append(np.geomspace(Q0**2, Qfin**2, num=num_points)) + return np.concatenate(grids).tolist() def fix_info_path(usr_path): diff --git a/n3fit/src/n3fit/scripts/evolven3fit.py b/n3fit/src/n3fit/scripts/evolven3fit.py index 83cb38530f..4bb09d9680 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit.py +++ b/n3fit/src/n3fit/scripts/evolven3fit.py @@ -40,7 +40,7 @@ def main(): "-p", "--q_points", type=int, - default=None, + default= None, help="Number of q points for the evolution", ) parser.add_argument( From 238cea1adfb70570eeb7dba207718919aa932acf Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 16:11:39 +0200 Subject: [PATCH 109/212] Add comments on test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 96a7cb41af..3aa810cd5b 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -6,16 +6,19 @@ def test_utils(): + #Testing the default grid grid = utils.generate_q2grid(1.65, None, None, {}) assert_allclose(1.65**2, grid[0]) assert len(grid) == 50 assert_allclose(4.92**2, grid[11]) assert_allclose(4.92**2, grid[12]) + #Testing if the points of the matching are correctly repeated twice matched_grid = utils.generate_q2grid(1.65, 1.0e5, 100, {4.92:2.0, 100:1.0} ) assert len(matched_grid) == 100 assert_allclose((1.0e5)**2, matched_grid[-1]) assert_allclose(matched_grid[list(matched_grid).index((4.92*2.0)**2)+1], (4.92*2.0)**2) assert_allclose(matched_grid[list(matched_grid).index((100*1.0)**2)+1], (100*1.0)**2) + #Testing the fake LHAPDF class q20 = 1.65**2 x_grid = np.geomspace(1.0e-7, 1.0, 30) pdf_grid = dict([(pid,v) for pid,v in zip(range(len(PIDS_DICT)), [[x*(1.-x) for x in x_grid] for pid in PIDS_DICT.keys()] )]) From 63632bb5755c3cf6a09db3fdbd60121d3bf8a7da Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 16:18:10 +0200 Subject: [PATCH 110/212] Substitute lambda function --- n3fit/src/evolven3fit/evolve.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 00d788380d..8883c6d66e 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -151,9 +151,10 @@ def evolve_exportgrid(exportgrid, eko, x_grid): evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # generate block to dump targetgrid = list(eko["targetgrid"]) + def ev_pdf(pid, x, Q2): + return x * evolved_pdf[Q2]["pdfs"][pid][targetgrid.index(x)] block = genpdf.generate_block( - lambda pid, x, Q2, evolved_PDF=evolved_pdf: x - * evolved_PDF[Q2]["pdfs"][pid][targetgrid.index(x)], + ev_pdf, xgrid=targetgrid, Q2grid=list(eko["Q2grid"].keys()), pids=br.flavor_basis_pids, From 0d4d68f3114949762afaa54e46bd5afd89bc5571 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 14 Sep 2022 16:26:49 +0200 Subject: [PATCH 111/212] Simplify load_fit func --- n3fit/src/evolven3fit/evolve.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 8883c6d66e..b3a1808d19 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -116,14 +116,12 @@ def load_fit(usr_path): """ nnfitpath = usr_path / "nnfit" replica_list = [] - for file in nnfitpath.glob("replica_*"): - replica_list.append(file) + for yaml_file in nnfitpath.glob("replica_*/*.exportgrid"): + replica_list.append(yaml_file) pdf_dict = {} for replica in replica_list: - yaml_file = pathlib.Path(replica) / (usr_path.stem + ".exportgrid") - with yaml_file.open() as fp: - data = yaml.safe_load(fp) - pdf_dict[replica.stem] = data + data = yaml.safe_load(replica.read_text()) + pdf_dict[replica.parent.stem] = data return pdf_dict From d555a4db15645427b36d3642acd0086c4d613969 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 15 Sep 2022 15:47:24 +0200 Subject: [PATCH 112/212] removed conda-bld --- conda-bld/binaries/evolven3fit_cpp | Bin 176764 -> 0 bytes conda-bld/libnnpdf/wrapper/nnpdf.py | 5024 ------------------- conda-bld/nnpdfcpp/README.md | 1 - conda-bld/nnpdfcpp/src/common/inc/version.h | 1 - 4 files changed, 5026 deletions(-) delete mode 100755 conda-bld/binaries/evolven3fit_cpp delete mode 100644 conda-bld/libnnpdf/wrapper/nnpdf.py delete mode 100644 conda-bld/nnpdfcpp/README.md delete mode 100644 conda-bld/nnpdfcpp/src/common/inc/version.h diff --git a/conda-bld/binaries/evolven3fit_cpp b/conda-bld/binaries/evolven3fit_cpp deleted file mode 100755 index 3a73ffb30c20c2c413608461b386ef4a021a6829..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 176764 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

WPnVG-Tv(@g-nc= z*$f>m9eOi-imWeTTs#lia|kfoPSeVnFSXQF!CH21q2zDknQKUC@hM1^VxJ%n)_Lo& ziutCIj>9b*LG8ihxoz>%%JUF-oqqXuNM)lZQ0*z&{rkQgcgHGz%00pS-}yFQ`JNU= zT_t46T`b$K7%&%obJ*CwYg(>*&$fO$>Fk`A<4!wu@l9w$_>mFd4|}{Y&7IV3J3d!! zPr`Tp_7r>zw)dUpPJ16L9lsSnzUPk+5=#3T@i%@E4}aQ+)7%?BN$vnc_u{khFr)v@=#09tmfn5z z?h?IFRDlC~SURc8s;!JKm*-Hv=`B z)a!Q)1>l}am*a2zCOtdQ^Mbn5K6T%>5kJ9()4p@xw<+a)_sj1a@gHG~nn=6jtwo39 z-FI-4-U!MKWr*JSAta?f*bkLpPD{)iFfGYl{5Zss!Ve;x$4y{*n@?fHbwPB}YcPMJ zSvRHJ>t6B=Roi=GrPrhpRH7%4kP5>0(t{pJBBMPqvL}5PJJSxFs|I%QQRwdwF)#kt zyub`Z{cLAd>UU_u=F4WFon;@m8_hE%Do=dx)@CU%7Nj8Mf04ryh5 zy8V5i(?UF4uip(yMegiEgBb^)6WD~ijbU;buiZkYb2mC%R{&mk5WDhSqwxzT@31lV zK7aN`r#u#-uQKs8bhw-Po$(pEhN0}T`!lpFLfvijo8K}J)kM0z4eJ9(6H`A=Rf& zaHJ`b3pRy2N#-$07CdWtaRwC%R4#Pr5bkH~XIuAM;L5IX3bza?ibB{3%-gHVSnS=A zxUd_r$e)*}9z~cmyDb?6_Ge@D-tM{v1%BSYGdmv7+Wye53>^tt zD%bn{JF^3yuI&tV=D2gd@Mfxl?m2-Jw66phWF>~G5fBwlj&~=(G7Gn>=9YTWvE;## zMGG0Vay-HNPVxeKJX?9$R?L|Pj5j!(_zhK>6YxQ)V+a=K$$Za!D=*l>IAR_AacVNE z6Ec$kQbPp7$WWDXr6gaUOF259y#?9ya><8R2k*!d|U(r zjK~;akT)Ic`8%-B)xy|%2!jNSAU=tZ2Tr|-5rk}dVg#|ted|4p96WCYoH&&wQnQ&O zh_Aqh2ZmH8yiQ^;c6c3XKEWD0V7^c*V~6+DWW>PiK{M-QPhcXLbrG0V%i+U*6&lH4 z^rSJnbP(oh_4Wuzd@nR~T4Jd)dO-~wD*-PufEwUz1{{X~XaKyBWsTXbH=){b%#Nm$ zsQk!-a(?+mvC;(jt3RJhh8bS0Fni6@g@Kv1oS*y`-N&9pNe|jHRm;t z**4Xa{%&4izplSw@kZue_pPrY1ta|}XN|><`A}mUQDeKP(u?1LICDqa$o$!TYYC&; zHFpb`CZ;TT)vPqq%fa=XYY`)~1s`dTF*ME1M8SX;7sB$4K3|DRL+hBcO70@82gKzB z&SdR-;MF3e5N!hBATU6@xB=&cFJZ7gkufs&yKl|GkBFw|4+5f6 zz)9-Rz*)2~TZm&%vdfF}gMy2_yRl@VG46V?_couCk9}&B4eO zFB1BkCcqwQ&%Ex6dpPkU@L2jxi{Yve!O3qRZ91rT_6!+l&87GAoe`RIPWr>qXEqRSs`< zU_t`uZB?23{K(v#7$Sc;GfL#0^-{k;h;*do0{|Vbds%KGl1qT`=JO+QG~>mX6d!h^ zcwr<(wI7_u3W0&@|Ji*R#?Y6RNy^xdTmWAOna`?YkORiTdUA_FZ!UNYex*z-X#w-8 z+~mB#_j!Q@Fu-dq!(!fPY47fM&FL81j!TZ7a^z%ofP2Ze)Mlvbb)bND5q!G^6HyL` z;g;zIQ?|LiLgHZ~ewP7bmaq%6zkape^uq>+)o6;`lGrFPxGmBVWxSjhjaFhs%UxPO4xag2$~zyAHcXst zF~=;&Q6F6P81&s`m;+DXfcDKEZ24Gx0uA|!g$SZKZS#<(3>PrO|GN0mpexr?5bH+v zm$#XLIT>W&u1D+~)TkCD32q!*ik91d5|o&Ae8svWQ5K8zJ|>65Y8-GWudR>+1iPbA zntSn-D`!j{dnLGh7i8sMb3j6jXy4F}#OW4t8ZvN-_B%+1+a(b@x&r|Cclz2vJY09o zK!L{?ShGc}I5h>oU|75wyeT!(-!;mAY+3iN1g(Vt;vQ*)V`U`?vmZL%)Z~5ckr29( zTh!rUFo~^GT_b6oj$bNH5?p|_8@+5$s%{j%xqiTWGO}zCU|lv?Gk`pos0)E^v&*_8 zaY3QV5GWVfz|qamKzF9)|QEj@9Vm_(Q2Fx zxsJb7AS;-boh^F3XNQtJ*I*FD zy)8tk(lJSpr62r-^1Fk7DcnlAcPklrdV&+;vuktXFp{q+NPxL=5?UTt8&xWZg8|x5 z_bdJ!_pRsssbJOZ8-ol$3Rd z3n4VdsHe7c;7SBqnhU4F8Czu&AHp$6Qhau`r0Cc6o|S@}t?ol!_C;l-AbSuG)jrSa zL=JfZpLxpvz?#a=g2C=3g)A)+oQDKCfDHJP5d{tjM^~colZjxs0{d_FCJz%c{!>^N z5fdf>%$+6zR6)6-i1IL9Uw44?{_riuLnIFTUj_BHwiB88YjQ(Y?Pi37L&%VfQ+;rP z>jd<g?lwB6~F2Bq#MkjVW*5rECN(vQzkzR;^js^`{yNiT%(R;$ z(|eC?g1z@k4jJ!4zuFvJ{AZc=a%B1j5mC}jbg{L_Oxf?-B|WjJOi$98Uh2rS-JfN; z8i966M-UO24yPN;_~cq-+TM}rGZ=T*Z*w9w&u1fonemk#kO*kGfSM4b0gg;}5)qkx z0vFR$tQIYnEHf4}`?ikkPnGOp$ylp4OQhJ=FWH_f*=AhkprpNkVkzMz1QE(ne7T%@ zq$FCSE`l5OfdSuM0}7}LZLUAvxd{fW&JqTE`FFvUl`(+&RA(@!PmKI|g~l>P6;$-`kP&Mb&Yo#*Gm_^WwO$zb5ye$cIY@5pp{siAE*! z*g-%tGcL#%T&bAD=M&Tfj~)WP&7*9_1&;>N4Q8CcOr1Phag1cD1~9=u4YsOIl^BhP z={hu+#%EMhdd; z$8-dvtV;DQ$*MP~5hjfgdNYbJK(giMoIfkV4g}goxKR?tsDo}WbY zbYveOAy-J8Mk=s!01`1X4x+oa33*OHO;q4W2O&QZ5f!+HZZIRIJ|TG^#2VLNW<@eS zmKcqYktKO%%yp1)vVfW(<4pwG{J2&Utx?nI1~W>os>hECw?&3b@JPl8iO~odugWf! zj6-a0lnAH^GKM(F_>zd=#^-dw4U&=I5RXA11G1og&D3~r34S9)oFzGCT#X@uO+;4# zH9^FB1lqi~LK3Y}BZD;zpfSSnEGxB7uux0AfP5l9fO2yuKuc%S3lDYW|))ekug$} z(XgS7)tLqynGXE3Om`#D&a{w-kduXUgBfYe)Y*xDdNc-k>t$8J^m7V{?kEo3fMsI> zYm#fWJ^j>EPx-gG@AwHk!&)W=c^xNWc-))z3Klvy=(SZ!B!)3%8*T7{uOSw8=WaI4 zPB=YPuszX8|A;GVuol>Y75?a0QT7wW(B%s*tAW4lQ`JWqpxg{<+Lj4zJS1lmmJ`1Z z+4yir_~=g(jZ->(!l3M6+b$^WFp%lVe7gV-%l#NRKJ(pC7`D{mNjUGwi@N3 zmd2DVh~d7S_Nbu~@If*ykxa~R{0SrxiQgomQNkJ<-OOQO%#6p- z1=OEQ)5JlDo3u`AK0@SCGH?mBspWUZe*y~@28zZA=hc@CwT6PybnP84nX?WZuV z@F+wPP%ggDQ_zS#Mqi{rdkk6l!TgBPRaa7jM@{gXYtH|`A|(fPswI)Hi!Pmg-Krr= zWa;d?e!`OO=#ara0c{mfLzYNj0Saf=LnrbM_0Umx7_&ZU`b$w#tZg~gCQ)R^LS(Hh zL23>yCCMY0N^qTUbg!oBSW=}=u5i^;y+g2GaaAoPQ`bF2(e`-0jy$%~BE}F;ovl+9 z+P}xrxVsIvORbVVf%HQ2F=P)t1=b_Lsy27=FRTi49jh+11HVJN`Ps?ONB96W)C=+G z-eI{k>XG{JwY8c z#a7#yLTl??A;i=oT32A$BC1V>+S8yhOUq|XWAeF_=|tsooyaF{8gj^|MHlX;x5RY3 z1piMZrwdcDBHKlx8tzqlQGFy#wN55ka&xUYH^Ke# z#aOOcuv}H|Akjlou$P!<3`ler^C6+^*O5QE@gLBW!=4G1s>?>xf|Lu)w!j{VUB8Xl zWShFu?!C6W8;B+R) zQTJA}_gYX0i>xJincupL$F;*M7wmMfDqo0r+@YmmH+BHH6$`Flf8%D<+8~ETi*r1yaqmGX&B4#h3*L|vO-he9 ztY>*g^g$gW9vIC!oH`Z-DTzag<^A5zd>=C|Ov)hh`3gkhkxA|o@rc8Hr?7qPL7i5P zN36y0#?~oMuI*91k%N2v&uocrNsRq!i=gWF`^;yhP$1LsWaPA^sH2t~Ei&3OKzGns zJ_fn{UUxV`K!QA!?`82eQTT+gCPiZpB3f09(ZFwW3s zw+3v0(znAJucd+APpR=h$VkUPFx1k$svQ5WDcg+dwfD1Fd64E2a45~#ZA6l=h#wE> zI)I<7C)U+rKF|0;!wc8GIbF<7P4$&rL zHxk!#X>;JYmjOGN@z}*+@vc7(bHPhv>jfvGlNNPFI;2Tf0z~5H6aP62pXtdQB~WQ6 zuTCR=RLhMe{zBl(2mtg+vp}Ddf+DM;G!h}d(Joe93fyZ6iqUmYj~04+q-_b`Dxgus zo`oxKd1CMMYQ#s8)F>p=rl~BGVzNAsS?)i%=`8ODx|QX5R+i_&wYdcw^=kZpKFgN`+3sKp@E)&jRw6`WO(Xr&3mVL>d)OUqC)_Sn-Zl z2!TCn__(E>x(Xhg(m}>@94~PPIZWwS)^AI=JI@maOPEYuIV4~?e-)LrH;R61U+{(z zkf5US-vU97C?S%95Rm%CVMA<$0~|gzs`4Z~0-0W&;L(OP5EK|wy%Uy0p7h^g)YmfC z|JA~3OR9BQ9(OCLy_o~e~@q2aCYbp5= zWR&ktG2$^V4N5aCKhPagmJlzEz;3+c2{w>Ph_veE#;a_9qN3y9Lc5q>96BAM7A>5# zCo?DwdCS66K>||`Z0WZxibH*x0MqEx%G|fP(Z%B^iIKV07Xq^G*sVU5qltJdLr9rwq9m1*fz04-F+z6BxyelNGlyqf;6fG>%)BS}hH({U& z1usIgsQL|khSfNOzU6A%2PDdBta9xF%9hU*`K0ny&_2;Ly)Ym0!h8s3klyqyp1^ys zrG=zG_|{EF4EG&7F(EOJ#ntql@~;v+=^x;qVJ?$;Hs_`o=%KWHdaqeQzH)ey!=q3K zpd+Oe?p3&`NUq-S#+MmdbP#7LkiEg#kpD`U4XhgnZ%$xO(YG)>*y7QT2YKC|tzhl} z1PwPINS?>u!oRJQBI9*mRGpXplP7bF*FAiTCuo)d>OtS&aj)8!=U%nd8>psK!uyjq zzQVYsmYsz+{u|`H9O-c==U%nTQ}p%kp8cPB1ItPQWL&Ge07a7k@m{w-Uk{t)9)?_= zB(38F4{`9B;J}EVn$_7>tu|3@istDbXk-(Jrp?63)pxZ zJpex21|&DZ7_cs1qDoVB`=7;GAG_&clFEr<8u+5lL{cDLXM;;OX{h+F-CLe?A_60w z>nQe$?FfqLTyf~t#$Sylz z6frt}co$(-XFeN0IewT4mp4P(QzUcQb}}CNzQJV4fD8n5aORtHajd~AS<*okbDiie zt8zG=Q}+rb@>DTa7Ep|NNEs4W2uG@r%v1R!pr|q#16B%++yBZwVl61-HFmi?0m-Lk z@m4i7zk`4J{oO{^!%~nQ*BdZP3oKZoItUTCa0{vN#Ab=AJAn*xn*RMD5Z5HI&ssBb z`)lLq(Vf_$&7A%_EX(!TvMNMFt!zLJacULQ2*?#r?ljke!C-W{T>AtQTvxt_BOzGq zzB<)wWDmV&##94$)>dRCQ7*9YAoK{C5|BM&M0$ z3c_5k*;nvCWYBy&NNPu)A_?)}iBMtz*-?ca)j;b7XJ1F_wL#x$xEgbCXc$mHIr*uQ zdT`m5jEXP#BHSJ+;rb=ZzYR!zi4;c35i>E=4l#j3ro|&-=nqs+=na0#_~9l-=o@}M z$44)YVIHj6mybl8{Q87=y>)^Hmk%xy1dA7289LhvwHfp}ftT69DC_Sayau0`Dk->8 zp5%#zO$)u!0B=<25x~N@!k)yE7iv>C0D6YI>&PNUXdxYJ#kzyREp=cP@KJrf3!;U? ztCPB-eUt6V^)m~r#aNZ9z9K;~w{rY8>YwF*r_YT((K?E)!!bOyU zyp={eW=Z9I@d-W{SCIp_@IiU;)z#jhw27$RHz|6vbwoU7jj#Ts^huy``0{}u}>yKoo za>X+B03*O;cDMq}3z#_;6R6Rt2jCs5a6%baLj}nb9IJR{2iuCs8e@6$Y{MLjiaE&$ z3`cQ?CV4aW`A+4&4N8eC3!JxlgqEYSqcmVKm-{#G8^OyUGdJ4jX>Z)C@_|Qr9fP?- z&*(c4YnGA`BjOkBT`3O zs8&bu2Np+bx=;q~`|+@Fqx-VonKlLrRDHFIdly)bxD(wC&PeYybX4MS6oOQ~#!u?V zyCk)ohVqPK-dE#UmP)xHGdaio^10bKo^9aFD~_V#>RZDch3yL?aDIrV);(MIaKwRg zZsFr}`{r6Y$_EK@7gJMWiVOQgyy}8Gn2+J%z_f73D0inV1zn!4KcfD-t* zw3ihe3;e(3nKM%RhEtvRd71m?+#kLanH5tWaBJj@)D%zM8{`#siMjTE3d#rp?(AN| z{mpQfXms!o@!gAg!dX@{eHa++PzR5d2nq9Ahff71bJO@#1rAo~tLNQfw@(rF22yx{ zRDPh0VchU4zma#DfeD`6!5cZnruo71Wcog$v0yp2ARb|*h#5a_?BLU~n_}pTJ%5Hf zyg0P#5IGqw7eAy+`#)@yhD+LihksBVsN4nB?xG$D@m_P7Q*-LA_nBn??Q$sEX)A9$ z?84X(hbDoJL&Ja*oRnpl?G6kDT5u%JB#c>!$y*jw09q+8Hq0vpsnZc_HDZ(_hNe8X zEW&?pU4;W>a*Aj1{f?Jk}TX9GS1y$$n?q~^H9+^c(aMc#p)>)yxV`BPRnXa z*glA9-Ezm;OP$#E&_{+(;irrAmKisa3*2HtGdT-ca!q@d&KgoOj=BrC`EbxvFqFR? zeNK9`3JtTV{)RF7OCs!W&X64HRN^s?%b{>d6zjj%wPpfVg53U(P_SCpQtkOdJlAQ@ zkK!4sJqN{eqV}}H0ISyZ`*=y9qj)~no*v?PL3?_OC#XGVi-%VkAyWwwXWYT7qn^O`9OQ-h-a1dEELae+H;$DrfSc<;>psUhsD!Xd!7?d?PZcQO+9K| zTeYV`JkMy)Hu2o5Jvzb@R--&0S_SA|eS$kSw3SaB``BF)`y?EZ$p5w*yr1qR7 zo?`7eLp&3;=X~*;t34Npr?d8q70=#rlJsQpyrn&SxVzT%xc1yAo<-Vo3p^8GnKbYV zlw6&H>aTS@Crl{r!GVf7@OcJwlz;^~prZ~bWWaA78N;gsxXy|g7cpSB1ZaL1ALOpE zIj{!N>st))<2fWUJWfHJN2YjRhOa{!CfJ=11n>ye!227EF zlXSp(9gxm|3nbuI;aBksI^Y0&s-FaG)&Y;}fJz1=OTgVaK);kY@LmSgbzsRS>wr6S zjHwLxMgscjfW0oO>tc{*UI4j9CM5facw2k3}Xe;3fuqk8xbBYnTo=S_fRffcGV!iw-y}i!cL^V*pQ})VjVNE1B=p z0SZ3#kOaJ>1HRD#uP|VV1Qh9j9Xj9^2F#X#Q99sV9WaIgV` zo*@;kAK==E9}41LK#m4t2yUfoH@F-t}){-xXzRKu0;S;xE4Die9(@Nn*kxG=D|g=^Wot5y6ZXz z;?sgS3lJ=_WLyom(sc#CSI)?vjwqM%=iCa{Xt*{p^CZf}fUu}uxRtIU_>P=2by|fh z%YivuFtY(6YtI$Te#GRNd~GdoilCegAWL>ST%(kEU-|c`R~Z4<2>?{MQt-7S9BfNS zcR)yR7r2$KcKD8*des~doQR(!qa|EBN~J_;0SKkx&_#^058sRDjhc!mKj7zF8~1*} z{ShGIek-`U1ot8){|SCxW#i5k+#LXs$?wAj##?ZVkrl2AxHjTYLEK^?Zq$ft;mn*; z;acNB>@J9x3!#CPP(DRx>1+pzr40?14shl@-fgfnw;h3j8%ZN#mD_y8bG zYZ=^1*X{U@oH^M>c}`I70+4Cl1{Y~9hBLFE!nFXdjp!G|LO__-Kj1=|@Etj`z($!Y zC_VtmxLJZS72oTojHVz>!cQEB*Oh*@;9hCrUM9FBi91v*^};y(qkyM@?A zBeo~vB^9ot9EjHlVp|K*r4j!a9v3$Z4gUaKJH;$PJOl_O_ZPU8t}wnAdxoC@BEG@T z(MbDqxOS9w5@k0aEYK%#D_zyZ%Nt^&e0LPf{2_oW(7SMvRs|d?&vLjnV!0r0281nb z9bBVy$n2Rjr_L&viZ9ju%MeY^nDHWTF~b-lnh7NhFj3(8v3z@ zjt7Z z3oK}@OZdQs3F!3}bhn1qY3Mu)`lg1)qb&pXMhp6qhPKqu`4;p+K(Xd^>Q5N=20ITO zi~WsSH3lTe4BjRDL3e`;__tvmW<@F$!Lm-}`iL0^T$FQfu#|z`z(7mB*>2?IeWl7o zCV9bW*i6c>+s#QD)EA&^i6~#%&|&f@PD@=cI$EBPkM_h|XHm2Z3bCds#> zd^^dvi+q#id%S$R$+w4mQ{>xIzNzv(Nxo_F?JeIv@;yzyedT+Ge9w~a+4Ai#-*e@A zo_x=jZ6~N7+-I&`-0Q42X%2> zuV4HAf9-ttdH*_RpENm1ODOd{-}l|X>0bXH)}H6R z*T%AKAr;!g2e9B=*zOWgJBdms>IqS_I4mMC0=I#<{o-SS~tqc0po6v-MbEGG(ES?3Cu5w(Y?Z;7Hq zD1|49`i!X77Pn)jiCRh2N}{NTJiL^s5cCm;A0%ofQS*peL)2|V zeMgjws8lo@hi@ioHc@mst&o)fvB&DT1hdd zCDOu=h^iqf9)s`0uMjnfsON}kPh6G}HH)alME#4n&OrM$~OYB@y*GQGJQ(iM58qCZc8$MeB=&pAcmr z>atd#G(?pWbs7t2g>Mt}6HzQ0)IOp{5k<>`g>#9jCF&ibJ|OB(qTV3tDkG@%MBPf% zYNFmHidOduX{GbBFatFt3=Hp>Nlc_h)Tk8@!?#e97IhbYAsQjM14cl z2%`G61vQwcIYh-1RYg=UqUwn1Oq8}As5V6PA}WliDMbB=b6|!4BP? zb_H6|bApLgFjissP{SS(qMp{UX9VM)0^2RbfIcPUNp=RXt#G_mXopqBy#ftUj%p46 z(X)BFsK@o}VV&``j(wqv0ewifoV)?w=D4|xO=WDV;ROx5E$SW(yH7A45ZFgT4Cq}H z6n5_MdX2D;0>L-j9g=wl{k}GUkWA?7PTT2l}$d3}Hw6vg3wMORr$BMH!Y~!45}7 zuepMK*(!B)9NQAzrv7raD?0L1_+nfoK2$Og`}PvU z)?Vzcn6@wXVh3Up9=Mz>Zr}F#UhH_s$hm#l`c7f<`?5zaoiF@!1zXm+?V`Tyz0P4v z`m#?tM?cw@?dbdtnx4mFyPUh6ZH(>9*q+#k)xFuX-TMF1i*4&h)u5XJDfLIU4s&|3 z2fGht?91*3q|UzX1|-SZ?y=B*qDSnHJ=m5WT|po1u@db9Wux>%UPiG5#uBg8 zl@M{e4#A`jWQWGETgOgmqCV2Gxmx27TK0}M2K2XDy6FkGeG&|HAuQkUatM1_Xmv`@ z>V)VWr~sPq*Yxaljp1t@`%ptSM9w{ai4d9F_Z^KeU)Th<_%Hpy!@$tbwU10?-7Y74 zLxq$+hL<&h#kfi%l*TU62yY2(KpqtIk7^KQB-zIr{b3E;s_DYmF^&FrjqtMut)aq_ z!quAX1KcMVFvX}Bs9fO({fIH)_i0(qVlBr5*jS8FDAgx98T&*q)F5&KHhtD_2)_|y;8qN6$rbHZ2~1ok zc@DkyuCN1I$~)xiKB4remVK$AtRwr~*gddzk6_rQK?X#v*RYoaBPJ6kgc#8CG)n$= zV~b#Kkzl|^?s_2#ldZP}S`^#CN?d{~^U>@U#%}3}n(>H0JJysAG1nQ;m@W{)>IL?yVE9U4 z?^ABT?D1rwFB^)HWcUh=aJ3Od;Ta(n#o{|*He+9F^gGcaYV^mbF;ta>n6dg71m+eZ zUlP~~Aq@2MLcYZFoX~~030i&xWnjx}YSN1l>4{sap4>{10 zecC3Qv8UQT8M3ewd$Xe?ZGgPv@EEOrH#cZ)dCogL{mpt?I-(*1o{L6|Ni{LSfKo8#vE zeRA{qdJ`+aiaVM?Lg!=#RCAH62hxqE~fbe`s4nXN4|$MF)&U`h%|2NB-84 zt=5yxm-P`<9k728?e4(#>Hid7>d5wlw*ILjTND<(uRYrsmI(T2*zFqBqGJ)=0IDOS z_q1oamtCsyAo^0`iIUUU@b-O;mPXNNKNqYmue*6lz) z+4|b=JFs6`V-&QkP20NmY)g9sG`6?@1GPy`w*l;4l<#|muzPigY8cx2KZLFebZoJv zEmG+Pjp4AC)oQ|^vrV&xQVHeu3T9`_u3x5QO9bP5Em9P1<{ttzqR(om5#6teK^;7! zw3*S^L}oL3uG6x|g{P!Gc&yrW?3)%6zv_Kym}DxvFMK`}kol-W7KoEElU%SK+s&`apCZn<7CzNlsI zQivbY=-=0}_cX>QwCqn!%;Q?NNLxzYQ5=&|#IVt$F&qs?hGS5}w(DX}gtOziHmAbb zJ^D4moCvl)WGSNaS$Ir+IGP2iSt7TMmC@FW2Icn)#?Leu$)E6)xhRGf=_dU`f#o5g zWd8%{85o+??67=x140jfqS!>nChE~4-GI(Uc9$ge-;wBrhat|l=|9u5b%ODEEqjZi zyg;KzsefBzT%u)vXks4KvPx~f#H%%Vf45-xMuYw(s+xLc zhEjvrY8J;eKAh|Fa={Z^o z9@&q$G3s6ovoDk)28{8_7HPb)nZ_#YoTjSE_$Hl)a%_40m6Jgs%!^yF$WNgkmWr?3qyZ zONaqFw}%>_vmn#}oyS8l%ai@QTNu^vy$H+=2fTn0fza>y2=>o9mHiNmzNh2R&d08Z!{8wu^!AY0XX4mB zp+tWc8vAq{`%|Ld3yXa!j{Oow`WwSzpNM0J!ij!9A{KHYzK@s;dP8LFTm9I<$Wfrz z8Df9Cg8g71JI_SLE{S7bM)d%CqjBt1^mU*=GsZp) zAC2Vdz1Fc0!N=C*YFQio(td1Bo4C*8*f(ur7sj!>+O`AzSX<)oN!!>3aqLXnhXjBJ zE{VNAj=gos^`IY(iM-^xq{VR-UGRI^77a{SFq)M+kxKLm)^1b>Iwt$vF-|VdQ!eG))a&- z=*~(oj(c7({LzhlD1`6o#-7()d$b3;L)&#r5B8k49q5I+@Q=H(Jv#l%-B2l>2dhOP zoojls%^}h5p6uI@E^B(QKSSDr-Wb~XxtFyJ4Ld_hdhZk-j^; z%ZeUsRXFL_M1S5H3IYxQL*!Tu=`ux2)fqT{;poE zzHNttJ=wf=#;con+>^a=sR25hFOB`CCp&#tPvvz(cQgthojVy&N8!Ii581FA>Lwf7Fr#)d`p?j zVJR!Mm$+<>jI7M0>xYgTo04yHS?xtB#kS&7$E@_sY>PR*!FEP=q9r|Hpbvw5TY-ivO$)}wmubvP$o{R<*518f-7}+O(t3}b_hP}p&S_aUzJ1M?Z*@yE583$1KePIz#TzU;*WEK9 zZQ&JHn@z5yw9DQ&cw+tCgVVmdZ+8AmNkh|iw>s$@Ieui?BEz8$kDVBswz+6+ZOjJ~ z((FICnRD>^Noil7Iq~9whb?I{B97i{xHUg*uWocV zxb(5Kw$YzWJ3I90w0nER)z8XZnU+2F+EqVQatlApWazD;R6pP4!3#EOs8dR{dmJ7M(aX$$Jxo}F~_H)$VlcK+A+tzg`ZDQ7+9W)z`r>&fHc<0v2lWAA?-_>fv+CS1xJ+HAvj}gQl z9~&z^QWPSN>wjy#xownqcIefAY}?jG9F!Z=?;j-{#3zrlQ47~xCU$u*@{@jZdWc(- zJKVl`VPEmBTjGaKN;Heht{**c+^`gJOLW1)*pIFfe>J~8|LeuW#HVhYVcN(>i*5gL zJoBUDnc_)z_zxc+$QB>_@A4%D^RE|m`WH9+Yw}ca>aGXx8}WU<*y`bbAI!PqW^v`t zy64_~r%XIL?qth^jnd9M@J3n6|UcLXH`-|^;P8@6Bb!dp?1@ZHV z*Xc`oz9?38x$VmCE7yyIm(O3aE&e6(qlxo$uWx!;eER#0S0bz%#3Pvx9_*-pRm@!w zJ9$j?YvL81a=$m`z9F_w$^PMR$G61JH#iKr-@YyG*>{5>Y)g&UZD7vmkE`DiKl=WI zn?HTzT`_#(4ebx!_MYg9{rBwO3O9+*9H}|7J?DLK*yYbHat`}IOpI(3zuNqv`18is z-n^;XW-;Wp`^UQ5eI)+7Z_fLtLO&LJ#OA#5;@OYIn~obsFFo;zcp%fgbLHVr#Z|A* z>ih2QE#fb?-KeSC@tL^%wy43se6>}a`o)%yPfe>8e=X~~ec%3CaatQT`^x;!#l_G6 z`RZ?bJ{PS6BYtn4`-OO-$hvpl?k~j8*OyGc&ibXecS`)GS-Za!-}rCu8;@DP5+|A8 z-L`hmSE4(;Z=09%z7{Jc-4?Ci|FyU)YO;1o!8hWrbL&Qz9QsCl>(afJJ8u3~y!uq! zu`iB&D^5Gn|HUb#+r)=fyi#d8u}wVp{9E%nmTwo|e&D_rN1om;_IT*zl`H?bLmYX- zXQe6Uc8JwmUC;h{$9LjWHMdOJ6S7mB^T0o%&fL3G{QlYYS!vPVi=Tde^3!J@`d)k` z?)JfAhabd_Ym#pIW9bj#-KSco|oAF4ZJ+AVI5j_o=y1A9`X6PD|b%+ZI4)XF0|~$L3_o5GY{Le|Jp0=sykR> zt=TKS_+`P6Pqh2Qu#kQWhm6`M_WHH1(>wR>6Q3%3ddb+&_KEdlcYU&_^?osR9CthsCFt?Cw4+>#(?G%_aXRS#(&es?a_0^tQud&D=LG+u8Yu z*wvD?tc&%CXl}hlQ?TNQxc_*(>E**m#1DSR-4W6MsQCMjm$#YbI4Xut>AB{kSB{Fq ze%o|=!kMGut8Wbb_tWArasE$_+!-_Xm^du!pR*QjJ|@P!H+e{#s2|0{mu1x~9{;1b zV!~y0Js$Z{{Q2bpcfYdZN71tSt|!J__LI2ihIb>6Rd46xcErt8#2>hKaQ~z{pv;D|C&=Kl$W^d#kTZ{JX@K|URuI? z8{Qe4lfC<`-136pJFN@p&drH(e{Lx(Ey}k!{_l6|>Hq}Wy-TSn4-m|$IkU=a`NORF z!%ItM*c?tIW`>={6w<&YpmBcF#ykmAX4vv*kdmL7ZT23tz_m0yXu<=|A=&D1SZ8IB zdvk(!j#73)&wmi&E98Cz^l3f8}7dlFQ7@Yv)xghCyyV5tObgSe??v0=fubE07NNJMs4#N4|7?o{qiKadkS6?vPHJ<1fyTJEYU$ zbOt-;I_X@sZANL)3|mQJf!$@vD=TA;@{&BOBi~d~>M|9SmY3uYHZfPB4TEK_*z;LL zxzjq$HrS+cYq}w?w4}g3t=wUymH^JFGEOnwP;9NRIBaD__B^W-FfLAJXtC#;GDb{^ zU;_&5MHr*^pH*DMybM`HCIaCsFDol`xNP~Rf+FiQgeFG{4P2W3VPXShR{isHdGIny z@@*ANd793_29zL3t^wS83md@t+bW3RGzVgmJ>6bbh7q-?LC@5u*zR4o;t}g_FDWQx{qwCZW-pmxEkYzqO7m@3np}l;r>WRF z3+|nmP?!oFrNyRl$tNrH%S?8p0nH{%R;S5oa@uYwx0U4CJlg$CFq&b{v&B*CU{!H1 zusfVClj7ra+pNK+Zmb)dWi2j>L%t%jXqIHMx=cm(5}S!3GNnc3#U&<&7*3H*L3yS$ zSLLJ)9?X%gkJCQeW^tKHE;scq>5at7v)S?~G8OjX@?x(nB73Z~OpeD5Q%rf_U_wzq zbU<1i%+yB-+T|?QnvXyzZ5`_wpHRUj*r1s%WzZ;Okd#OW7Ef|^OF}%WkaDibnrka^ zva@2Ex=*7Ia!=3 z3o|SiWxu5FDwT=>f{-;jhm9J0?KPQF4zvClB?b7CIg(vLIgY=ifxpm+lXT)F9sGq( z{}O8n>z`?bVSrrlL&Vu-Ws1uR0)4I+z#C@3{qi!g!A zpT$ePjp}$DPj!m9w^b_LFwVBQM%bKrC{)tC+f>oNq8n*S)eYuD%Uy+~4(DK#Y&^WQ z2pLo=Hw68Ws|7X(73RSvt7DRV#^4J4`qQ6^3O2ITfjk;)Dk`*6WX)`Z)n%P1cYuRU zW|moAJkCb>1@05lv&Ie`o^Htm;bXwEtPYnwkHVUeU`}8oi>x!G@Z7*q)Y%kXL)X|JW4i6rD zodazhm%Jny$c0vEI810LQBC?2H-?rG4H3$R2`xuMw}g&Tz}FdHB)-uct@vS3u;{_%Nu}m`_p8zbtoXoKOB#bY^VVJ5RxMqYUcxoKf*Ob z8QX@f5YtGMqnBZC6s~+it-cx??NDp5oxTyO@fyZrtGvry}Cw4?Jzs5sX(399K1@P}G9hq0xk5A`{y?mIC`fjad* z+(&#B{O)J015{RtGa^u{p-zQ5UIIQ)>mGx92!E@3 zg0ZWhPJN28BB*s$SoI`z8FtyBvgKF~glbxa@ItLw3wN)>pLK8twX7QcLCx9#|49E^ zxFdBt(g$kY4>*qjwWf}-9&f?^2c$pWq%gKvt!PD8DSYIp~{ z1_^8g)Vjd}yAf*ERRWs})hNO})Tu+@FVxDR0y_z{Y&gu`6_{y+zNTC47Ux3f}|&n*_E9>eO7ALya$l zJ`OXP+|c^~ycXfZ798zURY9#=j5tD_T7~#QMUiI)6p|th>@XH?f|gs)G*~7U>O)Y~ zLUExEhgVHeOjCyAqLsZ^NKG%MFYAr`>ca$g9~Qzchgn~yt?q|1H-Kr&;!!6OnYK2W z33bU#$5L2GRtgg;Q<$y}D)u@jZiGm+_Phk*A` z#%hN#y=gepWesPnZUp=s$--)`hF_@oxOAyEW-)Em1g5XV9xE=SYo=buGs>%7h_P!7G>PhUCI+9{kNmd<$5Jy8t|I!vCy)6m=J$23#(ehLaQEO5knqjVeZ9Ds6t(fe-i#Y$uy=a zq~=Qq%gaote;M?vNXIu2zBdtv8m6gvhiQ!OF;?>d)Xj`#eGIodScvI6#;U((`m$Y2 zaPNY>-Aq@vn?=;@#kUXNex&O`Ce$5-{U4bw>qqeZnQ4u`Fl{})+LKJ{{*`I7e#3W~ z2~$rqX8Hqh{)1_%&%p0L!Sfu`)FWwXHGQU)c~v|ttV?` zdmnC=)r|*y`6%uVaer2GwGR(Rp@O-3NEHsneFx6BUI`bsH-zhFas8_EgjeCGsPn6N zxL=gjce(m0SHIzE9aoQV^(0sSMY6@3}aP?}g=5X~Ut`>6D!PQ&2dKXtKx%wDamveO;S6B0Jtmo<*T>XHn zwOrl7RX11fXiwr@5;6kDQJMuEucH#MQoBP2y@AS4VSo0#|S3Y5`Zv zxH_AwbGiBeR~K`28CRd<>MLBW;p)d+{fetUaP<&ZPjK}tS3@wCqIzZIYA3Gt;A(%a zrgC){SI2U7B3Gw!^=7WRxOy8`=W+Ext}5kQQ6J&ud?`1t;&>&;)m(jztDCs`8CRd> z_Fv-aTU_1D)i1cZldA`~TF=!#xT@pjsTEgg{6y(9Buh>w>X)VT;sLMTDq|%cMoz@@ z_C{%^6!Uq!{+G>=`MSAU#npPQ8fVJp3cohBzWyluwsC$YZa~*Z;$_5mn$n|6WzVfxauHJsnn z+juy*xm#s#2qCt%>(Hi@93E)k9o0^6->#JesSkxqG*ws^ZZYRL7$+drJ5f zwNZPG8L0FXK8mU`_CO_k9*stbN}j%o+K4r#l*wo?rJda3FQ7*BkpT?`0K}VcbMM< za)0#~zWSc@;p3%B%!kOGiMN-ExmzLrr~WSm{+9y(OM(BTz~4FrT6fDTGfo^jVR-hi ziNhwQPrYH-)R>`V#tB0w;xB#K!?IzPJ#0#Rm4?uS;cjhMnUTlV4hYu18hg8}-@cxz0R?z04(9luUCn0`N&^?jgRWKCaW5uVErsH=F^094#;>6xm9qxe8@_a%yir>JuHwR%yA* zQd(e<_EH*>nv8sX@-d^cp#J9w0-aUxJ`+Jl75v#G%4Z(zO&z>U9}!QHJk&}`Ap}ke zKyWUla;8j4&hc{Q%b_#~zq0~)eIAERd7Z?geI6E4yf;Feg7otZeUL1g3Pr;aA{=^c z^axRUl5NwSBo_;|(Pqu@%Eq%fm9I8#BW4%)4+QuWL%9CJumKPM2&ZIEO zwf6#pl;X6x5a0ByydvhVxu}q&R5+*ETqQCqQ*+V>9Lmax!x#!phvu*t2qopA%|NSGeViNn6sM#-GzGl5ZPVpeo z+?#(_JbaZ$R^0+4A%0ctcv?f}dAWVa>JAkdNcrEqO&& zr_(}NWuX%Y2+kqy(>Ya?ebN?w)BEM_V_%e0CL3ywQEOG|JD$2H3` zBOU`ryuT&=gi1y|k!MU8=!B zM(%kKsU#PBbZEYugSwNYK0{5nn_BX2mb=<_BIoIAg9_bWbz{sunkSWicjx|1Nl-5< z0Xn^$p9lqcYMV;-VqUF-@TY~_mW@0C`0zU?_z-wEEW9HP!tr?<6V)uI$pA?$ z$%Vu~YDWAWG|`4^R(dGjdSnN<7U|}VQMS_4c-JYpIxX_B?hE}Mn!5y(-g4q$r_8C!7gz>03u=Ca5q?wg8GLZH>K1od(lX4TBGv1tzzY{g|5 z{c>L91?9MJQ{UP+Dp#0O|zHC5kAzU z%~Z<7lJcS=*>b(N<$>wNb{DRTn9W(Z8iC91v|KG+drRgfq(KL}lW_$F>sl0n(*Zdo z;uQZ_TJOREa#*C=o|rx^BPS<)f@R#$%#19_ty||+zdXJtX1j3g-j<&Y=T?Ut&UpcC zrofkL%3WAOqI2+wSz{hm26CP(9T;z_C!(=x1OG>A0 zDobFLUV#FMX)qn}Pq*9cSrWH8UyD=@Mp~WN58yXdc#a*L{tipt>LP{qoV;1{3N|i#1+bVL7RQVbr zoRi04IZY1RYF|U7FRsE^iyJCSBHA>pYoaLn^=LsB&+LI%zd~z>dv4AQ0FpA1Y>{{- zQDd1g2AYySUGSuGR;`bb3$t_`$ecJ0O&Rq}Xj@%{a=16DtVrE2we57{s3G*t4|J;3 zYS;L9lY&x$6iQ8>I5sl@7f`UAU655E)eIkd1EqUSBZisdk$Vnn9?Dr6!esYUb!DcI ziO#`4h|u$|_KAMgJ~KPjl94?W>6uRbO`=80Drn$8L7w1bL9#08@dTGFkwf0S1q?n~ zHBX5BLm6b7nLSAE{sQ`-G>vt7xqlerEoG%)M3O`o1Lb@_DYf9%LLShwB4+oHVUex?&3prvq9@mZYx8VRwgkHaVNWy*Mzhw3xc= z^x|S{rW8}q=K1oa$%A}n+kzc98&>d(i*XrzY_2&yoy=T?j?$SH@4Ztwc$F$PW(&FZ zh>Z!F&thLbd^>DVIf7DP%|lBs4UXgu7j&7vwo~n;PAS+asPx!KlY_RJTf!=bxu|p+ z!X)ht4^N;CC8@<|u;9C?i!#iuY;4p@LQ};&$VQF=QPY?Y$`oR=$3pY-KZT|n7%cKw z)wV24sXT3K37+zZIGqY9rA=K+@Wfz*8iHbpFOYrB)Li z9L4%{3-GgMqj++D?ohb};jLOw+d)ZmSy$S+rKX}846u=m>&>$$Ug%YFDPEP$VB>J6 zPmsoRi<{|K8tGIu)A7v|?9~As^O<~L*&^wQm~_a6qq-TclM9Ma!sJG5V>8_Qrai@> zrukfy-ga{{SQKF%LEhIk&#jbq+nVQA%DOsVw?XdH@uizXzK$E#|C&4!g5E`%tkgHl zwbJIF_H`X-cio(1fq;u58+F#S=PrBe4)dw&fgCD+%=59D`*F2jBv*N^;=`7Y4wRx<3?!nzbYc>aYt7Gvq!9>Vz-XkzX~+3Hq?|OM z;RA)h?vw10bC8bxSwyQku$5%o{+mEUSL!QCJYITFIle}O_6QzofHW1Q1q*Wu8Pt=3 zvy5baNYla762|$*9vPX}j7Z0WSg_=dAWJR>M&5w(Pp~jtkG8PZ#a4R>1nDwOG0rnq z*z(G;U|Wce8wX7BVmdwJhG$L9> zE3+csauc*b$S*^4*#1^bmol6L+Tg6I6Gx;VpJP@Nv&Ep=9V`Ms!g%sDTM3DPu~}|O zn1g1+t1|&MCuzN#NvEYrPBGPR5j?h6QAjDY!2`H%Qh3v6V zrb$SL>|t{{!%IDy8IVBi35%+cKxPL!vzZ%$r&aFJBA{-FbtkrewglUGp*mI#hIrqF z*lNqmu*8F<=2t@UZF#gFopm!Jbu)V)6h%wIg;`^6zL_mTEb$g+eTcgJd!5q@5H+Ou zO1R9snVk&**DCm42eI|Yg9qquB?Nop?;`qJFa523nCRLS^tXByMVxYIP@%0N-#*Po zYmn?iDW@Kb0F!6QTFpB8TlWH4_6Q+jCqq55ONO(@BAI45yDKb37L2LKyop%EA<@-h(tpJ%#g6W{e~}pJ*IKJL zF=>$Kz0rwze2`}+e0wf(M2EcjJkaTCrN0kW5&h)TlvH#;XHGjh*KNG}UWk_X6t)?nIzFKf=jBcS`Q=_Zb*9vudx87*VG8v7g zc+=EsVMt}D3G%h71h-Hr01m0r#Ai*d)nvt2YAdz1VfET-eYH@juNUfc^%}RfPDB4{ zwDlTeoz_$Zof^&5Dov%f9-_9Yb#)qdr2EqN_;|ObPN>zoHB+a$jden$)~%}&=xA*u zoYnQN)A9gPAZs<%p|uEJ-DUOgs77n7(V6Pt)UB!18EYd<)uENTI-w4ss}R7jv~a1d)KzJW&^NlZh)t!gzICm>Hnb+vSU;eyk6WKrr-^s#+>!FMH|z?$ z9VfUYxp{Q|KA&TflSlZU94m4?7I9oTN;ZE^anJE59Ftri<$pxP$?g?-AlGtC^7+Vq3CAR-k1(D}k^CcheT4BMiG)dR zAK|HZw}-+*^7{yX#xcq9BYc8mMefSn0kVBJm$woVFXJkXH*&1VW3k~u42ZB}id+^Q z-tv_E<8oEja%|!_IZ-xO^rWK?UVdQ!V&+FF|8{Rp3X7Jb0mCFqU&}Gcha_CY zu_C`@A;)!9via*AD{@Wh6mu@;Wb{xT-{rFX`5e1f$oK@uH7jNO$}rhJ$)6vaPl5QI9BA#yumTa*(CEwwDS~yMea;C$0UD~%qux2Ih=&w=9uJh68?>2 zlFLcB-x!%6$>$_|3&$jtPPR|-J;{77 z$0X;I@G_1`-Y4NR9FyEn!ecXK_ay(5@EVRu4k+PII3{_ZgfE3WSxO(03rhHPj!8Z! z;r$$woKV7$dnuf`J-h1CdVX?l(14C>mHNwWjV5c ziafL{3F~CpykvhI$0Vbdu!Uoi)l2vmj!9-O;W-?W>|VkTb4)UP39nY%LpCqr*EuGc zzJx#Hm}L7B-pw(|_$7RjW0LhtIP_XMyd?9Na3_vQ_AlW$j!6bE;UOH8EMUUf9Ft67 z!UY_YY+%B(I3^jvgy(ZivVsXe#WBeYCcK_wk{wL=eU3?nFyU<+lPqDvM>!^$!i4|i zm}CnRZaq|w%FI3^jygv&T4S;U0ra7;3Z2|vOy z$tEVehT}~fzriudDkk%-9Fxpq!h1L-*~Nr^<(Om`6Arshjt|K)CamN?$uuT>DK{tC z#)OsfNHUHIE9H@79TSdI>~pM?Pm+C1=1O@a8OVf{@<_6f35(o4$wVfsluwe4On3q} zCmG3vZ5)%VWWq{$C7H>DmGVillL;&3kz^a`fz+7Hz(Q3Wd0<_Bx9NI ziyV`zWx|^{W;HVYmSd8=Oy);8CK=3x|I0DSVkT^yB z$!aEiBgZ7OnQ$q`B)ggL9UPMkXTlG2OtPE_ui=~X6peFnq%)1)gOp#-I_hcC>@@$Pa$XJno+lOOCF79ZK6?wQ1a;(VX z-N|v-LD|1yH_H4JxxuSAuI1)YQ)Kg0E@v=@V?{o11;>53T)U+lEAo8za;(Vvoph7T z?+~~DI>(9};FG|uqA)Jxa_-t#fLmc)#Bq0yS96ThYLa;k$D=sj#_?p1>p7mzaoABg z{{QCK#PLFoQ#pQy<1CI};kc0FPdRpTyqDv}9G~R4n&a@Pa(Fj$+?nG#j{9?bn&Whi z>A7(#ACo!m!*L16LpZ*J<4GJp#BmwN%Q>FM@hcoxar`028#&(2aV^J3I6lPjS&rF{ za`>XHa{M}Q+>PUSj*~ea&G9IXr*b@r;|h-L99MEYo8#3SFW|U_pA|2 zW8+V9c)#a(-p?{V!EqJGO8KkdSSf$oI9AGEJ;zG<3p>H{i|4>^O8KkiSSf#-IabPF9mh)fJI%3D{*1rK;Z@3CAC8ssH-uxQ{7vFm zDSu@g-@(hnJdTy}SH-bX{x))~l)qYzmGXCpW2OAj8?6FEf64iG;8-bt@f<7VZ#2hB z`J2kIQvND9R?1%`$4dEI&9PGcYB*NP-!_hw@>kEXQvSkzmBYK9mnRd)O8FbYu~Pmv zo|f&?ahYgDl-@O<_{J!h&p)u7CYc+D%Jb=Y9MgLUWPdrw^d17?102_I`y-)A{Oi7z z-OuOPR4CgQ5dbo$cNCy7dgh%ly*EMFpp~)vH`#qZj_F+sGIw)a`-6;Eb6is=89&Ey^_MdKk>epB z%2?3L{?~GT9XK|AB%2p-9M8k!{5;u`TbvWoW=Xo&SA2BBgaEHR^;yHbF9dfp3AW! zk9sM`id^BnihbVy$A!!M75Un4ajeM49u)y|y_+fWZ=dB@k*9lEq-?Ipx1GeXBCq!; zjurX8?{Tci6F$hXA`d*&AoEk?fM3S3@*cszI9A>z_>yBqZgHn5*}WoPIiF)i4*0Je zD{{PV!&pQrue|o*W%; zn0(z2RN-P3eny42t8m*`Uw)HS_+b_PQiWT0^L3x4!V6UR0~P+S3J>V+%P(7n^HsQ9 zg*T~iyB@y$`l;|R75=9RKdQq2QQ^HR{D%s+?&<4)u?pWNV^4drScU(i!dq2%pNu{2 zL5E(x{*6`P+f{gj3h$7x+rzJ3g+qG#^6#R;qhzdS{AX3+TUB_O3co62kN;a$c)tqA z_VEqR6cv6te{E7;{rNSSm@HQ3Rt-{Au_>>CI5g5A*-`)7; z;kyUlz4-3KM{~LR@jZZV0lrFn3-LXO?;(7P@I8$05qyv0Ta0fBzQ^!Aj&CWxC-6Oq z?Omg8H2ZzaA}_*UavgYQ{@9pX_^@ou-o=OIR)!^3_C7u=t+LJdKEn4gzAgAZ!?zV* zExyn3eSz;weBa>v7T-2}-{ISfZy&z>_zvL1w1^$ScMKnvgcz2A*l~RI_;=2r=312L}Zuq+6>w&K)zFzq7 z8!{KX@5J{yK5T<9Y!$E%@nOl8VVcFT^hZB8mI&By_zLh%!&ivUj_+oC)A3=+fED2@ z#`h<_bNCqim<{!xM1zM0SS$PMCanH+Fw-|-9s;vae4X%h#@8F)|H|P1-(}FmAe_~# zzI#M^0WUC-!C!J=iWoO`HwtD67k5jEIQ*5jsKCDkZlr+=#74^^jp%ZQx8xG#xar^Q z@`hiK|Ni$)c#u6;U>fc)sZEgn@?`*ie<+ao#okZ~z%$^zC_j4%=Ls9kTRd!1=K5dj zqOj4eGUbw=f+6$I`wE;#+xI4%N1I=rgQ$(0sZo+xrg$`Q+fA)`!B^)L2Hy7%6+P80 zL`B=X4*DPC4tNhLz@;rOZZka5z|H)Nzc}R0O=dmDy9qI?FBMTpd~N&%cbODVJaw$4 zF26~P{Vp&<_pcT&9;6p7EBg1sJoP%&AEZO2PigF$&iUBT1&Q<7p{o?K9l6~IbQ{Lo z-1}aPtj}Aq=HKq{VRKP;OuRV-bxH28zMFHw0s5=1@=!p6kS*=sf(C!tD@ZR|z6u5r zFYc+T3I^dYm@3#58>I?1Wk;!kieT)?W*Ugjnn*xSmfQcH>UDAne91cqCvqZpB;lwa1nsDl~YR*Zxj}5Oy8NkxI(7 zzm?#`Tl=|dIl0z;tTB0$=S0#KZ6)m_DP11BEh@sAxCWM8?Pa1CTJ2?|mR9X$M3%I-*5}6e4}0E`22!=X$3@P(Djfh+e3t>ck4lCs{!Cg?dG< z>=zs>awTue@T$#2SlZ-^!CV%#e-N8?<`F`Dp$>iXEeOm8}PaO9KcK?<>^=X|}w7o;myQUvLWL|%LO)vyNGq@--+@$?IK z8SvfoX0TD7O22TYD5Rce(wpJh>t*z2xo&tB{lcC5yoi3`&L#Qg7w$|wCiCZ?}7Cw1kv%Uv?KS-n@aI@5Ay9`rh)+8+1LR-QWbB2XN?-a2~+S zBig*dEI66wUiQ6(nFrMN9uKy>_;PsZE4LgPo}Fv&JAFiYDvc1vCno*uKf@U$SLWfzpno=ps}&){nkAS1b>gv1H9G7SFl zMhQJaSCXzsk@sORNUa?(dJ_XiuMk4sA(vNvNGiC@QARI0&2h_n?wlF%mXd@dkIz9B zKaa=Fa@@4fO%HC)YuB$w9z@hxQ0l>713Jcx`be59Xcf650Bc1}MdhEbQ zXIi<{kp?%u)po-X-BlyA%>K?3p!4ExB}#P@cWUd#?{R?6`CL)WDQX z!y^+#MHbI97g87-_}D8lh7Pnq;x^=JPZ*OU^Yb+xq&Aip6{TP#Se+R-8IWV~9x4|( zA*S0uj?&9~coJ29Lc~)Eau7pAvthM~ru0cDDviAR5txni&<7ad)r5vjXraDWdNo9P zKSbi)*byX8F7f8^B6j;dth|%jj(PGJWRoff&GAE>PW!YHNjkmCLTb9hQR*1yoR(nD z$ecKIYzBm?;|&hWbs0IMEo0KJZ|dk^kZaTpp=sz>_?bjY(m1?K+>{?l{-uP9y`Q*x z%2KINHuzzV&n>s3`pqn~;uSrJnr~U(yb|7=l3wC0=MMu{;AI7RF0`SL{SD4yc#4Z$ z^8OAX@|~#v4MK!*i>0*0LJ#{`oOn1{dMcZ8am?Q)(adQ1q~~4n{uSD5s_l56NEsep zXp#GCPTM44&%-wvm1nyCRyCrIc6wN`p|fmuSS4;{rB12Z7J$ewqi-(GrJ1VD;!1BB zUj~)a#I~TQbf(Xsx7nc{R7Nih)3b!Wn?}t|>D1C0Jb2!FP&D2Q@U(Zs9Mg9_&*!iM zO+T^JWWjEPB@Y8dJXw#IHJ!Fw%5me&7Wgg7^UX;yc}%i+uL@IVS7yzZUhl*jBK&HM zF}3`I_+&Y^yue~dXsoVMM}{)vrKvNxXQ$GCTxM%1Z|TsMN*W*HHapW2(F^hHmu6x7 zFtOCvBx1yh{!U&I^jqmj3^c(@^zP}T$G(t$*=A||ArsFk`CbvgjMwjGfV7_J(}Oh} zLvE=6NiU5_T{W$XTyVI|KFhSjG5>BXjS>Q-Q9__J@>!qp&V&?{POG%+aASbn<6g}wE*)Oo<%~rI42C`qtaZ&6YZnLT0qUEe4Hsm z8n^Nxr&J8^YO&LnK_l1n^cgu8p84F03aQv?XJ%kGeD5TOwVtKJBlLq1Zv`UlgR6~M`813*gp?(X(crOtx zwQq-=Fw@ysk3em_vWlv_^Qm+OKFgmM*WOFXq+YvLg6cJZQDzhrsstRUv=)_P_<@{3 zY4eLJX_={4#XQMscOj1InUDPV<3M==V#cOiv9*jdrKfGNaFc;WUUYR}l~iPNItiwy zkIglsNM)ixWxxz%Q*)=(hN+5Nid%HGUYg|~5Z-AdA2Yp(6!F>(ptX&%a%UmxQr>in z6GJoFu_%=H3T9lx*YM?tdG0YbHz&pxo0G5s;d>TFNiJV865c%)dUNCf4Wn$uWkpuB z3#!0g9k6%>E*=T|Nljf=MWTsNxu)l;_c#=y}s;V#~)e)9#|Tqx0m4x-GO1 zWG!*oY|_qz*F4)h26!V}dbxDQ1gSQmSWWQVPH3UTl*@-yQ)x%oGOef-ji<%xa9C$q z@-ehS!5KC7nqfo7Vsi_7OBoiM^jK?2VgcTJ&nqkIpQjwmrLn4#8MuG#oddYjscH(P zo`CjyQq>zeQv2sIPEs3tHNv#t1J25RkFUd&^El)~0IvZ1jB+T%_$j%=hX&B|ZVW$$VAW@N|>;0lP`;p(;Bt zjj>a@N!ibMx!ZN(5P~^A!-+R;?IqZU|3EAp9IU;+;}t_=z*@u;rp<1H`}N) z8kWe8u$coEDPFs`O4x#nS8|!7v|<(o95dt~LQK0y++v^-=4nS!?flx&Agdy8M=zv2 zwxGA?DZMS}Q^2y$?`EC1thZ!9R5e2?p-E2r>;Rn+I{KT_)9Ji`XT}z|tMbqOAiGg@ zSIx_F!>SPc&+;tm$O{ubn<9;`?8qVI3>#Jzq@^9=s$L1WAm(z8sh4NK){{`)O@|a6 zWqk#f_yWm=`*_~v2PwaJ1KI3Mp*Ya2dyuWfnp=c}g$2^2Bi`<`l$00S9QM47?4cN& z&qzmwCqtASb_|7Zo-)Lcj# z(`-*vElR+VPNVq~WJJS^Z_K#z-e;kwj zNodYQKA`v;obXgGx$uoC908Eed0NU` z4og|79qYdi>_~YJ?*E$OVoE^dgGdc0lzjCY6QHN0=tcFwQr_e!gVl@a%Oy_3TY^(O zZP}RpE~3x^i<~ko=!^P-Pz!q^U4rs#!j;N%qKv!-Up$%E+;c5TS!sOmtq5dPE{p}* z4aJf=uceLi;aRJU{hAWv+LTwEO-rtJ1ReI~&-jA&LOs2b9LmzAQ!!A-g(O;pNgs$q zJ^47hMybwac#Tb*o-snQu4p7p&&s(*r86=!+easP`iP<9vV63_XSk0>%Jgxi`S8@+ zv!v;hGA8)xjP%h-o}O7S(pM{W`Z#MvX2DRWkHtZ0RUSb(}bT^mrd` ziPMYod^8Xal@6@r`dRVSffbjZ63KPY4j)U&({uf`TxzYP>BGm2^Kq9recWWV z#&s%" % (self.__class__.__module__, self.__class__.__name__, strthis,) - - -def _swig_setattr_nondynamic_instance_variable(set): - def set_instance_attr(self, name, value): - if name == "thisown": - self.this.own(value) - elif name == "this": - set(self, name, value) - elif hasattr(self, name) and isinstance(getattr(type(self), name), property): - set(self, name, value) - else: - raise AttributeError("You cannot add instance attributes to %s" % self) - return set_instance_attr - - -def _swig_setattr_nondynamic_class_variable(set): - def set_class_attr(cls, name, value): - if hasattr(cls, name) and not isinstance(getattr(cls, name), property): - set(cls, name, value) - else: - raise AttributeError("You cannot add class attributes to %s" % cls) - return set_class_attr - - -def _swig_add_metaclass(metaclass): - """Class decorator for adding a metaclass to a SWIG wrapped class - a slimmed down version of six.add_metaclass""" - def wrapper(cls): - return metaclass(cls.__name__, cls.__bases__, cls.__dict__.copy()) - return wrapper - - -class _SwigNonDynamicMeta(type): - """Meta class to enforce nondynamic attributes (no new attributes) for a class""" - __setattr__ = _swig_setattr_nondynamic_class_variable(type.__setattr__) - - -class SwigPyIterator(object): - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - - def __init__(self, *args, **kwargs): - raise AttributeError("No constructor defined - class is abstract") - __repr__ = _swig_repr - __swig_destroy__ = _nnpdf.delete_SwigPyIterator - - def value(self): - return _nnpdf.SwigPyIterator_value(self) - - def incr(self, n=1): - return _nnpdf.SwigPyIterator_incr(self, n) - - def decr(self, n=1): - return _nnpdf.SwigPyIterator_decr(self, n) - - def distance(self, x): - return _nnpdf.SwigPyIterator_distance(self, x) - - def equal(self, x): - return _nnpdf.SwigPyIterator_equal(self, x) - - def copy(self): - return _nnpdf.SwigPyIterator_copy(self) - - def next(self): - return _nnpdf.SwigPyIterator_next(self) - - def __next__(self): - return _nnpdf.SwigPyIterator___next__(self) - - def previous(self): - return _nnpdf.SwigPyIterator_previous(self) - - def advance(self, n): - return _nnpdf.SwigPyIterator_advance(self, n) - - def __eq__(self, x): - return _nnpdf.SwigPyIterator___eq__(self, x) - - def __ne__(self, x): - return _nnpdf.SwigPyIterator___ne__(self, x) - - def __iadd__(self, n): - return _nnpdf.SwigPyIterator___iadd__(self, n) - - def __isub__(self, n): - return _nnpdf.SwigPyIterator___isub__(self, n) - - def __add__(self, n): - return _nnpdf.SwigPyIterator___add__(self, n) - - def __sub__(self, *args): - return _nnpdf.SwigPyIterator___sub__(self, *args) - def __iter__(self): - return self - -# Register SwigPyIterator in _nnpdf: -_nnpdf.SwigPyIterator_swigregister(SwigPyIterator) - -REALDOUBLE = _nnpdf.REALDOUBLE - -class vector_str(object): - r"""Proxy of C++ std::vector< std::string > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(vector_str self) -> SwigPyIterator""" - return _nnpdf.vector_str_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(vector_str self) -> bool""" - return _nnpdf.vector_str___nonzero__(self) - - def __bool__(self): - r"""__bool__(vector_str self) -> bool""" - return _nnpdf.vector_str___bool__(self) - - def __len__(self): - r"""__len__(vector_str self) -> std::vector< std::string >::size_type""" - return _nnpdf.vector_str___len__(self) - - def __getslice__(self, i, j): - r""" - __getslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) -> vector_str - - Parameters - ---------- - i: std::vector< std::string >::difference_type - j: std::vector< std::string >::difference_type - - """ - return _nnpdf.vector_str___getslice__(self, i, j) - - def __setslice__(self, *args): - r""" - __setslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) - - Parameters - ---------- - i: std::vector< std::string >::difference_type - j: std::vector< std::string >::difference_type - - __setslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j, vector_str v) - - Parameters - ---------- - i: std::vector< std::string >::difference_type - j: std::vector< std::string >::difference_type - v: std::vector< std::string,std::allocator< std::string > > const & - - """ - return _nnpdf.vector_str___setslice__(self, *args) - - def __delslice__(self, i, j): - r""" - __delslice__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::difference_type j) - - Parameters - ---------- - i: std::vector< std::string >::difference_type - j: std::vector< std::string >::difference_type - - """ - return _nnpdf.vector_str___delslice__(self, i, j) - - def __delitem__(self, *args): - r""" - __delitem__(vector_str self, std::vector< std::string >::difference_type i) - - Parameters - ---------- - i: std::vector< std::string >::difference_type - - __delitem__(vector_str self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - """ - return _nnpdf.vector_str___delitem__(self, *args) - - def __getitem__(self, *args): - r""" - __getitem__(vector_str self, PySliceObject * slice) -> vector_str - - Parameters - ---------- - slice: PySliceObject * - - __getitem__(vector_str self, std::vector< std::string >::difference_type i) -> std::vector< std::string >::value_type const & - - Parameters - ---------- - i: std::vector< std::string >::difference_type - - """ - return _nnpdf.vector_str___getitem__(self, *args) - - def __setitem__(self, *args): - r""" - __setitem__(vector_str self, PySliceObject * slice, vector_str v) - - Parameters - ---------- - slice: PySliceObject * - v: std::vector< std::string,std::allocator< std::string > > const & - - __setitem__(vector_str self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - __setitem__(vector_str self, std::vector< std::string >::difference_type i, std::vector< std::string >::value_type const & x) - - Parameters - ---------- - i: std::vector< std::string >::difference_type - x: std::vector< std::string >::value_type const & - - """ - return _nnpdf.vector_str___setitem__(self, *args) - - def pop(self): - r"""pop(vector_str self) -> std::vector< std::string >::value_type""" - return _nnpdf.vector_str_pop(self) - - def append(self, x): - r""" - append(vector_str self, std::vector< std::string >::value_type const & x) - - Parameters - ---------- - x: std::vector< std::string >::value_type const & - - """ - return _nnpdf.vector_str_append(self, x) - - def empty(self): - r"""empty(vector_str self) -> bool""" - return _nnpdf.vector_str_empty(self) - - def size(self): - r"""size(vector_str self) -> std::vector< std::string >::size_type""" - return _nnpdf.vector_str_size(self) - - def swap(self, v): - r""" - swap(vector_str self, vector_str v) - - Parameters - ---------- - v: std::vector< std::string > & - - """ - return _nnpdf.vector_str_swap(self, v) - - def begin(self): - r"""begin(vector_str self) -> std::vector< std::string >::iterator""" - return _nnpdf.vector_str_begin(self) - - def end(self): - r"""end(vector_str self) -> std::vector< std::string >::iterator""" - return _nnpdf.vector_str_end(self) - - def rbegin(self): - r"""rbegin(vector_str self) -> std::vector< std::string >::reverse_iterator""" - return _nnpdf.vector_str_rbegin(self) - - def rend(self): - r"""rend(vector_str self) -> std::vector< std::string >::reverse_iterator""" - return _nnpdf.vector_str_rend(self) - - def clear(self): - r"""clear(vector_str self)""" - return _nnpdf.vector_str_clear(self) - - def get_allocator(self): - r"""get_allocator(vector_str self) -> std::vector< std::string >::allocator_type""" - return _nnpdf.vector_str_get_allocator(self) - - def pop_back(self): - r"""pop_back(vector_str self)""" - return _nnpdf.vector_str_pop_back(self) - - def erase(self, *args): - r""" - erase(vector_str self, std::vector< std::string >::iterator pos) -> std::vector< std::string >::iterator - - Parameters - ---------- - pos: std::vector< std::string >::iterator - - erase(vector_str self, std::vector< std::string >::iterator first, std::vector< std::string >::iterator last) -> std::vector< std::string >::iterator - - Parameters - ---------- - first: std::vector< std::string >::iterator - last: std::vector< std::string >::iterator - - """ - return _nnpdf.vector_str_erase(self, *args) - - def __init__(self, *args): - r""" - __init__(vector_str self) -> vector_str - __init__(vector_str self, vector_str other) -> vector_str - - Parameters - ---------- - other: std::vector< std::string > const & - - __init__(vector_str self, std::vector< std::string >::size_type size) -> vector_str - - Parameters - ---------- - size: std::vector< std::string >::size_type - - __init__(vector_str self, std::vector< std::string >::size_type size, std::vector< std::string >::value_type const & value) -> vector_str - - Parameters - ---------- - size: std::vector< std::string >::size_type - value: std::vector< std::string >::value_type const & - - """ - _nnpdf.vector_str_swiginit(self, _nnpdf.new_vector_str(*args)) - - def push_back(self, x): - r""" - push_back(vector_str self, std::vector< std::string >::value_type const & x) - - Parameters - ---------- - x: std::vector< std::string >::value_type const & - - """ - return _nnpdf.vector_str_push_back(self, x) - - def front(self): - r"""front(vector_str self) -> std::vector< std::string >::value_type const &""" - return _nnpdf.vector_str_front(self) - - def back(self): - r"""back(vector_str self) -> std::vector< std::string >::value_type const &""" - return _nnpdf.vector_str_back(self) - - def assign(self, n, x): - r""" - assign(vector_str self, std::vector< std::string >::size_type n, std::vector< std::string >::value_type const & x) - - Parameters - ---------- - n: std::vector< std::string >::size_type - x: std::vector< std::string >::value_type const & - - """ - return _nnpdf.vector_str_assign(self, n, x) - - def resize(self, *args): - r""" - resize(vector_str self, std::vector< std::string >::size_type new_size) - - Parameters - ---------- - new_size: std::vector< std::string >::size_type - - resize(vector_str self, std::vector< std::string >::size_type new_size, std::vector< std::string >::value_type const & x) - - Parameters - ---------- - new_size: std::vector< std::string >::size_type - x: std::vector< std::string >::value_type const & - - """ - return _nnpdf.vector_str_resize(self, *args) - - def insert(self, *args): - r""" - insert(vector_str self, std::vector< std::string >::iterator pos, std::vector< std::string >::value_type const & x) -> std::vector< std::string >::iterator - - Parameters - ---------- - pos: std::vector< std::string >::iterator - x: std::vector< std::string >::value_type const & - - insert(vector_str self, std::vector< std::string >::iterator pos, std::vector< std::string >::size_type n, std::vector< std::string >::value_type const & x) - - Parameters - ---------- - pos: std::vector< std::string >::iterator - n: std::vector< std::string >::size_type - x: std::vector< std::string >::value_type const & - - """ - return _nnpdf.vector_str_insert(self, *args) - - def reserve(self, n): - r""" - reserve(vector_str self, std::vector< std::string >::size_type n) - - Parameters - ---------- - n: std::vector< std::string >::size_type - - """ - return _nnpdf.vector_str_reserve(self, n) - - def capacity(self): - r"""capacity(vector_str self) -> std::vector< std::string >::size_type""" - return _nnpdf.vector_str_capacity(self) - __swig_destroy__ = _nnpdf.delete_vector_str - -# Register vector_str in _nnpdf: -_nnpdf.vector_str_swigregister(vector_str) - -class vector_double(object): - r"""Proxy of C++ std::vector< double > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(vector_double self) -> SwigPyIterator""" - return _nnpdf.vector_double_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(vector_double self) -> bool""" - return _nnpdf.vector_double___nonzero__(self) - - def __bool__(self): - r"""__bool__(vector_double self) -> bool""" - return _nnpdf.vector_double___bool__(self) - - def __len__(self): - r"""__len__(vector_double self) -> std::vector< double >::size_type""" - return _nnpdf.vector_double___len__(self) - - def __getslice__(self, i, j): - r""" - __getslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) -> vector_double - - Parameters - ---------- - i: std::vector< double >::difference_type - j: std::vector< double >::difference_type - - """ - return _nnpdf.vector_double___getslice__(self, i, j) - - def __setslice__(self, *args): - r""" - __setslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) - - Parameters - ---------- - i: std::vector< double >::difference_type - j: std::vector< double >::difference_type - - __setslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j, vector_double v) - - Parameters - ---------- - i: std::vector< double >::difference_type - j: std::vector< double >::difference_type - v: std::vector< double,std::allocator< double > > const & - - """ - return _nnpdf.vector_double___setslice__(self, *args) - - def __delslice__(self, i, j): - r""" - __delslice__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::difference_type j) - - Parameters - ---------- - i: std::vector< double >::difference_type - j: std::vector< double >::difference_type - - """ - return _nnpdf.vector_double___delslice__(self, i, j) - - def __delitem__(self, *args): - r""" - __delitem__(vector_double self, std::vector< double >::difference_type i) - - Parameters - ---------- - i: std::vector< double >::difference_type - - __delitem__(vector_double self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - """ - return _nnpdf.vector_double___delitem__(self, *args) - - def __getitem__(self, *args): - r""" - __getitem__(vector_double self, PySliceObject * slice) -> vector_double - - Parameters - ---------- - slice: PySliceObject * - - __getitem__(vector_double self, std::vector< double >::difference_type i) -> std::vector< double >::value_type const & - - Parameters - ---------- - i: std::vector< double >::difference_type - - """ - return _nnpdf.vector_double___getitem__(self, *args) - - def __setitem__(self, *args): - r""" - __setitem__(vector_double self, PySliceObject * slice, vector_double v) - - Parameters - ---------- - slice: PySliceObject * - v: std::vector< double,std::allocator< double > > const & - - __setitem__(vector_double self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - __setitem__(vector_double self, std::vector< double >::difference_type i, std::vector< double >::value_type const & x) - - Parameters - ---------- - i: std::vector< double >::difference_type - x: std::vector< double >::value_type const & - - """ - return _nnpdf.vector_double___setitem__(self, *args) - - def pop(self): - r"""pop(vector_double self) -> std::vector< double >::value_type""" - return _nnpdf.vector_double_pop(self) - - def append(self, x): - r""" - append(vector_double self, std::vector< double >::value_type const & x) - - Parameters - ---------- - x: std::vector< double >::value_type const & - - """ - return _nnpdf.vector_double_append(self, x) - - def empty(self): - r"""empty(vector_double self) -> bool""" - return _nnpdf.vector_double_empty(self) - - def size(self): - r"""size(vector_double self) -> std::vector< double >::size_type""" - return _nnpdf.vector_double_size(self) - - def swap(self, v): - r""" - swap(vector_double self, vector_double v) - - Parameters - ---------- - v: std::vector< double > & - - """ - return _nnpdf.vector_double_swap(self, v) - - def begin(self): - r"""begin(vector_double self) -> std::vector< double >::iterator""" - return _nnpdf.vector_double_begin(self) - - def end(self): - r"""end(vector_double self) -> std::vector< double >::iterator""" - return _nnpdf.vector_double_end(self) - - def rbegin(self): - r"""rbegin(vector_double self) -> std::vector< double >::reverse_iterator""" - return _nnpdf.vector_double_rbegin(self) - - def rend(self): - r"""rend(vector_double self) -> std::vector< double >::reverse_iterator""" - return _nnpdf.vector_double_rend(self) - - def clear(self): - r"""clear(vector_double self)""" - return _nnpdf.vector_double_clear(self) - - def get_allocator(self): - r"""get_allocator(vector_double self) -> std::vector< double >::allocator_type""" - return _nnpdf.vector_double_get_allocator(self) - - def pop_back(self): - r"""pop_back(vector_double self)""" - return _nnpdf.vector_double_pop_back(self) - - def erase(self, *args): - r""" - erase(vector_double self, std::vector< double >::iterator pos) -> std::vector< double >::iterator - - Parameters - ---------- - pos: std::vector< double >::iterator - - erase(vector_double self, std::vector< double >::iterator first, std::vector< double >::iterator last) -> std::vector< double >::iterator - - Parameters - ---------- - first: std::vector< double >::iterator - last: std::vector< double >::iterator - - """ - return _nnpdf.vector_double_erase(self, *args) - - def __init__(self, *args): - r""" - __init__(vector_double self) -> vector_double - __init__(vector_double self, vector_double other) -> vector_double - - Parameters - ---------- - other: std::vector< double > const & - - __init__(vector_double self, std::vector< double >::size_type size) -> vector_double - - Parameters - ---------- - size: std::vector< double >::size_type - - __init__(vector_double self, std::vector< double >::size_type size, std::vector< double >::value_type const & value) -> vector_double - - Parameters - ---------- - size: std::vector< double >::size_type - value: std::vector< double >::value_type const & - - """ - _nnpdf.vector_double_swiginit(self, _nnpdf.new_vector_double(*args)) - - def push_back(self, x): - r""" - push_back(vector_double self, std::vector< double >::value_type const & x) - - Parameters - ---------- - x: std::vector< double >::value_type const & - - """ - return _nnpdf.vector_double_push_back(self, x) - - def front(self): - r"""front(vector_double self) -> std::vector< double >::value_type const &""" - return _nnpdf.vector_double_front(self) - - def back(self): - r"""back(vector_double self) -> std::vector< double >::value_type const &""" - return _nnpdf.vector_double_back(self) - - def assign(self, n, x): - r""" - assign(vector_double self, std::vector< double >::size_type n, std::vector< double >::value_type const & x) - - Parameters - ---------- - n: std::vector< double >::size_type - x: std::vector< double >::value_type const & - - """ - return _nnpdf.vector_double_assign(self, n, x) - - def resize(self, *args): - r""" - resize(vector_double self, std::vector< double >::size_type new_size) - - Parameters - ---------- - new_size: std::vector< double >::size_type - - resize(vector_double self, std::vector< double >::size_type new_size, std::vector< double >::value_type const & x) - - Parameters - ---------- - new_size: std::vector< double >::size_type - x: std::vector< double >::value_type const & - - """ - return _nnpdf.vector_double_resize(self, *args) - - def insert(self, *args): - r""" - insert(vector_double self, std::vector< double >::iterator pos, std::vector< double >::value_type const & x) -> std::vector< double >::iterator - - Parameters - ---------- - pos: std::vector< double >::iterator - x: std::vector< double >::value_type const & - - insert(vector_double self, std::vector< double >::iterator pos, std::vector< double >::size_type n, std::vector< double >::value_type const & x) - - Parameters - ---------- - pos: std::vector< double >::iterator - n: std::vector< double >::size_type - x: std::vector< double >::value_type const & - - """ - return _nnpdf.vector_double_insert(self, *args) - - def reserve(self, n): - r""" - reserve(vector_double self, std::vector< double >::size_type n) - - Parameters - ---------- - n: std::vector< double >::size_type - - """ - return _nnpdf.vector_double_reserve(self, n) - - def capacity(self): - r"""capacity(vector_double self) -> std::vector< double >::size_type""" - return _nnpdf.vector_double_capacity(self) - __swig_destroy__ = _nnpdf.delete_vector_double - -# Register vector_double in _nnpdf: -_nnpdf.vector_double_swigregister(vector_double) - -class vector_int(object): - r"""Proxy of C++ std::vector< int > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(vector_int self) -> SwigPyIterator""" - return _nnpdf.vector_int_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(vector_int self) -> bool""" - return _nnpdf.vector_int___nonzero__(self) - - def __bool__(self): - r"""__bool__(vector_int self) -> bool""" - return _nnpdf.vector_int___bool__(self) - - def __len__(self): - r"""__len__(vector_int self) -> std::vector< int >::size_type""" - return _nnpdf.vector_int___len__(self) - - def __getslice__(self, i, j): - r""" - __getslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) -> vector_int - - Parameters - ---------- - i: std::vector< int >::difference_type - j: std::vector< int >::difference_type - - """ - return _nnpdf.vector_int___getslice__(self, i, j) - - def __setslice__(self, *args): - r""" - __setslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) - - Parameters - ---------- - i: std::vector< int >::difference_type - j: std::vector< int >::difference_type - - __setslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j, vector_int v) - - Parameters - ---------- - i: std::vector< int >::difference_type - j: std::vector< int >::difference_type - v: std::vector< int,std::allocator< int > > const & - - """ - return _nnpdf.vector_int___setslice__(self, *args) - - def __delslice__(self, i, j): - r""" - __delslice__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::difference_type j) - - Parameters - ---------- - i: std::vector< int >::difference_type - j: std::vector< int >::difference_type - - """ - return _nnpdf.vector_int___delslice__(self, i, j) - - def __delitem__(self, *args): - r""" - __delitem__(vector_int self, std::vector< int >::difference_type i) - - Parameters - ---------- - i: std::vector< int >::difference_type - - __delitem__(vector_int self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - """ - return _nnpdf.vector_int___delitem__(self, *args) - - def __getitem__(self, *args): - r""" - __getitem__(vector_int self, PySliceObject * slice) -> vector_int - - Parameters - ---------- - slice: PySliceObject * - - __getitem__(vector_int self, std::vector< int >::difference_type i) -> std::vector< int >::value_type const & - - Parameters - ---------- - i: std::vector< int >::difference_type - - """ - return _nnpdf.vector_int___getitem__(self, *args) - - def __setitem__(self, *args): - r""" - __setitem__(vector_int self, PySliceObject * slice, vector_int v) - - Parameters - ---------- - slice: PySliceObject * - v: std::vector< int,std::allocator< int > > const & - - __setitem__(vector_int self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - __setitem__(vector_int self, std::vector< int >::difference_type i, std::vector< int >::value_type const & x) - - Parameters - ---------- - i: std::vector< int >::difference_type - x: std::vector< int >::value_type const & - - """ - return _nnpdf.vector_int___setitem__(self, *args) - - def pop(self): - r"""pop(vector_int self) -> std::vector< int >::value_type""" - return _nnpdf.vector_int_pop(self) - - def append(self, x): - r""" - append(vector_int self, std::vector< int >::value_type const & x) - - Parameters - ---------- - x: std::vector< int >::value_type const & - - """ - return _nnpdf.vector_int_append(self, x) - - def empty(self): - r"""empty(vector_int self) -> bool""" - return _nnpdf.vector_int_empty(self) - - def size(self): - r"""size(vector_int self) -> std::vector< int >::size_type""" - return _nnpdf.vector_int_size(self) - - def swap(self, v): - r""" - swap(vector_int self, vector_int v) - - Parameters - ---------- - v: std::vector< int > & - - """ - return _nnpdf.vector_int_swap(self, v) - - def begin(self): - r"""begin(vector_int self) -> std::vector< int >::iterator""" - return _nnpdf.vector_int_begin(self) - - def end(self): - r"""end(vector_int self) -> std::vector< int >::iterator""" - return _nnpdf.vector_int_end(self) - - def rbegin(self): - r"""rbegin(vector_int self) -> std::vector< int >::reverse_iterator""" - return _nnpdf.vector_int_rbegin(self) - - def rend(self): - r"""rend(vector_int self) -> std::vector< int >::reverse_iterator""" - return _nnpdf.vector_int_rend(self) - - def clear(self): - r"""clear(vector_int self)""" - return _nnpdf.vector_int_clear(self) - - def get_allocator(self): - r"""get_allocator(vector_int self) -> std::vector< int >::allocator_type""" - return _nnpdf.vector_int_get_allocator(self) - - def pop_back(self): - r"""pop_back(vector_int self)""" - return _nnpdf.vector_int_pop_back(self) - - def erase(self, *args): - r""" - erase(vector_int self, std::vector< int >::iterator pos) -> std::vector< int >::iterator - - Parameters - ---------- - pos: std::vector< int >::iterator - - erase(vector_int self, std::vector< int >::iterator first, std::vector< int >::iterator last) -> std::vector< int >::iterator - - Parameters - ---------- - first: std::vector< int >::iterator - last: std::vector< int >::iterator - - """ - return _nnpdf.vector_int_erase(self, *args) - - def __init__(self, *args): - r""" - __init__(vector_int self) -> vector_int - __init__(vector_int self, vector_int other) -> vector_int - - Parameters - ---------- - other: std::vector< int > const & - - __init__(vector_int self, std::vector< int >::size_type size) -> vector_int - - Parameters - ---------- - size: std::vector< int >::size_type - - __init__(vector_int self, std::vector< int >::size_type size, std::vector< int >::value_type const & value) -> vector_int - - Parameters - ---------- - size: std::vector< int >::size_type - value: std::vector< int >::value_type const & - - """ - _nnpdf.vector_int_swiginit(self, _nnpdf.new_vector_int(*args)) - - def push_back(self, x): - r""" - push_back(vector_int self, std::vector< int >::value_type const & x) - - Parameters - ---------- - x: std::vector< int >::value_type const & - - """ - return _nnpdf.vector_int_push_back(self, x) - - def front(self): - r"""front(vector_int self) -> std::vector< int >::value_type const &""" - return _nnpdf.vector_int_front(self) - - def back(self): - r"""back(vector_int self) -> std::vector< int >::value_type const &""" - return _nnpdf.vector_int_back(self) - - def assign(self, n, x): - r""" - assign(vector_int self, std::vector< int >::size_type n, std::vector< int >::value_type const & x) - - Parameters - ---------- - n: std::vector< int >::size_type - x: std::vector< int >::value_type const & - - """ - return _nnpdf.vector_int_assign(self, n, x) - - def resize(self, *args): - r""" - resize(vector_int self, std::vector< int >::size_type new_size) - - Parameters - ---------- - new_size: std::vector< int >::size_type - - resize(vector_int self, std::vector< int >::size_type new_size, std::vector< int >::value_type const & x) - - Parameters - ---------- - new_size: std::vector< int >::size_type - x: std::vector< int >::value_type const & - - """ - return _nnpdf.vector_int_resize(self, *args) - - def insert(self, *args): - r""" - insert(vector_int self, std::vector< int >::iterator pos, std::vector< int >::value_type const & x) -> std::vector< int >::iterator - - Parameters - ---------- - pos: std::vector< int >::iterator - x: std::vector< int >::value_type const & - - insert(vector_int self, std::vector< int >::iterator pos, std::vector< int >::size_type n, std::vector< int >::value_type const & x) - - Parameters - ---------- - pos: std::vector< int >::iterator - n: std::vector< int >::size_type - x: std::vector< int >::value_type const & - - """ - return _nnpdf.vector_int_insert(self, *args) - - def reserve(self, n): - r""" - reserve(vector_int self, std::vector< int >::size_type n) - - Parameters - ---------- - n: std::vector< int >::size_type - - """ - return _nnpdf.vector_int_reserve(self, n) - - def capacity(self): - r"""capacity(vector_int self) -> std::vector< int >::size_type""" - return _nnpdf.vector_int_capacity(self) - __swig_destroy__ = _nnpdf.delete_vector_int - -# Register vector_int in _nnpdf: -_nnpdf.vector_int_swigregister(vector_int) - - -def getVersion(): - r"""getVersion() -> std::string""" - return _nnpdf.getVersion() - -def SetVerbosity(arg1): - r""" - SetVerbosity(int arg1) - - Parameters - ---------- - arg1: int - - """ - return _nnpdf.SetVerbosity(arg1) - -def GetVerbosity(): - r"""GetVerbosity() -> int""" - return _nnpdf.GetVerbosity() - -def get_logger(): - r"""get_logger() -> std::ostream &""" - return _nnpdf.get_logger() - -def joinpath(list): - r""" - joinpath(std::initializer_list< std::string > const & list) -> std::string - - Parameters - ---------- - list: std::initializer_list< std::string > const & - - """ - return _nnpdf.joinpath(list) - -def write_to_file(filename, data): - r""" - write_to_file(std::string const & filename, std::string const & data) - - Parameters - ---------- - filename: std::string const & - data: std::string const & - - """ - return _nnpdf.write_to_file(filename, data) - -def untargz(filename): - r""" - untargz(std::string const & filename) -> std::string - - Parameters - ---------- - filename: std::string const & - - """ - return _nnpdf.untargz(filename) - -def targz(filename, data): - r""" - targz(std::string const & filename, std::string const & data) - - Parameters - ---------- - filename: std::string const & - data: std::string const & - - """ - return _nnpdf.targz(filename, data) -class istream_proxy(object): - r"""Proxy of C++ NNPDF::istream_proxy class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, filename): - r""" - __init__(istream_proxy self, std::string const & filename) -> istream_proxy - - Parameters - ---------- - filename: std::string const & - - """ - _nnpdf.istream_proxy_swiginit(self, _nnpdf.new_istream_proxy(filename)) - - def stream(self): - r"""stream(istream_proxy self) -> std::istream &""" - return _nnpdf.istream_proxy_stream(self) - __swig_destroy__ = _nnpdf.delete_istream_proxy - -# Register istream_proxy in _nnpdf: -_nnpdf.istream_proxy_swigregister(istream_proxy) -cvar = _nnpdf.cvar -convoluteAlign = cvar.convoluteAlign - -class ostream_proxy(object): - r"""Proxy of C++ NNPDF::ostream_proxy class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, filename): - r""" - __init__(ostream_proxy self, std::string const & filename) -> ostream_proxy - - Parameters - ---------- - filename: std::string const & - - """ - _nnpdf.ostream_proxy_swiginit(self, _nnpdf.new_ostream_proxy(filename)) - - def stream(self): - r"""stream(ostream_proxy self) -> std::ostream &""" - return _nnpdf.ostream_proxy_stream(self) - __swig_destroy__ = _nnpdf.delete_ostream_proxy - -# Register ostream_proxy in _nnpdf: -_nnpdf.ostream_proxy_swigregister(ostream_proxy) - - -def integrate(data, npoints, h): - r""" - integrate(double [] data, size_t npoints, double h) -> double - - Parameters - ---------- - data: double [] - npoints: size_t - h: double - - """ - return _nnpdf.integrate(data, npoints, h) - -def split(*args): - r""" - split(std::string const & input) -> vector_str - - Parameters - ---------- - input: std::string const & - - split(vector_str results, std::string const & input) - - Parameters - ---------- - results: std::vector< std::string,std::allocator< std::string > > & - input: std::string const & - - """ - return _nnpdf.split(*args) - -def rsplit(*args): - r""" - rsplit(std::string const & input) -> std::vector< NNPDF::real,std::allocator< NNPDF::real > > - - Parameters - ---------- - input: std::string const & - - rsplit(std::vector< NNPDF::real,std::allocator< NNPDF::real > > & results, std::string const & input) - - Parameters - ---------- - results: std::vector< NNPDF::real,std::allocator< NNPDF::real > > & - input: std::string const & - - """ - return _nnpdf.rsplit(*args) - -def isplit(*args): - r""" - isplit(std::string const & input) -> vector_int - - Parameters - ---------- - input: std::string const & - - isplit(vector_int results, std::string const & input) - - Parameters - ---------- - results: std::vector< int,std::allocator< int > > & - input: std::string const & - - """ - return _nnpdf.isplit(*args) - -def ComputeAVG(*args): - r""" - ComputeAVG(int const & n, NNPDF::real const * x) -> NNPDF::real - - Parameters - ---------- - n: int const & - x: NNPDF::real const * - - ComputeAVG(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x) -> NNPDF::real - - Parameters - ---------- - x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & - - """ - return _nnpdf.ComputeAVG(*args) - -def ComputeStdDev(*args): - r""" - ComputeStdDev(int const & n, NNPDF::real const * x) -> NNPDF::real - - Parameters - ---------- - n: int const & - x: NNPDF::real const * - - ComputeStdDev(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x) -> NNPDF::real - - Parameters - ---------- - x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & - - """ - return _nnpdf.ComputeStdDev(*args) - -def ComputeEigErr(p, x): - r""" - ComputeEigErr(int const & p, NNPDF::real const * x) -> NNPDF::real - - Parameters - ---------- - p: int const & - x: NNPDF::real const * - - """ - return _nnpdf.ComputeEigErr(p, x) - -def ComputeSymEigErr(p, x): - r""" - ComputeSymEigErr(int const & p, NNPDF::real const * x) -> NNPDF::real - - Parameters - ---------- - p: int const & - x: NNPDF::real const * - - """ - return _nnpdf.ComputeSymEigErr(p, x) - -def ComputeMom(n, x, m): - r""" - ComputeMom(int const & n, NNPDF::real const * x, int const & m) -> NNPDF::real - - Parameters - ---------- - n: int const & - x: NNPDF::real const * - m: int const & - - """ - return _nnpdf.ComputeMom(n, x, m) - -def Compute68cl(x, up, dn): - r""" - Compute68cl(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x, NNPDF::real & up, NNPDF::real & dn) - - Parameters - ---------- - x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & - up: NNPDF::real & - dn: NNPDF::real & - - """ - return _nnpdf.Compute68cl(x, up, dn) - -def Compute95cl(x, up, dn): - r""" - Compute95cl(std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & x, NNPDF::real & up, NNPDF::real & dn) - - Parameters - ---------- - x: std::vector< NNPDF::real,std::allocator< NNPDF::real > > const & - up: NNPDF::real & - dn: NNPDF::real & - - """ - return _nnpdf.Compute95cl(x, up, dn) -class matrix_double(object): - r"""Proxy of C++ NNPDF::matrix< double > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, row=0, col=0): - r""" - __init__(matrix_double self, size_t row=0, size_t col=0) -> matrix_double - - Parameters - ---------- - row: size_t - col: size_t - - """ - _nnpdf.matrix_double_swiginit(self, _nnpdf.new_matrix_double(row, col)) - - def resize(self, row, col, v): - r""" - resize(matrix_double self, size_t row, size_t col, double v) - - Parameters - ---------- - row: size_t - col: size_t - v: double - - """ - return _nnpdf.matrix_double_resize(self, row, col, v) - - def clear(self): - r"""clear(matrix_double self)""" - return _nnpdf.matrix_double_clear(self) - - def size(self, dim): - r""" - size(matrix_double self, size_t dim) -> size_t const & - - Parameters - ---------- - dim: size_t - - """ - return _nnpdf.matrix_double_size(self, dim) - - def __call__(self, *args): - r""" - __call__(matrix_double self, size_t i, size_t j) -> double - - Parameters - ---------- - i: size_t - j: size_t - - __call__(matrix_double self, size_t i, size_t j) -> double const & - - Parameters - ---------- - i: size_t - j: size_t - - """ - return _nnpdf.matrix_double___call__(self, *args) - - def __mul__(self, _in): - r""" - __mul__(matrix_double self, vector_double _in) -> vector_double - - Parameters - ---------- - in: std::vector< double,std::allocator< double > > - - """ - return _nnpdf.matrix_double___mul__(self, _in) - - def data(self, *args): - r""" - data(matrix_double self) -> double - data(matrix_double self) -> double const * - """ - return _nnpdf.matrix_double_data(self, *args) - __swig_destroy__ = _nnpdf.delete_matrix_double - -# Register matrix_double in _nnpdf: -_nnpdf.matrix_double_swigregister(matrix_double) - -class RandomGenerator(object): - r"""Proxy of C++ NNPDF::RandomGenerator class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - - def __init__(self, *args, **kwargs): - raise AttributeError("No constructor defined") - __repr__ = _swig_repr - - @staticmethod - def InitRNG(method, seed): - r""" - InitRNG(int method, unsigned long seed) - - Parameters - ---------- - method: int - seed: unsigned long - - """ - return _nnpdf.RandomGenerator_InitRNG(method, seed) - - @staticmethod - def GetRNG(): - r"""GetRNG() -> RandomGenerator""" - return _nnpdf.RandomGenerator_GetRNG() - Verbose = property(_nnpdf.RandomGenerator_Verbose_get, _nnpdf.RandomGenerator_Verbose_set, doc=r"""Verbose : bool""") - - def GetRandomInt(self): - r"""GetRandomInt(RandomGenerator self) -> unsigned long""" - return _nnpdf.RandomGenerator_GetRandomInt(self) - - def GetRandomUniform(self, *args): - r""" - GetRandomUniform(RandomGenerator self, unsigned long arg2) -> unsigned long - - Parameters - ---------- - arg2: unsigned long - - GetRandomUniform(RandomGenerator self) -> double - GetRandomUniform(RandomGenerator self, double arg2, double arg3) -> double - - Parameters - ---------- - arg2: double - arg3: double - - """ - return _nnpdf.RandomGenerator_GetRandomUniform(self, *args) - - def GetRandomUniformPos(self): - r"""GetRandomUniformPos(RandomGenerator self) -> double""" - return _nnpdf.RandomGenerator_GetRandomUniformPos(self) - - def GetRandomGausDev(self, arg2): - r""" - GetRandomGausDev(RandomGenerator self, double const arg2) -> double - - Parameters - ---------- - arg2: double const - - """ - return _nnpdf.RandomGenerator_GetRandomGausDev(self, arg2) - - def SetSeed(self, arg2): - r""" - SetSeed(RandomGenerator self, unsigned long arg2) - - Parameters - ---------- - arg2: unsigned long - - """ - return _nnpdf.RandomGenerator_SetSeed(self, arg2) - -# Register RandomGenerator in _nnpdf: -_nnpdf.RandomGenerator_swigregister(RandomGenerator) - -def RandomGenerator_InitRNG(method, seed): - r""" - RandomGenerator_InitRNG(int method, unsigned long seed) - - Parameters - ---------- - method: int - seed: unsigned long - - """ - return _nnpdf.RandomGenerator_InitRNG(method, seed) - -def RandomGenerator_GetRNG(): - r"""RandomGenerator_GetRNG() -> RandomGenerator""" - return _nnpdf.RandomGenerator_GetRNG() - - -def get_profile_path(): - r"""get_profile_path() -> std::string""" - return _nnpdf.get_profile_path() - -def get_data_path(): - r"""get_data_path() -> std::string""" - return _nnpdf.get_data_path() - -def get_results_path(): - r"""get_results_path() -> std::string""" - return _nnpdf.get_results_path() - -def get_config_path(): - r"""get_config_path() -> std::string""" - return _nnpdf.get_config_path() -class LogManager(object): - r"""Proxy of C++ NNPDF::LogManager class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - - def __init__(self, *args, **kwargs): - raise AttributeError("No constructor defined") - __repr__ = _swig_repr - - @staticmethod - def InitPath(path): - r""" - InitPath(std::string const & path) - - Parameters - ---------- - path: std::string const & - - """ - return _nnpdf.LogManager_InitPath(path) - - @staticmethod - def AddLogger(arg1, arg2): - r""" - AddLogger(std::string const & arg1, std::string const & arg2) - - Parameters - ---------- - arg1: std::string const & - arg2: std::string const & - - """ - return _nnpdf.LogManager_AddLogger(arg1, arg2) - - @staticmethod - def GetLogger(arg1): - r""" - GetLogger(std::string const & arg1) -> Logger - - Parameters - ---------- - arg1: std::string const & - - """ - return _nnpdf.LogManager_GetLogger(arg1) - - @staticmethod - def AddLogEntry(log, ent): - r""" - AddLogEntry(std::string const & log, std::string ent) - - Parameters - ---------- - log: std::string const & - ent: std::string - - """ - return _nnpdf.LogManager_AddLogEntry(log, ent) - - @staticmethod - def ExportLogs(): - r"""ExportLogs()""" - return _nnpdf.LogManager_ExportLogs() - -# Register LogManager in _nnpdf: -_nnpdf.LogManager_swigregister(LogManager) - -def LogManager_InitPath(path): - r""" - LogManager_InitPath(std::string const & path) - - Parameters - ---------- - path: std::string const & - - """ - return _nnpdf.LogManager_InitPath(path) - -def LogManager_AddLogger(arg1, arg2): - r""" - LogManager_AddLogger(std::string const & arg1, std::string const & arg2) - - Parameters - ---------- - arg1: std::string const & - arg2: std::string const & - - """ - return _nnpdf.LogManager_AddLogger(arg1, arg2) - -def LogManager_GetLogger(arg1): - r""" - LogManager_GetLogger(std::string const & arg1) -> Logger - - Parameters - ---------- - arg1: std::string const & - - """ - return _nnpdf.LogManager_GetLogger(arg1) - -def LogManager_AddLogEntry(log, ent): - r""" - LogManager_AddLogEntry(std::string const & log, std::string ent) - - Parameters - ---------- - log: std::string const & - ent: std::string - - """ - return _nnpdf.LogManager_AddLogEntry(log, ent) - -def LogManager_ExportLogs(): - r"""LogManager_ExportLogs()""" - return _nnpdf.LogManager_ExportLogs() - -class Logger(object): - r"""Proxy of C++ NNPDF::Logger class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - - def __init__(self, *args, **kwargs): - raise AttributeError("No constructor defined") - __repr__ = _swig_repr - __swig_destroy__ = _nnpdf.delete_Logger - -# Register Logger in _nnpdf: -_nnpdf.Logger_swigregister(Logger) - -class map_str_vector_str(object): - r"""Proxy of C++ std::map< std::string,std::vector< std::string > > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(map_str_vector_str self) -> SwigPyIterator""" - return _nnpdf.map_str_vector_str_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(map_str_vector_str self) -> bool""" - return _nnpdf.map_str_vector_str___nonzero__(self) - - def __bool__(self): - r"""__bool__(map_str_vector_str self) -> bool""" - return _nnpdf.map_str_vector_str___bool__(self) - - def __len__(self): - r"""__len__(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::size_type""" - return _nnpdf.map_str_vector_str___len__(self) - def __iter__(self): - return self.key_iterator() - def iterkeys(self): - return self.key_iterator() - def itervalues(self): - return self.value_iterator() - def iteritems(self): - return self.iterator() - - def __getitem__(self, key): - r""" - __getitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) -> vector_str - - Parameters - ---------- - key: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str___getitem__(self, key) - - def __delitem__(self, key): - r""" - __delitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) - - Parameters - ---------- - key: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str___delitem__(self, key) - - def has_key(self, key): - r""" - has_key(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) -> bool - - Parameters - ---------- - key: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str_has_key(self, key) - - def keys(self): - r"""keys(map_str_vector_str self) -> PyObject *""" - return _nnpdf.map_str_vector_str_keys(self) - - def values(self): - r"""values(map_str_vector_str self) -> PyObject *""" - return _nnpdf.map_str_vector_str_values(self) - - def items(self): - r"""items(map_str_vector_str self) -> PyObject *""" - return _nnpdf.map_str_vector_str_items(self) - - def __contains__(self, key): - r""" - __contains__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) -> bool - - Parameters - ---------- - key: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str___contains__(self, key) - - def key_iterator(self): - r"""key_iterator(map_str_vector_str self) -> SwigPyIterator""" - return _nnpdf.map_str_vector_str_key_iterator(self) - - def value_iterator(self): - r"""value_iterator(map_str_vector_str self) -> SwigPyIterator""" - return _nnpdf.map_str_vector_str_value_iterator(self) - - def __setitem__(self, *args): - r""" - __setitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key) - - Parameters - ---------- - key: std::map< std::string,std::vector< std::string > >::key_type const & - - __setitem__(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & key, vector_str x) - - Parameters - ---------- - key: std::map< std::string,std::vector< std::string > >::key_type const & - x: std::map< std::string,std::vector< std::string > >::mapped_type const & - - """ - return _nnpdf.map_str_vector_str___setitem__(self, *args) - - def asdict(self): - r"""asdict(map_str_vector_str self) -> PyObject *""" - return _nnpdf.map_str_vector_str_asdict(self) - - def __init__(self, *args): - r""" - __init__(map_str_vector_str self, std::less< std::string > const & other) -> map_str_vector_str - - Parameters - ---------- - other: std::less< std::string > const & - - __init__(map_str_vector_str self) -> map_str_vector_str - __init__(map_str_vector_str self, map_str_vector_str other) -> map_str_vector_str - - Parameters - ---------- - other: std::map< std::string,std::vector< std::string,std::allocator< std::string > > > const & - - """ - _nnpdf.map_str_vector_str_swiginit(self, _nnpdf.new_map_str_vector_str(*args)) - - def empty(self): - r"""empty(map_str_vector_str self) -> bool""" - return _nnpdf.map_str_vector_str_empty(self) - - def size(self): - r"""size(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::size_type""" - return _nnpdf.map_str_vector_str_size(self) - - def swap(self, v): - r""" - swap(map_str_vector_str self, map_str_vector_str v) - - Parameters - ---------- - v: std::map< std::string,std::vector< std::string,std::allocator< std::string > > > & - - """ - return _nnpdf.map_str_vector_str_swap(self, v) - - def begin(self): - r"""begin(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::iterator""" - return _nnpdf.map_str_vector_str_begin(self) - - def end(self): - r"""end(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::iterator""" - return _nnpdf.map_str_vector_str_end(self) - - def rbegin(self): - r"""rbegin(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::reverse_iterator""" - return _nnpdf.map_str_vector_str_rbegin(self) - - def rend(self): - r"""rend(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::reverse_iterator""" - return _nnpdf.map_str_vector_str_rend(self) - - def clear(self): - r"""clear(map_str_vector_str self)""" - return _nnpdf.map_str_vector_str_clear(self) - - def get_allocator(self): - r"""get_allocator(map_str_vector_str self) -> std::map< std::string,std::vector< std::string > >::allocator_type""" - return _nnpdf.map_str_vector_str_get_allocator(self) - - def count(self, x): - r""" - count(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::size_type - - Parameters - ---------- - x: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str_count(self, x) - - def erase(self, *args): - r""" - erase(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::size_type - - Parameters - ---------- - x: std::map< std::string,std::vector< std::string > >::key_type const & - - erase(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::iterator position) - - Parameters - ---------- - position: std::map< std::string,std::vector< std::string > >::iterator - - erase(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::iterator first, std::map< std::string,std::vector< std::string > >::iterator last) - - Parameters - ---------- - first: std::map< std::string,std::vector< std::string > >::iterator - last: std::map< std::string,std::vector< std::string > >::iterator - - """ - return _nnpdf.map_str_vector_str_erase(self, *args) - - def find(self, x): - r""" - find(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::iterator - - Parameters - ---------- - x: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str_find(self, x) - - def lower_bound(self, x): - r""" - lower_bound(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::iterator - - Parameters - ---------- - x: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str_lower_bound(self, x) - - def upper_bound(self, x): - r""" - upper_bound(map_str_vector_str self, std::map< std::string,std::vector< std::string > >::key_type const & x) -> std::map< std::string,std::vector< std::string > >::iterator - - Parameters - ---------- - x: std::map< std::string,std::vector< std::string > >::key_type const & - - """ - return _nnpdf.map_str_vector_str_upper_bound(self, x) - __swig_destroy__ = _nnpdf.delete_map_str_vector_str - -# Register map_str_vector_str in _nnpdf: -_nnpdf.map_str_vector_str_swigregister(map_str_vector_str) - -class dataInfo(object): - r"""Proxy of C++ NNPDF::dataInfo class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, nD, nS, sN, tF, sF): - r""" - __init__(dataInfo self, int nD, int nS, std::string sN, std::string tF, std::string sF) -> dataInfo - - Parameters - ---------- - nD: int - nS: int - sN: std::string - tF: std::string - sF: std::string - - """ - _nnpdf.dataInfo_swiginit(self, _nnpdf.new_dataInfo(nD, nS, sN, tF, sF)) - nData = property(_nnpdf.dataInfo_nData_get, doc=r"""nData : q(const).int""") - nSys = property(_nnpdf.dataInfo_nSys_get, doc=r"""nSys : q(const).int""") - SetName = property(_nnpdf.dataInfo_SetName_get, doc=r"""SetName : q(const).std::string""") - targetFile = property(_nnpdf.dataInfo_targetFile_get, doc=r"""targetFile : q(const).std::string""") - systypeFile = property(_nnpdf.dataInfo_systypeFile_get, doc=r"""systypeFile : q(const).std::string""") - __swig_destroy__ = _nnpdf.delete_dataInfo - -# Register dataInfo in _nnpdf: -_nnpdf.dataInfo_swigregister(dataInfo) - -class dataInfoRaw(object): - r"""Proxy of C++ NNPDF::dataInfoRaw class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, nD, nS, sN, pT): - r""" - __init__(dataInfoRaw self, int nD, int nS, std::string sN, std::string pT) -> dataInfoRaw - - Parameters - ---------- - nD: int - nS: int - sN: std::string - pT: std::string - - """ - _nnpdf.dataInfoRaw_swiginit(self, _nnpdf.new_dataInfoRaw(nD, nS, sN, pT)) - nData = property(_nnpdf.dataInfoRaw_nData_get, doc=r"""nData : q(const).int""") - nSys = property(_nnpdf.dataInfoRaw_nSys_get, doc=r"""nSys : q(const).int""") - SetName = property(_nnpdf.dataInfoRaw_SetName_get, doc=r"""SetName : q(const).std::string""") - ProcType = property(_nnpdf.dataInfoRaw_ProcType_get, doc=r"""ProcType : q(const).std::string""") - __swig_destroy__ = _nnpdf.delete_dataInfoRaw - -# Register dataInfoRaw in _nnpdf: -_nnpdf.dataInfoRaw_swigregister(dataInfoRaw) - -ADD = _nnpdf.ADD - -MULT = _nnpdf.MULT - -UNSET = _nnpdf.UNSET - -class sysError(object): - r"""Proxy of C++ NNPDF::sysError class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - add = property(_nnpdf.sysError_add_get, _nnpdf.sysError_add_set, doc=r"""add : double""") - mult = property(_nnpdf.sysError_mult_get, _nnpdf.sysError_mult_set, doc=r"""mult : double""") - type = property(_nnpdf.sysError_type_get, _nnpdf.sysError_type_set, doc=r"""type : NNPDF::sysType""") - name = property(_nnpdf.sysError_name_get, _nnpdf.sysError_name_set, doc=r"""name : std::string""") - isRAND = property(_nnpdf.sysError_isRAND_get, _nnpdf.sysError_isRAND_set, doc=r"""isRAND : bool""") - - def __init__(self, *args): - r""" - __init__(sysError self) -> sysError - __init__(sysError self, sysError o) -> sysError - - Parameters - ---------- - o: NNPDF::sysError const & - - """ - _nnpdf.sysError_swiginit(self, _nnpdf.new_sysError(*args)) - __swig_destroy__ = _nnpdf.delete_sysError - -# Register sysError in _nnpdf: -_nnpdf.sysError_swigregister(sysError) - - -def genInfoStruct(targetfile, sysfile): - r""" - genInfoStruct(std::string const & targetfile, std::string const & sysfile) -> dataInfo - - Parameters - ---------- - targetfile: std::string const & - sysfile: std::string const & - - """ - return _nnpdf.genInfoStruct(targetfile, sysfile) - -def extractSysID(sysfile): - r""" - extractSysID(std::string const & sysfile) -> std::string - - Parameters - ---------- - sysfile: std::string const & - - """ - return _nnpdf.extractSysID(sysfile) -class CommonData(object): - r"""Proxy of C++ NNPDF::CommonData class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(CommonData self, CommonData set) -> CommonData - - Parameters - ---------- - set: NNPDF::CommonData const & - - __init__(CommonData self, CommonData set, vector_int mask) -> CommonData - - Parameters - ---------- - set: NNPDF::CommonData const & - mask: std::vector< int,std::allocator< int > > const & - - """ - _nnpdf.CommonData_swiginit(self, _nnpdf.new_CommonData(*args)) - __swig_destroy__ = _nnpdf.delete_CommonData - - def GetSetName(self): - r"""GetSetName(CommonData self) -> std::string const &""" - return _nnpdf.CommonData_GetSetName(self) - - def GetNData(self): - r"""GetNData(CommonData self) -> int const &""" - return _nnpdf.CommonData_GetNData(self) - - def GetNSys(self): - r"""GetNSys(CommonData self) -> int const &""" - return _nnpdf.CommonData_GetNSys(self) - - def GetStat(self, i): - r""" - GetStat(CommonData self, int i) -> double const & - - Parameters - ---------- - i: int - - """ - return _nnpdf.CommonData_GetStat(self, i) - - def GetUncE(self, i): - r""" - GetUncE(CommonData self, int i) -> double - - Parameters - ---------- - i: int - - """ - return _nnpdf.CommonData_GetUncE(self, i) - - def GetCorE(self, i): - r""" - GetCorE(CommonData self, int i) -> double - - Parameters - ---------- - i: int - - """ - return _nnpdf.CommonData_GetCorE(self, i) - - def GetSys(self, i, l): - r""" - GetSys(CommonData self, int i, int l) -> sysError - - Parameters - ---------- - i: int - l: int - - """ - return _nnpdf.CommonData_GetSys(self, i, l) - - def GetSysErrors(self): - r"""GetSysErrors(CommonData self) -> NNPDF::sysError **""" - return _nnpdf.CommonData_GetSysErrors(self) - - def GetData(self, *args): - r""" - GetData(CommonData self, int i) -> double const - - Parameters - ---------- - i: int - - GetData(CommonData self) -> double * - """ - return _nnpdf.CommonData_GetData(self, *args) - - def GetProc(self, i): - r""" - GetProc(CommonData self, int i) -> std::string const & - - Parameters - ---------- - i: int - - """ - return _nnpdf.CommonData_GetProc(self, i) - - def GetKinematics(self, idat, ikin): - r""" - GetKinematics(CommonData self, int const & idat, int const & ikin) -> double const & - - Parameters - ---------- - idat: int const & - ikin: int const & - - """ - return _nnpdf.CommonData_GetKinematics(self, idat, ikin) - - @staticmethod - def ReadFile(filename, sysfile): - r""" - ReadFile(std::string const & filename, std::string const & sysfile) -> CommonData - - Parameters - ---------- - filename: std::string const & - sysfile: std::string const & - - """ - return _nnpdf.CommonData_ReadFile(filename, sysfile) - - def Verify(self): - r"""Verify(CommonData self)""" - return _nnpdf.CommonData_Verify(self) - - def Export(self, targetdir): - r""" - Export(CommonData self, std::string const & targetdir) - - Parameters - ---------- - targetdir: std::string const & - - """ - return _nnpdf.CommonData_Export(self, targetdir) - - def get_kintable(self): - r"""get_kintable(CommonData self)""" - return _nnpdf.CommonData_get_kintable(self) - - def get_cv(self): - r"""get_cv(CommonData self)""" - return _nnpdf.CommonData_get_cv(self) - - - def __len__(self): - return self.GetNData(); - - - -# Register CommonData in _nnpdf: -_nnpdf.CommonData_swigregister(CommonData) -CommonData.kinLabel_latex = _nnpdf.cvar.CommonData_kinLabel_latex -CommonData.kinLabel = _nnpdf.cvar.CommonData_kinLabel - -def CommonData_ReadFile(filename, sysfile): - r""" - CommonData_ReadFile(std::string const & filename, std::string const & sysfile) -> CommonData - - Parameters - ---------- - filename: std::string const & - sysfile: std::string const & - - """ - return _nnpdf.CommonData_ReadFile(filename, sysfile) - -class PDFSet(object): - r"""Proxy of C++ NNPDF::PDFSet class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - - def __init__(self, *args, **kwargs): - raise AttributeError("No constructor defined - class is abstract") - __repr__ = _swig_repr - erType_ER_NONE = _nnpdf.PDFSet_erType_ER_NONE - - erType_ER_MC = _nnpdf.PDFSet_erType_ER_MC - - erType_ER_MC68 = _nnpdf.PDFSet_erType_ER_MC68 - - erType_ER_MCT0 = _nnpdf.PDFSet_erType_ER_MCT0 - - erType_ER_EIG = _nnpdf.PDFSet_erType_ER_EIG - - erType_ER_EIG90 = _nnpdf.PDFSet_erType_ER_EIG90 - - erType_ER_SYMEIG = _nnpdf.PDFSet_erType_ER_SYMEIG - - PHT = _nnpdf.PDFSet_PHT - - TBAR = _nnpdf.PDFSet_TBAR - - BBAR = _nnpdf.PDFSet_BBAR - - CBAR = _nnpdf.PDFSet_CBAR - - SBAR = _nnpdf.PDFSet_SBAR - - UBAR = _nnpdf.PDFSet_UBAR - - DBAR = _nnpdf.PDFSet_DBAR - - GLUON = _nnpdf.PDFSet_GLUON - - D = _nnpdf.PDFSet_D - - U = _nnpdf.PDFSet_U - - S = _nnpdf.PDFSet_S - - C = _nnpdf.PDFSet_C - - B = _nnpdf.PDFSet_B - - T = _nnpdf.PDFSet_T - - - @staticmethod - def fl_labels(): - r"""fl_labels() -> std::array< std::string,14 > const""" - return _nnpdf.PDFSet_fl_labels() - EVLN_GAM = _nnpdf.PDFSet_EVLN_GAM - - EVLN_SNG = _nnpdf.PDFSet_EVLN_SNG - - EVLN_GLU = _nnpdf.PDFSet_EVLN_GLU - - EVLN_VAL = _nnpdf.PDFSet_EVLN_VAL - - EVLN_V3 = _nnpdf.PDFSet_EVLN_V3 - - EVLN_V8 = _nnpdf.PDFSet_EVLN_V8 - - EVLN_V15 = _nnpdf.PDFSet_EVLN_V15 - - EVLN_V24 = _nnpdf.PDFSet_EVLN_V24 - - EVLN_V35 = _nnpdf.PDFSet_EVLN_V35 - - EVLN_T3 = _nnpdf.PDFSet_EVLN_T3 - - EVLN_T8 = _nnpdf.PDFSet_EVLN_T8 - - EVLN_T15 = _nnpdf.PDFSet_EVLN_T15 - - EVLN_T24 = _nnpdf.PDFSet_EVLN_T24 - - EVLN_T35 = _nnpdf.PDFSet_EVLN_T35 - - __swig_destroy__ = _nnpdf.delete_PDFSet - Verbose = property(_nnpdf.PDFSet_Verbose_get, _nnpdf.PDFSet_Verbose_set, doc=r"""Verbose : bool""") - - def GetPDF(self, *args): - r""" - GetPDF(PDFSet self, NNPDF::real const & x, NNPDF::real const & Q2, int const & n, int const & fl) -> NNPDF::real - - Parameters - ---------- - x: NNPDF::real const & - Q2: NNPDF::real const & - n: int const & - fl: int const & - - GetPDF(PDFSet self, NNPDF::real const & x, NNPDF::real const & Q2, int const & n, NNPDF::real * pdf) - - Parameters - ---------- - x: NNPDF::real const & - Q2: NNPDF::real const & - n: int const & - pdf: NNPDF::real * - - """ - return _nnpdf.PDFSet_GetPDF(self, *args) - - def GetSetName(self): - r"""GetSetName(PDFSet self) -> std::string const &""" - return _nnpdf.PDFSet_GetSetName(self) - - def GetEtype(self): - r"""GetEtype(PDFSet self) -> NNPDF::PDFSet::erType const &""" - return _nnpdf.PDFSet_GetEtype(self) - - def GetMembers(self): - r"""GetMembers(PDFSet self) -> int const &""" - return _nnpdf.PDFSet_GetMembers(self) - XFX = _nnpdf.PDFSet_XFX - - FX = _nnpdf.PDFSet_FX - - - def IntegratePDF(self, mem, fl, Q2, xfx, gslerror, arg7, xmin=0.0, xmax=1.0): - r""" - IntegratePDF(PDFSet self, int const & mem, int const & fl, NNPDF::real const & Q2, NNPDF::PDFSet::intType xfx, bool & gslerror, gsl_integration_workspace * arg7, NNPDF::real xmin=0.0, NNPDF::real xmax=1.0) -> NNPDF::real - - Parameters - ---------- - mem: int const & - fl: int const & - Q2: NNPDF::real const & - xfx: enum NNPDF::PDFSet::intType - gslerror: bool & - arg7: gsl_integration_workspace * - xmin: NNPDF::real - xmax: NNPDF::real - - """ - return _nnpdf.PDFSet_IntegratePDF(self, mem, fl, Q2, xfx, gslerror, arg7, xmin, xmax) - - @staticmethod - def errString(type): - r""" - errString(NNPDF::PDFSet::erType const & type) -> std::string - - Parameters - ---------- - type: NNPDF::PDFSet::erType const & - - """ - return _nnpdf.PDFSet_errString(type) - - @staticmethod - def LHA2EVLN(LHA, EVLN): - r""" - LHA2EVLN(NNPDF::real const * LHA, NNPDF::real * EVLN) - - Parameters - ---------- - LHA: NNPDF::real const * - EVLN: NNPDF::real * - - """ - return _nnpdf.PDFSet_LHA2EVLN(LHA, EVLN) - - @staticmethod - def EVLN2LHA(EVL, LHA): - r""" - EVLN2LHA(NNPDF::real const * EVL, NNPDF::real * LHA) - - Parameters - ---------- - EVL: NNPDF::real const * - LHA: NNPDF::real * - - """ - return _nnpdf.PDFSet_EVLN2LHA(EVL, LHA) - -# Register PDFSet in _nnpdf: -_nnpdf.PDFSet_swigregister(PDFSet) - -def PDFSet_fl_labels(): - r"""PDFSet_fl_labels() -> std::array< std::string,14 > const""" - return _nnpdf.PDFSet_fl_labels() - -def PDFSet_errString(type): - r""" - PDFSet_errString(NNPDF::PDFSet::erType const & type) -> std::string - - Parameters - ---------- - type: NNPDF::PDFSet::erType const & - - """ - return _nnpdf.PDFSet_errString(type) - -def PDFSet_LHA2EVLN(LHA, EVLN): - r""" - PDFSet_LHA2EVLN(NNPDF::real const * LHA, NNPDF::real * EVLN) - - Parameters - ---------- - LHA: NNPDF::real const * - EVLN: NNPDF::real * - - """ - return _nnpdf.PDFSet_LHA2EVLN(LHA, EVLN) - -def PDFSet_EVLN2LHA(EVL, LHA): - r""" - PDFSet_EVLN2LHA(NNPDF::real const * EVL, NNPDF::real * LHA) - - Parameters - ---------- - EVL: NNPDF::real const * - LHA: NNPDF::real * - - """ - return _nnpdf.PDFSet_EVLN2LHA(EVL, LHA) - -class LHAPDFSet(PDFSet): - r"""Proxy of C++ NNPDF::LHAPDFSet class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, arg2, arg3): - r""" - __init__(LHAPDFSet self, std::string const & arg2, NNPDF::PDFSet::erType arg3) -> LHAPDFSet - - Parameters - ---------- - arg2: std::string const & - arg3: enum NNPDF::PDFSet::erType - - """ - _nnpdf.LHAPDFSet_swiginit(self, _nnpdf.new_LHAPDFSet(arg2, arg3)) - __swig_destroy__ = _nnpdf.delete_LHAPDFSet - - def GetPDF(self, x, Q2, n, pdf): - r""" - GetPDF(LHAPDFSet self, NNPDF::real const & x, NNPDF::real const & Q2, int const & n, NNPDF::real * pdf) - - Parameters - ---------- - x: NNPDF::real const & - Q2: NNPDF::real const & - n: int const & - pdf: NNPDF::real * - - """ - return _nnpdf.LHAPDFSet_GetPDF(self, x, Q2, n, pdf) - - def hasFlavor(self, pdgid): - r""" - hasFlavor(LHAPDFSet self, int pdgid) -> bool - - Parameters - ---------- - pdgid: int - - """ - return _nnpdf.LHAPDFSet_hasFlavor(self, pdgid) - - def xfxQ(self, x, Q, n, fl): - r""" - xfxQ(LHAPDFSet self, NNPDF::real const & x, NNPDF::real const & Q, int const & n, int const & fl) -> NNPDF::real - - Parameters - ---------- - x: NNPDF::real const & - Q: NNPDF::real const & - n: int const & - fl: int const & - - """ - return _nnpdf.LHAPDFSet_xfxQ(self, x, Q, n, fl) - - def grid_values(self, flmat, xmat, qmat): - r""" - grid_values(LHAPDFSet self, int * flmat, NNPDF::real * xmat, NNPDF::real * qmat) - - Parameters - ---------- - flmat: int * - xmat: NNPDF::real * - qmat: NNPDF::real * - - """ - return _nnpdf.LHAPDFSet_grid_values(self, flmat, xmat, qmat) - -# Register LHAPDFSet in _nnpdf: -_nnpdf.LHAPDFSet_swigregister(LHAPDFSet) - -def single_replica(arg1, arg2): - r""" - single_replica(std::string const & arg1, int const & arg2) -> LHAPDFSet - - Parameters - ---------- - arg1: std::string const & - arg2: int const & - - """ - val = _nnpdf.new_single_replica(arg1, arg2) - return val - - -def verbosity(): - r"""verbosity() -> int""" - return _nnpdf.verbosity() - -def SetLHAPDFVerbosity(v): - r""" - SetLHAPDFVerbosity(int v) - - Parameters - ---------- - v: int - - """ - return _nnpdf.SetLHAPDFVerbosity(v) -class FKHeader(object): - r"""Proxy of C++ NNPDF::FKHeader class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(FKHeader self) -> FKHeader - __init__(FKHeader self, std::istream & arg2) -> FKHeader - - Parameters - ---------- - arg2: std::istream & - - __init__(FKHeader self, std::string const & filename) -> FKHeader - - Parameters - ---------- - filename: std::string const & - - __init__(FKHeader self, FKHeader arg2) -> FKHeader - - Parameters - ---------- - arg2: NNPDF::FKHeader const & - - """ - _nnpdf.FKHeader_swiginit(self, _nnpdf.new_FKHeader(*args)) - __swig_destroy__ = _nnpdf.delete_FKHeader - - def Read(self, arg2): - r""" - Read(FKHeader self, std::istream & arg2) - - Parameters - ---------- - arg2: std::istream & - - """ - return _nnpdf.FKHeader_Read(self, arg2) - - def Print(self, arg2): - r""" - Print(FKHeader self, std::ostream & arg2) - - Parameters - ---------- - arg2: std::ostream & - - """ - return _nnpdf.FKHeader_Print(self, arg2) - - def ResetFlavourMap(self): - r"""ResetFlavourMap(FKHeader self)""" - return _nnpdf.FKHeader_ResetFlavourMap(self) - VERSIONS = _nnpdf.FKHeader_VERSIONS - - GRIDINFO = _nnpdf.FKHeader_GRIDINFO - - THEORYINFO = _nnpdf.FKHeader_THEORYINFO - - BLOB = _nnpdf.FKHeader_BLOB - - - def AddTag(self, *args): - r""" - AddTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key, char const * value) - - Parameters - ---------- - sec: enum NNPDF::FKHeader::section - key: std::string const & - value: char const * - - AddTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key, std::string const & value) - - Parameters - ---------- - sec: enum NNPDF::FKHeader::section - key: std::string const & - value: std::string const & - - """ - return _nnpdf.FKHeader_AddTag(self, *args) - - def HasTag(self, sec, key): - r""" - HasTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key) -> bool - - Parameters - ---------- - sec: enum NNPDF::FKHeader::section - key: std::string const & - - """ - return _nnpdf.FKHeader_HasTag(self, sec, key) - - def GetTag(self, sec, key): - r""" - GetTag(FKHeader self, NNPDF::FKHeader::section sec, std::string const & key) -> std::string - - Parameters - ---------- - sec: enum NNPDF::FKHeader::section - key: std::string const & - - """ - return _nnpdf.FKHeader_GetTag(self, sec, key) - -# Register FKHeader in _nnpdf: -_nnpdf.FKHeader_swigregister(FKHeader) - -class FKTable(object): - r"""Proxy of C++ NNPDF::FKTable class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(FKTable self, std::istream & arg2, vector_str cFactors=std::vector< std::string >()) -> FKTable - - Parameters - ---------- - arg2: std::istream & - cFactors: std::vector< std::string,std::allocator< std::string > > const & - - __init__(FKTable self, std::string const & filename, vector_str cfactors=std::vector< std::string >()) -> FKTable - - Parameters - ---------- - filename: std::string const & - cfactors: std::vector< std::string,std::allocator< std::string > > const & - - __init__(FKTable self, FKTable arg2) -> FKTable - - Parameters - ---------- - arg2: NNPDF::FKTable const & - - __init__(FKTable self, FKTable arg2, vector_int arg3) -> FKTable - - Parameters - ---------- - arg2: NNPDF::FKTable const & - arg3: std::vector< int,std::allocator< int > > const & - - """ - _nnpdf.FKTable_swiginit(self, _nnpdf.new_FKTable(*args)) - __swig_destroy__ = _nnpdf.delete_FKTable - - def Print(self, *args): - r""" - Print(FKTable self, std::ostream & arg2) - - Parameters - ---------- - arg2: std::ostream & - - Print(FKTable self, std::string const & arg2, bool const & compress=True) - - Parameters - ---------- - arg2: std::string const & - compress: bool const & - - """ - return _nnpdf.FKTable_Print(self, *args) - - def GetDataName(self): - r"""GetDataName(FKTable self) -> std::string const &""" - return _nnpdf.FKTable_GetDataName(self) - - def GetQ20(self): - r"""GetQ20(FKTable self) -> double const &""" - return _nnpdf.FKTable_GetQ20(self) - - def GetCFactors(self): - r"""GetCFactors(FKTable self) -> double const *""" - return _nnpdf.FKTable_GetCFactors(self) - - def GetCUncerts(self): - r"""GetCUncerts(FKTable self) -> double const *""" - return _nnpdf.FKTable_GetCUncerts(self) - - def GetNData(self): - r"""GetNData(FKTable self) -> int const &""" - return _nnpdf.FKTable_GetNData(self) - - def GetNx(self): - r"""GetNx(FKTable self) -> int const &""" - return _nnpdf.FKTable_GetNx(self) - - def GetTx(self): - r"""GetTx(FKTable self) -> int const &""" - return _nnpdf.FKTable_GetTx(self) - - def GetDSz(self): - r"""GetDSz(FKTable self) -> int const &""" - return _nnpdf.FKTable_GetDSz(self) - - def GetXGrid(self): - r"""GetXGrid(FKTable self) -> double *""" - return _nnpdf.FKTable_GetXGrid(self) - - def GetSigma(self): - r"""GetSigma(FKTable self) -> NNPDF::real *""" - return _nnpdf.FKTable_GetSigma(self) - - def GetFlmap(self): - r"""GetFlmap(FKTable self) -> int *""" - return _nnpdf.FKTable_GetFlmap(self) - - def GetNonZero(self): - r"""GetNonZero(FKTable self) -> int const &""" - return _nnpdf.FKTable_GetNonZero(self) - - def IsHadronic(self): - r"""IsHadronic(FKTable self) -> bool const &""" - return _nnpdf.FKTable_IsHadronic(self) - - def GetTag(self, sec, key): - r""" - GetTag(FKTable self, NNPDF::FKHeader::section sec, std::string const & key) -> std::string - - Parameters - ---------- - sec: enum NNPDF::FKHeader::section - key: std::string const & - - """ - return _nnpdf.FKTable_GetTag(self, sec, key) - - def GetISig(self, *args): - r""" - GetISig(FKTable self, int const & d, int const & ix1, int const & ix2, int const & ifl1, int const & ifl2) -> int - - Parameters - ---------- - d: int const & - ix1: int const & - ix2: int const & - ifl1: int const & - ifl2: int const & - - GetISig(FKTable self, int const & d, int const & ix, int const & ifl) -> int - - Parameters - ---------- - d: int const & - ix: int const & - ifl: int const & - - """ - return _nnpdf.FKTable_GetISig(self, *args) - - def get_xgrid(self): - r"""get_xgrid(FKTable self)""" - return _nnpdf.FKTable_get_xgrid(self) - - def get_sigma(self): - r"""get_sigma(FKTable self)""" - return _nnpdf.FKTable_get_sigma(self) - - def get_flmap(self): - r"""get_flmap(FKTable self)""" - return _nnpdf.FKTable_get_flmap(self) - -# Register FKTable in _nnpdf: -_nnpdf.FKTable_swigregister(FKTable) - -class vector_fktable_p(object): - r"""Proxy of C++ std::vector< NNPDF::FKTable * > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(vector_fktable_p self) -> SwigPyIterator""" - return _nnpdf.vector_fktable_p_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(vector_fktable_p self) -> bool""" - return _nnpdf.vector_fktable_p___nonzero__(self) - - def __bool__(self): - r"""__bool__(vector_fktable_p self) -> bool""" - return _nnpdf.vector_fktable_p___bool__(self) - - def __len__(self): - r"""__len__(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::size_type""" - return _nnpdf.vector_fktable_p___len__(self) - - def __getslice__(self, i, j): - r""" - __getslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j) -> vector_fktable_p - - Parameters - ---------- - i: std::vector< NNPDF::FKTable * >::difference_type - j: std::vector< NNPDF::FKTable * >::difference_type - - """ - return _nnpdf.vector_fktable_p___getslice__(self, i, j) - - def __setslice__(self, *args): - r""" - __setslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::FKTable * >::difference_type - j: std::vector< NNPDF::FKTable * >::difference_type - - __setslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j, vector_fktable_p v) - - Parameters - ---------- - i: std::vector< NNPDF::FKTable * >::difference_type - j: std::vector< NNPDF::FKTable * >::difference_type - v: std::vector< NNPDF::FKTable *,std::allocator< NNPDF::FKTable * > > const & - - """ - return _nnpdf.vector_fktable_p___setslice__(self, *args) - - def __delslice__(self, i, j): - r""" - __delslice__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, std::vector< NNPDF::FKTable * >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::FKTable * >::difference_type - j: std::vector< NNPDF::FKTable * >::difference_type - - """ - return _nnpdf.vector_fktable_p___delslice__(self, i, j) - - def __delitem__(self, *args): - r""" - __delitem__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i) - - Parameters - ---------- - i: std::vector< NNPDF::FKTable * >::difference_type - - __delitem__(vector_fktable_p self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - """ - return _nnpdf.vector_fktable_p___delitem__(self, *args) - - def __getitem__(self, *args): - r""" - __getitem__(vector_fktable_p self, PySliceObject * slice) -> vector_fktable_p - - Parameters - ---------- - slice: PySliceObject * - - __getitem__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i) -> FKTable - - Parameters - ---------- - i: std::vector< NNPDF::FKTable * >::difference_type - - """ - return _nnpdf.vector_fktable_p___getitem__(self, *args) - - def __setitem__(self, *args): - r""" - __setitem__(vector_fktable_p self, PySliceObject * slice, vector_fktable_p v) - - Parameters - ---------- - slice: PySliceObject * - v: std::vector< NNPDF::FKTable *,std::allocator< NNPDF::FKTable * > > const & - - __setitem__(vector_fktable_p self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - __setitem__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::difference_type i, FKTable x) - - Parameters - ---------- - i: std::vector< NNPDF::FKTable * >::difference_type - x: std::vector< NNPDF::FKTable * >::value_type - - """ - return _nnpdf.vector_fktable_p___setitem__(self, *args) - - def pop(self): - r"""pop(vector_fktable_p self) -> FKTable""" - return _nnpdf.vector_fktable_p_pop(self) - - def append(self, x): - r""" - append(vector_fktable_p self, FKTable x) - - Parameters - ---------- - x: std::vector< NNPDF::FKTable * >::value_type - - """ - return _nnpdf.vector_fktable_p_append(self, x) - - def empty(self): - r"""empty(vector_fktable_p self) -> bool""" - return _nnpdf.vector_fktable_p_empty(self) - - def size(self): - r"""size(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::size_type""" - return _nnpdf.vector_fktable_p_size(self) - - def swap(self, v): - r""" - swap(vector_fktable_p self, vector_fktable_p v) - - Parameters - ---------- - v: std::vector< NNPDF::FKTable * > & - - """ - return _nnpdf.vector_fktable_p_swap(self, v) - - def begin(self): - r"""begin(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::iterator""" - return _nnpdf.vector_fktable_p_begin(self) - - def end(self): - r"""end(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::iterator""" - return _nnpdf.vector_fktable_p_end(self) - - def rbegin(self): - r"""rbegin(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::reverse_iterator""" - return _nnpdf.vector_fktable_p_rbegin(self) - - def rend(self): - r"""rend(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::reverse_iterator""" - return _nnpdf.vector_fktable_p_rend(self) - - def clear(self): - r"""clear(vector_fktable_p self)""" - return _nnpdf.vector_fktable_p_clear(self) - - def get_allocator(self): - r"""get_allocator(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::allocator_type""" - return _nnpdf.vector_fktable_p_get_allocator(self) - - def pop_back(self): - r"""pop_back(vector_fktable_p self)""" - return _nnpdf.vector_fktable_p_pop_back(self) - - def erase(self, *args): - r""" - erase(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator pos) -> std::vector< NNPDF::FKTable * >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::FKTable * >::iterator - - erase(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator first, std::vector< NNPDF::FKTable * >::iterator last) -> std::vector< NNPDF::FKTable * >::iterator - - Parameters - ---------- - first: std::vector< NNPDF::FKTable * >::iterator - last: std::vector< NNPDF::FKTable * >::iterator - - """ - return _nnpdf.vector_fktable_p_erase(self, *args) - - def __init__(self, *args): - r""" - __init__(vector_fktable_p self) -> vector_fktable_p - __init__(vector_fktable_p self, vector_fktable_p other) -> vector_fktable_p - - Parameters - ---------- - other: std::vector< NNPDF::FKTable * > const & - - __init__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type size) -> vector_fktable_p - - Parameters - ---------- - size: std::vector< NNPDF::FKTable * >::size_type - - __init__(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type size, FKTable value) -> vector_fktable_p - - Parameters - ---------- - size: std::vector< NNPDF::FKTable * >::size_type - value: std::vector< NNPDF::FKTable * >::value_type - - """ - _nnpdf.vector_fktable_p_swiginit(self, _nnpdf.new_vector_fktable_p(*args)) - - def push_back(self, x): - r""" - push_back(vector_fktable_p self, FKTable x) - - Parameters - ---------- - x: std::vector< NNPDF::FKTable * >::value_type - - """ - return _nnpdf.vector_fktable_p_push_back(self, x) - - def front(self): - r"""front(vector_fktable_p self) -> FKTable""" - return _nnpdf.vector_fktable_p_front(self) - - def back(self): - r"""back(vector_fktable_p self) -> FKTable""" - return _nnpdf.vector_fktable_p_back(self) - - def assign(self, n, x): - r""" - assign(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type n, FKTable x) - - Parameters - ---------- - n: std::vector< NNPDF::FKTable * >::size_type - x: std::vector< NNPDF::FKTable * >::value_type - - """ - return _nnpdf.vector_fktable_p_assign(self, n, x) - - def resize(self, *args): - r""" - resize(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type new_size) - - Parameters - ---------- - new_size: std::vector< NNPDF::FKTable * >::size_type - - resize(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type new_size, FKTable x) - - Parameters - ---------- - new_size: std::vector< NNPDF::FKTable * >::size_type - x: std::vector< NNPDF::FKTable * >::value_type - - """ - return _nnpdf.vector_fktable_p_resize(self, *args) - - def insert(self, *args): - r""" - insert(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator pos, FKTable x) -> std::vector< NNPDF::FKTable * >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::FKTable * >::iterator - x: std::vector< NNPDF::FKTable * >::value_type - - insert(vector_fktable_p self, std::vector< NNPDF::FKTable * >::iterator pos, std::vector< NNPDF::FKTable * >::size_type n, FKTable x) - - Parameters - ---------- - pos: std::vector< NNPDF::FKTable * >::iterator - n: std::vector< NNPDF::FKTable * >::size_type - x: std::vector< NNPDF::FKTable * >::value_type - - """ - return _nnpdf.vector_fktable_p_insert(self, *args) - - def reserve(self, n): - r""" - reserve(vector_fktable_p self, std::vector< NNPDF::FKTable * >::size_type n) - - Parameters - ---------- - n: std::vector< NNPDF::FKTable * >::size_type - - """ - return _nnpdf.vector_fktable_p_reserve(self, n) - - def capacity(self): - r"""capacity(vector_fktable_p self) -> std::vector< NNPDF::FKTable * >::size_type""" - return _nnpdf.vector_fktable_p_capacity(self) - __swig_destroy__ = _nnpdf.delete_vector_fktable_p - -# Register vector_fktable_p in _nnpdf: -_nnpdf.vector_fktable_p_swigregister(vector_fktable_p) - -class FKSet(object): - r"""Proxy of C++ NNPDF::FKSet class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - __swig_destroy__ = _nnpdf.delete_FKSet - - def __init__(self, *args): - r""" - __init__(FKSet self, NNPDF::SigmaOp arg2, vector_fktable_p arg3) -> FKSet - - Parameters - ---------- - arg2: NNPDF::SigmaOp - arg3: std::vector< NNPDF::FKTable *,std::allocator< NNPDF::FKTable * > > const & - - __init__(FKSet self, FKSet arg2) -> FKSet - - Parameters - ---------- - arg2: NNPDF::FKSet const & - - __init__(FKSet self, FKSet arg2, vector_int arg3) -> FKSet - - Parameters - ---------- - arg2: NNPDF::FKSet const & - arg3: std::vector< int,std::allocator< int > > const & - - """ - _nnpdf.FKSet_swiginit(self, _nnpdf.new_FKSet(*args)) - - def GetOperator(self): - r"""GetOperator(FKSet self) -> NNPDF::SigmaOp""" - return _nnpdf.FKSet_GetOperator(self) - - def GetNSigma(self): - r"""GetNSigma(FKSet self) -> int const &""" - return _nnpdf.FKSet_GetNSigma(self) - - def GetNDataFK(self): - r"""GetNDataFK(FKSet self) -> int const &""" - return _nnpdf.FKSet_GetNDataFK(self) - - def IsHadronic(self): - r"""IsHadronic(FKSet self) -> bool const &""" - return _nnpdf.FKSet_IsHadronic(self) - - def GetDataName(self): - r"""GetDataName(FKSet self) -> std::string const &""" - return _nnpdf.FKSet_GetDataName(self) - - def GetFK(self, i): - r""" - GetFK(FKSet self, size_t const & i) -> FKTable - - Parameters - ---------- - i: size_t const & - - """ - return _nnpdf.FKSet_GetFK(self, i) - - @staticmethod - def parseOperator(op): - r""" - parseOperator(std::string const & op) -> NNPDF::SigmaOp - - Parameters - ---------- - op: std::string const & - - """ - return _nnpdf.FKSet_parseOperator(op) - -# Register FKSet in _nnpdf: -_nnpdf.FKSet_swigregister(FKSet) - -def FKSet_parseOperator(op): - r""" - FKSet_parseOperator(std::string const & op) -> NNPDF::SigmaOp - - Parameters - ---------- - op: std::string const & - - """ - return _nnpdf.FKSet_parseOperator(op) - -class DataSet(CommonData, FKSet): - r"""Proxy of C++ NNPDF::DataSet class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(DataSet self, CommonData arg2, FKSet arg3, double weight=1.) -> DataSet - - Parameters - ---------- - arg2: NNPDF::CommonData const & - arg3: NNPDF::FKSet const & - weight: double - - __init__(DataSet self, DataSet arg2, vector_int arg3) -> DataSet - - Parameters - ---------- - arg2: NNPDF::DataSet const & - arg3: std::vector< int,std::allocator< int > > const & - - __init__(DataSet self, DataSet arg2) -> DataSet - - Parameters - ---------- - arg2: NNPDF::DataSet const & - - """ - _nnpdf.DataSet_swiginit(self, _nnpdf.new_DataSet(*args)) - __swig_destroy__ = _nnpdf.delete_DataSet - - def SetT0(self, *args): - r""" - SetT0(DataSet self, ThPredictions arg2) - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - SetT0(DataSet self, PDFSet arg2) - - Parameters - ---------- - arg2: NNPDF::PDFSet const & - - """ - return _nnpdf.DataSet_SetT0(self, *args) - - def IsT0(self): - r"""IsT0(DataSet self) -> bool const &""" - return _nnpdf.DataSet_IsT0(self) - - def GetT0Pred(self, i): - r""" - GetT0Pred(DataSet self, int i) -> double const & - - Parameters - ---------- - i: int - - """ - return _nnpdf.DataSet_GetT0Pred(self, i) - - def GetWeight(self): - r"""GetWeight(DataSet self) -> double""" - return _nnpdf.DataSet_GetWeight(self) - - def GetCovMat(self): - r"""GetCovMat(DataSet self) -> matrix_double""" - return _nnpdf.DataSet_GetCovMat(self) - - def GetSqrtCov(self, *args): - r""" - GetSqrtCov(DataSet self) -> matrix_double - GetSqrtCov(DataSet self, int i, int j) -> double - - Parameters - ---------- - i: int - j: int - - """ - return _nnpdf.DataSet_GetSqrtCov(self, *args) - - def IsArtificial(self): - r"""IsArtificial(DataSet self) -> bool const &""" - return _nnpdf.DataSet_IsArtificial(self) - - def UpdateData(self, *args): - r""" - UpdateData(DataSet self, double * newdat) - - Parameters - ---------- - newdat: double * - - UpdateData(DataSet self, double * newdat, double * norm) - - Parameters - ---------- - newdat: double * - norm: double * - - """ - return _nnpdf.DataSet_UpdateData(self, *args) - - def SetArtificial(self, artificial): - r""" - SetArtificial(DataSet self, bool const & artificial) - - Parameters - ---------- - artificial: bool const & - - """ - return _nnpdf.DataSet_SetArtificial(self, artificial) - - def RescaleErrors(self, mult): - r""" - RescaleErrors(DataSet self, double const mult) - - Parameters - ---------- - mult: double const - - """ - return _nnpdf.DataSet_RescaleErrors(self, mult) - - def get_covmat(self): - r""" - get_covmat(DataSet self) - Return a copy of the experiment covariance matrix. - """ - return _nnpdf.DataSet_get_covmat(self) - - def get_sqrtcovmat(self): - r"""get_sqrtcovmat(DataSet self)""" - return _nnpdf.DataSet_get_sqrtcovmat(self) - - - def __len__(self): - return self.GetNData(); - - - -# Register DataSet in _nnpdf: -_nnpdf.DataSet_swigregister(DataSet) - -class vector_dataset(object): - r"""Proxy of C++ std::vector< NNPDF::DataSet > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(vector_dataset self) -> SwigPyIterator""" - return _nnpdf.vector_dataset_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(vector_dataset self) -> bool""" - return _nnpdf.vector_dataset___nonzero__(self) - - def __bool__(self): - r"""__bool__(vector_dataset self) -> bool""" - return _nnpdf.vector_dataset___bool__(self) - - def __len__(self): - r"""__len__(vector_dataset self) -> std::vector< NNPDF::DataSet >::size_type""" - return _nnpdf.vector_dataset___len__(self) - - def __getslice__(self, i, j): - r""" - __getslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j) -> vector_dataset - - Parameters - ---------- - i: std::vector< NNPDF::DataSet >::difference_type - j: std::vector< NNPDF::DataSet >::difference_type - - """ - return _nnpdf.vector_dataset___getslice__(self, i, j) - - def __setslice__(self, *args): - r""" - __setslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::DataSet >::difference_type - j: std::vector< NNPDF::DataSet >::difference_type - - __setslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j, vector_dataset v) - - Parameters - ---------- - i: std::vector< NNPDF::DataSet >::difference_type - j: std::vector< NNPDF::DataSet >::difference_type - v: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & - - """ - return _nnpdf.vector_dataset___setslice__(self, *args) - - def __delslice__(self, i, j): - r""" - __delslice__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, std::vector< NNPDF::DataSet >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::DataSet >::difference_type - j: std::vector< NNPDF::DataSet >::difference_type - - """ - return _nnpdf.vector_dataset___delslice__(self, i, j) - - def __delitem__(self, *args): - r""" - __delitem__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i) - - Parameters - ---------- - i: std::vector< NNPDF::DataSet >::difference_type - - __delitem__(vector_dataset self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - """ - return _nnpdf.vector_dataset___delitem__(self, *args) - - def __getitem__(self, *args): - r""" - __getitem__(vector_dataset self, PySliceObject * slice) -> vector_dataset - - Parameters - ---------- - slice: PySliceObject * - - __getitem__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i) -> DataSet - - Parameters - ---------- - i: std::vector< NNPDF::DataSet >::difference_type - - """ - return _nnpdf.vector_dataset___getitem__(self, *args) - - def __setitem__(self, *args): - r""" - __setitem__(vector_dataset self, PySliceObject * slice, vector_dataset v) - - Parameters - ---------- - slice: PySliceObject * - v: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & - - __setitem__(vector_dataset self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - __setitem__(vector_dataset self, std::vector< NNPDF::DataSet >::difference_type i, DataSet x) - - Parameters - ---------- - i: std::vector< NNPDF::DataSet >::difference_type - x: std::vector< NNPDF::DataSet >::value_type const & - - """ - return _nnpdf.vector_dataset___setitem__(self, *args) - - def pop(self): - r"""pop(vector_dataset self) -> DataSet""" - return _nnpdf.vector_dataset_pop(self) - - def append(self, x): - r""" - append(vector_dataset self, DataSet x) - - Parameters - ---------- - x: std::vector< NNPDF::DataSet >::value_type const & - - """ - return _nnpdf.vector_dataset_append(self, x) - - def empty(self): - r"""empty(vector_dataset self) -> bool""" - return _nnpdf.vector_dataset_empty(self) - - def size(self): - r"""size(vector_dataset self) -> std::vector< NNPDF::DataSet >::size_type""" - return _nnpdf.vector_dataset_size(self) - - def swap(self, v): - r""" - swap(vector_dataset self, vector_dataset v) - - Parameters - ---------- - v: std::vector< NNPDF::DataSet > & - - """ - return _nnpdf.vector_dataset_swap(self, v) - - def begin(self): - r"""begin(vector_dataset self) -> std::vector< NNPDF::DataSet >::iterator""" - return _nnpdf.vector_dataset_begin(self) - - def end(self): - r"""end(vector_dataset self) -> std::vector< NNPDF::DataSet >::iterator""" - return _nnpdf.vector_dataset_end(self) - - def rbegin(self): - r"""rbegin(vector_dataset self) -> std::vector< NNPDF::DataSet >::reverse_iterator""" - return _nnpdf.vector_dataset_rbegin(self) - - def rend(self): - r"""rend(vector_dataset self) -> std::vector< NNPDF::DataSet >::reverse_iterator""" - return _nnpdf.vector_dataset_rend(self) - - def clear(self): - r"""clear(vector_dataset self)""" - return _nnpdf.vector_dataset_clear(self) - - def get_allocator(self): - r"""get_allocator(vector_dataset self) -> std::vector< NNPDF::DataSet >::allocator_type""" - return _nnpdf.vector_dataset_get_allocator(self) - - def pop_back(self): - r"""pop_back(vector_dataset self)""" - return _nnpdf.vector_dataset_pop_back(self) - - def erase(self, *args): - r""" - erase(vector_dataset self, std::vector< NNPDF::DataSet >::iterator pos) -> std::vector< NNPDF::DataSet >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::DataSet >::iterator - - erase(vector_dataset self, std::vector< NNPDF::DataSet >::iterator first, std::vector< NNPDF::DataSet >::iterator last) -> std::vector< NNPDF::DataSet >::iterator - - Parameters - ---------- - first: std::vector< NNPDF::DataSet >::iterator - last: std::vector< NNPDF::DataSet >::iterator - - """ - return _nnpdf.vector_dataset_erase(self, *args) - - def __init__(self, *args): - r""" - __init__(vector_dataset self) -> vector_dataset - __init__(vector_dataset self, vector_dataset other) -> vector_dataset - - Parameters - ---------- - other: std::vector< NNPDF::DataSet > const & - - __init__(vector_dataset self, std::vector< NNPDF::DataSet >::size_type size, DataSet value) -> vector_dataset - - Parameters - ---------- - size: std::vector< NNPDF::DataSet >::size_type - value: std::vector< NNPDF::DataSet >::value_type const & - - """ - _nnpdf.vector_dataset_swiginit(self, _nnpdf.new_vector_dataset(*args)) - - def push_back(self, x): - r""" - push_back(vector_dataset self, DataSet x) - - Parameters - ---------- - x: std::vector< NNPDF::DataSet >::value_type const & - - """ - return _nnpdf.vector_dataset_push_back(self, x) - - def front(self): - r"""front(vector_dataset self) -> DataSet""" - return _nnpdf.vector_dataset_front(self) - - def back(self): - r"""back(vector_dataset self) -> DataSet""" - return _nnpdf.vector_dataset_back(self) - - def assign(self, n, x): - r""" - assign(vector_dataset self, std::vector< NNPDF::DataSet >::size_type n, DataSet x) - - Parameters - ---------- - n: std::vector< NNPDF::DataSet >::size_type - x: std::vector< NNPDF::DataSet >::value_type const & - - """ - return _nnpdf.vector_dataset_assign(self, n, x) - - def insert(self, *args): - r""" - insert(vector_dataset self, std::vector< NNPDF::DataSet >::iterator pos, DataSet x) -> std::vector< NNPDF::DataSet >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::DataSet >::iterator - x: std::vector< NNPDF::DataSet >::value_type const & - - insert(vector_dataset self, std::vector< NNPDF::DataSet >::iterator pos, std::vector< NNPDF::DataSet >::size_type n, DataSet x) - - Parameters - ---------- - pos: std::vector< NNPDF::DataSet >::iterator - n: std::vector< NNPDF::DataSet >::size_type - x: std::vector< NNPDF::DataSet >::value_type const & - - """ - return _nnpdf.vector_dataset_insert(self, *args) - - def reserve(self, n): - r""" - reserve(vector_dataset self, std::vector< NNPDF::DataSet >::size_type n) - - Parameters - ---------- - n: std::vector< NNPDF::DataSet >::size_type - - """ - return _nnpdf.vector_dataset_reserve(self, n) - - def capacity(self): - r"""capacity(vector_dataset self) -> std::vector< NNPDF::DataSet >::size_type""" - return _nnpdf.vector_dataset_capacity(self) - __swig_destroy__ = _nnpdf.delete_vector_dataset - -# Register vector_dataset in _nnpdf: -_nnpdf.vector_dataset_swigregister(vector_dataset) - -class vector_thpredictions(object): - r"""Proxy of C++ std::vector< NNPDF::ThPredictions > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(vector_thpredictions self) -> SwigPyIterator""" - return _nnpdf.vector_thpredictions_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(vector_thpredictions self) -> bool""" - return _nnpdf.vector_thpredictions___nonzero__(self) - - def __bool__(self): - r"""__bool__(vector_thpredictions self) -> bool""" - return _nnpdf.vector_thpredictions___bool__(self) - - def __len__(self): - r"""__len__(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::size_type""" - return _nnpdf.vector_thpredictions___len__(self) - - def __getslice__(self, i, j): - r""" - __getslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j) -> vector_thpredictions - - Parameters - ---------- - i: std::vector< NNPDF::ThPredictions >::difference_type - j: std::vector< NNPDF::ThPredictions >::difference_type - - """ - return _nnpdf.vector_thpredictions___getslice__(self, i, j) - - def __setslice__(self, *args): - r""" - __setslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::ThPredictions >::difference_type - j: std::vector< NNPDF::ThPredictions >::difference_type - - __setslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j, vector_thpredictions v) - - Parameters - ---------- - i: std::vector< NNPDF::ThPredictions >::difference_type - j: std::vector< NNPDF::ThPredictions >::difference_type - v: std::vector< NNPDF::ThPredictions,std::allocator< NNPDF::ThPredictions > > const & - - """ - return _nnpdf.vector_thpredictions___setslice__(self, *args) - - def __delslice__(self, i, j): - r""" - __delslice__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, std::vector< NNPDF::ThPredictions >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::ThPredictions >::difference_type - j: std::vector< NNPDF::ThPredictions >::difference_type - - """ - return _nnpdf.vector_thpredictions___delslice__(self, i, j) - - def __delitem__(self, *args): - r""" - __delitem__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i) - - Parameters - ---------- - i: std::vector< NNPDF::ThPredictions >::difference_type - - __delitem__(vector_thpredictions self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - """ - return _nnpdf.vector_thpredictions___delitem__(self, *args) - - def __getitem__(self, *args): - r""" - __getitem__(vector_thpredictions self, PySliceObject * slice) -> vector_thpredictions - - Parameters - ---------- - slice: PySliceObject * - - __getitem__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i) -> ThPredictions - - Parameters - ---------- - i: std::vector< NNPDF::ThPredictions >::difference_type - - """ - return _nnpdf.vector_thpredictions___getitem__(self, *args) - - def __setitem__(self, *args): - r""" - __setitem__(vector_thpredictions self, PySliceObject * slice, vector_thpredictions v) - - Parameters - ---------- - slice: PySliceObject * - v: std::vector< NNPDF::ThPredictions,std::allocator< NNPDF::ThPredictions > > const & - - __setitem__(vector_thpredictions self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - __setitem__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::difference_type i, ThPredictions x) - - Parameters - ---------- - i: std::vector< NNPDF::ThPredictions >::difference_type - x: std::vector< NNPDF::ThPredictions >::value_type const & - - """ - return _nnpdf.vector_thpredictions___setitem__(self, *args) - - def pop(self): - r"""pop(vector_thpredictions self) -> ThPredictions""" - return _nnpdf.vector_thpredictions_pop(self) - - def append(self, x): - r""" - append(vector_thpredictions self, ThPredictions x) - - Parameters - ---------- - x: std::vector< NNPDF::ThPredictions >::value_type const & - - """ - return _nnpdf.vector_thpredictions_append(self, x) - - def empty(self): - r"""empty(vector_thpredictions self) -> bool""" - return _nnpdf.vector_thpredictions_empty(self) - - def size(self): - r"""size(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::size_type""" - return _nnpdf.vector_thpredictions_size(self) - - def swap(self, v): - r""" - swap(vector_thpredictions self, vector_thpredictions v) - - Parameters - ---------- - v: std::vector< NNPDF::ThPredictions > & - - """ - return _nnpdf.vector_thpredictions_swap(self, v) - - def begin(self): - r"""begin(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::iterator""" - return _nnpdf.vector_thpredictions_begin(self) - - def end(self): - r"""end(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::iterator""" - return _nnpdf.vector_thpredictions_end(self) - - def rbegin(self): - r"""rbegin(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::reverse_iterator""" - return _nnpdf.vector_thpredictions_rbegin(self) - - def rend(self): - r"""rend(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::reverse_iterator""" - return _nnpdf.vector_thpredictions_rend(self) - - def clear(self): - r"""clear(vector_thpredictions self)""" - return _nnpdf.vector_thpredictions_clear(self) - - def get_allocator(self): - r"""get_allocator(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::allocator_type""" - return _nnpdf.vector_thpredictions_get_allocator(self) - - def pop_back(self): - r"""pop_back(vector_thpredictions self)""" - return _nnpdf.vector_thpredictions_pop_back(self) - - def erase(self, *args): - r""" - erase(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator pos) -> std::vector< NNPDF::ThPredictions >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::ThPredictions >::iterator - - erase(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator first, std::vector< NNPDF::ThPredictions >::iterator last) -> std::vector< NNPDF::ThPredictions >::iterator - - Parameters - ---------- - first: std::vector< NNPDF::ThPredictions >::iterator - last: std::vector< NNPDF::ThPredictions >::iterator - - """ - return _nnpdf.vector_thpredictions_erase(self, *args) - - def __init__(self, *args): - r""" - __init__(vector_thpredictions self) -> vector_thpredictions - __init__(vector_thpredictions self, vector_thpredictions other) -> vector_thpredictions - - Parameters - ---------- - other: std::vector< NNPDF::ThPredictions > const & - - __init__(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::size_type size, ThPredictions value) -> vector_thpredictions - - Parameters - ---------- - size: std::vector< NNPDF::ThPredictions >::size_type - value: std::vector< NNPDF::ThPredictions >::value_type const & - - """ - _nnpdf.vector_thpredictions_swiginit(self, _nnpdf.new_vector_thpredictions(*args)) - - def push_back(self, x): - r""" - push_back(vector_thpredictions self, ThPredictions x) - - Parameters - ---------- - x: std::vector< NNPDF::ThPredictions >::value_type const & - - """ - return _nnpdf.vector_thpredictions_push_back(self, x) - - def front(self): - r"""front(vector_thpredictions self) -> ThPredictions""" - return _nnpdf.vector_thpredictions_front(self) - - def back(self): - r"""back(vector_thpredictions self) -> ThPredictions""" - return _nnpdf.vector_thpredictions_back(self) - - def assign(self, n, x): - r""" - assign(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::size_type n, ThPredictions x) - - Parameters - ---------- - n: std::vector< NNPDF::ThPredictions >::size_type - x: std::vector< NNPDF::ThPredictions >::value_type const & - - """ - return _nnpdf.vector_thpredictions_assign(self, n, x) - - def insert(self, *args): - r""" - insert(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator pos, ThPredictions x) -> std::vector< NNPDF::ThPredictions >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::ThPredictions >::iterator - x: std::vector< NNPDF::ThPredictions >::value_type const & - - insert(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::iterator pos, std::vector< NNPDF::ThPredictions >::size_type n, ThPredictions x) - - Parameters - ---------- - pos: std::vector< NNPDF::ThPredictions >::iterator - n: std::vector< NNPDF::ThPredictions >::size_type - x: std::vector< NNPDF::ThPredictions >::value_type const & - - """ - return _nnpdf.vector_thpredictions_insert(self, *args) - - def reserve(self, n): - r""" - reserve(vector_thpredictions self, std::vector< NNPDF::ThPredictions >::size_type n) - - Parameters - ---------- - n: std::vector< NNPDF::ThPredictions >::size_type - - """ - return _nnpdf.vector_thpredictions_reserve(self, n) - - def capacity(self): - r"""capacity(vector_thpredictions self) -> std::vector< NNPDF::ThPredictions >::size_type""" - return _nnpdf.vector_thpredictions_capacity(self) - __swig_destroy__ = _nnpdf.delete_vector_thpredictions - -# Register vector_thpredictions in _nnpdf: -_nnpdf.vector_thpredictions_swigregister(vector_thpredictions) - -class vector_experiment_pointer(object): - r"""Proxy of C++ std::vector< NNPDF::Experiment * > class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def iterator(self): - r"""iterator(vector_experiment_pointer self) -> SwigPyIterator""" - return _nnpdf.vector_experiment_pointer_iterator(self) - def __iter__(self): - return self.iterator() - - def __nonzero__(self): - r"""__nonzero__(vector_experiment_pointer self) -> bool""" - return _nnpdf.vector_experiment_pointer___nonzero__(self) - - def __bool__(self): - r"""__bool__(vector_experiment_pointer self) -> bool""" - return _nnpdf.vector_experiment_pointer___bool__(self) - - def __len__(self): - r"""__len__(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::size_type""" - return _nnpdf.vector_experiment_pointer___len__(self) - - def __getslice__(self, i, j): - r""" - __getslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j) -> vector_experiment_pointer - - Parameters - ---------- - i: std::vector< NNPDF::Experiment * >::difference_type - j: std::vector< NNPDF::Experiment * >::difference_type - - """ - return _nnpdf.vector_experiment_pointer___getslice__(self, i, j) - - def __setslice__(self, *args): - r""" - __setslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::Experiment * >::difference_type - j: std::vector< NNPDF::Experiment * >::difference_type - - __setslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j, vector_experiment_pointer v) - - Parameters - ---------- - i: std::vector< NNPDF::Experiment * >::difference_type - j: std::vector< NNPDF::Experiment * >::difference_type - v: std::vector< NNPDF::Experiment *,std::allocator< NNPDF::Experiment * > > const & - - """ - return _nnpdf.vector_experiment_pointer___setslice__(self, *args) - - def __delslice__(self, i, j): - r""" - __delslice__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, std::vector< NNPDF::Experiment * >::difference_type j) - - Parameters - ---------- - i: std::vector< NNPDF::Experiment * >::difference_type - j: std::vector< NNPDF::Experiment * >::difference_type - - """ - return _nnpdf.vector_experiment_pointer___delslice__(self, i, j) - - def __delitem__(self, *args): - r""" - __delitem__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i) - - Parameters - ---------- - i: std::vector< NNPDF::Experiment * >::difference_type - - __delitem__(vector_experiment_pointer self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - """ - return _nnpdf.vector_experiment_pointer___delitem__(self, *args) - - def __getitem__(self, *args): - r""" - __getitem__(vector_experiment_pointer self, PySliceObject * slice) -> vector_experiment_pointer - - Parameters - ---------- - slice: PySliceObject * - - __getitem__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i) -> Experiment - - Parameters - ---------- - i: std::vector< NNPDF::Experiment * >::difference_type - - """ - return _nnpdf.vector_experiment_pointer___getitem__(self, *args) - - def __setitem__(self, *args): - r""" - __setitem__(vector_experiment_pointer self, PySliceObject * slice, vector_experiment_pointer v) - - Parameters - ---------- - slice: PySliceObject * - v: std::vector< NNPDF::Experiment *,std::allocator< NNPDF::Experiment * > > const & - - __setitem__(vector_experiment_pointer self, PySliceObject * slice) - - Parameters - ---------- - slice: PySliceObject * - - __setitem__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::difference_type i, Experiment x) - - Parameters - ---------- - i: std::vector< NNPDF::Experiment * >::difference_type - x: std::vector< NNPDF::Experiment * >::value_type - - """ - return _nnpdf.vector_experiment_pointer___setitem__(self, *args) - - def pop(self): - r"""pop(vector_experiment_pointer self) -> Experiment""" - return _nnpdf.vector_experiment_pointer_pop(self) - - def append(self, x): - r""" - append(vector_experiment_pointer self, Experiment x) - - Parameters - ---------- - x: std::vector< NNPDF::Experiment * >::value_type - - """ - return _nnpdf.vector_experiment_pointer_append(self, x) - - def empty(self): - r"""empty(vector_experiment_pointer self) -> bool""" - return _nnpdf.vector_experiment_pointer_empty(self) - - def size(self): - r"""size(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::size_type""" - return _nnpdf.vector_experiment_pointer_size(self) - - def swap(self, v): - r""" - swap(vector_experiment_pointer self, vector_experiment_pointer v) - - Parameters - ---------- - v: std::vector< NNPDF::Experiment * > & - - """ - return _nnpdf.vector_experiment_pointer_swap(self, v) - - def begin(self): - r"""begin(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::iterator""" - return _nnpdf.vector_experiment_pointer_begin(self) - - def end(self): - r"""end(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::iterator""" - return _nnpdf.vector_experiment_pointer_end(self) - - def rbegin(self): - r"""rbegin(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::reverse_iterator""" - return _nnpdf.vector_experiment_pointer_rbegin(self) - - def rend(self): - r"""rend(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::reverse_iterator""" - return _nnpdf.vector_experiment_pointer_rend(self) - - def clear(self): - r"""clear(vector_experiment_pointer self)""" - return _nnpdf.vector_experiment_pointer_clear(self) - - def get_allocator(self): - r"""get_allocator(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::allocator_type""" - return _nnpdf.vector_experiment_pointer_get_allocator(self) - - def pop_back(self): - r"""pop_back(vector_experiment_pointer self)""" - return _nnpdf.vector_experiment_pointer_pop_back(self) - - def erase(self, *args): - r""" - erase(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator pos) -> std::vector< NNPDF::Experiment * >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::Experiment * >::iterator - - erase(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator first, std::vector< NNPDF::Experiment * >::iterator last) -> std::vector< NNPDF::Experiment * >::iterator - - Parameters - ---------- - first: std::vector< NNPDF::Experiment * >::iterator - last: std::vector< NNPDF::Experiment * >::iterator - - """ - return _nnpdf.vector_experiment_pointer_erase(self, *args) - - def __init__(self, *args): - r""" - __init__(vector_experiment_pointer self) -> vector_experiment_pointer - __init__(vector_experiment_pointer self, vector_experiment_pointer other) -> vector_experiment_pointer - - Parameters - ---------- - other: std::vector< NNPDF::Experiment * > const & - - __init__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type size) -> vector_experiment_pointer - - Parameters - ---------- - size: std::vector< NNPDF::Experiment * >::size_type - - __init__(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type size, Experiment value) -> vector_experiment_pointer - - Parameters - ---------- - size: std::vector< NNPDF::Experiment * >::size_type - value: std::vector< NNPDF::Experiment * >::value_type - - """ - _nnpdf.vector_experiment_pointer_swiginit(self, _nnpdf.new_vector_experiment_pointer(*args)) - - def push_back(self, x): - r""" - push_back(vector_experiment_pointer self, Experiment x) - - Parameters - ---------- - x: std::vector< NNPDF::Experiment * >::value_type - - """ - return _nnpdf.vector_experiment_pointer_push_back(self, x) - - def front(self): - r"""front(vector_experiment_pointer self) -> Experiment""" - return _nnpdf.vector_experiment_pointer_front(self) - - def back(self): - r"""back(vector_experiment_pointer self) -> Experiment""" - return _nnpdf.vector_experiment_pointer_back(self) - - def assign(self, n, x): - r""" - assign(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type n, Experiment x) - - Parameters - ---------- - n: std::vector< NNPDF::Experiment * >::size_type - x: std::vector< NNPDF::Experiment * >::value_type - - """ - return _nnpdf.vector_experiment_pointer_assign(self, n, x) - - def resize(self, *args): - r""" - resize(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type new_size) - - Parameters - ---------- - new_size: std::vector< NNPDF::Experiment * >::size_type - - resize(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type new_size, Experiment x) - - Parameters - ---------- - new_size: std::vector< NNPDF::Experiment * >::size_type - x: std::vector< NNPDF::Experiment * >::value_type - - """ - return _nnpdf.vector_experiment_pointer_resize(self, *args) - - def insert(self, *args): - r""" - insert(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator pos, Experiment x) -> std::vector< NNPDF::Experiment * >::iterator - - Parameters - ---------- - pos: std::vector< NNPDF::Experiment * >::iterator - x: std::vector< NNPDF::Experiment * >::value_type - - insert(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::iterator pos, std::vector< NNPDF::Experiment * >::size_type n, Experiment x) - - Parameters - ---------- - pos: std::vector< NNPDF::Experiment * >::iterator - n: std::vector< NNPDF::Experiment * >::size_type - x: std::vector< NNPDF::Experiment * >::value_type - - """ - return _nnpdf.vector_experiment_pointer_insert(self, *args) - - def reserve(self, n): - r""" - reserve(vector_experiment_pointer self, std::vector< NNPDF::Experiment * >::size_type n) - - Parameters - ---------- - n: std::vector< NNPDF::Experiment * >::size_type - - """ - return _nnpdf.vector_experiment_pointer_reserve(self, n) - - def capacity(self): - r"""capacity(vector_experiment_pointer self) -> std::vector< NNPDF::Experiment * >::size_type""" - return _nnpdf.vector_experiment_pointer_capacity(self) - __swig_destroy__ = _nnpdf.delete_vector_experiment_pointer - -# Register vector_experiment_pointer in _nnpdf: -_nnpdf.vector_experiment_pointer_swigregister(vector_experiment_pointer) - -class Experiment(object): - r"""Proxy of C++ NNPDF::Experiment class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(Experiment self, vector_dataset sets, std::string const & expname) -> Experiment - - Parameters - ---------- - sets: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & - expname: std::string const & - - __init__(Experiment self, Experiment arg2, vector_dataset sets) -> Experiment - - Parameters - ---------- - arg2: NNPDF::Experiment const & - sets: std::vector< NNPDF::DataSet,std::allocator< NNPDF::DataSet > > const & - - __init__(Experiment self, Experiment arg2) -> Experiment - - Parameters - ---------- - arg2: NNPDF::Experiment const & - - """ - _nnpdf.Experiment_swiginit(self, _nnpdf.new_Experiment(*args)) - __swig_destroy__ = _nnpdf.delete_Experiment - - def MakeReplica(self): - r"""MakeReplica(Experiment self)""" - return _nnpdf.Experiment_MakeReplica(self) - - def MakePerPointReplica(self, pointindex): - r""" - MakePerPointReplica(Experiment self, int pointindex) - - Parameters - ---------- - pointindex: int - - """ - return _nnpdf.Experiment_MakePerPointReplica(self, pointindex) - - def MakeClosure(self, *args): - r""" - MakeClosure(Experiment self, vector_thpredictions predictions, bool const & noise) - - Parameters - ---------- - predictions: std::vector< NNPDF::ThPredictions,std::allocator< NNPDF::ThPredictions > > const & - noise: bool const & - - MakeClosure(Experiment self, PDFSet pdf, bool const & noise) - - Parameters - ---------- - pdf: NNPDF::PDFSet * - noise: bool const & - - """ - return _nnpdf.Experiment_MakeClosure(self, *args) - - def GetNSet(self): - r"""GetNSet(Experiment self) -> int""" - return _nnpdf.Experiment_GetNSet(self) - - def GetSet(self, i): - r""" - GetSet(Experiment self, int i) -> DataSet - - Parameters - ---------- - i: int - - """ - return _nnpdf.Experiment_GetSet(self, i) - - def DataSets(self): - r"""DataSets(Experiment self) -> vector_dataset""" - return _nnpdf.Experiment_DataSets(self) - - def GetExpName(self): - r"""GetExpName(Experiment self) -> std::string const &""" - return _nnpdf.Experiment_GetExpName(self) - - def GetSetName(self, i): - r""" - GetSetName(Experiment self, int i) -> std::string const & - - Parameters - ---------- - i: int - - """ - return _nnpdf.Experiment_GetSetName(self, i) - - def GetNData(self): - r"""GetNData(Experiment self) -> int""" - return _nnpdf.Experiment_GetNData(self) - - def GetData(self): - r"""GetData(Experiment self) -> double const *""" - return _nnpdf.Experiment_GetData(self) - - def IsArtificial(self): - r"""IsArtificial(Experiment self) -> bool""" - return _nnpdf.Experiment_IsArtificial(self) - - def IsClosure(self): - r"""IsClosure(Experiment self) -> bool""" - return _nnpdf.Experiment_IsClosure(self) - - def IsT0(self): - r"""IsT0(Experiment self) -> bool""" - return _nnpdf.Experiment_IsT0(self) - - def GetCovMat(self): - r"""GetCovMat(Experiment self) -> matrix_double""" - return _nnpdf.Experiment_GetCovMat(self) - - def GetSqrtCov(self): - r"""GetSqrtCov(Experiment self) -> matrix_double""" - return _nnpdf.Experiment_GetSqrtCov(self) - - def ExportCovMat(self, arg2): - r""" - ExportCovMat(Experiment self, std::string arg2) - - Parameters - ---------- - arg2: std::string - - """ - return _nnpdf.Experiment_ExportCovMat(self, arg2) - - def ExportSqrtCov(self, arg2): - r""" - ExportSqrtCov(Experiment self, std::string arg2) - - Parameters - ---------- - arg2: std::string - - """ - return _nnpdf.Experiment_ExportSqrtCov(self, arg2) - - def SetT0(self, arg2): - r""" - SetT0(Experiment self, PDFSet arg2) - - Parameters - ---------- - arg2: NNPDF::PDFSet const & - - """ - return _nnpdf.Experiment_SetT0(self, arg2) - - def LoadRepCovMat(self, *args): - r""" - LoadRepCovMat(Experiment self, std::string filename, bool ThUnc, vector_int bmask={}) - - Parameters - ---------- - filename: std::string - ThUnc: bool - bmask: std::vector< int,std::allocator< int > > - - """ - return _nnpdf.Experiment_LoadRepCovMat(self, *args) - - def LoadFitCovMat(self, *args): - r""" - LoadFitCovMat(Experiment self, std::string filename, bool ThUnc, vector_int bmask={}) - - Parameters - ---------- - filename: std::string - ThUnc: bool - bmask: std::vector< int,std::allocator< int > > - - """ - return _nnpdf.Experiment_LoadFitCovMat(self, *args) - - def GetSqrtFitCovMat(self, *args): - r""" - GetSqrtFitCovMat(Experiment self, std::string filename, vector_int bmask={}) -> matrix_double - - Parameters - ---------- - filename: std::string - bmask: std::vector< int,std::allocator< int > > - - """ - return _nnpdf.Experiment_GetSqrtFitCovMat(self, *args) - - def get_covmat(self): - r""" - get_covmat(Experiment self) - Return a copy of the experiment covariance matrix. - """ - return _nnpdf.Experiment_get_covmat(self) - - def get_sqrtcovmat(self): - r"""get_sqrtcovmat(Experiment self)""" - return _nnpdf.Experiment_get_sqrtcovmat(self) - - def get_cv(self): - r""" - get_cv(Experiment self) - Return a copy of the central values for the experiment. - """ - return _nnpdf.Experiment_get_cv(self) - -# Register Experiment in _nnpdf: -_nnpdf.Experiment_swigregister(Experiment) - - -def pseudodata(exps, dataseed, replica_id): - r""" - pseudodata(vector_experiment_pointer exps, unsigned long dataseed, int replica_id) -> vector_experiment_pointer - - Parameters - ---------- - exps: std::vector< NNPDF::Experiment *,std::allocator< NNPDF::Experiment * > > const & - dataseed: unsigned long - replica_id: int - - """ - return _nnpdf.pseudodata(exps, dataseed, replica_id) -class ThPredictions(object): - r"""Proxy of C++ NNPDF::ThPredictions class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(ThPredictions self, PDFSet arg2, Experiment arg3) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - arg3: NNPDF::Experiment const * - - __init__(ThPredictions self, PDFSet arg2, FKTable arg3) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - arg3: NNPDF::FKTable const * - - __init__(ThPredictions self, PDFSet arg2, FKSet arg3) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - arg3: NNPDF::FKSet const * - - __init__(ThPredictions self, PDFSet arg2, PDFSet arg3, FKTable arg4) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - arg3: NNPDF::PDFSet const * - arg4: NNPDF::FKTable const * - - __init__(ThPredictions self, std::string pdfname, std::string setname, int nPDF, int nDat, NNPDF::PDFSet::erType arg6) -> ThPredictions - - Parameters - ---------- - pdfname: std::string - setname: std::string - nPDF: int - nDat: int - arg6: enum NNPDF::PDFSet::erType - - __init__(ThPredictions self, ThPredictions arg2) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - """ - _nnpdf.ThPredictions_swiginit(self, _nnpdf.new_ThPredictions(*args)) - __swig_destroy__ = _nnpdf.delete_ThPredictions - - def __iadd__(self, arg2): - r""" - __iadd__(ThPredictions self, ThPredictions arg2) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - """ - return _nnpdf.ThPredictions___iadd__(self, arg2) - - def __isub__(self, arg2): - r""" - __isub__(ThPredictions self, ThPredictions arg2) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - """ - return _nnpdf.ThPredictions___isub__(self, arg2) - - def __imul__(self, arg2): - r""" - __imul__(ThPredictions self, ThPredictions arg2) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - """ - return _nnpdf.ThPredictions___imul__(self, arg2) - - def __itruediv__(self, *args): - return _nnpdf.ThPredictions___itruediv__(self, *args) - __idiv__ = __itruediv__ - - - - def __add__(self, arg2): - r""" - __add__(ThPredictions self, ThPredictions arg2) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - """ - return _nnpdf.ThPredictions___add__(self, arg2) - - def __sub__(self, arg2): - r""" - __sub__(ThPredictions self, ThPredictions arg2) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - """ - return _nnpdf.ThPredictions___sub__(self, arg2) - - def __truediv__(self, *args): - return _nnpdf.ThPredictions___truediv__(self, *args) - __div__ = __truediv__ - - - - def __mul__(self, arg2): - r""" - __mul__(ThPredictions self, ThPredictions arg2) -> ThPredictions - - Parameters - ---------- - arg2: NNPDF::ThPredictions const & - - """ - return _nnpdf.ThPredictions___mul__(self, arg2) - - @staticmethod - def Convolute(*args): - r""" - Convolute(PDFSet arg1, FKTable arg2, NNPDF::real * arg3) - - Parameters - ---------- - arg1: NNPDF::PDFSet const * - arg2: NNPDF::FKTable const * - arg3: NNPDF::real * - - Convolute(PDFSet arg1, FKSet arg2, NNPDF::real * arg3) - - Parameters - ---------- - arg1: NNPDF::PDFSet const * - arg2: NNPDF::FKSet const * - arg3: NNPDF::real * - - Convolute(PDFSet arg1, PDFSet arg2, FKTable arg3, NNPDF::real * arg4) - - Parameters - ---------- - arg1: NNPDF::PDFSet const * - arg2: NNPDF::PDFSet const * - arg3: NNPDF::FKTable const * - arg4: NNPDF::real * - - """ - return _nnpdf.ThPredictions_Convolute(*args) - - def GetObs(self, *args): - r""" - GetObs(ThPredictions self) -> NNPDF::real - GetObs(ThPredictions self, int const & idat, int const & imem) -> NNPDF::real - - Parameters - ---------- - idat: int const & - imem: int const & - - """ - return _nnpdf.ThPredictions_GetObs(self, *args) - - def GetObsCV(self, idat): - r""" - GetObsCV(ThPredictions self, int const & idat) -> NNPDF::real - - Parameters - ---------- - idat: int const & - - """ - return _nnpdf.ThPredictions_GetObsCV(self, idat) - - def GetObsError(self, idat): - r""" - GetObsError(ThPredictions self, int const & idat) -> NNPDF::real - - Parameters - ---------- - idat: int const & - - """ - return _nnpdf.ThPredictions_GetObsError(self, idat) - - def GetTConv(self): - r"""GetTConv(ThPredictions self) -> NNPDF::real""" - return _nnpdf.ThPredictions_GetTConv(self) - - def GetNPdf(self): - r"""GetNPdf(ThPredictions self) -> int""" - return _nnpdf.ThPredictions_GetNPdf(self) - - def GetNData(self): - r"""GetNData(ThPredictions self) -> int""" - return _nnpdf.ThPredictions_GetNData(self) - - def GetSetName(self): - r"""GetSetName(ThPredictions self) -> std::string""" - return _nnpdf.ThPredictions_GetSetName(self) - - def GetPDFName(self): - r"""GetPDFName(ThPredictions self) -> std::string""" - return _nnpdf.ThPredictions_GetPDFName(self) - - def SetPDFName(self, newname): - r""" - SetPDFName(ThPredictions self, std::string const & newname) - - Parameters - ---------- - newname: std::string const & - - """ - return _nnpdf.ThPredictions_SetPDFName(self, newname) - - def SetDataName(self, newname): - r""" - SetDataName(ThPredictions self, std::string const & newname) - - Parameters - ---------- - newname: std::string const & - - """ - return _nnpdf.ThPredictions_SetDataName(self, newname) - - def Print(self, arg2, latex=False): - r""" - Print(ThPredictions self, std::ostream & arg2, bool latex=False) - - Parameters - ---------- - arg2: std::ostream & - latex: bool - - """ - return _nnpdf.ThPredictions_Print(self, arg2, latex) - Verbose = property(_nnpdf.ThPredictions_Verbose_get, _nnpdf.ThPredictions_Verbose_set, doc=r"""Verbose : bool""") - - def get_data(self): - r"""get_data(ThPredictions self)""" - return _nnpdf.ThPredictions_get_data(self) - - def get_cv(self): - r"""get_cv(ThPredictions self)""" - return _nnpdf.ThPredictions_get_cv(self) - - def get_error(self): - r"""get_error(ThPredictions self)""" - return _nnpdf.ThPredictions_get_error(self) - - - def __len__(self): - return self.GetNData() - - - def __iter__(self): - for i in range(len(self)): - yield self.GetObsCV(i), self.GetObsError(i) - - - -# Register ThPredictions in _nnpdf: -_nnpdf.ThPredictions_swigregister(ThPredictions) - -def ThPredictions_Convolute(*args): - r""" - ThPredictions_Convolute(PDFSet arg1, FKTable arg2, NNPDF::real * arg3) - - Parameters - ---------- - arg1: NNPDF::PDFSet const * - arg2: NNPDF::FKTable const * - arg3: NNPDF::real * - - ThPredictions_Convolute(PDFSet arg1, FKSet arg2, NNPDF::real * arg3) - - Parameters - ---------- - arg1: NNPDF::PDFSet const * - arg2: NNPDF::FKSet const * - arg3: NNPDF::real * - - ThPredictions_Convolute(PDFSet arg1, PDFSet arg2, FKTable arg3, NNPDF::real * arg4) - - Parameters - ---------- - arg1: NNPDF::PDFSet const * - arg2: NNPDF::PDFSet const * - arg3: NNPDF::FKTable const * - arg4: NNPDF::real * - - """ - return _nnpdf.ThPredictions_Convolute(*args) - -class PositivitySet(CommonData, FKTable): - r"""Proxy of C++ NNPDF::PositivitySet class.""" - - thisown = property(lambda x: x.this.own(), lambda x, v: x.this.own(v), doc="The membership flag") - __repr__ = _swig_repr - - def __init__(self, *args): - r""" - __init__(PositivitySet self, CommonData arg2, FKTable arg3, NNPDF::real const & _lambda) -> PositivitySet - - Parameters - ---------- - arg2: NNPDF::CommonData const & - arg3: NNPDF::FKTable const & - lambda: NNPDF::real const & - - __init__(PositivitySet self, PositivitySet arg2) -> PositivitySet - - Parameters - ---------- - arg2: NNPDF::PositivitySet const & - - """ - _nnpdf.PositivitySet_swiginit(self, _nnpdf.new_PositivitySet(*args)) - __swig_destroy__ = _nnpdf.delete_PositivitySet - - def ComputeErf(self, arg2, arg3): - r""" - ComputeErf(PositivitySet self, PDFSet arg2, NNPDF::real * arg3) - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - arg3: NNPDF::real * - - """ - return _nnpdf.PositivitySet_ComputeErf(self, arg2, arg3) - - def ComputeNViolated(self, arg2): - r""" - ComputeNViolated(PositivitySet self, PDFSet arg2) - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - - """ - return _nnpdf.PositivitySet_ComputeNViolated(self, arg2) - - def ComputeNUnacceptable(self, arg2): - r""" - ComputeNUnacceptable(PositivitySet self, PDFSet arg2) - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - - """ - return _nnpdf.PositivitySet_ComputeNUnacceptable(self, arg2) - - def SetBounds(self, arg2): - r""" - SetBounds(PositivitySet self, PDFSet arg2) - - Parameters - ---------- - arg2: NNPDF::PDFSet const * - - """ - return _nnpdf.PositivitySet_SetBounds(self, arg2) - - def GetPredictions(self, arg2): - r""" - GetPredictions(PositivitySet self, PDFSet arg2) - - Parameters - ---------- - arg2: NNPDF::PDFSet const & - - """ - return _nnpdf.PositivitySet_GetPredictions(self, arg2) - -# Register PositivitySet in _nnpdf: -_nnpdf.PositivitySet_swigregister(PositivitySet) - - -def ComputeCovMat_basic(nDat, nSys, sqrt_weights, central_values, stat_error, systematic_errors, mult_errors, use_theory_errors, th_cov_matrix, filename, bmask): - r""" - ComputeCovMat_basic(int const nDat, int const nSys, vector_double sqrt_weights, vector_double central_values, vector_double stat_error, NNPDF::sysError **const systematic_errors, bool const mult_errors, bool const use_theory_errors, bool const th_cov_matrix, std::string filename, vector_int bmask) -> matrix_double - - Parameters - ---------- - nDat: int const - nSys: int const - sqrt_weights: std::vector< double,std::allocator< double > > const & - central_values: std::vector< double,std::allocator< double > > const & - stat_error: std::vector< double,std::allocator< double > > const & - systematic_errors: NNPDF::sysError **const - mult_errors: bool const - use_theory_errors: bool const - th_cov_matrix: bool const - filename: std::string - bmask: std::vector< int,std::allocator< int > > - - """ - return _nnpdf.ComputeCovMat_basic(nDat, nSys, sqrt_weights, central_values, stat_error, systematic_errors, mult_errors, use_theory_errors, th_cov_matrix, filename, bmask) - -def ComputeCovMat(*args): - r""" - ComputeCovMat(CommonData cd, vector_double t0, bool const th_cov_matrix=False, std::string filename="", vector_int bmask={}, double weight=1.) -> matrix_double - - Parameters - ---------- - cd: NNPDF::CommonData const & - t0: std::vector< double,std::allocator< double > > const & - th_cov_matrix: bool const - filename: std::string - bmask: std::vector< int,std::allocator< int > > - weight: double - - """ - return _nnpdf.ComputeCovMat(*args) - -def ComputeSqrtMat(inmatrix): - r""" - ComputeSqrtMat(matrix_double inmatrix) -> matrix_double - - Parameters - ---------- - inmatrix: NNPDF::matrix< double > const & - - """ - return _nnpdf.ComputeSqrtMat(inmatrix) - -def read_theory_covmat(ndata, filename, bmask): - r""" - read_theory_covmat(int ndata, std::string const filename, vector_int bmask) -> matrix_double - - Parameters - ---------- - ndata: int - filename: std::string const - bmask: std::vector< int,std::allocator< int > > - - """ - return _nnpdf.read_theory_covmat(ndata, filename, bmask) - -def ComputeChi2_basic(nDat, nMem, data, L, theory, chi2): - r""" - ComputeChi2_basic(int const nDat, int const nMem, double const * data, matrix_double L, NNPDF::real *const & theory, NNPDF::real * chi2) - - Parameters - ---------- - nDat: int const - nMem: int const - data: double const * - L: NNPDF::matrix< double > const & - theory: NNPDF::real *const & - chi2: NNPDF::real * - - """ - return _nnpdf.ComputeChi2_basic(nDat, nMem, data, L, theory, chi2) - - diff --git a/conda-bld/nnpdfcpp/README.md b/conda-bld/nnpdfcpp/README.md deleted file mode 100644 index 232fdbce10..0000000000 --- a/conda-bld/nnpdfcpp/README.md +++ /dev/null @@ -1 +0,0 @@ -Store here your fit output. \ No newline at end of file diff --git a/conda-bld/nnpdfcpp/src/common/inc/version.h b/conda-bld/nnpdfcpp/src/common/inc/version.h deleted file mode 100644 index 8e46dc3712..0000000000 --- a/conda-bld/nnpdfcpp/src/common/inc/version.h +++ /dev/null @@ -1 +0,0 @@ -#define SVN_REV 4.0 From ec61e48411e2f9814d483d16f859e035f2248dce Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Thu, 15 Sep 2022 16:51:13 +0200 Subject: [PATCH 113/212] Update n3fit/src/evolven3fit/eko_utils.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/evolven3fit/eko_utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index df87ec2f18..58953b2de4 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -1,8 +1,9 @@ -from validphys.loader import Loader -from . import utils from ekobox import gen_theory, gen_op from eko import run_dglap +from validphys.loader import Loader +from . import utils + def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid): """Return the theory and operator cards used to construct the eko""" From 488dc179b36013f24fe72462c9f48847e0d6a673 Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Thu, 15 Sep 2022 16:58:17 +0200 Subject: [PATCH 114/212] Update n3fit/src/evolven3fit/evolve.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/evolven3fit/evolve.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index b3a1808d19..4be8664366 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -1,9 +1,10 @@ import pathlib import logging -import numpy as np -import yaml import sys +import numpy as np +from reportengine.compat import yaml + from ekobox import genpdf, gen_info from ekomark import apply from eko import basis_rotation as br From 03520c9cd7d0a1b89f8f7e4ef80e3e374244233b Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Thu, 15 Sep 2022 16:58:44 +0200 Subject: [PATCH 115/212] Update n3fit/src/evolven3fit/evolve.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/evolven3fit/evolve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 4be8664366..f1e926c9ee 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -49,7 +49,7 @@ def evolve_fit( """ log_file = pathlib.Path(conf_folder) / "evolven3fit.log" if log_file.exists(): - raise SystemError("Log file already exists: evolven3fit has already been run?") + raise FileExistsError(f"Log file already exists: {log_file} evolven3fit has already been run?") log_file = logging.FileHandler(log_file) stdout_log = logging.StreamHandler(sys.stdout) log_file.setLevel(logging.INFO) From 3355eaafebbe942acbc0832370b0b7d91b75f02a Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 15 Sep 2022 17:12:57 +0200 Subject: [PATCH 116/212] Add force option --- n3fit/src/evolven3fit/evolve.py | 8 +++++++- n3fit/src/n3fit/scripts/evolven3fit.py | 11 +++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index f1e926c9ee..92bbe675f3 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -21,6 +21,7 @@ def evolve_fit( q_points, op_card_dict, t_card_dict, + force, eko_path=None, dump_eko=None, ): @@ -40,6 +41,8 @@ def evolve_fit( user settings for the op_card t_card_dict: dict user settings for the t_card + force: bool + whether to force the evolution to be done again eko_path: str or pathlib.Path path where the eko is stored (if None the eko will be recomputed) @@ -49,7 +52,10 @@ def evolve_fit( """ log_file = pathlib.Path(conf_folder) / "evolven3fit.log" if log_file.exists(): - raise FileExistsError(f"Log file already exists: {log_file} evolven3fit has already been run?") + if force: + log_file.unlink() + else: + raise FileExistsError(f"Log file already exists: {log_file} evolven3fit has already been run?") log_file = logging.FileHandler(log_file) stdout_log = logging.StreamHandler(sys.stdout) log_file.setLevel(logging.INFO) diff --git a/n3fit/src/n3fit/scripts/evolven3fit.py b/n3fit/src/n3fit/scripts/evolven3fit.py index 4bb09d9680..de6c418c83 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit.py +++ b/n3fit/src/n3fit/scripts/evolven3fit.py @@ -64,6 +64,12 @@ def main(): default=None, help="Path where the EKO is dumped (optional)", ) + evolvefit_parser.add_argument( + "-f", + "--force", + action="store_true", + help="Force the evolution to be done even if it has already been done", + ) eko_parser.add_argument( "theoryID", type=int, help="ID of the theory used to produce the eko" ) @@ -103,6 +109,7 @@ def main(): t_card_info, args.dump, args.load, + args.force, ) elif args.actions == "produce_eko": stdout_log = logging.StreamHandler(sys.stdout) @@ -333,7 +340,7 @@ def main(): def cli_evolven3fit( - configuration_folder, q_fin, q_points, op_card_info, t_card_info, dump, load + configuration_folder, q_fin, q_points, op_card_info, t_card_info, dump, load, force ): """Evolves the fitted PDFs. @@ -354,7 +361,7 @@ def cli_evolven3fit( """ utils.check_is_a_fit(configuration_folder) return evolve.evolve_fit( - configuration_folder, q_fin, q_points, op_card_info, t_card_info, load, dump + configuration_folder, q_fin, q_points, op_card_info, t_card_info, force, load, dump, ) From b265f1cf56c07e569dbf967534635bd4ae10c6b8 Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Thu, 15 Sep 2022 17:14:14 +0200 Subject: [PATCH 117/212] Update n3fit/src/evolven3fit/evolve.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/evolven3fit/evolve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 92bbe675f3..00163a6771 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -184,7 +184,7 @@ def dump_evolved_replica(evolved_block, usr_path, replica_num): path_where_dump = usr_path / "nnfit" / usr_path.stem # create folder to dump the evolved replica if it does not exist path_where_dump.mkdir(exist_ok=True) - to_write_in_head = "PdfType: replica\nFromMCReplica: " + str(replica_num) + "\n" + to_write_in_head = f"PdfType: replica\nFromMCReplica: {replica_num}\n" genpdf.export.dump_blocks( path_where_dump, replica_num, [evolved_block], pdf_type=to_write_in_head ) From f2a73134f4a2254ce621d144aee77296667866fb Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 15 Sep 2022 17:16:15 +0200 Subject: [PATCH 118/212] Remove replica list --- n3fit/src/evolven3fit/evolve.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 00163a6771..64ab489f1f 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -122,13 +122,10 @@ def load_fit(usr_path): exportgrids info """ nnfitpath = usr_path / "nnfit" - replica_list = [] - for yaml_file in nnfitpath.glob("replica_*/*.exportgrid"): - replica_list.append(yaml_file) pdf_dict = {} - for replica in replica_list: - data = yaml.safe_load(replica.read_text()) - pdf_dict[replica.parent.stem] = data + for yaml_file in nnfitpath.glob("replica_*/*.exportgrid"): + data = yaml.safe_load(yaml_file.read_text()) + pdf_dict[yaml_file.parent.stem] = data return pdf_dict From 5158a525d8736ec8c05208b72dfaf71d3ace7244 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 15 Sep 2022 17:19:07 +0200 Subject: [PATCH 119/212] Removed info file check --- n3fit/src/evolven3fit/evolve.py | 1 - 1 file changed, 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 64ab489f1f..e8d4dfa6d1 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -200,7 +200,6 @@ def dump_info_file(usr_path, info): info: dict info of the fit """ - # dump info file if not already there path_where_dump = usr_path / "nnfit" / usr_path.stem info_path = path_where_dump / (usr_path.stem + ".info") if not info_path.is_file(): From 53c37135de300d7a597591564a4768662fa4de23 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 15 Sep 2022 17:19:16 +0200 Subject: [PATCH 120/212] Removed info file check --- n3fit/src/evolven3fit/evolve.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index e8d4dfa6d1..1e0007db83 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -201,7 +201,5 @@ def dump_info_file(usr_path, info): info of the fit """ path_where_dump = usr_path / "nnfit" / usr_path.stem - info_path = path_where_dump / (usr_path.stem + ".info") - if not info_path.is_file(): - genpdf.export.dump_info(path_where_dump, info) + genpdf.export.dump_info(path_where_dump, info) utils.fix_info_path(usr_path) From 32e21d4bfddfd653043c9510f4c2833e2726c94f Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 15 Sep 2022 17:36:29 +0200 Subject: [PATCH 121/212] Run black --- n3fit/src/evolven3fit/eko_utils.py | 7 +++++-- n3fit/src/evolven3fit/evolve.py | 9 +++++++-- n3fit/src/evolven3fit/utils.py | 13 ++++++++++--- n3fit/src/n3fit/scripts/evolven3fit.py | 15 +++++++++++---- 4 files changed, 33 insertions(+), 11 deletions(-) diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit/eko_utils.py index 58953b2de4..b8eb481ee9 100644 --- a/n3fit/src/evolven3fit/eko_utils.py +++ b/n3fit/src/evolven3fit/eko_utils.py @@ -23,6 +23,7 @@ def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_ op_card.update(op_card_dict) return t_card, op_card + def construct_eko_for_fit(t_card, op_card, log, save_path=None): """ Construct the eko operator needed for evolution of fitted pdfs @@ -44,7 +45,9 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): # generate eko operator if save_path is not None: if not save_path.parent.exists(): - raise FileNotFoundError(f"Path where eko should be dumped does not exist: {save_path}") + raise FileNotFoundError( + f"Path where eko should be dumped does not exist: {save_path}" + ) eko_op = run_dglap(t_card, op_card) if save_path is not None: try: @@ -53,4 +56,4 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): except: log.error(f"Error saving the eko to : {save_path}") pass - return eko_op \ No newline at end of file + return eko_op diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 1e0007db83..92d1f4048c 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -15,6 +15,7 @@ log = logging.getLogger(__name__) + def evolve_fit( conf_folder, q_fin, @@ -55,7 +56,9 @@ def evolve_fit( if force: log_file.unlink() else: - raise FileExistsError(f"Log file already exists: {log_file} evolven3fit has already been run?") + raise FileExistsError( + f"Log file already exists: {log_file} evolven3fit has already been run?" + ) log_file = logging.FileHandler(log_file) stdout_log = logging.StreamHandler(sys.stdout) log_file.setLevel(logging.INFO) @@ -123,7 +126,7 @@ def load_fit(usr_path): """ nnfitpath = usr_path / "nnfit" pdf_dict = {} - for yaml_file in nnfitpath.glob("replica_*/*.exportgrid"): + for yaml_file in nnfitpath.glob("replica_*/*.exportgrid"): data = yaml.safe_load(yaml_file.read_text()) pdf_dict[yaml_file.parent.stem] = data return pdf_dict @@ -153,8 +156,10 @@ def evolve_exportgrid(exportgrid, eko, x_grid): evolved_pdf = apply.apply_pdf(eko, pdf_to_evolve) # generate block to dump targetgrid = list(eko["targetgrid"]) + def ev_pdf(pid, x, Q2): return x * evolved_pdf[Q2]["pdfs"][pid][targetgrid.index(x)] + block = genpdf.generate_block( ev_pdf, xgrid=targetgrid, diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit/utils.py index e7d19ac084..bcce3c0706 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit/utils.py @@ -125,16 +125,22 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): ** 2 ) else: - raise ValueError("q_fin and q_points must be specified either both or none of them") + raise ValueError( + "q_fin and q_points must be specified either both or none of them" + ) elif Q_points is None: - raise ValueError("q_fin and q_points must be specified either both or none of them") + raise ValueError( + "q_fin and q_points must be specified either both or none of them" + ) else: grids = [] Q_ini = Q0 num_points_list = [] for masses in match_dict.keys(): match_scale = masses * match_dict[masses] - num_points = int(Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini))) + num_points = int( + Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini)) + ) num_points_list.append(num_points) grids.append(np.geomspace(Q0**2, match_scale**2, num=num_points)) Q0 = match_scale @@ -163,6 +169,7 @@ def fix_replica_path(usr_path, replica_num): dest_path_replica = nnfit / f"replica_{replica_num}" / f"{usr_path.stem}.dat" shutil.move(replica_file_path, dest_path_replica) + def check_is_a_fit(config_folder): usr_path = pathlib.Path(config_folder) filter_path = usr_path / "filter.yml" diff --git a/n3fit/src/n3fit/scripts/evolven3fit.py b/n3fit/src/n3fit/scripts/evolven3fit.py index de6c418c83..38b47115f3 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit.py +++ b/n3fit/src/n3fit/scripts/evolven3fit.py @@ -40,7 +40,7 @@ def main(): "-p", "--q_points", type=int, - default= None, + default=None, help="Number of q points for the evolution", ) parser.add_argument( @@ -79,14 +79,14 @@ def main(): help="Path where the EKO is dumped", ) eko_parser.add_argument( - "-i", + "-i", "--x_grid_ini", default=None, type=float, help="Starting point of the x-grid", ) eko_parser.add_argument( - "-p", + "-p", "--x_grid_points", default=None, type=int, @@ -361,7 +361,14 @@ def cli_evolven3fit( """ utils.check_is_a_fit(configuration_folder) return evolve.evolve_fit( - configuration_folder, q_fin, q_points, op_card_info, t_card_info, force, load, dump, + configuration_folder, + q_fin, + q_points, + op_card_info, + t_card_info, + force, + load, + dump, ) From 5a2795605695c578de4c92f511b760f51414fa52 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 15 Sep 2022 17:52:09 +0200 Subject: [PATCH 122/212] Fix doc --- n3fit/src/evolven3fit/evolve.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 92d1f4048c..05111ae7dc 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -172,7 +172,7 @@ def ev_pdf(pid, x, Q2): def dump_evolved_replica(evolved_block, usr_path, replica_num): """ Dump the evolved replica given by evolved_block as the replica num "replica_num" in - the folder usr_path/nnfit/usr_path.stem. + the folder usr_path/nnfit/replica_/usr_path.stem.dat Parameters ---------- @@ -196,7 +196,7 @@ def dump_evolved_replica(evolved_block, usr_path, replica_num): def dump_info_file(usr_path, info): """ - Dump the info file given by info in the folder usr_path/nnfit/usr_path.stem. + Dump the info file given by info in the folder usr_path/nnfit/usr_path.stem.info. Parameters ---------- From 67b550d7e0b62d20b0f411997fefb6ed75a3ca66 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 16 Sep 2022 11:04:51 +0200 Subject: [PATCH 123/212] First implementation --- n3fit/src/evolven3fit/evolve.py | 11 ++++++++++- validphys2/src/validphys/core.py | 5 +++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 05111ae7dc..6fb5dfaf4b 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -9,6 +9,7 @@ from ekomark import apply from eko import basis_rotation as br from eko import output +from validphys.loader import Loader from . import utils, eko_utils @@ -88,7 +89,15 @@ def evolve_fit( log.info(f"Loading eko from : {eko_path}") eko_op = output.Output.load_tar(eko_path) else: - eko_op = eko_utils.construct_eko_for_fit(theory, op, log, dump_eko) + import ipdb; ipdb.set_trace() + try: + log.info(f"Loading eko from theory {theoryID}") + theory_eko_path = Loader().check_theoryID(theoryID).get_eko() + eko_op = output.Output.load_tar(theory_eko_path) + except TypeError: + log.info(f"eko not found in theory {theoryID}: maybe it is not a pineappl theory?") + eko_op = eko_utils.construct_eko_for_fit(theory, op, log, dump_eko) + pass 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" diff --git a/validphys2/src/validphys/core.py b/validphys2/src/validphys/core.py index 694135e3ae..55ac81d4cd 100644 --- a/validphys2/src/validphys/core.py +++ b/validphys2/src/validphys/core.py @@ -801,6 +801,11 @@ def get_description(self): dbpath = self.path.parent/'theory.db' return fetch_theory(dbpath, self.id) + def get_eko(self): + if self.is_pineappl(): + return self.path/'eko.tar' + raise TypeError(f"the requested eko does not exists because the theory {self.id} is not a pineappl theory") + __slots__ = ('id', 'path') def __repr__(self): From 4a4fc408d38cb866d0d43f1665f764868f4b57bf Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 16 Sep 2022 11:12:57 +0200 Subject: [PATCH 124/212] Remove pdb --- n3fit/src/evolven3fit/evolve.py | 1 - 1 file changed, 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 6fb5dfaf4b..0b607f9fc1 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -89,7 +89,6 @@ def evolve_fit( log.info(f"Loading eko from : {eko_path}") eko_op = output.Output.load_tar(eko_path) else: - import ipdb; ipdb.set_trace() try: log.info(f"Loading eko from theory {theoryID}") theory_eko_path = Loader().check_theoryID(theoryID).get_eko() From bff4be763c940f5c8debf7bb6c6bf10ed78e9a55 Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Fri, 16 Sep 2022 11:13:41 +0200 Subject: [PATCH 125/212] Update n3fit/src/evolven3fit/evolve.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/evolven3fit/evolve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index 0b607f9fc1..e897151423 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -94,7 +94,7 @@ def evolve_fit( theory_eko_path = Loader().check_theoryID(theoryID).get_eko() eko_op = output.Output.load_tar(theory_eko_path) except TypeError: - log.info(f"eko not found in theory {theoryID}: maybe it is not a pineappl theory?") + log.info(f"eko not found in theory {theoryID}, we will construct it") eko_op = eko_utils.construct_eko_for_fit(theory, op, log, dump_eko) pass eko_op.xgrid_reshape(targetgrid=x_grid, inputgrid=x_grid) From fd0e203c1e2c90ab1be5e30e4d0862dcc461a2fc Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 16 Sep 2022 11:23:28 +0200 Subject: [PATCH 126/212] Remove function get_eko in core --- n3fit/src/evolven3fit/evolve.py | 4 ++-- validphys2/src/validphys/core.py | 5 ----- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit/evolve.py index e897151423..518235df53 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit/evolve.py @@ -91,9 +91,9 @@ def evolve_fit( else: try: log.info(f"Loading eko from theory {theoryID}") - theory_eko_path = Loader().check_theoryID(theoryID).get_eko() + theory_eko_path = (Loader().check_theoryID(theoryID).path)/'eko.tar' eko_op = output.Output.load_tar(theory_eko_path) - except TypeError: + except: log.info(f"eko not found in theory {theoryID}, we will construct it") eko_op = eko_utils.construct_eko_for_fit(theory, op, log, dump_eko) pass diff --git a/validphys2/src/validphys/core.py b/validphys2/src/validphys/core.py index 55ac81d4cd..694135e3ae 100644 --- a/validphys2/src/validphys/core.py +++ b/validphys2/src/validphys/core.py @@ -801,11 +801,6 @@ def get_description(self): dbpath = self.path.parent/'theory.db' return fetch_theory(dbpath, self.id) - def get_eko(self): - if self.is_pineappl(): - return self.path/'eko.tar' - raise TypeError(f"the requested eko does not exists because the theory {self.id} is not a pineappl theory") - __slots__ = ('id', 'path') def __repr__(self): From 6f185ab27798c72972865611675300b27c319a4b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 16 Sep 2022 12:05:21 +0200 Subject: [PATCH 127/212] Add some tests --- n3fit/src/n3fit/tests/regressions/filter.yml | 88 ++++++++++++++++++++ n3fit/src/n3fit/tests/test_evolven3fit.py | 10 +++ 2 files changed, 98 insertions(+) create mode 100644 n3fit/src/n3fit/tests/regressions/filter.yml diff --git a/n3fit/src/n3fit/tests/regressions/filter.yml b/n3fit/src/n3fit/tests/regressions/filter.yml new file mode 100644 index 0000000000..94cd910691 --- /dev/null +++ b/n3fit/src/n3fit/tests/regressions/filter.yml @@ -0,0 +1,88 @@ +# +# Configuration file for n3fit regression tests +# This runcard includes two DIS datasets, one Hadronic dataset +# and two positivity datasets +# + +############################################################ +description: n3fit regression test + +############################################################ +# frac: training fraction +# ewk: apply ewk k-factors +# sys: systematics treatment (see systypes) +dataset_inputs: +- { dataset: NMC, frac: 0.5 } +- { dataset: SLACP, frac: 0.5} +- { dataset: CMSZDIFF12, frac: 0.5, cfac: ['QCD'], sys: 10 } +- { dataset: CMSTTBARTOT, frac: 1.0, cfac: ['QCD'] } + +############################################################ +datacuts: + t0pdfset: NNPDF40_nnlo_as_01180 # PDF set to generate t0 covmat + q2min : 3.49 # Q2 minimum + w2min : 12.5 # W2 minimum + combocuts : NNPDF31 # NNPDF3.0 final kin. cuts + jetptcut_tev : 0 # jet pt cut for tevatron + jetptcut_lhc : 0 # jet pt cut for lhc + wptcut_lhc : 30.0 # Minimum pT for W pT diff distributions + jetycut_tev : 1e30 # jet rap. cut for tevatron + jetycut_lhc : 1e30 # jet rap. cut for lhc + dymasscut_min: 0 # dy inv.mass. min cut + dymasscut_max: 1e30 # dy inv.mass. max cut + jetcfactcut : 1e30 # jet cfact. cut + +############################################################ +theory: + theoryid: 162 # database id + +############################################################ +genrep: True # on = generate MC replicas, False = use real data +trvlseed: 3 +nnseed: 2 +mcseed: 1 + +load: "weights.h5" + +parameters: # This defines the parameter dictionary that is passed to the Model Trainer + nodes_per_layer: [15, 10, 8] + activation_per_layer: ['sigmoid', 'sigmoid', 'linear'] + initializer: 'glorot_normal' + optimizer: + optimizer_name: 'RMSprop' + learning_rate: 0.00001 + clipnorm: 1.0 + epochs: 1000 + positivity: + multiplier: 1.05 + initial: 1.5 + stopping_patience: 0.30 # percentage of the number of epochs + layer_type: 'dense' + dropout: 0.0 + threshold_chi2: 10.0 + +fitting: + fitbasis: NN31IC # EVOL (7), EVOLQED (8), etc. + basis: + - { fl: sng, smallx: [1.05,1.19], largex: [1.47,2.70] } + - { fl: g, smallx: [0.94,1.25], largex: [0.11,5.87] } + - { fl: v, smallx: [0.54,0.75], largex: [1.15,2.76] } + - { fl: v3, smallx: [0.21,0.57], largex: [1.35,3.08] } + - { fl: v8, smallx: [0.52,0.76], largex: [0.77,3.56] } + - { fl: t3, smallx: [-0.37,1.52], largex: [1.74,3.39] } + - { fl: t8, smallx: [0.56,1.29], largex: [1.45,3.03] } + - { fl: cp, smallx: [0.12,1.19], largex: [1.83,6.70] } + +############################################################ +positivity: + posdatasets: + - { dataset: POSF2U, maxlambda: 1e6 } # Positivity Lagrange Multiplier + - { dataset: POSDYC, maxlambda: 1e5 } + +integrability: + integdatasets: + - {dataset: INTEGXT8, maxlambda: 1e2} + - {dataset: INTEGXT3, maxlambda: 1e2} + +############################################################ +debug: true diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 3aa810cd5b..a3b409c715 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -1,9 +1,11 @@ from evolven3fit import utils +import pathlib from numpy.testing import assert_allclose import numpy as np import pytest from validphys.pdfbases import PIDS_DICT +REGRESSION_FOLDER = pathlib.Path(__file__).with_name("regressions") def test_utils(): #Testing the default grid @@ -30,3 +32,11 @@ def test_utils(): for pid in PIDS_DICT.keys(): for x in x_grid: assert_allclose(my_PDF.xfxQ2(pid, x, q20), x*(1.-x) ) + #Testing read_runcard + runcard = utils.read_runcard(REGRESSION_FOLDER) + assert runcard["description"] == "n3fit regression test" + assert runcard["datacuts"]["t0pdfset"] == "NNPDF40_nnlo_as_01180" + #Testing get_theoryID_from_runcard + ID = utils.get_theoryID_from_runcard(REGRESSION_FOLDER) + assert ID == 162 + From 9d355d743c961a875d2be1d424ecc94194fa2222 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 19 Sep 2022 12:12:50 +0200 Subject: [PATCH 128/212] Add test for eko_utils --- n3fit/src/n3fit/tests/test_evolven3fit.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index a3b409c715..fadbbd7837 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -1,9 +1,10 @@ -from evolven3fit import utils +from evolven3fit import utils, eko_utils import pathlib from numpy.testing import assert_allclose import numpy as np import pytest from validphys.pdfbases import PIDS_DICT +from validphys.loader import Loader REGRESSION_FOLDER = pathlib.Path(__file__).with_name("regressions") @@ -40,3 +41,17 @@ def test_utils(): ID = utils.get_theoryID_from_runcard(REGRESSION_FOLDER) assert ID == 162 +def test_eko_utils(): + #Testing construct eko cards + theoryID = 200 + theory = Loader().check_theoryID(theoryID).get_description() + q_fin = 100 + q_points = 5 + x_grid = [1.e-7, 1.e-5, 1.e-3, 0.1, 1.0] + t_card, op_card = eko_utils.construct_eko_cards(theoryID, {}, {'Comments' : "Test"}, q_fin, q_points, x_grid) + assert t_card['Qref'] == 91.2 + assert t_card['PTO'] == theory['PTO'] + assert t_card['Q0'] == theory['Q0'] + assert t_card['Comments'] == "Test" + assert_allclose(op_card["interpolation_xgrid"], x_grid) + assert_allclose(op_card["Q2grid"], [2.7224999999999997, 24.2064, 259.30618155454425, 2777.7652105392926, 29756.25]) From aafd7790ac3d9a56bb81eacb285629eca0607c5f Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 19 Sep 2022 12:24:09 +0200 Subject: [PATCH 129/212] Add test for eko_utils --- n3fit/src/n3fit/tests/test_evolven3fit.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index fadbbd7837..45bec4c53f 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -1,5 +1,6 @@ from evolven3fit import utils, eko_utils import pathlib +import logging from numpy.testing import assert_allclose import numpy as np import pytest @@ -7,6 +8,7 @@ from validphys.loader import Loader REGRESSION_FOLDER = pathlib.Path(__file__).with_name("regressions") +log = logging.getLogger(__name__) def test_utils(): #Testing the default grid @@ -43,15 +45,20 @@ def test_utils(): def test_eko_utils(): #Testing construct eko cards - theoryID = 200 + theoryID = 208 theory = Loader().check_theoryID(theoryID).get_description() q_fin = 100 q_points = 5 x_grid = [1.e-7, 1.e-5, 1.e-3, 0.1, 1.0] - t_card, op_card = eko_utils.construct_eko_cards(theoryID, {}, {'Comments' : "Test"}, q_fin, q_points, x_grid) + t_card, op_card = eko_utils.construct_eko_cards(theoryID, {'n_integration_cores' : 6}, {'Comments' : "Test"}, q_fin, q_points, x_grid) assert t_card['Qref'] == 91.2 assert t_card['PTO'] == theory['PTO'] assert t_card['Q0'] == theory['Q0'] assert t_card['Comments'] == "Test" + assert op_card['n_integration_cores'] == 6 assert_allclose(op_card["interpolation_xgrid"], x_grid) assert_allclose(op_card["Q2grid"], [2.7224999999999997, 24.2064, 259.30618155454425, 2777.7652105392926, 29756.25]) + #Testing construct_eko_for_fit + eko_op = eko_utils.construct_eko_for_fit(t_card ,op_card,log) + assert_allclose(eko_op['interpolation_xgrid'], x_grid) + assert_allclose(list(eko_op['Q2grid'].keys()), op_card["Q2grid"]) From 5686f127a3616f68dd1cfefab7fd23f5c1c12af7 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 19 Sep 2022 12:59:48 +0200 Subject: [PATCH 130/212] Fix tests --- n3fit/src/n3fit/tests/test_evolven3fit.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 45bec4c53f..a7fc0ddc54 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -46,14 +46,12 @@ def test_utils(): def test_eko_utils(): #Testing construct eko cards theoryID = 208 - theory = Loader().check_theoryID(theoryID).get_description() q_fin = 100 q_points = 5 x_grid = [1.e-7, 1.e-5, 1.e-3, 0.1, 1.0] t_card, op_card = eko_utils.construct_eko_cards(theoryID, {'n_integration_cores' : 6}, {'Comments' : "Test"}, q_fin, q_points, x_grid) assert t_card['Qref'] == 91.2 - assert t_card['PTO'] == theory['PTO'] - assert t_card['Q0'] == theory['Q0'] + assert t_card['PTO'] == 1 assert t_card['Comments'] == "Test" assert op_card['n_integration_cores'] == 6 assert_allclose(op_card["interpolation_xgrid"], x_grid) From dc39e4c8556c481ef159f1c7a87bc9fbae19b466 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 24 Oct 2022 10:20:13 +0200 Subject: [PATCH 131/212] Change names --- .github/workflows/fitbot.yml | 2 +- CMakeLists.txt | 4 ++-- n3fit/{evolven3fit_cpp => evolven3fit}/CMakeLists.txt | 8 ++++---- .../evolven3fit_cpp.cc => evolven3fit/evolven3fit.cc} | 4 ++-- n3fit/{evolven3fit_cpp => evolven3fit}/varflavors.py | 4 ++-- n3fit/{evolven3fit_cpp => evolven3fit}/version.h | 0 n3fit/setup.py | 2 +- n3fit/src/evolven3fit/__init__.py | 4 ---- n3fit/src/evolven3fit_new/__init__.py | 4 ++++ .../src/{evolven3fit => evolven3fit_new}/eko_utils.py | 0 n3fit/src/{evolven3fit => evolven3fit_new}/evolve.py | 4 ++-- n3fit/src/{evolven3fit => evolven3fit_new}/utils.py | 2 +- .../scripts/{evolven3fit.py => evolven3fit_new.py} | 10 +++++----- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 14 files changed, 25 insertions(+), 25 deletions(-) rename n3fit/{evolven3fit_cpp => evolven3fit}/CMakeLists.txt (77%) rename n3fit/{evolven3fit_cpp/evolven3fit_cpp.cc => evolven3fit/evolven3fit.cc} (95%) rename n3fit/{evolven3fit_cpp => evolven3fit}/varflavors.py (88%) rename n3fit/{evolven3fit_cpp => evolven3fit}/version.h (100%) delete mode 100644 n3fit/src/evolven3fit/__init__.py create mode 100644 n3fit/src/evolven3fit_new/__init__.py rename n3fit/src/{evolven3fit => evolven3fit_new}/eko_utils.py (100%) rename n3fit/src/{evolven3fit => evolven3fit_new}/evolve.py (98%) rename n3fit/src/{evolven3fit => evolven3fit_new}/utils.py (99%) rename n3fit/src/n3fit/scripts/{evolven3fit.py => evolven3fit_new.py} (98%) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 5eb3e83d3c..af51e5ad9c 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -84,7 +84,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit evolve $RUNCARD + evolven3fit_new evolve $RUNCARD # running postfit - name: Postfit and upload fit shell: bash -l {0} diff --git a/CMakeLists.txt b/CMakeLists.txt index 6e3b9f9697..f04bd55248 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -145,8 +145,8 @@ add_subdirectory(libnnpdf) # nnpdfcpp configuration add_subdirectory(nnpdfcpp) -# evolven3fit_cpp -add_subdirectory(n3fit/evolven3fit_cpp) +# evolven3fit +add_subdirectory(n3fit/evolven3fit) if((BURN_TAG) AND (NOT (VP_DEV) OR NOT (N3_DEV))) # Find out where is the root of the git repository (if available) and finds the correct tag to burn down diff --git a/n3fit/evolven3fit_cpp/CMakeLists.txt b/n3fit/evolven3fit/CMakeLists.txt similarity index 77% rename from n3fit/evolven3fit_cpp/CMakeLists.txt rename to n3fit/evolven3fit/CMakeLists.txt index 629c5a4d33..417de24e7c 100644 --- a/n3fit/evolven3fit_cpp/CMakeLists.txt +++ b/n3fit/evolven3fit/CMakeLists.txt @@ -1,7 +1,7 @@ # Include files (should this information not be known at this point?) include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/inc) include_directories(${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/inc) -include_directories(${PROJECT_SOURCE_DIR}/n3fit/evolven3fit_cpp) +include_directories(${PROJECT_SOURCE_DIR}/n3fit/evolven3fit) include_directories(${PROJECT_SOURCE_DIR}/libnnpdf/src/) set(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/binaries) @@ -11,7 +11,7 @@ configure_file( ) # Add files to the make -add_executable(evolven3fit_cpp ${PROJECT_SOURCE_DIR}/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc +add_executable(evolven3fit ${PROJECT_SOURCE_DIR}/n3fit/evolven3fit/evolven3fit.cc ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/md5.cc ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/common/src/exportgrid.cc ${PROJECT_SOURCE_DIR}/nnpdfcpp/src/nnfit/src/evolgrid.cc ) @@ -21,9 +21,9 @@ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${NNPDF_LDFLAGS} ${GSL_LDF # I am pretty sure this should not be a thing string(REPLACE ";" " " CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}") -target_link_libraries(evolven3fit_cpp nnpdf ${YAML_LDFLAGS} ${APFEL_LIBRARIES} ${GSL_LDFLAGS}) +target_link_libraries(evolven3fit nnpdf ${YAML_LDFLAGS} ${APFEL_LIBRARIES} ${GSL_LDFLAGS}) -install(TARGETS evolven3fit_cpp DESTINATION bin +install(TARGETS evolven3fit DESTINATION bin PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) diff --git a/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc b/n3fit/evolven3fit/evolven3fit.cc similarity index 95% rename from n3fit/evolven3fit_cpp/evolven3fit_cpp.cc rename to n3fit/evolven3fit/evolven3fit.cc index df34e6a423..5b29f2bd58 100644 --- a/n3fit/evolven3fit_cpp/evolven3fit_cpp.cc +++ b/n3fit/evolven3fit/evolven3fit.cc @@ -51,7 +51,7 @@ int get_theory_id_from_runcard(string const& filteryaml_path) } catch(YAML::BadFile &e) { - throw FileError("evolven3fit_cpp", "runcard not found: " + filteryaml_path); + throw FileError("evolven3fit", "runcard not found: " + filteryaml_path); } return runcard["theory"]["theoryid"].as(); } @@ -69,7 +69,7 @@ int main(int argc, char **argv) // Read configuration filename from arguments if (argc != 3 && argc != 5) { - cerr << "\nusage: evolven3fit_cpp [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; + cerr << "\nusage: evolven3fit [configuration folder] [max_replicas] [--theory_id ID]\n" << endl; exit(EXIT_FAILURE); } diff --git a/n3fit/evolven3fit_cpp/varflavors.py b/n3fit/evolven3fit/varflavors.py similarity index 88% rename from n3fit/evolven3fit_cpp/varflavors.py rename to n3fit/evolven3fit/varflavors.py index d2b4e52962..41e786907b 100644 --- a/n3fit/evolven3fit_cpp/varflavors.py +++ b/n3fit/evolven3fit/varflavors.py @@ -2,10 +2,10 @@ varflavors.py When producing a PDF with different maximal flavor number than the nf during the fit, we first run -evolven3fit_cpp by manually selecting a theory id of the theory correspodning to the desired nf +evolven3fit by manually selecting a theory id of the theory correspodning to the desired nf evolution. -After running evolven3fit_cpp, but before running posfit, this script should be run to replace the +After running evolven3fit, but before running posfit, this script should be run to replace the ``AlphaS_MZ'' and ``MZ'' values in the .info file, with the ``alphas'' and ``Qref'' valuse from the theory database. """ diff --git a/n3fit/evolven3fit_cpp/version.h b/n3fit/evolven3fit/version.h similarity index 100% rename from n3fit/evolven3fit_cpp/version.h rename to n3fit/evolven3fit/version.h diff --git a/n3fit/setup.py b/n3fit/setup.py index ed55de93d4..e81c54809b 100644 --- a/n3fit/setup.py +++ b/n3fit/setup.py @@ -13,7 +13,7 @@ entry_points = {'console_scripts': ['n3fit = n3fit.scripts.n3fit_exec:main', - 'evolven3fit = n3fit.scripts.evolven3fit:main', + 'evolven3fit_new = n3fit.scripts.evolven3fit_new:main', 'vp-setupfit = n3fit.scripts.vp_setupfit:main', 'varflavors = n3fit.scripts.varflavors:main', ] diff --git a/n3fit/src/evolven3fit/__init__.py b/n3fit/src/evolven3fit/__init__.py deleted file mode 100644 index b9a6f9b7f4..0000000000 --- a/n3fit/src/evolven3fit/__init__.py +++ /dev/null @@ -1,4 +0,0 @@ -""" -The evolven3fit module provides the necessary tools to evolve a fit -using eko and to prepare it for postfit. -""" \ No newline at end of file diff --git a/n3fit/src/evolven3fit_new/__init__.py b/n3fit/src/evolven3fit_new/__init__.py new file mode 100644 index 0000000000..e3e0a4e9cc --- /dev/null +++ b/n3fit/src/evolven3fit_new/__init__.py @@ -0,0 +1,4 @@ +""" +The evolven3fit_new module provides the necessary tools to evolve a fit +using eko and to prepare it for postfit. +""" \ No newline at end of file diff --git a/n3fit/src/evolven3fit/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py similarity index 100% rename from n3fit/src/evolven3fit/eko_utils.py rename to n3fit/src/evolven3fit_new/eko_utils.py diff --git a/n3fit/src/evolven3fit/evolve.py b/n3fit/src/evolven3fit_new/evolve.py similarity index 98% rename from n3fit/src/evolven3fit/evolve.py rename to n3fit/src/evolven3fit_new/evolve.py index 518235df53..237fdbd911 100644 --- a/n3fit/src/evolven3fit/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -52,13 +52,13 @@ def evolve_fit( path where the eko is dumped (if None the eko won't be stored) """ - log_file = pathlib.Path(conf_folder) / "evolven3fit.log" + log_file = pathlib.Path(conf_folder) / "evolven3fit_new.log" if log_file.exists(): if force: log_file.unlink() else: raise FileExistsError( - f"Log file already exists: {log_file} evolven3fit has already been run?" + f"Log file already exists: {log_file} evolven3fit_new has already been run?" ) log_file = logging.FileHandler(log_file) stdout_log = logging.StreamHandler(sys.stdout) diff --git a/n3fit/src/evolven3fit/utils.py b/n3fit/src/evolven3fit_new/utils.py similarity index 99% rename from n3fit/src/evolven3fit/utils.py rename to n3fit/src/evolven3fit_new/utils.py index bcce3c0706..e1f1197798 100644 --- a/n3fit/src/evolven3fit/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -50,7 +50,7 @@ def hasFlavor(self, pid): def read_runcard(usr_path): - """Read the runcard and return the relevant information for evolven3fit""" + """Read the runcard and return the relevant information for evolven3fit_new""" return yaml.safe_load((usr_path / "filter.yml").read_text()) diff --git a/n3fit/src/n3fit/scripts/evolven3fit.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py similarity index 98% rename from n3fit/src/n3fit/scripts/evolven3fit.py rename to n3fit/src/n3fit/scripts/evolven3fit_new.py index 38b47115f3..e034024912 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -1,5 +1,5 @@ """ -This module contains the CLI for evolven3fit +This module contains the CLI for evolven3fit_new """ import logging import pathlib @@ -7,14 +7,14 @@ from argparse import ArgumentParser import sys -from evolven3fit import eko_utils, evolve, utils +from evolven3fit_new import eko_utils, evolve, utils log = logging.getLogger(__name__) def main(): parser = ArgumentParser( - description="evolven3fit - a script with tools to evolve PDF fits" + description="evolven3fit_new - a script with tools to evolve PDF fits" ) subparsers = parser.add_subparsers(title="actions", dest="actions") evolvefit_parser = subparsers.add_parser( @@ -101,7 +101,7 @@ def main(): } t_card_info = {} if args.actions == "evolve": - cli_evolven3fit( + cli_evolven3fit_new( args.configuration_folder, args.q_fin, args.q_points, @@ -339,7 +339,7 @@ def main(): eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, log, args.dump) -def cli_evolven3fit( +def cli_evolven3fit_new( configuration_folder, q_fin, q_points, op_card_info, t_card_info, dump, load, force ): """Evolves the fitted PDFs. diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index a7fc0ddc54..a496f55e53 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -1,4 +1,4 @@ -from evolven3fit import utils, eko_utils +from evolven3fit_new import utils, eko_utils import pathlib import logging from numpy.testing import assert_allclose From b1f2dffb36acf5a81b590073204f285004e9b725 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 24 Oct 2022 11:24:16 +0200 Subject: [PATCH 132/212] Add download of theory --- n3fit/src/evolven3fit_new/eko_utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index b8eb481ee9..43ea24ea91 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -1,6 +1,7 @@ from ekobox import gen_theory, gen_op from eko import run_dglap +from validphys.api import API from validphys.loader import Loader from . import utils @@ -8,6 +9,7 @@ def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid): """Return the theory and operator cards used to construct the eko""" # theory_card construction + _ = API.theoryid(theoryid = theoryID) theory = Loader().check_theoryID(theoryID).get_description() theory.pop("FNS") theory.update(t_card_dict) From d6233b4faf9aeea94640e114b94ca44745d19328 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 24 Oct 2022 11:56:12 +0200 Subject: [PATCH 133/212] Remove loader --- n3fit/src/evolven3fit_new/eko_utils.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 43ea24ea91..513c97a967 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -9,8 +9,7 @@ def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid): """Return the theory and operator cards used to construct the eko""" # theory_card construction - _ = API.theoryid(theoryid = theoryID) - theory = Loader().check_theoryID(theoryID).get_description() + theory = API.theoryid(theoryid = theoryID).get_description() theory.pop("FNS") theory.update(t_card_dict) t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) From 6099f9fa73192425bb5ed5336760b8e71738531c Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 24 Oct 2022 15:54:23 +0200 Subject: [PATCH 134/212] Make fitbot use old evolven3fit --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index af51e5ad9c..5eb3e83d3c 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -84,7 +84,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit_new evolve $RUNCARD + evolven3fit evolve $RUNCARD # running postfit - name: Postfit and upload fit shell: bash -l {0} From 4044dd41ae12db0c658bd90754a1cb03d644a749 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 25 Oct 2022 12:31:22 +0200 Subject: [PATCH 135/212] Fix fitbot to run with old evolven3fit --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 5eb3e83d3c..121580aafe 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -84,7 +84,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit evolve $RUNCARD + evolven3fit evolve $RUNCARD $N3FIT_MAXNREP # running postfit - name: Postfit and upload fit shell: bash -l {0} From 92bd65105e276996db8637566ab27742383fc9f1 Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Tue, 25 Oct 2022 14:32:21 +0200 Subject: [PATCH 136/212] Update n3fit/src/evolven3fit_new/utils.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/evolven3fit_new/utils.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index e1f1197798..7a1a16e8f1 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -1,10 +1,9 @@ +import shutil +import pathlib from scipy.interpolate import interp1d import numpy as np -import math from reportengine.compat import yaml -import shutil from validphys.pdfbases import PIDS_DICT -import pathlib class LhapdfLike: From 146c4a3afac559157926005511a35a6fc1cccf2e Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 25 Oct 2022 14:34:27 +0200 Subject: [PATCH 137/212] Use numpy for isclose --- n3fit/src/evolven3fit_new/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 7a1a16e8f1..fd47d358bd 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -39,7 +39,7 @@ def xfxQ2(self, pid, x, q2): : float x * PDF value """ - if not math.isclose(q2, self.q20, rel_tol=1e-6): + if not np.isclose(q2, self.q20, rel_tol=1e-6): raise ValueError("The q2 requested is not the fitting scale of this pdf") return self.funcs[list(PIDS_DICT.values()).index(PIDS_DICT[pid])](x) From 06909c589f85329436631d9e47d5ced01816a35f Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Tue, 25 Oct 2022 14:35:04 +0200 Subject: [PATCH 138/212] Update n3fit/src/n3fit/scripts/evolven3fit_new.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index e034024912..6e1e1c2d52 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -3,9 +3,9 @@ """ import logging import pathlib -import numpy as np from argparse import ArgumentParser import sys +import numpy as np from evolven3fit_new import eko_utils, evolve, utils From 2929e5982180aa7f217f0cf96f82645108bc413e Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 25 Oct 2022 14:37:48 +0200 Subject: [PATCH 139/212] Fix again fitbot --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 121580aafe..66db169786 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -84,7 +84,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit evolve $RUNCARD $N3FIT_MAXNREP + evolven3fit $RUNCARD $N3FIT_MAXNREP # running postfit - name: Postfit and upload fit shell: bash -l {0} From 778ba10e338075991d2ec26b183123a08fc9523c Mon Sep 17 00:00:00 2001 From: Andrea Barontini Date: Tue, 25 Oct 2022 14:38:42 +0200 Subject: [PATCH 140/212] Update n3fit/src/n3fit/tests/test_evolven3fit.py Co-authored-by: Juan M. Cruz-Martinez --- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index a496f55e53..eb55790925 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -1,4 +1,3 @@ -from evolven3fit_new import utils, eko_utils import pathlib import logging from numpy.testing import assert_allclose @@ -6,6 +5,7 @@ import pytest from validphys.pdfbases import PIDS_DICT from validphys.loader import Loader +from evolven3fit_new import utils, eko_utils REGRESSION_FOLDER = pathlib.Path(__file__).with_name("regressions") log = logging.getLogger(__name__) From fa8e5e0756c95a4dad447b771119a20dc7213315 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 25 Oct 2022 14:43:28 +0200 Subject: [PATCH 141/212] Use API --- n3fit/src/evolven3fit_new/evolve.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 237fdbd911..68a4fa4851 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -9,7 +9,7 @@ from ekomark import apply from eko import basis_rotation as br from eko import output -from validphys.loader import Loader +from validphys.api import API from . import utils, eko_utils @@ -91,7 +91,7 @@ def evolve_fit( else: try: log.info(f"Loading eko from theory {theoryID}") - theory_eko_path = (Loader().check_theoryID(theoryID).path)/'eko.tar' + theory_eko_path = (API.theoryid(theoryid = theoryID).path)/'eko.tar' eko_op = output.Output.load_tar(theory_eko_path) except: log.info(f"eko not found in theory {theoryID}, we will construct it") From 37218f6c1b00134e16138930d8b02ef46c7b20ab Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 25 Oct 2022 14:44:19 +0200 Subject: [PATCH 142/212] Remove import of Loader --- n3fit/src/evolven3fit_new/eko_utils.py | 1 - 1 file changed, 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 513c97a967..3708b146bb 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -2,7 +2,6 @@ from eko import run_dglap from validphys.api import API -from validphys.loader import Loader from . import utils From eb7013116327987a49eb504f6389d3e75a2c3b54 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 25 Oct 2022 15:54:20 +0200 Subject: [PATCH 143/212] Fix test --- n3fit/src/evolven3fit_new/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index fd47d358bd..517f4dc6c1 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -39,7 +39,7 @@ def xfxQ2(self, pid, x, q2): : float x * PDF value """ - if not np.isclose(q2, self.q20, rel_tol=1e-6): + if not np.isclose(q2, self.q20, rtol=1e-6): raise ValueError("The q2 requested is not the fitting scale of this pdf") return self.funcs[list(PIDS_DICT.values()).index(PIDS_DICT[pid])](x) From 428175349a4bd081cdf6fe2b19cd7f3726ffd9a5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 10:03:21 +0200 Subject: [PATCH 144/212] Add comment --- n3fit/src/n3fit/tests/test_evolven3fit.py | 1 + 1 file changed, 1 insertion(+) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index eb55790925..846ae18a8b 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -15,6 +15,7 @@ def test_utils(): grid = utils.generate_q2grid(1.65, None, None, {}) assert_allclose(1.65**2, grid[0]) assert len(grid) == 50 + # We expect the bottom mass to be repeated twice because it is intended once in 4 flavors and once in 5 flavors. assert_allclose(4.92**2, grid[11]) assert_allclose(4.92**2, grid[12]) #Testing if the points of the matching are correctly repeated twice From c157d2dcdd6dcb7760606d7576889685e1d23daf Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 10:12:56 +0200 Subject: [PATCH 145/212] Split functions in test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 846ae18a8b..469ea27c18 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -10,20 +10,23 @@ REGRESSION_FOLDER = pathlib.Path(__file__).with_name("regressions") log = logging.getLogger(__name__) +def check_consecutive_members(grid, value): + """Check if the first occurrence of value in grid is followed by value again""" + return np.allclose(grid[list(grid).index(value)+1], value) + def test_utils(): #Testing the default grid grid = utils.generate_q2grid(1.65, None, None, {}) assert_allclose(1.65**2, grid[0]) assert len(grid) == 50 # We expect the bottom mass to be repeated twice because it is intended once in 4 flavors and once in 5 flavors. - assert_allclose(4.92**2, grid[11]) - assert_allclose(4.92**2, grid[12]) + assert check_consecutive_members(grid, 4.92**2) #Testing if the points of the matching are correctly repeated twice matched_grid = utils.generate_q2grid(1.65, 1.0e5, 100, {4.92:2.0, 100:1.0} ) assert len(matched_grid) == 100 assert_allclose((1.0e5)**2, matched_grid[-1]) - assert_allclose(matched_grid[list(matched_grid).index((4.92*2.0)**2)+1], (4.92*2.0)**2) - assert_allclose(matched_grid[list(matched_grid).index((100*1.0)**2)+1], (100*1.0)**2) + assert check_consecutive_members(matched_grid, (4.92*2.0)**2) + assert check_consecutive_members(matched_grid, (100.*1.0)**2) #Testing the fake LHAPDF class q20 = 1.65**2 x_grid = np.geomspace(1.0e-7, 1.0, 30) From 631077ef53f323b520f50300ed02d078e71c3620 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 10:16:39 +0200 Subject: [PATCH 146/212] Split long line in tests --- n3fit/src/n3fit/tests/test_evolven3fit.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 469ea27c18..b9e0c0e7d9 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -30,7 +30,8 @@ def test_utils(): #Testing the fake LHAPDF class q20 = 1.65**2 x_grid = np.geomspace(1.0e-7, 1.0, 30) - pdf_grid = dict([(pid,v) for pid,v in zip(range(len(PIDS_DICT)), [[x*(1.-x) for x in x_grid] for pid in PIDS_DICT.keys()] )]) + fake_grids = [[x*(1.-x) for x in x_grid] for pid in PIDS_DICT.keys()] + pdf_grid = dict([(pid,v) for pid,v in zip(range(len(PIDS_DICT)), fake_grids )]) my_PDF = utils.LhapdfLike(pdf_grid, q20, x_grid) assert my_PDF.hasFlavor(6) assert not my_PDF.hasFlavor(0) From 895888f65d63c639784a14f0fe41fbc9b279f2d2 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 10:19:26 +0200 Subject: [PATCH 147/212] Add comment on test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 1 + 1 file changed, 1 insertion(+) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index b9e0c0e7d9..c49dd86c39 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -36,6 +36,7 @@ def test_utils(): assert my_PDF.hasFlavor(6) assert not my_PDF.hasFlavor(0) with pytest.raises(ValueError): + # The LhapdfLike class is meant to return an error when asked for a Q2 value different from q20 my_PDF.xfxQ2(21, 0.01, 5.0**2) for pid in PIDS_DICT.keys(): for x in x_grid: From 836b9a8271c76377d856a8ce09b2b66e5ccda6bb Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 10:20:41 +0200 Subject: [PATCH 148/212] Remove .keys in iteration over dict --- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index c49dd86c39..1c8008a6ad 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -38,7 +38,7 @@ def test_utils(): with pytest.raises(ValueError): # The LhapdfLike class is meant to return an error when asked for a Q2 value different from q20 my_PDF.xfxQ2(21, 0.01, 5.0**2) - for pid in PIDS_DICT.keys(): + for pid in PIDS_DICT: for x in x_grid: assert_allclose(my_PDF.xfxQ2(pid, x, q20), x*(1.-x) ) #Testing read_runcard From 0d8bdc04695f6d1095c56d5a5e3fb0a0eeb721bb Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 10:31:51 +0200 Subject: [PATCH 149/212] Use variables in test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 1c8008a6ad..a2e47a66af 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -55,11 +55,15 @@ def test_eko_utils(): q_fin = 100 q_points = 5 x_grid = [1.e-7, 1.e-5, 1.e-3, 0.1, 1.0] - t_card, op_card = eko_utils.construct_eko_cards(theoryID, {'n_integration_cores' : 6}, {'Comments' : "Test"}, q_fin, q_points, x_grid) - assert t_card['Qref'] == 91.2 - assert t_card['PTO'] == 1 - assert t_card['Comments'] == "Test" - assert op_card['n_integration_cores'] == 6 + pto = 1 + qref = 91.2 + comments = "Test" + n_cores = 6 + t_card, op_card = eko_utils.construct_eko_cards(theoryID, {'n_integration_cores' : n_cores}, {'Comments' : comments}, q_fin, q_points, x_grid) + assert t_card['Qref'] == qref + assert t_card['PTO'] == pto + assert t_card['Comments'] == comments + assert op_card['n_integration_cores'] == n_cores assert_allclose(op_card["interpolation_xgrid"], x_grid) assert_allclose(op_card["Q2grid"], [2.7224999999999997, 24.2064, 259.30618155454425, 2777.7652105392926, 29756.25]) #Testing construct_eko_for_fit From c70177439bc5236eecdc283cc9ac80b5ef37db78 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 10:35:27 +0200 Subject: [PATCH 150/212] Remove .keys in iteration over dict --- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index a2e47a66af..a520baf3e4 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -69,4 +69,4 @@ def test_eko_utils(): #Testing construct_eko_for_fit eko_op = eko_utils.construct_eko_for_fit(t_card ,op_card,log) assert_allclose(eko_op['interpolation_xgrid'], x_grid) - assert_allclose(list(eko_op['Q2grid'].keys()), op_card["Q2grid"]) + assert_allclose(list(eko_op['Q2grid']), op_card["Q2grid"]) From 573b87f5e85f2fb4dfc9da7cf8501707aafcd11e Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:06:50 +0200 Subject: [PATCH 151/212] Remove .keys in iteration over dict --- n3fit/src/evolven3fit_new/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 517f4dc6c1..7eaec42f86 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -45,7 +45,7 @@ def xfxQ2(self, pid, x, q2): def hasFlavor(self, pid): """Check if the requested pid is in the PDF.""" - return pid in PIDS_DICT.keys() + return pid in PIDS_DICT def read_runcard(usr_path): From 92d11e89c2221214d78bfc41aa1aada7002a7128 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:12:12 +0200 Subject: [PATCH 152/212] Put default q2grid top level --- n3fit/src/evolven3fit_new/utils.py | 112 ++++++++++++++--------------- 1 file changed, 55 insertions(+), 57 deletions(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 7eaec42f86..8942da1a15 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -5,6 +5,60 @@ from reportengine.compat import yaml from validphys.pdfbases import PIDS_DICT +DEFAULT_Q2GRID = np.array( + [ + 1.6500000e00, + 1.7874388e00, + 1.9429053e00, + 2.1193749e00, + 2.3204100e00, + 2.5502944e00, + 2.8142025e00, + 3.1184122e00, + 3.4705775e00, + 3.8800751e00, + 4.3584516e00, + 4.9200000e00, + 4.9200000e00, + 5.5493622e00, + 6.2897452e00, + 7.1650687e00, + 8.2052867e00, + 9.4481248e00, + 1.0941378e01, + 1.2745972e01, + 1.4940062e01, + 1.7624572e01, + 2.0930715e01, + 2.5030298e01, + 3.0149928e01, + 3.6590777e01, + 4.4756282e01, + 5.5191298e01, + 6.8637940e01, + 8.6115921e01, + 1.0903923e02, + 1.3938725e02, + 1.7995815e02, + 2.3474820e02, + 3.0952544e02, + 4.1270732e02, + 5.5671861e02, + 7.6011795e02, + 1.0509694e03, + 1.4722574e03, + 2.0906996e03, + 3.0112909e03, + 4.4016501e03, + 6.5333918e03, + 9.8535186e03, + 1.5109614e04, + 2.3573066e04, + 3.7444017e04, + 6.0599320e04, + 1.0000000e05, + ] + ) **2 class LhapdfLike: """ @@ -66,63 +120,7 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): """ if Qfin is None: if Q_points is None: - return ( - np.array( - [ - 1.6500000e00, - 1.7874388e00, - 1.9429053e00, - 2.1193749e00, - 2.3204100e00, - 2.5502944e00, - 2.8142025e00, - 3.1184122e00, - 3.4705775e00, - 3.8800751e00, - 4.3584516e00, - 4.9200000e00, - 4.9200000e00, - 5.5493622e00, - 6.2897452e00, - 7.1650687e00, - 8.2052867e00, - 9.4481248e00, - 1.0941378e01, - 1.2745972e01, - 1.4940062e01, - 1.7624572e01, - 2.0930715e01, - 2.5030298e01, - 3.0149928e01, - 3.6590777e01, - 4.4756282e01, - 5.5191298e01, - 6.8637940e01, - 8.6115921e01, - 1.0903923e02, - 1.3938725e02, - 1.7995815e02, - 2.3474820e02, - 3.0952544e02, - 4.1270732e02, - 5.5671861e02, - 7.6011795e02, - 1.0509694e03, - 1.4722574e03, - 2.0906996e03, - 3.0112909e03, - 4.4016501e03, - 6.5333918e03, - 9.8535186e03, - 1.5109614e04, - 2.3573066e04, - 3.7444017e04, - 6.0599320e04, - 1.0000000e05, - ] - ) - ** 2 - ) + return DEFAULT_Q2GRID else: raise ValueError( "q_fin and q_points must be specified either both or none of them" From 2c5267cb40194edecbbf0605a25914f05988ebc3 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:15:27 +0200 Subject: [PATCH 153/212] Remove .keys in iteration over dict --- n3fit/src/evolven3fit_new/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 8942da1a15..2dda383c9e 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -133,7 +133,7 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): grids = [] Q_ini = Q0 num_points_list = [] - for masses in match_dict.keys(): + for masses in match_dict: match_scale = masses * match_dict[masses] num_points = int( Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini)) From 21c460c8dee703ef6602599fe007969f448222b1 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:17:45 +0200 Subject: [PATCH 154/212] Add comment on matching scales --- n3fit/src/evolven3fit_new/utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 2dda383c9e..dd51123be0 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -134,6 +134,8 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): Q_ini = Q0 num_points_list = [] for masses in match_dict: + # match_dict contains the couples (mass : factor) where factor is the number + # to be multiplied to mass in order to obtain the relative matching scale. match_scale = masses * match_dict[masses] num_points = int( Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini)) From c9459c26361f5faee5f40a19ad1e81690d6e1916 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:25:09 +0200 Subject: [PATCH 155/212] Make generate_q2grid more clear --- n3fit/src/evolven3fit_new/utils.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index dd51123be0..55af051ddc 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -137,8 +137,13 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): # match_dict contains the couples (mass : factor) where factor is the number # to be multiplied to mass in order to obtain the relative matching scale. match_scale = masses * match_dict[masses] + # Fraction of the total points to be included in this batch is proportional + # to the log of the ratio between the initial scale and final scale of the + # batch itself (normalized to the same log of the global initial and final + # scales) + frac_of_point = np.log(match_scale / Q0) / np.log(Qfin / Q_ini) num_points = int( - Q_points * (np.log(match_scale / Q0) / np.log(Qfin / Q_ini)) + Q_points * frac_of_point ) num_points_list.append(num_points) grids.append(np.geomspace(Q0**2, match_scale**2, num=num_points)) From 05cd5417dcb16685a0ab29fc997e9f63196503cc Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:28:03 +0200 Subject: [PATCH 156/212] Use Q_ini instead of Q0 --- n3fit/src/evolven3fit_new/utils.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 55af051ddc..854b84267e 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -141,15 +141,15 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): # to the log of the ratio between the initial scale and final scale of the # batch itself (normalized to the same log of the global initial and final # scales) - frac_of_point = np.log(match_scale / Q0) / np.log(Qfin / Q_ini) + frac_of_point = np.log(match_scale / Q_ini) / np.log(Qfin / Q0) num_points = int( Q_points * frac_of_point ) num_points_list.append(num_points) - grids.append(np.geomspace(Q0**2, match_scale**2, num=num_points)) - Q0 = match_scale + grids.append(np.geomspace(Q_ini**2, match_scale**2, num=num_points)) + Q_ini = match_scale num_points = Q_points - sum(num_points_list) - grids.append(np.geomspace(Q0**2, Qfin**2, num=num_points)) + grids.append(np.geomspace(Q_ini**2, Qfin**2, num=num_points)) return np.concatenate(grids).tolist() From 5618a0aad4047fa9c07e6d98717e93f4c191aa84 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:29:27 +0200 Subject: [PATCH 157/212] Remove .keys in iteration over dict --- n3fit/src/evolven3fit_new/evolve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 68a4fa4851..e1d5ddbc52 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -101,7 +101,7 @@ def evolve_fit( info = gen_info.create_info_file(theory, op, 1, info_update={}) info["NumMembers"] = "REPLACE_NREP" info["ErrorType"] = "replicas" - info["AlphaS_Qs"] = list(eko_op["Q2grid"].keys()) + 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) From b34b008d3eb57b27e06333815b372720a0b1c499 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:30:08 +0200 Subject: [PATCH 158/212] Remove .keys in iteration over dict --- n3fit/src/evolven3fit_new/evolve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index e1d5ddbc52..0aff4d5977 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -171,7 +171,7 @@ def ev_pdf(pid, x, Q2): block = genpdf.generate_block( ev_pdf, xgrid=targetgrid, - Q2grid=list(eko["Q2grid"].keys()), + Q2grid=list(eko["Q2grid"]), pids=br.flavor_basis_pids, ) return block From 51758f07d562f227c070f209718c4f65834914d1 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:33:25 +0200 Subject: [PATCH 159/212] Remove test for LhapdfLike xfxq2 --- n3fit/src/evolven3fit_new/utils.py | 6 ++---- n3fit/src/n3fit/tests/test_evolven3fit.py | 3 --- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 854b84267e..4dc3d69665 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -75,8 +75,8 @@ def __init__(self, pdf_grid, q20, x_grid): ] def xfxQ2(self, pid, x, q2): - """Return the value of the PDF for the requested pid and x value. If the requested q2 - value is different from the (only) value available, it raises an error. + """Return the value of the PDF for the requested pid, x value and, whatever the requested + q2 value, for the fitting q2. Parameters ---------- @@ -93,8 +93,6 @@ def xfxQ2(self, pid, x, q2): : float x * PDF value """ - if not np.isclose(q2, self.q20, rtol=1e-6): - raise ValueError("The q2 requested is not the fitting scale of this pdf") return self.funcs[list(PIDS_DICT.values()).index(PIDS_DICT[pid])](x) def hasFlavor(self, pid): diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index a520baf3e4..e19fb06abc 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -35,9 +35,6 @@ def test_utils(): my_PDF = utils.LhapdfLike(pdf_grid, q20, x_grid) assert my_PDF.hasFlavor(6) assert not my_PDF.hasFlavor(0) - with pytest.raises(ValueError): - # The LhapdfLike class is meant to return an error when asked for a Q2 value different from q20 - my_PDF.xfxQ2(21, 0.01, 5.0**2) for pid in PIDS_DICT: for x in x_grid: assert_allclose(my_PDF.xfxQ2(pid, x, q20), x*(1.-x) ) From 6a772a452ecf08b1d3295695b0fa66994db32a9b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:38:48 +0200 Subject: [PATCH 160/212] Add docs for LhapdfLike class --- n3fit/src/evolven3fit_new/utils.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 4dc3d69665..ee77b43bd8 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -62,7 +62,13 @@ class LhapdfLike: """ - Class which emulates lhapdf but only for an initial condition PDF (i.e. with only one q2 value) + Class which emulates lhapdf but only for an initial condition PDF (i.e. with only one q2 value). + + Q20 is the fitting scale fo the pdf and it is the only available scale for the objects of this class. + + X_GRID is the grid of x values on top of which the pdf is interpolated. + + PDF_GRID is a dictionary containing the pdf grids at fitting scale for each pid. """ def __init__(self, pdf_grid, q20, x_grid): From 0e06c2985015cb73e640b4dd9f11a6c9d6d40624 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:45:14 +0200 Subject: [PATCH 161/212] Specify encoding --- n3fit/src/evolven3fit_new/evolve.py | 2 +- n3fit/src/evolven3fit_new/utils.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 0aff4d5977..8e2734eb5d 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -135,7 +135,7 @@ def load_fit(usr_path): nnfitpath = usr_path / "nnfit" pdf_dict = {} for yaml_file in nnfitpath.glob("replica_*/*.exportgrid"): - data = yaml.safe_load(yaml_file.read_text()) + data = yaml.safe_load(yaml_file.read_text(encoding="UTF-8")) pdf_dict[yaml_file.parent.stem] = data return pdf_dict diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index ee77b43bd8..fa0b98b235 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -108,7 +108,7 @@ def hasFlavor(self, pid): def read_runcard(usr_path): """Read the runcard and return the relevant information for evolven3fit_new""" - return yaml.safe_load((usr_path / "filter.yml").read_text()) + return yaml.safe_load((usr_path / "filter.yml").read_text(encoding="UTF-8")) def get_theoryID_from_runcard(usr_path): From 468598232ccd10d752a5e8dddf51742ad0434c14 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:49:08 +0200 Subject: [PATCH 162/212] Join conditions in generate_q2grid --- n3fit/src/evolven3fit_new/utils.py | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index fa0b98b235..eb44788fed 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -122,17 +122,12 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): """Generate the q2grid used in the final evolved pdfs or use the default grid if Qfin or Q_points is not provided. """ - if Qfin is None: - if Q_points is None: - return DEFAULT_Q2GRID - else: - raise ValueError( + if Qfin is None and Q_points is None: + return DEFAULT_Q2GRID + elif Qfin is None or Q_points is None: + raise ValueError( "q_fin and q_points must be specified either both or none of them" ) - elif Q_points is None: - raise ValueError( - "q_fin and q_points must be specified either both or none of them" - ) else: grids = [] Q_ini = Q0 From ca814f0f9a526a2db16239a8f214b492a0ae8cb2 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 14:57:10 +0200 Subject: [PATCH 163/212] Add example for fix_info_path --- n3fit/src/evolven3fit_new/utils.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index eb44788fed..ca30a18be5 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -155,6 +155,13 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): def fix_info_path(usr_path): """Fix the location of the info file from the folder nnfit/usr_path to just nnfit + + Examples + -------- + Starting from the info path + initial_info_file_path = "/myfolder/myfit/nnfit/myfit/myfit.info" + and using this function with usr_path = "/myfolder/myfit", one gets + final_info_file_path = "/myfolder/myfit/nnfit/myfit.info" """ nnfit = usr_path / "nnfit" info_file = usr_path.stem + ".info" From 0cd8ab6dfd300eff5bd260773858ab691af6b68e Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 15:00:10 +0200 Subject: [PATCH 164/212] Add example for fix_replica_path --- n3fit/src/evolven3fit_new/utils.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index ca30a18be5..72c87d022b 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -173,6 +173,13 @@ def fix_info_path(usr_path): def fix_replica_path(usr_path, replica_num): """Fix the location of the dat file of the replica from the folder nnfit/usr_path to just nnfit/replica_ + + Examples + -------- + Starting from the replica 5 path + initial_replica_file_path = "/myfolder/myfit/nnfit/myfit/myfit_5.dat" + and using this function with usr_path = "/myfolder/myfit", one gets + final_replica_file_path = "/myfolder/myfit/nnfit/replica_5/myfit.dat" """ nnfit = usr_path / "nnfit" replica_file_path = nnfit / usr_path.stem / f"{usr_path.stem}_{replica_num:04d}.dat" From 7cc4d2125f96512022e5f0dfd883a70d6ab499f0 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 15:09:11 +0200 Subject: [PATCH 165/212] Add docs of check_is_fit --- n3fit/src/evolven3fit_new/utils.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 72c87d022b..43ee8fb4ba 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -188,6 +188,8 @@ def fix_replica_path(usr_path, replica_num): def check_is_a_fit(config_folder): + """Check if config_folder is a fit folder, i.e. if it contains the filter.yml file + and the nnfit folder.""" usr_path = pathlib.Path(config_folder) filter_path = usr_path / "filter.yml" if not filter_path.is_file(): From 1b4e7c3617335c3c4423f977452665a0609bcdc8 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 15:11:50 +0200 Subject: [PATCH 166/212] Put logfile name top level --- n3fit/src/evolven3fit_new/evolve.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 8e2734eb5d..502660c9c9 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -16,6 +16,7 @@ log = logging.getLogger(__name__) +LOG_FILE = "evolven3fit_new.log" def evolve_fit( conf_folder, @@ -52,7 +53,7 @@ def evolve_fit( path where the eko is dumped (if None the eko won't be stored) """ - log_file = pathlib.Path(conf_folder) / "evolven3fit_new.log" + log_file = pathlib.Path(conf_folder) / LOG_FILE if log_file.exists(): if force: log_file.unlink() From ffb591e1dfc3daaaea7ef18337dddc33ab6ae151 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 17:03:58 +0200 Subject: [PATCH 167/212] Give None as default for t_card_dict and op_card_dict --- n3fit/src/evolven3fit_new/eko_utils.py | 7 ++++++- n3fit/src/evolven3fit_new/evolve.py | 2 +- n3fit/src/n3fit/scripts/evolven3fit_new.py | 2 +- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 4 files changed, 9 insertions(+), 4 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 3708b146bb..673364dac5 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -4,9 +4,14 @@ from validphys.api import API from . import utils +from typing import Any, Dict, Optional -def construct_eko_cards(theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid): +def construct_eko_cards(theoryID, q_fin, q_points, x_grid, op_card_dict: Optional[Dict[str, Any]] = None, t_card_dict: Optional[Dict[str, Any]] = None): """Return the theory and operator cards used to construct the eko""" + if t_card_dict is None: + t_card_dict = {} + if op_card_dict is None: + op_card_dict = {} # theory_card construction theory = API.theoryid(theoryid = theoryID).get_description() theory.pop("FNS") diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 502660c9c9..eaed209935 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -83,7 +83,7 @@ def evolve_fit( ).astype(np.float) theoryID = utils.get_theoryID_from_runcard(usr_path) theory, op = eko_utils.construct_eko_cards( - theoryID, op_card_dict, t_card_dict, q_fin, q_points, x_grid + theoryID, q_fin, q_points, x_grid, op_card_dict, t_card_dict ) if eko_path is not None: eko_path = pathlib.Path(eko_path) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 6e1e1c2d52..6689230622 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -334,7 +334,7 @@ def main(): else: x_grid = np.geomspace(args.x_grid_ini, 1.0, args.x_grid_points) tcard, opcard = eko_utils.construct_eko_cards( - args.theoryID, op_card_info, t_card_info, args.q_fin, args.q_points, x_grid + args.theoryID, args.q_fin, args.q_points, x_grid, op_card_info, t_card_info ) eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, log, args.dump) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index e19fb06abc..e63880e0cd 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -56,7 +56,7 @@ def test_eko_utils(): qref = 91.2 comments = "Test" n_cores = 6 - t_card, op_card = eko_utils.construct_eko_cards(theoryID, {'n_integration_cores' : n_cores}, {'Comments' : comments}, q_fin, q_points, x_grid) + t_card, op_card = eko_utils.construct_eko_cards(theoryID, q_fin, q_points, x_grid, {'n_integration_cores' : n_cores}, {'Comments' : comments}) assert t_card['Qref'] == qref assert t_card['PTO'] == pto assert t_card['Comments'] == comments From e1a9f5e5263492838a6783420df59363558138c5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 17:06:34 +0200 Subject: [PATCH 168/212] Add doc --- n3fit/src/evolven3fit_new/eko_utils.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 673364dac5..51e545588d 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -7,7 +7,17 @@ from typing import Any, Dict, Optional def construct_eko_cards(theoryID, q_fin, q_points, x_grid, op_card_dict: Optional[Dict[str, Any]] = None, t_card_dict: Optional[Dict[str, Any]] = None): - """Return the theory and operator cards used to construct the eko""" + """Return the theory and operator cards used to construct the eko. + + theoryID is the ID of the theory for which we are computing the theory and operator card. + + q_fin is the final point of the q grid while q_points is the number of points of the grid. + + x_grid is the x grid to be used. + + op_card_dict and t_card_dict are optional updates that can be provided respectively to the + operator card and to the theory card. + """ if t_card_dict is None: t_card_dict = {} if op_card_dict is None: From b31d6b4fc8a9adbd62451aa008c3de1a45bd63a3 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 17:11:02 +0200 Subject: [PATCH 169/212] Remove underscore to logger --- n3fit/src/evolven3fit_new/evolve.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index eaed209935..96c648b640 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -71,11 +71,11 @@ def evolve_fit( stdout_log.setFormatter( logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") ) - for logger_ in (log, *[logging.getLogger("eko")]): - logger_.handlers = [] - logger_.setLevel(logging.INFO) - logger_.addHandler(log_file) - logger_.addHandler(stdout_log) + for logger in (log, *[logging.getLogger("eko")]): + logger.handlers = [] + logger.setLevel(logging.INFO) + logger.addHandler(log_file) + logger.addHandler(stdout_log) usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) x_grid = np.array( From 4ccc7b8b504912ece6ea828a84b24bcd88cacb0d Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 17:12:52 +0200 Subject: [PATCH 170/212] Move comment to doc of generate_q2grid --- n3fit/src/evolven3fit_new/utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 43ee8fb4ba..30b22eae01 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -121,6 +121,9 @@ def get_theoryID_from_runcard(usr_path): def generate_q2grid(Q0, Qfin, Q_points, match_dict): """Generate the q2grid used in the final evolved pdfs or use the default grid if Qfin or Q_points is not provided. + + match_dict contains the couples (mass : factor) where factor is the number to be multiplied to mass + in order to obtain the relative matching scale. """ if Qfin is None and Q_points is None: return DEFAULT_Q2GRID @@ -133,8 +136,6 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): Q_ini = Q0 num_points_list = [] for masses in match_dict: - # match_dict contains the couples (mass : factor) where factor is the number - # to be multiplied to mass in order to obtain the relative matching scale. match_scale = masses * match_dict[masses] # Fraction of the total points to be included in this batch is proportional # to the log of the ratio between the initial scale and final scale of the From f3e22893bf301eb4e530b1b1e7d76a5061ead1ea Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 17:27:21 +0200 Subject: [PATCH 171/212] Remove underscores from arguments --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 6689230622..df3d3442aa 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -31,21 +31,21 @@ def main(): ) parser.add_argument( "-q", - "--q_fin", + "--q-fin", type=float, default=None, help="Final q-value of the evolution", ) parser.add_argument( "-p", - "--q_points", + "--q-points", type=int, default=None, help="Number of q points for the evolution", ) parser.add_argument( "-n", - "--n_cores", + "--n-cores", type=int, default=1, help="Number of cores to be used", @@ -80,14 +80,14 @@ def main(): ) eko_parser.add_argument( "-i", - "--x_grid_ini", + "--x-grid-ini", default=None, type=float, help="Starting point of the x-grid", ) eko_parser.add_argument( "-p", - "--x_grid_points", + "--x-grid-points", default=None, type=int, help="Number of points of the x-grid", From ec7e6e5cc648f57271178ad5f1ba1ccc01bc5b3a Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 17:31:05 +0200 Subject: [PATCH 172/212] Remove optional from help of argument --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index df3d3442aa..e9732d1ec8 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -62,7 +62,7 @@ def main(): "--dump", type=pathlib.Path, default=None, - help="Path where the EKO is dumped (optional)", + help="Path where the EKO is dumped", ) evolvefit_parser.add_argument( "-f", From fb487fe73fdcb6557fa461569b5b8d7d893a296c Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 26 Oct 2022 17:38:25 +0200 Subject: [PATCH 173/212] Put Xgrid top level --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 227 +++++++++++---------- 1 file changed, 114 insertions(+), 113 deletions(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index e9732d1ec8..597492f947 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -11,119 +11,7 @@ log = logging.getLogger(__name__) - -def main(): - parser = ArgumentParser( - description="evolven3fit_new - a script with tools to evolve PDF fits" - ) - subparsers = parser.add_subparsers(title="actions", dest="actions") - evolvefit_parser = subparsers.add_parser( - "evolve", - help="Evolves the fitted PDFs. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. If a path is given for the dump option, the eko will be dumped in that path after the computation. If a path is given for the load option, the eko to be used for the evolution will be loaded from that path. The two options are mutually exclusive.", - ) - eko_parser = subparsers.add_parser( - "produce_eko", - help="Produce the eko for the specified theory. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points. The eko will be dumped in the provided path.", - ) - evolvefit_parser.add_argument( - "configuration_folder", - help="Path to the folder containing the (pre-DGLAP) fit result", - ) - parser.add_argument( - "-q", - "--q-fin", - type=float, - default=None, - help="Final q-value of the evolution", - ) - parser.add_argument( - "-p", - "--q-points", - type=int, - default=None, - help="Number of q points for the evolution", - ) - parser.add_argument( - "-n", - "--n-cores", - type=int, - default=1, - help="Number of cores to be used", - ) - evolvefit_parser.add_argument( - "-l", - "--load", - type=pathlib.Path, - default=None, - help="Path of the EKO to be loaded", - ) - evolvefit_parser.add_argument( - "-d", - "--dump", - type=pathlib.Path, - default=None, - help="Path where the EKO is dumped", - ) - evolvefit_parser.add_argument( - "-f", - "--force", - action="store_true", - help="Force the evolution to be done even if it has already been done", - ) - eko_parser.add_argument( - "theoryID", type=int, help="ID of the theory used to produce the eko" - ) - eko_parser.add_argument( - "dump", - type=pathlib.Path, - help="Path where the EKO is dumped", - ) - eko_parser.add_argument( - "-i", - "--x-grid-ini", - default=None, - type=float, - help="Starting point of the x-grid", - ) - eko_parser.add_argument( - "-p", - "--x-grid-points", - default=None, - type=int, - help="Number of points of the x-grid", - ) - args = parser.parse_args() - op_card_info = { - "ev_op_max_order": 10, - "ev_op_iterations": 1, - "n_integration_cores": args.n_cores, - "backward_inversion": "expanded", - } - t_card_info = {} - if args.actions == "evolve": - cli_evolven3fit_new( - args.configuration_folder, - args.q_fin, - args.q_points, - op_card_info, - t_card_info, - args.dump, - args.load, - args.force, - ) - elif args.actions == "produce_eko": - stdout_log = logging.StreamHandler(sys.stdout) - stdout_log.setLevel(logging.INFO) - stdout_log.setFormatter( - logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") - ) - for logger_ in (log, *[logging.getLogger("eko")]): - logger_.handlers = [] - logger_.setLevel(logging.INFO) - logger_.addHandler(stdout_log) - if args.x_grid_ini is None: - if args.x_grid_points is None: - x_grid = np.array( +XGRID = np.array( [ 1.00000000000000e-09, 1.29708482343957e-09, @@ -323,6 +211,119 @@ def main(): 1.00000000000000e00, ] ) + +def main(): + parser = ArgumentParser( + description="evolven3fit_new - a script with tools to evolve PDF fits" + ) + subparsers = parser.add_subparsers(title="actions", dest="actions") + evolvefit_parser = subparsers.add_parser( + "evolve", + help="Evolves the fitted PDFs. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. If a path is given for the dump option, the eko will be dumped in that path after the computation. If a path is given for the load option, the eko to be used for the evolution will be loaded from that path. The two options are mutually exclusive.", + ) + eko_parser = subparsers.add_parser( + "produce_eko", + help="Produce the eko for the specified theory. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points. The eko will be dumped in the provided path.", + ) + evolvefit_parser.add_argument( + "configuration_folder", + help="Path to the folder containing the (pre-DGLAP) fit result", + ) + parser.add_argument( + "-q", + "--q-fin", + type=float, + default=None, + help="Final q-value of the evolution", + ) + parser.add_argument( + "-p", + "--q-points", + type=int, + default=None, + help="Number of q points for the evolution", + ) + parser.add_argument( + "-n", + "--n-cores", + type=int, + default=1, + help="Number of cores to be used", + ) + evolvefit_parser.add_argument( + "-l", + "--load", + type=pathlib.Path, + default=None, + help="Path of the EKO to be loaded", + ) + evolvefit_parser.add_argument( + "-d", + "--dump", + type=pathlib.Path, + default=None, + help="Path where the EKO is dumped", + ) + evolvefit_parser.add_argument( + "-f", + "--force", + action="store_true", + help="Force the evolution to be done even if it has already been done", + ) + eko_parser.add_argument( + "theoryID", type=int, help="ID of the theory used to produce the eko" + ) + eko_parser.add_argument( + "dump", + type=pathlib.Path, + help="Path where the EKO is dumped", + ) + eko_parser.add_argument( + "-i", + "--x-grid-ini", + default=None, + type=float, + help="Starting point of the x-grid", + ) + eko_parser.add_argument( + "-p", + "--x-grid-points", + default=None, + type=int, + help="Number of points of the x-grid", + ) + args = parser.parse_args() + op_card_info = { + "ev_op_max_order": 10, + "ev_op_iterations": 1, + "n_integration_cores": args.n_cores, + "backward_inversion": "expanded", + } + t_card_info = {} + if args.actions == "evolve": + cli_evolven3fit_new( + args.configuration_folder, + args.q_fin, + args.q_points, + op_card_info, + t_card_info, + args.dump, + args.load, + args.force, + ) + elif args.actions == "produce_eko": + stdout_log = logging.StreamHandler(sys.stdout) + stdout_log.setLevel(logging.INFO) + stdout_log.setFormatter( + logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") + ) + for logger_ in (log, *[logging.getLogger("eko")]): + logger_.handlers = [] + logger_.setLevel(logging.INFO) + logger_.addHandler(stdout_log) + if args.x_grid_ini is None: + if args.x_grid_points is None: + x_grid = XGRID else: raise ValueError( "x_grid_ini and x_grid_points must be specified either both or none of them" From 8a7181976a972efb6a28052e9ddcb4d7e7e22df9 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 27 Oct 2022 11:21:55 +0200 Subject: [PATCH 174/212] Add comment in construct_eko_for_fit --- n3fit/src/evolven3fit_new/eko_utils.py | 1 + 1 file changed, 1 insertion(+) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 51e545588d..04b648f737 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -65,6 +65,7 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): ) eko_op = run_dglap(t_card, op_card) if save_path is not None: + # Here we want to catch all possible exceptions in order to avoid losing the computed eko try: log.info(f"Saving computed eko to : {save_path}") eko_op.dump_tar(save_path) From 9d0a9e47c097be9ecd9b2e9a1a9ac3d446db76f1 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 27 Oct 2022 11:24:27 +0200 Subject: [PATCH 175/212] Fix comment in regressions/filter.yml --- n3fit/src/n3fit/tests/regressions/filter.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/regressions/filter.yml b/n3fit/src/n3fit/tests/regressions/filter.yml index 94cd910691..efb09d94e3 100644 --- a/n3fit/src/n3fit/tests/regressions/filter.yml +++ b/n3fit/src/n3fit/tests/regressions/filter.yml @@ -37,7 +37,7 @@ theory: theoryid: 162 # database id ############################################################ -genrep: True # on = generate MC replicas, False = use real data +genrep: True # True = generate MC replicas, False = use real data trvlseed: 3 nnseed: 2 mcseed: 1 From dee3a06ca2e9dcda735b8ca7afdfaac613629d39 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 27 Oct 2022 11:33:17 +0200 Subject: [PATCH 176/212] Put logging setting top level --- n3fit/src/evolven3fit_new/evolve.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 96c648b640..cab45dc8f6 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -18,6 +18,10 @@ LOG_FILE = "evolven3fit_new.log" +LOGGING_SETTINGS = {"formatter" : "%(asctime)s %(name)s/%(levelname)s: %(message)s", + "level" : logging.INFO +} + def evolve_fit( conf_folder, q_fin, @@ -63,19 +67,17 @@ def evolve_fit( ) log_file = logging.FileHandler(log_file) stdout_log = logging.StreamHandler(sys.stdout) - log_file.setLevel(logging.INFO) - stdout_log.setLevel(logging.INFO) - log_file.setFormatter( - logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") - ) - stdout_log.setFormatter( - logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") - ) + for log in [log_file, stdout_log]: + log.setLevel(LOGGING_SETTINGS["level"]) + log.setFormatter( + logging.Formatter(LOGGING_SETTINGS["formatter"]) + ) for logger in (log, *[logging.getLogger("eko")]): logger.handlers = [] - logger.setLevel(logging.INFO) + logger.setLevel(LOGGING_SETTINGS["level"]) logger.addHandler(log_file) logger.addHandler(stdout_log) + usr_path = pathlib.Path(conf_folder) initial_PDFs_dict = load_fit(usr_path) x_grid = np.array( From 75563cf4c3466e83040586404d55ce7402564e5c Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 27 Oct 2022 11:54:45 +0200 Subject: [PATCH 177/212] Fix q2_grid generation and add relevant test --- n3fit/src/evolven3fit_new/utils.py | 15 ++++++++------- n3fit/src/n3fit/tests/test_evolven3fit.py | 5 ++++- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 30b22eae01..43a00464e5 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -141,13 +141,14 @@ def generate_q2grid(Q0, Qfin, Q_points, match_dict): # to the log of the ratio between the initial scale and final scale of the # batch itself (normalized to the same log of the global initial and final # scales) - frac_of_point = np.log(match_scale / Q_ini) / np.log(Qfin / Q0) - num_points = int( - Q_points * frac_of_point - ) - num_points_list.append(num_points) - grids.append(np.geomspace(Q_ini**2, match_scale**2, num=num_points)) - Q_ini = match_scale + if match_scale < Qfin: + frac_of_point = np.log(match_scale / Q_ini) / np.log(Qfin / Q0) + num_points = int( + Q_points * frac_of_point + ) + num_points_list.append(num_points) + grids.append(np.geomspace(Q_ini**2, match_scale**2, num=num_points)) + Q_ini = match_scale num_points = Q_points - sum(num_points_list) grids.append(np.geomspace(Q_ini**2, Qfin**2, num=num_points)) return np.concatenate(grids).tolist() diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index e63880e0cd..9067a69f1c 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -62,7 +62,10 @@ def test_eko_utils(): assert t_card['Comments'] == comments assert op_card['n_integration_cores'] == n_cores assert_allclose(op_card["interpolation_xgrid"], x_grid) - assert_allclose(op_card["Q2grid"], [2.7224999999999997, 24.2064, 259.30618155454425, 2777.7652105392926, 29756.25]) + assert_allclose(op_card["Q2grid"][0], 1.65**2) + assert_allclose(op_card["Q2grid"][-1], q_fin**2) + #In this case there are not enough points to have twice the bottom matching scale + 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,log) assert_allclose(eko_op['interpolation_xgrid'], x_grid) From 4dff1c669204c791824974ebafe3b58d9ab98144 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 27 Oct 2022 11:59:01 +0200 Subject: [PATCH 178/212] Use the logging setting inside evolven3fit_new --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 597492f947..076c712503 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -313,13 +313,12 @@ def main(): ) elif args.actions == "produce_eko": stdout_log = logging.StreamHandler(sys.stdout) - stdout_log.setLevel(logging.INFO) + stdout_log.setLevel(evolve.LOGGING_SETTINGS["level"]) stdout_log.setFormatter( - logging.Formatter("%(asctime)s %(name)s/%(levelname)s: %(message)s") - ) + evolve.LOGGING_SETTINGS["formatter"]) for logger_ in (log, *[logging.getLogger("eko")]): logger_.handlers = [] - logger_.setLevel(logging.INFO) + logger_.setLevel(evolve.LOGGING_SETTINGS["level"]) logger_.addHandler(stdout_log) if args.x_grid_ini is None: if args.x_grid_points is None: From c947dfd413931ef314c57d4ef1323e124aad5c76 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 27 Oct 2022 12:09:39 +0200 Subject: [PATCH 179/212] Move the definitions of the subcommands to external functions --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 98 ++++++++++++---------- 1 file changed, 52 insertions(+), 46 deletions(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 076c712503..dcd6300a13 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -211,87 +211,93 @@ 1.00000000000000e00, ] ) - -def main(): - parser = ArgumentParser( - description="evolven3fit_new - a script with tools to evolve PDF fits" - ) - subparsers = parser.add_subparsers(title="actions", dest="actions") - evolvefit_parser = subparsers.add_parser( - "evolve", - help="Evolves the fitted PDFs. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. If a path is given for the dump option, the eko will be dumped in that path after the computation. If a path is given for the load option, the eko to be used for the evolution will be loaded from that path. The two options are mutually exclusive.", - ) - eko_parser = subparsers.add_parser( - "produce_eko", - help="Produce the eko for the specified theory. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points. The eko will be dumped in the provided path.", +def construct_eko_parser(subparsers): + parser = subparsers.add_parser("produce_eko", + help="Produce the eko for the specified theory. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points. The eko will be dumped in the provided path.") + parser.add_argument( + "theoryID", type=int, help="ID of the theory used to produce the eko" ) - evolvefit_parser.add_argument( - "configuration_folder", - help="Path to the folder containing the (pre-DGLAP) fit result", + parser.add_argument( + "dump", + type=pathlib.Path, + help="Path where the EKO is dumped", ) parser.add_argument( - "-q", - "--q-fin", - type=float, + "-i", + "--x-grid-ini", default=None, - help="Final q-value of the evolution", + type=float, + help="Starting point of the x-grid", ) parser.add_argument( "-p", - "--q-points", - type=int, + "--x-grid-points", default=None, - help="Number of q points for the evolution", + type=int, + help="Number of points of the x-grid", + ) + return parser + +def construct_evolven3fit_parser(subparsers): + parser = subparsers.add_parser( + "evolve", + help="Evolves the fitted PDFs. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. If a path is given for the dump option, the eko will be dumped in that path after the computation. If a path is given for the load option, the eko to be used for the evolution will be loaded from that path. The two options are mutually exclusive.", ) parser.add_argument( - "-n", - "--n-cores", - type=int, - default=1, - help="Number of cores to be used", + "configuration_folder", + help="Path to the folder containing the (pre-DGLAP) fit result", ) - evolvefit_parser.add_argument( + parser.add_argument( "-l", "--load", type=pathlib.Path, default=None, help="Path of the EKO to be loaded", ) - evolvefit_parser.add_argument( + parser.add_argument( "-d", "--dump", type=pathlib.Path, default=None, help="Path where the EKO is dumped", ) - evolvefit_parser.add_argument( + parser.add_argument( "-f", "--force", action="store_true", help="Force the evolution to be done even if it has already been done", ) - eko_parser.add_argument( - "theoryID", type=int, help="ID of the theory used to produce the eko" - ) - eko_parser.add_argument( - "dump", - type=pathlib.Path, - help="Path where the EKO is dumped", + return parser + +def main(): + parser = ArgumentParser( + description="evolven3fit_new - a script with tools to evolve PDF fits" ) - eko_parser.add_argument( - "-i", - "--x-grid-ini", - default=None, + parser.add_argument( + "-q", + "--q-fin", type=float, - help="Starting point of the x-grid", + default=None, + help="Final q-value of the evolution", ) - eko_parser.add_argument( + parser.add_argument( "-p", - "--x-grid-points", + "--q-points", + type=int, default=None, + help="Number of q points for the evolution", + ) + parser.add_argument( + "-n", + "--n-cores", type=int, - help="Number of points of the x-grid", + default=1, + help="Number of cores to be used", ) + subparsers = parser.add_subparsers(title="actions", dest="actions") + eko_parser = construct_eko_parser(subparsers) + evolven3fit_parser = construct_evolven3fit_parser(subparsers) + args = parser.parse_args() op_card_info = { "ev_op_max_order": 10, From c45413d48f59ee07f9116c610abca0f16b5af5b0 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 27 Oct 2022 12:33:29 +0200 Subject: [PATCH 180/212] Add actual cli function inside the package --- n3fit/src/evolven3fit_new/cli.py | 236 ++++++++++++++++++++ n3fit/src/n3fit/scripts/evolven3fit_new.py | 241 +-------------------- 2 files changed, 240 insertions(+), 237 deletions(-) create mode 100644 n3fit/src/evolven3fit_new/cli.py diff --git a/n3fit/src/evolven3fit_new/cli.py b/n3fit/src/evolven3fit_new/cli.py new file mode 100644 index 0000000000..7b9d199afb --- /dev/null +++ b/n3fit/src/evolven3fit_new/cli.py @@ -0,0 +1,236 @@ +from . import evolve, utils + +import numpy as np + +XGRID = np.array( + [ + 1.00000000000000e-09, + 1.29708482343957e-09, + 1.68242903474257e-09, + 2.18225315420583e-09, + 2.83056741739819e-09, + 3.67148597892941e-09, + 4.76222862935315e-09, + 6.17701427376180e-09, + 8.01211109898438e-09, + 1.03923870607245e-08, + 1.34798064073805e-08, + 1.74844503691778e-08, + 2.26788118881103e-08, + 2.94163370300835e-08, + 3.81554746595878e-08, + 4.94908707232129e-08, + 6.41938295708371e-08, + 8.32647951986859e-08, + 1.08001422993829e-07, + 1.40086873081130e-07, + 1.81704331793772e-07, + 2.35685551545377e-07, + 3.05703512595323e-07, + 3.96522309841747e-07, + 5.14321257236570e-07, + 6.67115245136676e-07, + 8.65299922973143e-07, + 1.12235875241487e-06, + 1.45577995547683e-06, + 1.88824560514613e-06, + 2.44917352454946e-06, + 3.17671650028717e-06, + 4.12035415232797e-06, + 5.34425265752090e-06, + 6.93161897806315e-06, + 8.99034258238145e-06, + 1.16603030112258e-05, + 1.51228312288769e-05, + 1.96129529349212e-05, + 2.54352207134502e-05, + 3.29841683435992e-05, + 4.27707053972016e-05, + 5.54561248105849e-05, + 7.18958313632514e-05, + 9.31954227979614e-05, + 1.20782367731330e-04, + 1.56497209466554e-04, + 2.02708936328495e-04, + 2.62459799331951e-04, + 3.39645244168985e-04, + 4.39234443000422e-04, + 5.67535660104533e-04, + 7.32507615725537e-04, + 9.44112105452451e-04, + 1.21469317686978e-03, + 1.55935306118224e-03, + 1.99627451141338e-03, + 2.54691493736552e-03, + 3.23597510213126e-03, + 4.09103436509565e-03, + 5.14175977083962e-03, + 6.41865096062317e-03, + 7.95137940306351e-03, + 9.76689999624100e-03, + 1.18876139251364e-02, + 1.43298947643919e-02, + 1.71032279460271e-02, + 2.02100733925079e-02, + 2.36463971369542e-02, + 2.74026915728357e-02, + 3.14652506132444e-02, + 3.58174829282429e-02, + 4.04411060163317e-02, + 4.53171343973807e-02, + 5.04266347950069e-02, + 5.57512610084339e-02, + 6.12736019390519e-02, + 6.69773829498255e-02, + 7.28475589986517e-02, + 7.88703322292727e-02, + 8.50331197801452e-02, + 9.13244910278679e-02, + 9.77340879783772e-02, + 1.04252538208639e-01, + 1.10871366547237e-01, + 1.17582909372878e-01, + 1.24380233801599e-01, + 1.31257062945031e-01, + 1.38207707707289e-01, + 1.45227005135651e-01, + 1.52310263065985e-01, + 1.59453210652156e-01, + 1.66651954293987e-01, + 1.73902938455578e-01, + 1.81202910873333e-01, + 1.88548891679097e-01, + 1.95938145999193e-01, + 2.03368159629765e-01, + 2.10836617429103e-01, + 2.18341384106561e-01, + 2.25880487124065e-01, + 2.33452101459503e-01, + 2.41054536011681e-01, + 2.48686221452762e-01, + 2.56345699358723e-01, + 2.64031612468684e-01, + 2.71742695942783e-01, + 2.79477769504149e-01, + 2.87235730364833e-01, + 2.95015546847664e-01, + 3.02816252626866e-01, + 3.10636941519503e-01, + 3.18476762768082e-01, + 3.26334916761672e-01, + 3.34210651149156e-01, + 3.42103257303627e-01, + 3.50012067101685e-01, + 3.57936449985571e-01, + 3.65875810279643e-01, + 3.73829584735962e-01, + 3.81797240286494e-01, + 3.89778271981947e-01, + 3.97772201099286e-01, + 4.05778573402340e-01, + 4.13796957540671e-01, + 4.21826943574548e-01, + 4.29868141614175e-01, + 4.37920180563205e-01, + 4.45982706956990e-01, + 4.54055383887562e-01, + 4.62137890007651e-01, + 4.70229918607142e-01, + 4.78331176755675e-01, + 4.86441384506059e-01, + 4.94560274153348e-01, + 5.02687589545177e-01, + 5.10823085439086e-01, + 5.18966526903235e-01, + 5.27117688756998e-01, + 5.35276355048428e-01, + 5.43442318565661e-01, + 5.51615380379768e-01, + 5.59795349416641e-01, + 5.67982042055800e-01, + 5.76175281754088e-01, + 5.84374898692498e-01, + 5.92580729444440e-01, + 6.00792616663950e-01, + 6.09010408792398e-01, + 6.17233959782450e-01, + 6.25463128838069e-01, + 6.33697780169485e-01, + 6.41937782762089e-01, + 6.50183010158361e-01, + 6.58433340251944e-01, + 6.66688655093089e-01, + 6.74948840704708e-01, + 6.83213786908386e-01, + 6.91483387159697e-01, + 6.99757538392251e-01, + 7.08036140869916e-01, + 7.16319098046733e-01, + 7.24606316434025e-01, + 7.32897705474271e-01, + 7.41193177421404e-01, + 7.49492647227008e-01, + 7.57796032432224e-01, + 7.66103253064927e-01, + 7.74414231541921e-01, + 7.82728892575836e-01, + 7.91047163086478e-01, + 7.99368972116378e-01, + 8.07694250750291e-01, + 8.16022932038457e-01, + 8.24354950923382e-01, + 8.32690244169987e-01, + 8.41028750298844e-01, + 8.49370409522600e-01, + 8.57715163684985e-01, + 8.66062956202683e-01, + 8.74413732009721e-01, + 8.82767437504206e-01, + 8.91124020497459e-01, + 8.99483430165226e-01, + 9.07845617001021e-01, + 9.16210532771399e-01, + 9.24578130473112e-01, + 9.32948364292029e-01, + 9.41321189563734e-01, + 9.49696562735755e-01, + 9.58074441331298e-01, + 9.66454783914439e-01, + 9.74837550056705e-01, + 9.83222700304978e-01, + 9.91610196150662e-01, + 1.00000000000000e00, + ] + ) + +def cli_evolven3fit_new( + configuration_folder, q_fin, q_points, op_card_info, t_card_info, dump, load, force +): + """Evolves the fitted PDFs. + + The q_grid starts at the Q0 given by the theory but + the last point is q_fin and its number of + points can be specified by q_points. If just one of the + two is not specified by the user, the default grid + will be used. + + If a path is given for the dump option, the eko + will be dumped in that path after the computation. + + If a path is given for the load option, the eko + to be used for the evolution will be loaded from that + path. + + The two options are mutually exclusive. + """ + utils.check_is_a_fit(configuration_folder) + return evolve.evolve_fit( + configuration_folder, + q_fin, + q_points, + op_card_info, + t_card_info, + force, + load, + dump, + ) \ No newline at end of file diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index dcd6300a13..c7e7bc4763 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -7,210 +7,11 @@ import sys import numpy as np -from evolven3fit_new import eko_utils, evolve, utils +from evolven3fit_new import eko_utils, evolve, cli log = logging.getLogger(__name__) -XGRID = np.array( - [ - 1.00000000000000e-09, - 1.29708482343957e-09, - 1.68242903474257e-09, - 2.18225315420583e-09, - 2.83056741739819e-09, - 3.67148597892941e-09, - 4.76222862935315e-09, - 6.17701427376180e-09, - 8.01211109898438e-09, - 1.03923870607245e-08, - 1.34798064073805e-08, - 1.74844503691778e-08, - 2.26788118881103e-08, - 2.94163370300835e-08, - 3.81554746595878e-08, - 4.94908707232129e-08, - 6.41938295708371e-08, - 8.32647951986859e-08, - 1.08001422993829e-07, - 1.40086873081130e-07, - 1.81704331793772e-07, - 2.35685551545377e-07, - 3.05703512595323e-07, - 3.96522309841747e-07, - 5.14321257236570e-07, - 6.67115245136676e-07, - 8.65299922973143e-07, - 1.12235875241487e-06, - 1.45577995547683e-06, - 1.88824560514613e-06, - 2.44917352454946e-06, - 3.17671650028717e-06, - 4.12035415232797e-06, - 5.34425265752090e-06, - 6.93161897806315e-06, - 8.99034258238145e-06, - 1.16603030112258e-05, - 1.51228312288769e-05, - 1.96129529349212e-05, - 2.54352207134502e-05, - 3.29841683435992e-05, - 4.27707053972016e-05, - 5.54561248105849e-05, - 7.18958313632514e-05, - 9.31954227979614e-05, - 1.20782367731330e-04, - 1.56497209466554e-04, - 2.02708936328495e-04, - 2.62459799331951e-04, - 3.39645244168985e-04, - 4.39234443000422e-04, - 5.67535660104533e-04, - 7.32507615725537e-04, - 9.44112105452451e-04, - 1.21469317686978e-03, - 1.55935306118224e-03, - 1.99627451141338e-03, - 2.54691493736552e-03, - 3.23597510213126e-03, - 4.09103436509565e-03, - 5.14175977083962e-03, - 6.41865096062317e-03, - 7.95137940306351e-03, - 9.76689999624100e-03, - 1.18876139251364e-02, - 1.43298947643919e-02, - 1.71032279460271e-02, - 2.02100733925079e-02, - 2.36463971369542e-02, - 2.74026915728357e-02, - 3.14652506132444e-02, - 3.58174829282429e-02, - 4.04411060163317e-02, - 4.53171343973807e-02, - 5.04266347950069e-02, - 5.57512610084339e-02, - 6.12736019390519e-02, - 6.69773829498255e-02, - 7.28475589986517e-02, - 7.88703322292727e-02, - 8.50331197801452e-02, - 9.13244910278679e-02, - 9.77340879783772e-02, - 1.04252538208639e-01, - 1.10871366547237e-01, - 1.17582909372878e-01, - 1.24380233801599e-01, - 1.31257062945031e-01, - 1.38207707707289e-01, - 1.45227005135651e-01, - 1.52310263065985e-01, - 1.59453210652156e-01, - 1.66651954293987e-01, - 1.73902938455578e-01, - 1.81202910873333e-01, - 1.88548891679097e-01, - 1.95938145999193e-01, - 2.03368159629765e-01, - 2.10836617429103e-01, - 2.18341384106561e-01, - 2.25880487124065e-01, - 2.33452101459503e-01, - 2.41054536011681e-01, - 2.48686221452762e-01, - 2.56345699358723e-01, - 2.64031612468684e-01, - 2.71742695942783e-01, - 2.79477769504149e-01, - 2.87235730364833e-01, - 2.95015546847664e-01, - 3.02816252626866e-01, - 3.10636941519503e-01, - 3.18476762768082e-01, - 3.26334916761672e-01, - 3.34210651149156e-01, - 3.42103257303627e-01, - 3.50012067101685e-01, - 3.57936449985571e-01, - 3.65875810279643e-01, - 3.73829584735962e-01, - 3.81797240286494e-01, - 3.89778271981947e-01, - 3.97772201099286e-01, - 4.05778573402340e-01, - 4.13796957540671e-01, - 4.21826943574548e-01, - 4.29868141614175e-01, - 4.37920180563205e-01, - 4.45982706956990e-01, - 4.54055383887562e-01, - 4.62137890007651e-01, - 4.70229918607142e-01, - 4.78331176755675e-01, - 4.86441384506059e-01, - 4.94560274153348e-01, - 5.02687589545177e-01, - 5.10823085439086e-01, - 5.18966526903235e-01, - 5.27117688756998e-01, - 5.35276355048428e-01, - 5.43442318565661e-01, - 5.51615380379768e-01, - 5.59795349416641e-01, - 5.67982042055800e-01, - 5.76175281754088e-01, - 5.84374898692498e-01, - 5.92580729444440e-01, - 6.00792616663950e-01, - 6.09010408792398e-01, - 6.17233959782450e-01, - 6.25463128838069e-01, - 6.33697780169485e-01, - 6.41937782762089e-01, - 6.50183010158361e-01, - 6.58433340251944e-01, - 6.66688655093089e-01, - 6.74948840704708e-01, - 6.83213786908386e-01, - 6.91483387159697e-01, - 6.99757538392251e-01, - 7.08036140869916e-01, - 7.16319098046733e-01, - 7.24606316434025e-01, - 7.32897705474271e-01, - 7.41193177421404e-01, - 7.49492647227008e-01, - 7.57796032432224e-01, - 7.66103253064927e-01, - 7.74414231541921e-01, - 7.82728892575836e-01, - 7.91047163086478e-01, - 7.99368972116378e-01, - 8.07694250750291e-01, - 8.16022932038457e-01, - 8.24354950923382e-01, - 8.32690244169987e-01, - 8.41028750298844e-01, - 8.49370409522600e-01, - 8.57715163684985e-01, - 8.66062956202683e-01, - 8.74413732009721e-01, - 8.82767437504206e-01, - 8.91124020497459e-01, - 8.99483430165226e-01, - 9.07845617001021e-01, - 9.16210532771399e-01, - 9.24578130473112e-01, - 9.32948364292029e-01, - 9.41321189563734e-01, - 9.49696562735755e-01, - 9.58074441331298e-01, - 9.66454783914439e-01, - 9.74837550056705e-01, - 9.83222700304978e-01, - 9.91610196150662e-01, - 1.00000000000000e00, - ] - ) + def construct_eko_parser(subparsers): parser = subparsers.add_parser("produce_eko", help="Produce the eko for the specified theory. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points. The eko will be dumped in the provided path.") @@ -307,7 +108,7 @@ def main(): } t_card_info = {} if args.actions == "evolve": - cli_evolven3fit_new( + cli.cli_evolven3fit_new( args.configuration_folder, args.q_fin, args.q_points, @@ -328,7 +129,7 @@ def main(): logger_.addHandler(stdout_log) if args.x_grid_ini is None: if args.x_grid_points is None: - x_grid = XGRID + x_grid = cli.XGRID else: raise ValueError( "x_grid_ini and x_grid_points must be specified either both or none of them" @@ -344,39 +145,5 @@ def main(): ) eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, log, args.dump) - -def cli_evolven3fit_new( - configuration_folder, q_fin, q_points, op_card_info, t_card_info, dump, load, force -): - """Evolves the fitted PDFs. - - The q_grid starts at the Q0 given by the theory but - the last point is q_fin and its number of - points can be specified by q_points. If just one of the - two is not specified by the user, the default grid - will be used. - - If a path is given for the dump option, the eko - will be dumped in that path after the computation. - - If a path is given for the load option, the eko - to be used for the evolution will be loaded from that - path. - - The two options are mutually exclusive. - """ - utils.check_is_a_fit(configuration_folder) - return evolve.evolve_fit( - configuration_folder, - q_fin, - q_points, - op_card_info, - t_card_info, - force, - load, - dump, - ) - - if __name__ == "__main__": main() From 2b8dd5a9602ac77bb0eea3c545a6697c01891b0c Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 28 Oct 2022 11:31:36 +0200 Subject: [PATCH 181/212] Change name of log to _logger --- n3fit/src/evolven3fit_new/evolve.py | 4 ++-- n3fit/src/n3fit/scripts/evolven3fit_new.py | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index cab45dc8f6..5a23682574 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -14,7 +14,7 @@ from . import utils, eko_utils -log = logging.getLogger(__name__) +_logger = logging.getLogger(__name__) LOG_FILE = "evolven3fit_new.log" @@ -72,7 +72,7 @@ def evolve_fit( log.setFormatter( logging.Formatter(LOGGING_SETTINGS["formatter"]) ) - for logger in (log, *[logging.getLogger("eko")]): + for logger in (_logger, *[logging.getLogger("eko")]): logger.handlers = [] logger.setLevel(LOGGING_SETTINGS["level"]) logger.addHandler(log_file) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index c7e7bc4763..7e37cd0940 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -9,7 +9,7 @@ from evolven3fit_new import eko_utils, evolve, cli -log = logging.getLogger(__name__) +_logger = logging.getLogger(__name__) def construct_eko_parser(subparsers): @@ -123,7 +123,7 @@ def main(): stdout_log.setLevel(evolve.LOGGING_SETTINGS["level"]) stdout_log.setFormatter( evolve.LOGGING_SETTINGS["formatter"]) - for logger_ in (log, *[logging.getLogger("eko")]): + for logger_ in (_logger, *[logging.getLogger("eko")]): logger_.handlers = [] logger_.setLevel(evolve.LOGGING_SETTINGS["level"]) logger_.addHandler(stdout_log) @@ -143,7 +143,7 @@ def main(): tcard, opcard = eko_utils.construct_eko_cards( args.theoryID, args.q_fin, args.q_points, x_grid, op_card_info, t_card_info ) - eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, log, args.dump) + eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, _logger, args.dump) if __name__ == "__main__": main() From 92bc1c84d0b613c31480f7dd5b22f401286ed334 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 28 Oct 2022 11:36:15 +0200 Subject: [PATCH 182/212] Catch only FileNotFoundError when loading eko --- n3fit/src/evolven3fit_new/evolve.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 5a23682574..60f22149c8 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -96,7 +96,7 @@ def evolve_fit( log.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) - except: + except FileNotFoundError: log.info(f"eko not found in theory {theoryID}, we will construct it") eko_op = eko_utils.construct_eko_for_fit(theory, op, log, dump_eko) pass From 7fdbbf8e3f8b77d806469788ca42db6464e08824 Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Fri, 28 Oct 2022 15:14:27 +0200 Subject: [PATCH 183/212] Revert quickcard2 to master version --- n3fit/src/n3fit/tests/regressions/quickcard_2.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/n3fit/src/n3fit/tests/regressions/quickcard_2.json b/n3fit/src/n3fit/tests/regressions/quickcard_2.json index b4b17419a6..c84bc93421 100644 --- a/n3fit/src/n3fit/tests/regressions/quickcard_2.json +++ b/n3fit/src/n3fit/tests/regressions/quickcard_2.json @@ -49,8 +49,8 @@ "trainable": true } ], - "stop_epoch": 314, - "best_epoch": 12, + "stop_epoch": 313, + "best_epoch": 11, "erf_tr": 3.859008312225342, "erf_vl": 3.781097650527954, "chi2": 2.1904516220092773, From e2733b919979767a7aa7b24721d1920073937787 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 7 Nov 2022 11:39:26 +0100 Subject: [PATCH 184/212] Fix logs --- n3fit/src/evolven3fit_new/eko_utils.py | 7 +++++-- n3fit/src/evolven3fit_new/evolve.py | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 04b648f737..7bc499317b 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -5,6 +5,9 @@ from . import utils from typing import Any, Dict, Optional +import logging + +_logger = logging.getLogger(__name__) def construct_eko_cards(theoryID, q_fin, q_points, x_grid, op_card_dict: Optional[Dict[str, Any]] = None, t_card_dict: Optional[Dict[str, Any]] = None): """Return the theory and operator cards used to construct the eko. @@ -67,9 +70,9 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): if save_path is not None: # Here we want to catch all possible exceptions in order to avoid losing the computed eko try: - log.info(f"Saving computed eko to : {save_path}") + _logger.info(f"Saving computed eko to : {save_path}") eko_op.dump_tar(save_path) except: - log.error(f"Error saving the eko to : {save_path}") + _logger.error(f"Error saving the eko to : {save_path}") pass return eko_op diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 60f22149c8..c48b6fface 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -89,15 +89,15 @@ def evolve_fit( ) if eko_path is not None: eko_path = pathlib.Path(eko_path) - log.info(f"Loading eko from : {eko_path}") + _logger.info(f"Loading eko from : {eko_path}") eko_op = output.Output.load_tar(eko_path) else: try: - log.info(f"Loading eko from theory {theoryID}") + _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) except FileNotFoundError: - log.info(f"eko not found in theory {theoryID}, we will construct it") + _logger.info(f"eko not found in theory {theoryID}, we will construct it") eko_op = eko_utils.construct_eko_for_fit(theory, op, log, dump_eko) pass eko_op.xgrid_reshape(targetgrid=x_grid, inputgrid=x_grid) From 86d14404c2ce12a30a1626bfc1184ea576c3cb9c Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 7 Nov 2022 11:42:22 +0100 Subject: [PATCH 185/212] Remove comment --- n3fit/src/evolven3fit_new/__init__.py | 4 ---- 1 file changed, 4 deletions(-) diff --git a/n3fit/src/evolven3fit_new/__init__.py b/n3fit/src/evolven3fit_new/__init__.py index e3e0a4e9cc..e69de29bb2 100644 --- a/n3fit/src/evolven3fit_new/__init__.py +++ b/n3fit/src/evolven3fit_new/__init__.py @@ -1,4 +0,0 @@ -""" -The evolven3fit_new module provides the necessary tools to evolve a fit -using eko and to prepare it for postfit. -""" \ No newline at end of file From 2cf6188f834b99178da3c5803403625df888a543 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 7 Nov 2022 11:43:15 +0100 Subject: [PATCH 186/212] Add new line --- n3fit/src/evolven3fit_new/cli.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/cli.py b/n3fit/src/evolven3fit_new/cli.py index 7b9d199afb..07736d6b15 100644 --- a/n3fit/src/evolven3fit_new/cli.py +++ b/n3fit/src/evolven3fit_new/cli.py @@ -233,4 +233,5 @@ def cli_evolven3fit_new( force, load, dump, - ) \ No newline at end of file + ) + \ No newline at end of file From 7f4d4758c1eaf6a7cb318cf93c78b87694a09bf1 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 7 Nov 2022 11:46:43 +0100 Subject: [PATCH 187/212] Import XGRID from evolven3fit_new.cli for writer --- n3fit/src/n3fit/io/writer.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/n3fit/src/n3fit/io/writer.py b/n3fit/src/n3fit/io/writer.py index 9eb81068ce..7f832bed92 100644 --- a/n3fit/src/n3fit/io/writer.py +++ b/n3fit/src/n3fit/io/writer.py @@ -11,7 +11,7 @@ import validphys import n3fit from n3fit import vpinterface - +from evolven3fit_new.cli import XGRID class WriterWrapper: def __init__(self, replica_number, pdf_object, stopping_object, q2, timings): @@ -249,8 +249,8 @@ def storefit( q_0^2 """ # build exportgrid - xgrid = np.array([1.00000000000000e-09, 1.29708482343957e-09, 1.68242903474257e-09, 2.18225315420583e-09, 2.83056741739819e-09, 3.67148597892941e-09, 4.76222862935315e-09, 6.17701427376180e-09, 8.01211109898438e-09, 1.03923870607245e-08, 1.34798064073805e-08, 1.74844503691778e-08, 2.26788118881103e-08, 2.94163370300835e-08, 3.81554746595878e-08, 4.94908707232129e-08, 6.41938295708371e-08, 8.32647951986859e-08, 1.08001422993829e-07, 1.40086873081130e-07, 1.81704331793772e-07, 2.35685551545377e-07, 3.05703512595323e-07, 3.96522309841747e-07, 5.14321257236570e-07, 6.67115245136676e-07, 8.65299922973143e-07, 1.12235875241487e-06, 1.45577995547683e-06, 1.88824560514613e-06, 2.44917352454946e-06, 3.17671650028717e-06, 4.12035415232797e-06, 5.34425265752090e-06, 6.93161897806315e-06, 8.99034258238145e-06, 1.16603030112258e-05, 1.51228312288769e-05, 1.96129529349212e-05, 2.54352207134502e-05, 3.29841683435992e-05, 4.27707053972016e-05, 5.54561248105849e-05, 7.18958313632514e-05, 9.31954227979614e-05, 1.20782367731330e-04, 1.56497209466554e-04, 2.02708936328495e-04, 2.62459799331951e-04, 3.39645244168985e-04, 4.39234443000422e-04, 5.67535660104533e-04, 7.32507615725537e-04, 9.44112105452451e-04, 1.21469317686978e-03, 1.55935306118224e-03, 1.99627451141338e-03, 2.54691493736552e-03, 3.23597510213126e-03, 4.09103436509565e-03, 5.14175977083962e-03, 6.41865096062317e-03, 7.95137940306351e-03, 9.76689999624100e-03, 1.18876139251364e-02, 1.43298947643919e-02, 1.71032279460271e-02, 2.02100733925079e-02, 2.36463971369542e-02, 2.74026915728357e-02, 3.14652506132444e-02, 3.58174829282429e-02, 4.04411060163317e-02, 4.53171343973807e-02, 5.04266347950069e-02, 5.57512610084339e-02, 6.12736019390519e-02, 6.69773829498255e-02, 7.28475589986517e-02, 7.88703322292727e-02, 8.50331197801452e-02, 9.13244910278679e-02, 9.77340879783772e-02, 1.04252538208639e-01, 1.10871366547237e-01, 1.17582909372878e-01, 1.24380233801599e-01, 1.31257062945031e-01, 1.38207707707289e-01, 1.45227005135651e-01, 1.52310263065985e-01, 1.59453210652156e-01, 1.66651954293987e-01, 1.73902938455578e-01, 1.81202910873333e-01, 1.88548891679097e-01, 1.95938145999193e-01, 2.03368159629765e-01, 2.10836617429103e-01, 2.18341384106561e-01, 2.25880487124065e-01, 2.33452101459503e-01, 2.41054536011681e-01, 2.48686221452762e-01, 2.56345699358723e-01, 2.64031612468684e-01, 2.71742695942783e-01, 2.79477769504149e-01, 2.87235730364833e-01, 2.95015546847664e-01, 3.02816252626866e-01, 3.10636941519503e-01, 3.18476762768082e-01, 3.26334916761672e-01, 3.34210651149156e-01, 3.42103257303627e-01, 3.50012067101685e-01, 3.57936449985571e-01, 3.65875810279643e-01, 3.73829584735962e-01, 3.81797240286494e-01, 3.89778271981947e-01, 3.97772201099286e-01, 4.05778573402340e-01, 4.13796957540671e-01, 4.21826943574548e-01, 4.29868141614175e-01, 4.37920180563205e-01, 4.45982706956990e-01, 4.54055383887562e-01, 4.62137890007651e-01, 4.70229918607142e-01, 4.78331176755675e-01, 4.86441384506059e-01, 4.94560274153348e-01, 5.02687589545177e-01, 5.10823085439086e-01, 5.18966526903235e-01, 5.27117688756998e-01, 5.35276355048428e-01, 5.43442318565661e-01, 5.51615380379768e-01, 5.59795349416641e-01, 5.67982042055800e-01, 5.76175281754088e-01, 5.84374898692498e-01, 5.92580729444440e-01, 6.00792616663950e-01, 6.09010408792398e-01, 6.17233959782450e-01, 6.25463128838069e-01, 6.33697780169485e-01, 6.41937782762089e-01, 6.50183010158361e-01, 6.58433340251944e-01, 6.66688655093089e-01, 6.74948840704708e-01, 6.83213786908386e-01, 6.91483387159697e-01, 6.99757538392251e-01, 7.08036140869916e-01, 7.16319098046733e-01, 7.24606316434025e-01, 7.32897705474271e-01, 7.41193177421404e-01, 7.49492647227008e-01, 7.57796032432224e-01, 7.66103253064927e-01, 7.74414231541921e-01, 7.82728892575836e-01, 7.91047163086478e-01, 7.99368972116378e-01, 8.07694250750291e-01, 8.16022932038457e-01, 8.24354950923382e-01, 8.32690244169987e-01, 8.41028750298844e-01, 8.49370409522600e-01, 8.57715163684985e-01, 8.66062956202683e-01, 8.74413732009721e-01, 8.82767437504206e-01, 8.91124020497459e-01, 8.99483430165226e-01, 9.07845617001021e-01, 9.16210532771399e-01, 9.24578130473112e-01, 9.32948364292029e-01, 9.41321189563734e-01, 9.49696562735755e-01, 9.58074441331298e-01, 9.66454783914439e-01, 9.74837550056705e-01, 9.83222700304978e-01, 9.91610196150662e-01, 1.00000000000000e+00]).reshape(-1, 1) - + xgrid = XGRID + result = pdf_object(xgrid, flavours="n3fit").squeeze() lha = evln2lha(result.T).T From 841c123d1fa3f3f50c518df28718578115e40f22 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 7 Nov 2022 11:52:11 +0100 Subject: [PATCH 188/212] Write filter absolute path in error message --- n3fit/src/evolven3fit_new/utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/evolven3fit_new/utils.py b/n3fit/src/evolven3fit_new/utils.py index 43a00464e5..afbfa6f445 100644 --- a/n3fit/src/evolven3fit_new/utils.py +++ b/n3fit/src/evolven3fit_new/utils.py @@ -195,7 +195,7 @@ def check_is_a_fit(config_folder): usr_path = pathlib.Path(config_folder) filter_path = usr_path / "filter.yml" if not filter_path.is_file(): - raise ValueError("filter.yaml file not found: provided path is not valid") + raise ValueError("filter.yaml file not found: the path" + str(filter_path.absolute()) + " is not valid") nnfitpath = usr_path / "nnfit" if not nnfitpath.is_dir(): raise ValueError("nnfit folder not found: provided path is not valid") From 2388e43160cef783e191e4d00852c1897777914f Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 8 Nov 2022 10:25:10 +0100 Subject: [PATCH 189/212] Avoid long line in evolven3fit_new --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 7e37cd0940..9e5c055679 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -14,7 +14,10 @@ def construct_eko_parser(subparsers): parser = subparsers.add_parser("produce_eko", - help="Produce the eko for the specified theory. The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points. The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points. The eko will be dumped in the provided path.") + help=("Produce the eko for the specified theory." + "The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points." + "The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points." + "The eko will be dumped in the provided path.") parser.add_argument( "theoryID", type=int, help="ID of the theory used to produce the eko" ) From 2eb9fc0db30f0caaa201f67c85175611ff4115c8 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 8 Nov 2022 10:26:39 +0100 Subject: [PATCH 190/212] Reformat eko_utils --- n3fit/src/evolven3fit_new/eko_utils.py | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 7bc499317b..63648391f2 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -1,7 +1,7 @@ from ekobox import gen_theory, gen_op from eko import run_dglap -from validphys.api import API +from validphys.api import API from . import utils from typing import Any, Dict, Optional @@ -9,16 +9,24 @@ _logger = logging.getLogger(__name__) -def construct_eko_cards(theoryID, q_fin, q_points, x_grid, op_card_dict: Optional[Dict[str, Any]] = None, t_card_dict: Optional[Dict[str, Any]] = None): + +def construct_eko_cards( + theoryID, + q_fin, + q_points, + x_grid, + op_card_dict: Optional[Dict[str, Any]] = None, + t_card_dict: Optional[Dict[str, Any]] = None, +): """Return the theory and operator cards used to construct the eko. - + theoryID is the ID of the theory for which we are computing the theory and operator card. q_fin is the final point of the q grid while q_points is the number of points of the grid. - x_grid is the x grid to be used. + x_grid is the x grid to be used. - op_card_dict and t_card_dict are optional updates that can be provided respectively to the + op_card_dict and t_card_dict are optional updates that can be provided respectively to the operator card and to the theory card. """ if t_card_dict is None: @@ -26,7 +34,7 @@ def construct_eko_cards(theoryID, q_fin, q_points, x_grid, op_card_dict: Optiona if op_card_dict is None: op_card_dict = {} # theory_card construction - theory = API.theoryid(theoryid = theoryID).get_description() + theory = API.theoryid(theoryid=theoryID).get_description() theory.pop("FNS") theory.update(t_card_dict) t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) From f951600aff7a305125437acde61e63c5bdc31ddc Mon Sep 17 00:00:00 2001 From: Giacomo Magni Date: Wed, 9 Nov 2022 10:25:49 +0100 Subject: [PATCH 191/212] fix help in construct_eko_parser --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 23 ++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 9e5c055679..0a64039176 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -13,11 +13,16 @@ def construct_eko_parser(subparsers): - parser = subparsers.add_parser("produce_eko", - help=("Produce the eko for the specified theory." - "The q_grid starts at the Q0 given by the theory but the last point is q_fin and its number of points can be specified by q_points." - "The x_grid starts at x_grid_ini and ends at 1.0 and contains the provided number of points." - "The eko will be dumped in the provided path.") + parser = subparsers.add_parser( + "produce_eko", + help=( + """Produce the eko for the specified theory. + The q_grid starts at the Q0 given by the theory but the last point is q_fin + and its number of points can be specified by q_points. + The x_grid starts at x_grid_ini and ends at 1.0 and contains the + provided number of points. The eko will be dumped in the provided path.""" + ), + ) parser.add_argument( "theoryID", type=int, help="ID of the theory used to produce the eko" ) @@ -42,6 +47,7 @@ def construct_eko_parser(subparsers): ) return parser + def construct_evolven3fit_parser(subparsers): parser = subparsers.add_parser( "evolve", @@ -73,6 +79,7 @@ def construct_evolven3fit_parser(subparsers): ) return parser + def main(): parser = ArgumentParser( description="evolven3fit_new - a script with tools to evolve PDF fits" @@ -101,7 +108,7 @@ def main(): subparsers = parser.add_subparsers(title="actions", dest="actions") eko_parser = construct_eko_parser(subparsers) evolven3fit_parser = construct_evolven3fit_parser(subparsers) - + args = parser.parse_args() op_card_info = { "ev_op_max_order": 10, @@ -124,8 +131,7 @@ def main(): elif args.actions == "produce_eko": stdout_log = logging.StreamHandler(sys.stdout) stdout_log.setLevel(evolve.LOGGING_SETTINGS["level"]) - stdout_log.setFormatter( - evolve.LOGGING_SETTINGS["formatter"]) + stdout_log.setFormatter(evolve.LOGGING_SETTINGS["formatter"]) for logger_ in (_logger, *[logging.getLogger("eko")]): logger_.handlers = [] logger_.setLevel(evolve.LOGGING_SETTINGS["level"]) @@ -148,5 +154,6 @@ def main(): ) eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, _logger, args.dump) + if __name__ == "__main__": main() From d58790a791783a6934639a4aad0cc9671dac2889 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 28 Nov 2022 16:41:17 +0100 Subject: [PATCH 192/212] Remove unused import --- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 9067a69f1c..3295919174 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -2,9 +2,7 @@ import logging from numpy.testing import assert_allclose import numpy as np -import pytest from validphys.pdfbases import PIDS_DICT -from validphys.loader import Loader from evolven3fit_new import utils, eko_utils REGRESSION_FOLDER = pathlib.Path(__file__).with_name("regressions") From 5ca9f2656bc4ff8a8e8c8b98b4cac7d7bea6582b Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 28 Nov 2022 16:42:50 +0100 Subject: [PATCH 193/212] Fix docstring --- n3fit/src/evolven3fit_new/eko_utils.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 63648391f2..66ec5ba93f 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -18,14 +18,11 @@ def construct_eko_cards( op_card_dict: Optional[Dict[str, Any]] = None, t_card_dict: Optional[Dict[str, Any]] = None, ): - """Return the theory and operator cards used to construct the eko. - + """ + Return the theory and operator cards used to construct the eko. theoryID is the ID of the theory for which we are computing the theory and operator card. - q_fin is the final point of the q grid while q_points is the number of points of the grid. - x_grid is the x grid to be used. - op_card_dict and t_card_dict are optional updates that can be provided respectively to the operator card and to the theory card. """ From b03b580591e69af1ba3bfc8e7fe56c1569cb72e9 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 28 Nov 2022 16:52:54 +0100 Subject: [PATCH 194/212] Substitute theory_ to t_ --- n3fit/src/evolven3fit_new/cli.py | 4 ++-- n3fit/src/evolven3fit_new/eko_utils.py | 20 ++++++++++---------- n3fit/src/evolven3fit_new/evolve.py | 6 +++--- n3fit/src/n3fit/scripts/evolven3fit_new.py | 6 +++--- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/n3fit/src/evolven3fit_new/cli.py b/n3fit/src/evolven3fit_new/cli.py index 07736d6b15..89425adde3 100644 --- a/n3fit/src/evolven3fit_new/cli.py +++ b/n3fit/src/evolven3fit_new/cli.py @@ -204,7 +204,7 @@ ) def cli_evolven3fit_new( - configuration_folder, q_fin, q_points, op_card_info, t_card_info, dump, load, force + configuration_folder, q_fin, q_points, op_card_info, theory_card_info, dump, load, force ): """Evolves the fitted PDFs. @@ -229,7 +229,7 @@ def cli_evolven3fit_new( q_fin, q_points, op_card_info, - t_card_info, + theory_card_info, force, load, dump, diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 66ec5ba93f..d6f9f9417a 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -16,25 +16,25 @@ def construct_eko_cards( q_points, x_grid, op_card_dict: Optional[Dict[str, Any]] = None, - t_card_dict: Optional[Dict[str, Any]] = None, + theory_card_dict: Optional[Dict[str, Any]] = None, ): """ Return the theory and operator cards used to construct the eko. theoryID is the ID of the theory for which we are computing the theory and operator card. q_fin is the final point of the q grid while q_points is the number of points of the grid. x_grid is the x grid to be used. - op_card_dict and t_card_dict are optional updates that can be provided respectively to the + op_card_dict and theory_card_dict are optional updates that can be provided respectively to the operator card and to the theory card. """ - if t_card_dict is None: - t_card_dict = {} + if theory_card_dict is None: + theory_card_dict = {} if op_card_dict is None: op_card_dict = {} # theory_card construction theory = API.theoryid(theoryid=theoryID).get_description() theory.pop("FNS") - theory.update(t_card_dict) - t_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) + theory.update(theory_card_dict) + theory_card = gen_theory.gen_theory_card(theory["PTO"], theory["Q0"], update=theory) # construct operator card q2_grid = utils.generate_q2grid( theory["Q0"], @@ -44,16 +44,16 @@ def construct_eko_cards( ) op_card = gen_op.gen_op_card(q2_grid, update={"interpolation_xgrid": x_grid}) op_card.update(op_card_dict) - return t_card, op_card + return theory_card, op_card -def construct_eko_for_fit(t_card, op_card, log, save_path=None): +def construct_eko_for_fit(theory_card, op_card, log, save_path=None): """ Construct the eko operator needed for evolution of fitted pdfs Parameters ---------- - t_card: dict + theory_card: dict theory card to use for the eko op_card: dict operator card to use for the eko @@ -71,7 +71,7 @@ def construct_eko_for_fit(t_card, op_card, log, save_path=None): raise FileNotFoundError( f"Path where eko should be dumped does not exist: {save_path}" ) - eko_op = run_dglap(t_card, op_card) + eko_op = run_dglap(theory_card, op_card) if save_path is not None: # Here we want to catch all possible exceptions in order to avoid losing the computed eko try: diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index c48b6fface..7ba0348dc4 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -27,7 +27,7 @@ def evolve_fit( q_fin, q_points, op_card_dict, - t_card_dict, + theory_card_dict, force, eko_path=None, dump_eko=None, @@ -46,7 +46,7 @@ def evolve_fit( number of points in the q_grid op_card_dict: dict user settings for the op_card - t_card_dict: dict + theory_card_dict: dict user settings for the t_card force: bool whether to force the evolution to be done again @@ -85,7 +85,7 @@ def evolve_fit( ).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, t_card_dict + theoryID, q_fin, q_points, x_grid, op_card_dict, theory_card_dict ) if eko_path is not None: eko_path = pathlib.Path(eko_path) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 0a64039176..5cc45d23d2 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -116,14 +116,14 @@ def main(): "n_integration_cores": args.n_cores, "backward_inversion": "expanded", } - t_card_info = {} + theory_card_info = {} if args.actions == "evolve": cli.cli_evolven3fit_new( args.configuration_folder, args.q_fin, args.q_points, op_card_info, - t_card_info, + theory_card_info, args.dump, args.load, args.force, @@ -150,7 +150,7 @@ def main(): else: x_grid = np.geomspace(args.x_grid_ini, 1.0, args.x_grid_points) tcard, opcard = eko_utils.construct_eko_cards( - args.theoryID, args.q_fin, args.q_points, x_grid, op_card_info, t_card_info + args.theoryID, args.q_fin, args.q_points, x_grid, op_card_info, theory_card_info ) eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, _logger, args.dump) From 2f466268f113f4207fc48a21f18144cc236cdeac Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 28 Nov 2022 16:54:29 +0100 Subject: [PATCH 195/212] Change conf_folder to fit_folder --- n3fit/src/evolven3fit_new/evolve.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 7ba0348dc4..ac6789e0cc 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -23,7 +23,7 @@ } def evolve_fit( - conf_folder, + fit_folder, q_fin, q_points, op_card_dict, @@ -33,12 +33,12 @@ def evolve_fit( dump_eko=None, ): """ - Evolves all the fitted replica in conf_folder/nnfit + Evolves all the fitted replica in fit_folder/nnfit Parameters ---------- - conf_folder: str or pathlib.Path + fit_folder: str or pathlib.Path path to the folder containing the fit q_fin: float final point of the q_grid @@ -57,7 +57,7 @@ def evolve_fit( path where the eko is dumped (if None the eko won't be stored) """ - log_file = pathlib.Path(conf_folder) / LOG_FILE + log_file = pathlib.Path(fit_folder) / LOG_FILE if log_file.exists(): if force: log_file.unlink() @@ -78,7 +78,7 @@ def evolve_fit( logger.addHandler(log_file) logger.addHandler(stdout_log) - usr_path = pathlib.Path(conf_folder) + 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"] From 7c77b45fe5ed7d150ab9ea1bdca7ca88ebf5aed5 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 28 Nov 2022 16:57:19 +0100 Subject: [PATCH 196/212] Run black on cli.py --- n3fit/src/evolven3fit_new/cli.py | 409 ++++++++++++++++--------------- 1 file changed, 208 insertions(+), 201 deletions(-) diff --git a/n3fit/src/evolven3fit_new/cli.py b/n3fit/src/evolven3fit_new/cli.py index 89425adde3..92ecbdf231 100644 --- a/n3fit/src/evolven3fit_new/cli.py +++ b/n3fit/src/evolven3fit_new/cli.py @@ -3,208 +3,216 @@ import numpy as np XGRID = np.array( - [ - 1.00000000000000e-09, - 1.29708482343957e-09, - 1.68242903474257e-09, - 2.18225315420583e-09, - 2.83056741739819e-09, - 3.67148597892941e-09, - 4.76222862935315e-09, - 6.17701427376180e-09, - 8.01211109898438e-09, - 1.03923870607245e-08, - 1.34798064073805e-08, - 1.74844503691778e-08, - 2.26788118881103e-08, - 2.94163370300835e-08, - 3.81554746595878e-08, - 4.94908707232129e-08, - 6.41938295708371e-08, - 8.32647951986859e-08, - 1.08001422993829e-07, - 1.40086873081130e-07, - 1.81704331793772e-07, - 2.35685551545377e-07, - 3.05703512595323e-07, - 3.96522309841747e-07, - 5.14321257236570e-07, - 6.67115245136676e-07, - 8.65299922973143e-07, - 1.12235875241487e-06, - 1.45577995547683e-06, - 1.88824560514613e-06, - 2.44917352454946e-06, - 3.17671650028717e-06, - 4.12035415232797e-06, - 5.34425265752090e-06, - 6.93161897806315e-06, - 8.99034258238145e-06, - 1.16603030112258e-05, - 1.51228312288769e-05, - 1.96129529349212e-05, - 2.54352207134502e-05, - 3.29841683435992e-05, - 4.27707053972016e-05, - 5.54561248105849e-05, - 7.18958313632514e-05, - 9.31954227979614e-05, - 1.20782367731330e-04, - 1.56497209466554e-04, - 2.02708936328495e-04, - 2.62459799331951e-04, - 3.39645244168985e-04, - 4.39234443000422e-04, - 5.67535660104533e-04, - 7.32507615725537e-04, - 9.44112105452451e-04, - 1.21469317686978e-03, - 1.55935306118224e-03, - 1.99627451141338e-03, - 2.54691493736552e-03, - 3.23597510213126e-03, - 4.09103436509565e-03, - 5.14175977083962e-03, - 6.41865096062317e-03, - 7.95137940306351e-03, - 9.76689999624100e-03, - 1.18876139251364e-02, - 1.43298947643919e-02, - 1.71032279460271e-02, - 2.02100733925079e-02, - 2.36463971369542e-02, - 2.74026915728357e-02, - 3.14652506132444e-02, - 3.58174829282429e-02, - 4.04411060163317e-02, - 4.53171343973807e-02, - 5.04266347950069e-02, - 5.57512610084339e-02, - 6.12736019390519e-02, - 6.69773829498255e-02, - 7.28475589986517e-02, - 7.88703322292727e-02, - 8.50331197801452e-02, - 9.13244910278679e-02, - 9.77340879783772e-02, - 1.04252538208639e-01, - 1.10871366547237e-01, - 1.17582909372878e-01, - 1.24380233801599e-01, - 1.31257062945031e-01, - 1.38207707707289e-01, - 1.45227005135651e-01, - 1.52310263065985e-01, - 1.59453210652156e-01, - 1.66651954293987e-01, - 1.73902938455578e-01, - 1.81202910873333e-01, - 1.88548891679097e-01, - 1.95938145999193e-01, - 2.03368159629765e-01, - 2.10836617429103e-01, - 2.18341384106561e-01, - 2.25880487124065e-01, - 2.33452101459503e-01, - 2.41054536011681e-01, - 2.48686221452762e-01, - 2.56345699358723e-01, - 2.64031612468684e-01, - 2.71742695942783e-01, - 2.79477769504149e-01, - 2.87235730364833e-01, - 2.95015546847664e-01, - 3.02816252626866e-01, - 3.10636941519503e-01, - 3.18476762768082e-01, - 3.26334916761672e-01, - 3.34210651149156e-01, - 3.42103257303627e-01, - 3.50012067101685e-01, - 3.57936449985571e-01, - 3.65875810279643e-01, - 3.73829584735962e-01, - 3.81797240286494e-01, - 3.89778271981947e-01, - 3.97772201099286e-01, - 4.05778573402340e-01, - 4.13796957540671e-01, - 4.21826943574548e-01, - 4.29868141614175e-01, - 4.37920180563205e-01, - 4.45982706956990e-01, - 4.54055383887562e-01, - 4.62137890007651e-01, - 4.70229918607142e-01, - 4.78331176755675e-01, - 4.86441384506059e-01, - 4.94560274153348e-01, - 5.02687589545177e-01, - 5.10823085439086e-01, - 5.18966526903235e-01, - 5.27117688756998e-01, - 5.35276355048428e-01, - 5.43442318565661e-01, - 5.51615380379768e-01, - 5.59795349416641e-01, - 5.67982042055800e-01, - 5.76175281754088e-01, - 5.84374898692498e-01, - 5.92580729444440e-01, - 6.00792616663950e-01, - 6.09010408792398e-01, - 6.17233959782450e-01, - 6.25463128838069e-01, - 6.33697780169485e-01, - 6.41937782762089e-01, - 6.50183010158361e-01, - 6.58433340251944e-01, - 6.66688655093089e-01, - 6.74948840704708e-01, - 6.83213786908386e-01, - 6.91483387159697e-01, - 6.99757538392251e-01, - 7.08036140869916e-01, - 7.16319098046733e-01, - 7.24606316434025e-01, - 7.32897705474271e-01, - 7.41193177421404e-01, - 7.49492647227008e-01, - 7.57796032432224e-01, - 7.66103253064927e-01, - 7.74414231541921e-01, - 7.82728892575836e-01, - 7.91047163086478e-01, - 7.99368972116378e-01, - 8.07694250750291e-01, - 8.16022932038457e-01, - 8.24354950923382e-01, - 8.32690244169987e-01, - 8.41028750298844e-01, - 8.49370409522600e-01, - 8.57715163684985e-01, - 8.66062956202683e-01, - 8.74413732009721e-01, - 8.82767437504206e-01, - 8.91124020497459e-01, - 8.99483430165226e-01, - 9.07845617001021e-01, - 9.16210532771399e-01, - 9.24578130473112e-01, - 9.32948364292029e-01, - 9.41321189563734e-01, - 9.49696562735755e-01, - 9.58074441331298e-01, - 9.66454783914439e-01, - 9.74837550056705e-01, - 9.83222700304978e-01, - 9.91610196150662e-01, - 1.00000000000000e00, - ] - ) + [ + 1.00000000000000e-09, + 1.29708482343957e-09, + 1.68242903474257e-09, + 2.18225315420583e-09, + 2.83056741739819e-09, + 3.67148597892941e-09, + 4.76222862935315e-09, + 6.17701427376180e-09, + 8.01211109898438e-09, + 1.03923870607245e-08, + 1.34798064073805e-08, + 1.74844503691778e-08, + 2.26788118881103e-08, + 2.94163370300835e-08, + 3.81554746595878e-08, + 4.94908707232129e-08, + 6.41938295708371e-08, + 8.32647951986859e-08, + 1.08001422993829e-07, + 1.40086873081130e-07, + 1.81704331793772e-07, + 2.35685551545377e-07, + 3.05703512595323e-07, + 3.96522309841747e-07, + 5.14321257236570e-07, + 6.67115245136676e-07, + 8.65299922973143e-07, + 1.12235875241487e-06, + 1.45577995547683e-06, + 1.88824560514613e-06, + 2.44917352454946e-06, + 3.17671650028717e-06, + 4.12035415232797e-06, + 5.34425265752090e-06, + 6.93161897806315e-06, + 8.99034258238145e-06, + 1.16603030112258e-05, + 1.51228312288769e-05, + 1.96129529349212e-05, + 2.54352207134502e-05, + 3.29841683435992e-05, + 4.27707053972016e-05, + 5.54561248105849e-05, + 7.18958313632514e-05, + 9.31954227979614e-05, + 1.20782367731330e-04, + 1.56497209466554e-04, + 2.02708936328495e-04, + 2.62459799331951e-04, + 3.39645244168985e-04, + 4.39234443000422e-04, + 5.67535660104533e-04, + 7.32507615725537e-04, + 9.44112105452451e-04, + 1.21469317686978e-03, + 1.55935306118224e-03, + 1.99627451141338e-03, + 2.54691493736552e-03, + 3.23597510213126e-03, + 4.09103436509565e-03, + 5.14175977083962e-03, + 6.41865096062317e-03, + 7.95137940306351e-03, + 9.76689999624100e-03, + 1.18876139251364e-02, + 1.43298947643919e-02, + 1.71032279460271e-02, + 2.02100733925079e-02, + 2.36463971369542e-02, + 2.74026915728357e-02, + 3.14652506132444e-02, + 3.58174829282429e-02, + 4.04411060163317e-02, + 4.53171343973807e-02, + 5.04266347950069e-02, + 5.57512610084339e-02, + 6.12736019390519e-02, + 6.69773829498255e-02, + 7.28475589986517e-02, + 7.88703322292727e-02, + 8.50331197801452e-02, + 9.13244910278679e-02, + 9.77340879783772e-02, + 1.04252538208639e-01, + 1.10871366547237e-01, + 1.17582909372878e-01, + 1.24380233801599e-01, + 1.31257062945031e-01, + 1.38207707707289e-01, + 1.45227005135651e-01, + 1.52310263065985e-01, + 1.59453210652156e-01, + 1.66651954293987e-01, + 1.73902938455578e-01, + 1.81202910873333e-01, + 1.88548891679097e-01, + 1.95938145999193e-01, + 2.03368159629765e-01, + 2.10836617429103e-01, + 2.18341384106561e-01, + 2.25880487124065e-01, + 2.33452101459503e-01, + 2.41054536011681e-01, + 2.48686221452762e-01, + 2.56345699358723e-01, + 2.64031612468684e-01, + 2.71742695942783e-01, + 2.79477769504149e-01, + 2.87235730364833e-01, + 2.95015546847664e-01, + 3.02816252626866e-01, + 3.10636941519503e-01, + 3.18476762768082e-01, + 3.26334916761672e-01, + 3.34210651149156e-01, + 3.42103257303627e-01, + 3.50012067101685e-01, + 3.57936449985571e-01, + 3.65875810279643e-01, + 3.73829584735962e-01, + 3.81797240286494e-01, + 3.89778271981947e-01, + 3.97772201099286e-01, + 4.05778573402340e-01, + 4.13796957540671e-01, + 4.21826943574548e-01, + 4.29868141614175e-01, + 4.37920180563205e-01, + 4.45982706956990e-01, + 4.54055383887562e-01, + 4.62137890007651e-01, + 4.70229918607142e-01, + 4.78331176755675e-01, + 4.86441384506059e-01, + 4.94560274153348e-01, + 5.02687589545177e-01, + 5.10823085439086e-01, + 5.18966526903235e-01, + 5.27117688756998e-01, + 5.35276355048428e-01, + 5.43442318565661e-01, + 5.51615380379768e-01, + 5.59795349416641e-01, + 5.67982042055800e-01, + 5.76175281754088e-01, + 5.84374898692498e-01, + 5.92580729444440e-01, + 6.00792616663950e-01, + 6.09010408792398e-01, + 6.17233959782450e-01, + 6.25463128838069e-01, + 6.33697780169485e-01, + 6.41937782762089e-01, + 6.50183010158361e-01, + 6.58433340251944e-01, + 6.66688655093089e-01, + 6.74948840704708e-01, + 6.83213786908386e-01, + 6.91483387159697e-01, + 6.99757538392251e-01, + 7.08036140869916e-01, + 7.16319098046733e-01, + 7.24606316434025e-01, + 7.32897705474271e-01, + 7.41193177421404e-01, + 7.49492647227008e-01, + 7.57796032432224e-01, + 7.66103253064927e-01, + 7.74414231541921e-01, + 7.82728892575836e-01, + 7.91047163086478e-01, + 7.99368972116378e-01, + 8.07694250750291e-01, + 8.16022932038457e-01, + 8.24354950923382e-01, + 8.32690244169987e-01, + 8.41028750298844e-01, + 8.49370409522600e-01, + 8.57715163684985e-01, + 8.66062956202683e-01, + 8.74413732009721e-01, + 8.82767437504206e-01, + 8.91124020497459e-01, + 8.99483430165226e-01, + 9.07845617001021e-01, + 9.16210532771399e-01, + 9.24578130473112e-01, + 9.32948364292029e-01, + 9.41321189563734e-01, + 9.49696562735755e-01, + 9.58074441331298e-01, + 9.66454783914439e-01, + 9.74837550056705e-01, + 9.83222700304978e-01, + 9.91610196150662e-01, + 1.00000000000000e00, + ] +) + def cli_evolven3fit_new( - configuration_folder, q_fin, q_points, op_card_info, theory_card_info, dump, load, force + configuration_folder, + q_fin, + q_points, + op_card_info, + theory_card_info, + dump, + load, + force, ): """Evolves the fitted PDFs. @@ -234,4 +242,3 @@ def cli_evolven3fit_new( load, dump, ) - \ No newline at end of file From a5b460265a7266a2f4170670546975f3833c4a83 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 28 Nov 2022 16:59:18 +0100 Subject: [PATCH 197/212] Remove wrong pass --- n3fit/src/evolven3fit_new/evolve.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index ac6789e0cc..6abcf423f1 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -98,8 +98,7 @@ def evolve_fit( 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, log, dump_eko) - pass + eko_op = eko_utils.construct_eko_for_fit(theory, op, log, 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" From 842985129e30f95a38cf60259f79811c70b7acff Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 28 Nov 2022 17:01:51 +0100 Subject: [PATCH 198/212] Remove unused log --- n3fit/src/evolven3fit_new/eko_utils.py | 2 +- n3fit/src/evolven3fit_new/evolve.py | 2 +- n3fit/src/n3fit/scripts/evolven3fit_new.py | 2 +- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index d6f9f9417a..32c966a07b 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -47,7 +47,7 @@ def construct_eko_cards( return theory_card, op_card -def construct_eko_for_fit(theory_card, op_card, log, save_path=None): +def construct_eko_for_fit(theory_card, op_card, save_path=None): """ Construct the eko operator needed for evolution of fitted pdfs diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index 6abcf423f1..d749b9f534 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -98,7 +98,7 @@ def evolve_fit( 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, log, dump_eko) + 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" diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 5cc45d23d2..781fee9761 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -152,7 +152,7 @@ def main(): tcard, opcard = eko_utils.construct_eko_cards( args.theoryID, args.q_fin, args.q_points, x_grid, op_card_info, theory_card_info ) - eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, _logger, args.dump) + eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, args.dump) if __name__ == "__main__": diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 3295919174..7fd3008eb2 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -65,6 +65,6 @@ def test_eko_utils(): #In this case there are not enough points to have twice the bottom matching scale 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,log) + 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"]) From c3177234d00e17e233ce746bfb28b4f1d29c3fc7 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 1 Dec 2022 10:57:30 +0100 Subject: [PATCH 199/212] Change name of eko_op to _ --- n3fit/src/n3fit/scripts/evolven3fit_new.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/scripts/evolven3fit_new.py b/n3fit/src/n3fit/scripts/evolven3fit_new.py index 781fee9761..a1bfe29370 100644 --- a/n3fit/src/n3fit/scripts/evolven3fit_new.py +++ b/n3fit/src/n3fit/scripts/evolven3fit_new.py @@ -152,7 +152,7 @@ def main(): tcard, opcard = eko_utils.construct_eko_cards( args.theoryID, args.q_fin, args.q_points, x_grid, op_card_info, theory_card_info ) - eko_op = eko_utils.construct_eko_for_fit(tcard, opcard, args.dump) + _ = eko_utils.construct_eko_for_fit(tcard, opcard, args.dump) if __name__ == "__main__": From 649af06f43886d7a98228d64caf3554cb5236d23 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Fri, 13 Jan 2023 12:36:52 +0100 Subject: [PATCH 200/212] Fix fitbot to use new evolven3fit --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 66db169786..d16a92be9a 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -84,7 +84,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit $RUNCARD $N3FIT_MAXNREP + evolven3fit_new evolve $RUNCARD # running postfit - name: Postfit and upload fit shell: bash -l {0} From a7fd7362d57692ab3aaf3dfd3b56ed26aa95cf4f Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Mon, 16 Jan 2023 10:54:36 +0100 Subject: [PATCH 201/212] Restore old fitbot --- .github/workflows/fitbot.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index d16a92be9a..66db169786 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -84,7 +84,7 @@ jobs: run: | conda activate nnpdfenv cd $RUNFOLDER - evolven3fit_new evolve $RUNCARD + evolven3fit $RUNCARD $N3FIT_MAXNREP # running postfit - name: Postfit and upload fit shell: bash -l {0} From c0ddad3d02cd2cba19f0370a0bb5866d30a1ada9 Mon Sep 17 00:00:00 2001 From: juacrumar Date: Wed, 18 Jan 2023 12:39:13 +0100 Subject: [PATCH 202/212] fix to the fitbot --- .github/workflows/fitbot.yml | 5 +---- conda-recipe/conda_build_config.yaml | 2 +- conda-recipe/meta.yaml | 3 ++- n3fit/src/n3fit/io/writer.py | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/fitbot.yml b/.github/workflows/fitbot.yml index 66db169786..2bd6b8ec14 100644 --- a/.github/workflows/fitbot.yml +++ b/.github/workflows/fitbot.yml @@ -51,10 +51,7 @@ jobs: - name: Installing NNPDF conda package shell: bash -l {0} run: | - NAME_VERSION=$(basename /usr/share/miniconda/envs/test/conda-bld/linux-64/nnpdf* .tar.bz2) - FINAL_NAME_VERSION=${NAME_VERSION#nnpdf-} - FINAL_NAME_VERSION=${FINAL_NAME_VERSION%-py*} - conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ -c defaults -c conda-forge nnpdf=$FINAL_NAME_VERSION + conda create -n nnpdfenv -c file:///usr/share/miniconda/envs/test/conda-bld/linux-64/ nnpdf # create fancy runcards - name: Preparing fit runcard run: | diff --git a/conda-recipe/conda_build_config.yaml b/conda-recipe/conda_build_config.yaml index 327e710892..a15ac5fdef 100644 --- a/conda-recipe/conda_build_config.yaml +++ b/conda-recipe/conda_build_config.yaml @@ -1,7 +1,7 @@ #For some reason the resolver decides to use an old version of numpy #without this numpy: - - 1.19 + - 1.21 pin_run_as_build: lhapdf: x.x.x diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index b4858db74a..815eb0bc83 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -52,9 +52,10 @@ requirements: - sphinxcontrib-bibtex - docutils =0.16 # This dependency is not explicity needed but https://github.com/NNPDF/nnpdf/issues/1220 - curio >=1.0 - - pineappl >=0.5.2 + - pineappl >=0.5.8 - eko - banana-hep + - lz4 >=3.1.10 test: diff --git a/n3fit/src/n3fit/io/writer.py b/n3fit/src/n3fit/io/writer.py index 7f832bed92..a670a9e365 100644 --- a/n3fit/src/n3fit/io/writer.py +++ b/n3fit/src/n3fit/io/writer.py @@ -249,8 +249,8 @@ def storefit( q_0^2 """ # build exportgrid - xgrid = XGRID - + xgrid = XGRID.reshape(-1, 1) + result = pdf_object(xgrid, flavours="n3fit").squeeze() lha = evln2lha(result.T).T From ff5766769f784dbb4f6c392962c185930d4817d5 Mon Sep 17 00:00:00 2001 From: "Juan M. Cruz-Martinez" Date: Wed, 18 Jan 2023 19:05:38 +0400 Subject: [PATCH 203/212] Update conda-recipe/meta.yaml --- conda-recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index 815eb0bc83..adab5e4055 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -55,7 +55,7 @@ requirements: - pineappl >=0.5.8 - eko - banana-hep - - lz4 >=3.1.10 + - lz4 >=3.1.10 # see https://github.com/conda-forge/eko-feedstock/issues/10 test: From 91a549cce76eeb7a66c0823d4fb1cba62c9e33fc Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Tue, 24 Jan 2023 13:01:37 +0100 Subject: [PATCH 204/212] Update plots --- .../tests/baseline/test_dataspecschi2.png | Bin 23215 -> 23766 bytes .../tests/baseline/test_plot_obscorrs.png | Bin 272184 -> 272992 bytes .../tests/baseline/test_plot_smpdf.png | Bin 208336 -> 211097 bytes .../tests/baseline/test_plot_xq2.png | Bin 67532 -> 67635 bytes .../tests/baseline/test_plotpdfs.png | Bin 35914 -> 36307 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/validphys2/src/validphys/tests/baseline/test_dataspecschi2.png b/validphys2/src/validphys/tests/baseline/test_dataspecschi2.png index 103835fd4ddd8938a0b4be7bac5ed91b1936dd14..f3d3a240ee537ecd1e1112cd74712739fc3c0653 100644 GIT binary patch literal 23766 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 literal 23215 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

78k4RFHBzc;*00e!w6 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 diff --git a/validphys2/src/validphys/tests/baseline/test_plot_obscorrs.png b/validphys2/src/validphys/tests/baseline/test_plot_obscorrs.png index 2e7ccf86583ab79bf117112bbd4d4b8548cb7250..e598aa4e1c90f778411e44debf94a77ebca4df24 100644 GIT binary patch delta 257322 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%0DAW<~4FBKKZ^Kcb4m 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%0AVIPze$*`N{$zA7{DkDkTge2JF?5Sfx)ztvkIo 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%0Am)H6^z3qn2-M912mPwpDx-;N3B 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 literal 208336 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

G%?No_OdW$MIBH3Ss6a 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 diff --git a/validphys2/src/validphys/tests/baseline/test_plot_xq2.png b/validphys2/src/validphys/tests/baseline/test_plot_xq2.png index 7a7d0743166a6ee0c454cfe3aa266e95696e584e..93fd2f090cf5885ad74092f1f4b58bb5b819dd60 100644 GIT binary patch literal 67635 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 Q&~RW+YMw|xZuZCj0W+~tJOBUy literal 67532 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 a85iW2UuN_p<7ORse@%5=wG34&|NjBV$$cUK literal 35914 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 Date: Tue, 24 Jan 2023 14:02:14 +0100 Subject: [PATCH 205/212] Update plots again --- .../tests/baseline/test_dataspecschi2.png | Bin 23766 -> 23766 bytes .../tests/baseline/test_plot_obscorrs.png | Bin 272992 -> 272992 bytes .../tests/baseline/test_plot_smpdf.png | Bin 211097 -> 211094 bytes .../tests/baseline/test_plot_xq2.png | Bin 67635 -> 67612 bytes .../tests/baseline/test_plotpdfs.png | Bin 36307 -> 36302 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/validphys2/src/validphys/tests/baseline/test_dataspecschi2.png b/validphys2/src/validphys/tests/baseline/test_dataspecschi2.png index f3d3a240ee537ecd1e1112cd74712739fc3c0653..52b49ca274ee5fd866a1d4d538b57a973192ca80 100644 GIT binary patch delta 45 zcmcb%lkwV4#tCi;W_m_C3K=CO1;tkS`nicE1v&X8Ihjd%`9 diff --git a/validphys2/src/validphys/tests/baseline/test_plot_smpdf.png b/validphys2/src/validphys/tests/baseline/test_plot_smpdf.png index c003184f1940bdbbaf0c0a2a1b772bd02184d794..1d6f8117bfc6f64eb5eb574a8dde561c6cae4ae6 100644 GIT binary patch delta 14455 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 delta 15204 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ΞnELY(L*BCA<(A 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

Ecb`5 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 F{{v2~3Qzz5 delta 27984 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 QCC_0ju{BRv?0n#V0Pj?^GXMYp diff --git a/validphys2/src/validphys/tests/baseline/test_plotpdfs.png b/validphys2/src/validphys/tests/baseline/test_plotpdfs.png index 16d8131f3165d1d50d45c5353ce35e38b7a5bfc1..712e66fce614c88e6c113ad0a6827a6dc7375138 100644 GIT binary patch delta 2286 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 delta 2291 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 From 3e6c0c8650535678d3bf67d81a2a7010f9beaf81 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 1 Feb 2023 12:08:13 +0100 Subject: [PATCH 206/212] Take again the plots from master --- .../tests/baseline/test_dataspecschi2.png | Bin 23766 -> 23215 bytes .../tests/baseline/test_plot_obscorrs.png | Bin 272992 -> 272184 bytes .../tests/baseline/test_plot_smpdf.png | Bin 211094 -> 208347 bytes .../tests/baseline/test_plot_xq2.png | Bin 67612 -> 67530 bytes .../tests/baseline/test_plotpdfs.png | Bin 36302 -> 35853 bytes 5 files changed, 0 insertions(+), 0 deletions(-) diff --git a/validphys2/src/validphys/tests/baseline/test_dataspecschi2.png b/validphys2/src/validphys/tests/baseline/test_dataspecschi2.png index 52b49ca274ee5fd866a1d4d538b57a973192ca80..103835fd4ddd8938a0b4be7bac5ed91b1936dd14 100644 GIT binary patch literal 23215 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

78k4RFHBzc;*00e!w6 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 literal 23766 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

P%#!-5W)nm#-f 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%0AK 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

65baSjcKpt&+aFh> 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

;}MWCkN1!J{i3bRKF(14^*#ph=d(_x%(Pxx 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≺l?2Or0;-?*8ZF;N91G{P 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

<_IVXDQ2xXWe&>L$f_lOE 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 diff --git a/validphys2/src/validphys/tests/baseline/test_plot_smpdf.png b/validphys2/src/validphys/tests/baseline/test_plot_smpdf.png index 1d6f8117bfc6f64eb5eb574a8dde561c6cae4ae6..7274fa0469d7cd899d5d2f9e514fb3e27ad68004 100644 GIT binary patch literal 208347 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 MWY|$|l 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 literal 211094 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

>M;31<>2)^710UGf`Tm3yK~PL--85ZlISh5?sD+ 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%0AU}&?Y*m=)`1eHB6=_+1AvgUj67BH}bWS{|i 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%0DaddrK_Y%t)D?9s2wkm)<2(kR} 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%0ASMf~&4?T6+K#IxE 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 Xy?4zpGy64q|G2|P4<#Kq{mcIXFs@(A diff --git a/validphys2/src/validphys/tests/baseline/test_plotpdfs.png b/validphys2/src/validphys/tests/baseline/test_plotpdfs.png index 712e66fce614c88e6c113ad0a6827a6dc7375138..8112de4acb5637528aa66e8a19917fb196cce3e8 100644 GIT binary patch literal 35853 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 bI?EOH$sk^L?V&W>lYy#ls+Xg)_sstRF8(^K literal 36302 zcmeFZWmJ`6*EPBU5dkFxM5GZ!Bn2g;6j4A*LFtZ7N_UH(D2+;oNQoffmX1wGNeUt$ z-O}B4*3I*r_k3rJbN+olKZXubH}}3`U2Dxb*Sz+d$4W96h^`Q!P^b%XveGIj6dn@_ zg{yJyEc{Eni@zQGA>#Bv!%5W^?c{3cV2V;Sbh5Lyb+WcFVsbHcaI~vIwFn;E0c$~8meVhiF>7a>)9<3( zulog^e%1exCJZ$gaVD$4n2We%A`^F5s;o3qz_S(V1n;?^iL`*C!QP)?h zb{JB8_BkqCmRR(wz211ttd7?|{i^lBq9^l7m51}$3syev)y^R6(-)?_F2_nC0 zeb=9{CsR?ryHB^s^23D!=arG8&;M?T7In4Jj^@&|hE*upn(JwD zng7jEanKk_YldgdTfJ-KpHELiW6>JJo6_FW(&94J97*s8PU!Zg6)kzB(_%)9-Y4sU zZ@=^PQ)+7N^5|7URLK7uz_1gL&>28z6z&LG_eXSfJ-((GFAclkzWGbWI3HGnqrpnM z$dbxn`;oBdVE%4>%Ih`QljGLk*{YhQcFZuXPX@LAsLlD_;PLv`0#<*x8p9dGV`5^4 zt+;i|->YUR{mRu8Afo0utkIH|{*jCu6eN4a?qK`*!*GUn_=%P{0d{yV)0QYUr{$rz z<>89ajWSrb$KTC=x#jnMdB)ioM&BCDTYb4gKh3cI)fs&Jn-<-yH=cd@0Rf@9p*>Oa z0uS~6`V*Ggg@#~iGnfyYn$;ILCa@i-TQ)<&EzZa>qSp6{{P>aSPp+nMiLdGO&kwh3 zM-p-H&i=5uMtbht*e@AI)9uB9wq$Y9kyl6g*yAgH65ji)WtYgwpPJ@R3m3e{tdhh%FEQ1&uRvx{NRb$}Y3u8Yd4WfOySg`nM#zlX65d6*O$ix5T zOAg)gTVy4axvncCCNLN(EGKznh&(b1DR!mAv5ij2+36Vl#=${R7q8)RXGjJr-%MIO zB|N8^$-k)QcTBg&WUJ>hv?mC$!vd9-mXck(Sm!$G-30GUxAvU%I{MY59=l3I$ie=; z#A?y{RLgxkJH9OClrYz?5C;9$f+&`&S10jb#-{l+h0?l?=G()D_e+XG`WtfWT-#sB z7jT|`iUeajdNRSb8Zs`&cBvkm{ySSZu%lg-?i)cNA?Xl&E|WRx`I+$49q;YQaLF0S ze_k8yLb-ZX@h$Jz1uTDGe;7u$SCgR~Mn;iL!XOqqw&i*I@IM`g*QTbkcY3>!mehN`_2kg&Ka6V~{&MF9JiKPe?x=roz$&e*{^ZK7(oj=VqdtB56s2kt^@EF18*0O^ zU%w#v=vFlDZ!N5?uYW?f$CG+}9jWr1oS***yGBStqNGB9Gau`+^p{mU267G(Pmt_l zC4GIY9i^U2P?Nh0BgNs;`qmbkcCocfYlPZYtp_kJyd7USWH{*JDW%qE?g}&Z6*>`z zv8kya5Jrrdi_#nrUC6dU=;)cPlV5#EcInc?&SdeH_}f;W^cLEMMnlBMtsoQ$M`F5O zZO7>Q#BphUjmYo@sU`=88hNR^A zprGZS+?KhXtd%zf1C}i3zEL?WOF;sde7ik;A=>I7wd#1EmbD zVr!ZQZz)stsyt9Io()I_1LBUmtA>_+dF^G6v;VqM@iOFN(D0;Ot)jQ^qyoeGvko(D zai34V0+w2-+#pGN7|L?zPW+c=IVw<4p<182aDfdD7Zs?#>B+rA~?UCubD1OE+r*}y3B7PTeG{_8J-SVNiR+_69KV~pd!gH!(W7WC8c)`hBkTTx7eb?6?~+7aFVfJ+LE@*m<8-~c zx*FE)dM(P~Ul%hJ`5&(?(3X1b@xz-#x{Z>rM5oPE}wMA8Bj#4xMxTu>|y2JOoE>#zbp17%x6oLN-Gvg_tFEeeVxDBc9>7_(U2yN${%q$5*Au$%CE#b-jS&&W~=p zjI6xF)Hy(4Q1}GZVy*#JviwdUefmZBP`=>wn;(YX&v0HSvm3{S<8bx*^>fO~%BQ0u zkE{rI{hH$9MXBIR+^ah~CFO}uayYCPG$EV-BNddNhoO_Z`^5>Ebys=1=CsPjP~Pp1 zfGSjTNUU4#WMLItRu8KgCv0!@rFwb3ceRmrY#c{f3`a?6dq)pTQsG)ZQuVlm=RF4= zlw476?c$Isvpt7%gfHfLQoZ)3yctP7JFD{8oQEETxnb$oDo0j+{5nY5_1yHy8d;b> zQlj_3Qur#XjP#9-8F*~|BR_CVU`@i6y>bz=_{C|io6u#g=xu(!?U&z~bm9`aVtuS>oEIQ^XTgW6>At^#H^H##OhzPvmc#z1As+l<;J*H#YP`aPGO zxw9wL9DW=u1jgxAfFkT<5!x!9;CTTb6mPTTqmXJua~sRylG`N;3R$ zt~t8B%|u!zVJ%0!y-ns1)E|FBhSXGau1=YQOMZ;FC?(JN!IJts-IfChhV5ieUHPvk z7gS$f9kG=W%ij^T-}GTWW~ds?-YNIMs=h|v_8s}i%BFPFY9_O&%i>3Xrq-j?;_XM5 z8lEtCQ(ofob6NVRar0nxeE(#_*>R>OTeS--Sz6jJ={t8(ArAMpWzGH;39n=eWJ<<- zieeKT53B%n)o5Js$V%IN$$W9Kc0bv8eh1dw{ko1M!q=pJXD^KX{19L!a(MXhF>`+@ zx&KT0r{56@#Tt(rl+N+tMy;xH9Gk}S@>)H?-8>z1c=O*Pv~u&XR*7Ij|EPB#Gn*u( z;u4zYf8NJ7@`oxa@|M}yT?+nBX_K$RFW;E3WVCWC7Y!i-{cPfW>&vN$oU$Ml~xwLu~-lgl!s?w7Hb-FumJabVL0W z73bJ%#<4(ZI#pLKm&0BAM=?C@p`MDIZ-RnM9Q5?`&JYlA2Bh=jlgVL{-Opa)=2yf| z5LDbv-rpKe@oiI(3%#=4=jGj=t>HK;)tNjt{b8Oh%YvFmXAGb+K(KefOSE;vU`p{9 zd&Um|DiJYdE5K54F)~unHHN_!p;5~VVDt@`O?Ffm zw$PpH&TzIVgJscpn9#+hxbUYvAY=|6wimEs(S@q3H*AgG?Q@vo6JUmLX-~-3%s$=S zSFpPlHa3})BC*pNglk)YH=ZfXZUjg@oc@VU+u!KS(uzYUb(Aa-Q`C(3_T{HviJHO_ z!UJHT!zPEna~u~XiqsC!pgUg$Q>&J!AxWZ464qfOG0AXIV|A4e!z8GE==sf5KxWNm zDAsNzVy1n3`}w~<-mL{HcyXjBM2S=CJv{UNu0^~7tmL@o{O_CNCiSm&``%LClsPzF z4@TcZa#wCTie;{`)E=E_Jf{*A7UnB%rS@5qLeTcrLf=yUgNN~C7s*pK$&e9n!iJVV z$x9p{by&J$Js7+ z?AC|FJ;NFl=KcJ9Z@^0S6TG2e!}cq1Mkgsss7Y{;QC*y z{I&U<{PpcYTMD0Wtiq_z!E<0T5jUKNlppS$G;S{qA|!hLceYv#3*lo}-q}EECf8+8 z-g*aDA^Ad=CH{mz#&t3wB=l_?l1Eb!4m}xHW!ioa>?#9G*DB6 zD=I|q-Me?5PB;QcN2)}JU;Cw(+fSaQy75#tvhRyl(T#A4{p+?>TbKG)MlRoob}TAKMW(NB1+u4r z1~4`xB9LaE)htUP_08mFYr*n)MwI(Td|`@@f1a))=6<1idXQ%0HY|VjY!hSqN#hQL z@8+E2%0gZqpTpGALMi5@w;kW+KOAbFyS4s1zC0XAO8fDK!hNZzk8Yi=2B=Mtc-+~ln8+!V0Ka!#$0*dA(=+d`ZA->E;GDx3eac+#0e~Xp+PO~OnX8T z0Lh8K*!Rafw!5q2ySuxq-SWHxp(}$W;Q%SuA(&K3Y;-#kMec`QxxKo*jh;F=VRKoV zcmVQKCs3@{ohK(Uv;TgjeYYNn0^s(f(#;;FmanG>+hwGG5Gliu>b&qLSGyz(h6JP( zQpuUTygV;=EY?rpBk;5C65CO?)Fs2pt0RG6!u}U^~|K< zdyWmePDxn+n|5#@7yApvc7_}QlxNL5-h4Rnp;9eRM-C*QSYdmX{K|DAi2R)@#xa0L zX}%}NZE*sx0m^-Y4RjbzYFybktOBB#?6YqHV7SEFy z!TkHHwvY>#m>8X;B)0#c`e@o?#E@`-ubeq^2G~y2r`u2S z^^#OF9zlZAN3!7fVs4&sS}^ zV;>{XP?A6ld;)w4{&Q_@EfxL-=s=+M!1rKDDE^j(lz{=$^78UjdqNBlAU@Nd?@hdq zrYg{(`k3c2hUU3rMcQPJ* zc(m5H^0$Z+l$+Ub$z$2IzUV3Bkmcx#etwMOvLeVlv3y}RFE8`Oc(pfSO8m1j{zT!_ zDyF#y223HB*X%I-gmZoQjBw7UTY0flu;Pkav&(EV1TpD{A7>XA+aRkE)_~?SakTpG zX>Dz7<@R5z^OyPjV9`f+Mj#*JAX14N_F3D1B*Ss2SRfg43~bSfx`aT5K^PFwZ$MMT zAmxB~K~ktM$(CF;NNZbpFNR0=90|!x3wz2Gq6eWdYmh0rK0P3|Vc#gZ#9Os_u_=r` z&F5$zDPRx)4vYOa5wfgpTV?9H0wnIiYZCf?faFVmi;Us)e76~nUtP6>Qy!h0zY?^= zCGwVRnFahafU?AbvkGjscTI=~R>Z*J+R|vgm zG*X&Dm|BCaOP_ZnMCJlQZw=rb83uP&xlT9-)avT$AbQKl%ANzH9_FenC0_sn^`Z~o zTadTRI+H26H29uiIN;|{rL!aNAhIxCdk#ole|Jss;!gXJ>DGL22%Si`4QVT=`f@;X zX@qQa{N;hVwIvDK3^m8zG`dz}kNZ-tVu}JLyOEdY(K8i6Tg$OI6 zt?)h&1f3K~+?Bf%!Bed8M`T3$yYQTcK7zyY6%$m+*S>s zc~PGhF7XIzmWbCbANFXQwmtrKa0w#|8#bn(fDfwa0|>7r^bx2nkag04)*#9Ph$|pI zHNK%>cY`CE4NZl`sw&T&nVkG;BT#b@Arrtw5X5{E=ozCns?J$TN&RJx?9{w^tcdJb zQK1TI4QhLNSpMnL-`+cp!=2EKKyZ$PghZ}xMKtsU{_0A)ubX_+6Z$&v-GTx-3fEu+ z@_cqs@OhmeTDLc1v8pE!bgz4_lV$?o*7~Z2zQ0}~!r5fJfou(ETwBLF2 z>H}xOq=)Y@&2p?^=lhPtn+YBIZp_nWG~MN}g{nDf+&)KJ>d2;6{1Gim4kkPU(40=# z&JVJTF=pWME%V1weclxn74HPhltAv1gcOxxfRZzh(|CFI!Xj=n(kOu^X_nX|4PV*y zEOVG9LP5DwUiE0(J=&)elTDQhG%|BD0(ITrADYn zCaA|^8*Kt!M_YY`lb}MSfj+z@rSZsz7gnC-#*Mc%6~_}5Zfh(;wj)z;Xpp(V)-dv6 zcp(Ul;mp3@I|;R9U|>M@mp$3dAF4(VOyKW#i~9h!CcLW!=el&7bSBf2l9Glk(CyrMAYZ^beDLpTb3B#WSN{ODkMB9n zlzsx!+wH@{g|oPMsbz8aS7+i2*O4;UcTFKSuzaZV^mlIcrg%c3LyFyH0rYuf@nDjZ z0I!u-&*c7a>ssedXuq^#yhWdoCTKg-29ONNCm>orQoE3y3T2zn<`MVfk2T`qnu;9) zu79Dgg#w@s61eo6i!h;-G@07)l{j3zf5&xMVP&KWIdF!ChM<)su{?O&1wxgc_g3%IgTK@# zC%h*BOFTNVj~|l-Q}bpbqfMTlnwxu5 zQQ^5byMjHD0BqIN&=3fJ^kgYBB7GcaOm;x)kz&jH2bYkQ^K1(j$wkM_-6TdtFE=>e zDL>G12%{c>6WS?pzy&`wTTd#Pu8BccZg$H9g?Xu4;qnB7R)ls${MbWBKu{)~bdTn{ z&IhG?vOS9RA@9jbP%ZrO41-;sIulBpkfA0MRx^wZ$kn0QUVKsQ-L4R1q6F*v$#J%$ zElD&6NQ=k_`uBUUWy2lIp*cw1g;pJS%M#1ns; z(tPRgXlOwblJ2LpG}Xm8(FVvHw)MuKlsbUSA$9-$%HH5k04!Vp)JDg>byN651|eKf z-JuQz1O%)OyN(WUv(o_TJU%`KF*gutGuTf^16>4}90!^(X@7@(f3f)^$4aBh<2I=2 zX@F2%m@5H#A+kB}4}Z|(HztC4RRH`jnPOvNX|NRs`#%yLo&jDJTh>ZT0IffoSHA-g zyPd1686YwwAwrW3Z|3!KpT2JrEc$zBLKgtP@$@-@z?xWGq^o#p1<4!wi;TcV0h@5B zq@O!E+#rQ>h+Wws7Z{|#gmgxpC84`)TWkTP6Cq6?oHvLLtmw)3jdp@G{u$_ACDz#6 z%ggBgR268X?3QSCIvE^k{s2-5zfm6n`VLO@R~5cETAu#;5-v)XCxpCvm7hNf(nixkxR;R*)+gyD0V(c}17^;L z3dTjy&EtbbM1dwwNOrI|Y$W*inyYxlGb5h@Xee6y%V%~Ro=_U9)DhG`S#5)bh!cFS zRXKXx0kvkO`haIdKv{f?68W8)nu;juptpap#U4dp;?^nvdcjK2@qItJA@Ol^*D)P0 zFE7%^f>z;ANVvv$vXJ9$wpJ`3GYdlP2K?PmUqX9z#wiDAd?dRv14!t#0Njo9&D!HX zz<#R&F9e7s16?iXErjjdfkWuET1()<{`9Lxq5sLzif>^`UygeC1zJHdKEEFUU!nV# z@zX+ON5F2Z#?2TGhgq#Z{^s)VL3PvWwMO7GQ2+2py*3mptq>drf7|gAgq{QlFK1%1 z-a3CjBhMe8Q`UywOb}{M4yzCmx%ciG+Wl9x_ga35IrPM4ZnJLOP|Ljx&Vp&kMPBPI z?Agad^>4$%!gOPfr`{=FTeuAo;l4d!MsXOVDX$AOGueAvvtnBFrX&{+K=YBdIzUYt zz;Qw0TT`NXv|v;{+e?@@>J1GD=-tQxM0+PDZwG(#>z`J0)q2;ZujRVBwUq&k6Db-n zodiVpu)6>?Q%Sw-QI(rv3h3I%zwap8V`C@6x; z=H}+sm|D>)$P>Vbexe3{Q#BK6I#mW*yj7yaia6lT-R(HvpqYEG&GP>D%I6^bh zT2Q<4h<>&+#SC)u&e6dNDDwT*#U}0Lvhz<+k>@8vg_wMO`b%%-d2S~WQTZD+wCP1w zs2fr8SflUFbP9zMvu$_)`dHiAng)K4wWVHt@4-`sATl@|ns9jWi7zR*#OOoYAX6zR zeoO|~Cyr4<_Hfx|DySn!9~$~7NWY_^kM5??8HfXDqij@HNq2uT18J0xHgM&zRsd=z zK>(S9!I2|$%@tndZOM99+%E)zNf^x3EzU#rb-Ce>p1=Q%69 z`3!tw^V_8ihdX#vY(d1h1ji zYwIxEkz_!c0w4?$|HUCn03F!Lxj7n7BDD}u>IaVK9riaZ;8jO8E0bVOsDmGac4i^( zi_!1H-b8<(#Xo@c#pXP6!@GJCy$2)X@_Fe3?_z7Vxe>R#| zG1Qeu#Uc$B1N;yp$Ks0dvG0;WeM_od`TdQpE!HsEH;CdH+lPSH3F2Z8-o`2|WjAzo zh6|0jU2RFwdv~B?^dm8z3iI9oDjT9;43^j;2+wDC{Iy9+$R=N=LYx%9c7(BMKs)^Z z-PQZi(UHy$@jKJ2u0M?w9+)6vN`SQa&1p^r5aoSnWiLfHv8q8E6OzXjAY{VOa=T_b zQn@&Qd5r)~1hb^9{Pp_-ZL`X%s%%ZnH2_6GAOGa(wgR%t1_i0I`tq9(zjv&U5BJ(q zBpLZyyK5FTgESw`tgLi`Lb3U{6M0)i$uMdl0yd}!90^heDX=r>?VkfjOMjtpi+kUG z|NFz8e8>xJ2}0ojQRu3$pM0g;%mds3@svPrx&Sgu4H|RP z=g_U#X80!%ww1wgFEDL@1E7mJm67NNKd9!ZVh3Dp@%Yp{v6^8OCrUrxH6^|+^0@t; zm((@cj)u}Ck5}hhmh%0P%CKCqrQMVJeyH6OeZQvlRlX+rQ9$s7op&3~ov%E(i5(v& zqocz{j~V>?RZn*-qNXL9WB!A>9x@py#KKc$1aCwh_O-W%0wI6$`7v{{$2xwUh1?SF=|JfQ3#hDT_d_QYMTJr>(Hbl^`NrViL$Zn16N`F`c_} zSt+}~Ov^x61&bI$lGXLx0|C!SZtgfpLfaM5#9@f_d6;qxMgT$p-SzPv5@mq%$*8Cr zAlMeSDWNGC2x=2l_aKm!A#xyY_296a37=gC_zws6k)81-lz6v^H|(YE8`q%OItD%* zLY|dJ&EWY^2Ewrm(innSpjq1lx+M|Sja4vYu@KzzZBGd#nw|U(VU>tnD$6kMnpUc0f=p3h(7a34l7rx|v z{eS86)ne+|?EmDyj?sTL(Lix*xYy0LyC@()>(CS;fnryV*90RSbXS^wFI*?x-&tsj zBY2(1Z#s5za$u)y+Ip?B^IBsN`Ht=NQrCRKH-u~J{P)rgY7hFDSfZXHdQ+&-hyfhJ zwe2hE>BQ7Lh+SvnkGAdbMlzh0HBjKj!FXYnUxjWtZ}xB%)Q;7kocRU7Tcx)w9xZkn z?z=CITbz~VPrT#Y))apm-PtsZ&E4Dp@6%UpGoN=pv$c|Y8=%(~Jg3#clDID7wXNdf zwYPO1?fbE2Y9A(wkS61lrLa6`^&f!uj8|!U?c@L@{5ujM6TNuVQdrTEY8x53j$9R?wPHTx$7g z(T!XU9LYn2?UyFkNVOO~Tqf1}w8fO1oQ?hQNP5Z!0@Lf{Xa^x>1qB68u73XgVDn1_ zUs#K!$MtOJLGq_hG^9S)?$Ibvh}#vQ8Tb|#7p9n?aJOuuJU>5*Jl%8bSFO#I}AsG1jFgC^>(i^!yG} zvc(dQ-bt1^a*FuEh0tNy6DELH3e=LjS!6>aq1@GB`@Z#%A@m zD%lmH;7e>?RX*Ok2eueP@oQd`H%!pt4%7bnzEvkJk54<8ZbVEih`<8jB@8qXk;tLG z+_LEYv78L7a%^()J`}~Zjg2%Qp8&^)KfM(wNfuY^sr5b>Tc6(T%XxY;p}X&EFfpU6 z-e8%)c;5W!bDgyOKb*h+>ijs!T4xkuem60Ah9C@Z+XK{E#9|75MP@**NIm6H%>;sC z1N{la!fEEpYG&5sR`BF1NGd(t;8#(Ws`e`I^*!vE8yP|0-~aQqz#XIcjSYF9maLS3 zcZOi6Me-crWdUFT$U1l*xGZknG;Zu49xbv`M@*x@N#jIac_5seom%4bhRZWYo7Shv zF5=#NUHfBk@AH%Twy<0s!YYp!?^K5{U$qlZ8+F9!IPhgdw?8G?fbD*^N`^Uzq6m2a zH^>Bp@^`Dg!%*>z}FkbU$T1nr>LaBOxNvL38Q7DlBA3@-YqrOWi8(X)% zAAp)W+zTEoY1X}4cu}~JF58HCD{H_4%mKoL|Bjo7M-&J@ARKSj^wEOc0tO!!W56V7 z(6-}vVv|WlX%hDPXy0mgk`#k;)FIB;@HWmJBB zqOk$D9tdS~T8&^0#g!#GM@mWnrUuTP%30tlI;D0m{QUd~sz;!~1rvPqwwK+$F!s1UOfF7HhlZ)dwMQREBfJtj~`*Jk^L%^Zt1K%=02CXn@J)7c% zdsW6iSpIOqeM4&CTY)9jdrpvQe&|~D5|J&hB0^hNW;9y~K zAcgOsU!|@4@KqKn>J0dN#zA2pM+}jmyut)Sk>d@*XBW6>QC{BO7K6pyzK3fBqux98 zQ20Qe4gm}$;Pmft;>xjwI$g&Ajh+w9{*I8$N;HSD?{FvSmuD}x7E&#rQHU9Rx3&;0 z^xdNJ+D$cH@X-LO!73~q3l&O37yKTw@lz`+%D@u8@?3?^oE-E_DFVq2SDzev z5P=!ROGwJcWkXn&@87<Qv^hS({kd)u?t@e+E{(^& zg@}tJV{^f+<@?$5d>C57t?lOc-ZSsNYEQZ<^XfC$j0Esj+sU39AZXs=2AOCz1m7Pl z&fIANqhfwvt_AMT6yLw$73ETIE*97%U7a+IwUu`*pZdDNwpXqe zeq`i!=k4c~g6Y^*|H*m8*ddn>7Pw>mBFh<#k&|Nq#j`7a(g}5{h_s9Q!)M!xM@IN; z84~YI$09aO>26MZvPe;{HGDW9^3nY%9{3RgARQ1{^+~yv(o}d*K{9D4d@ks=t=ZJa z1&bGz3>Q0wn3+&#Nk9ddSi#3J@2atuK3T{wU5&h*Ge;f8%gCjlyt;T=K`w(i)YW}M z5qeC;Hld@5U4yh>GHERkw7E5&CWYTaU!_QkVV{aK%gxqCRz(~{e`8gIGJf4bKQ0emvlP7Gr|bIa=NZOd3=*A=m?`T1x4C7owN z1Y2zVqQs<>b?8=R?1WFdid?37vfLw4DG+iR#yb9iu& zZlJ=PoKDh4aTtjai#Xh%X7Tr27GcvD2yY6|-$aIsIg{h==(xB%QnlUr?2Ad=&)F31 zCq>A^|AJ!gz<9JDM^PBf4H=DujM7Bv=Ub}n*6(6sAI+Z#__zuqG19UKd$U~MNt*0) zB~SO|#_S}xK{6HFi`o;Gnp$IoJnv;H*z0^nMlkmRMt~=_mrlr{T^yV7%yoSy+)C;4 zrAtD~^Ok~NZ2M6QeWJzSL?(~?4vwWM935T5brU-WsJx-RRfhLBI&WJoHpxc^e7^o~ zlo1?VTl}Ysh7XG-Z9aTuzE6m@`@Ym-zPmeQqk`uN-Y2AHW*BOdStSZ7*b8ZC9BI~H znM$_}jgP$!(p+md&#$e$kUTD6%-0~t#T`3X8ONT`seM7F9}g!gO7_9qyDKAh(?r%o z=DzK{z1FglZe(E$Mc6-IK4`w(Y7-#ge1`0Cy9$b2&fk8LNtr>T>Wa;1F;=aZYpRtR zD`Gfahd$gHWftyFokmV{x(I}i+}Je!O10G$^5sD@-}V+lt?zyqv+)(|Qht$@S>De4 zbm@NrnFZ#>>anf)uNyy%uF&@GIiQPRdE``w$qc#OMNx8|)h?+^@xAlkHAANN2E0_&kwCG(7pGeI zC%*(6&7B~UCv@iu37wsJ*=f{(sY{l>YMtoJ*}9qbwfx?E+wC{GIu??8m}^7jrdMc@ zS)E>|X_;CeR+fB@7Ewwpz|M^0KwW76$FAHMT2UTPGRLW2SME&0eVQl~;Yhfj8!o@M zw_afUT2sq8>*oh%R~yGeo3_Hr$Vj`5YXJ3Ae6F0(AfXVV1fjqzELuNSJJZ=3-GKe` zjVhoV#kgtDB zg^p(BI)6j$ma(4R>QV{%ArcR)7#NBij=mR;ghYWIv-E=jeXHNiXTrw}C?veR+IFvo z*AyCG3qT%gatU^hgUQtfL&+&N)aLRdDC8FH?~PfZlaK*o+z5fJIQ+fQ6NQ&xrG;xf zcVR06&oh!d2#(LtP|y3Zw0Dm9rOQ%Vi-zkf3ctTaU|VyHM^KV1`XlUx6h!(@O3a?u z@=)pOlR}o=g9MT}&+UH3frSOD?U#$g#F8i0nsdm8kfg!u{o{qe&!M;y9zk{>&iLU* zTw|asLo0D+TKQ{&^Op@I0Yk7vk#qP3r5D&%;no*|S2lQAP{#g3J`RB<$FDtd%PDI5T7}z~{ha$n9wVT5brfS@d%x z37R~Gwa7N;VxqWJZ2e|*sZvwGQR`2+v%PUg2U?8lyq;Ta;i;`sI0~ZYhMjZZ3%vGk zIaQuZ`Fs2EJ^6yxfW1rC9HyD{CHl)K^7LH|3Qy;T#N{JMr?lOqbbho#i}}4@iIbC8 zn;5qzlSC7`)_c{%a#Ug8eni41tNen9I5z_PylHqyL3p5qG>jpXc4zChr;N{DgS8Pg zlAX+v7d}ZA>%y?>R9h=y%T)u3;23e~5-$)gxOyCT&Va|g_~Rov;_Blo4pV+?@&H$ChFV(#-sx71 z{mw33`^e;|@~6MhZrndD=d{$*|Nl{|Gk&1w*#k%hn0RTW44Ow6$5|zr7)}f6yQs>w zvqRt-Ous$t6*$;47Xq1szypSY2pS zM*_d1^b;`aK#^U(e0ik|xjd#@{sXyfqm`dd|B@i#@!HPl>Zq^%Bn0<;xF3YR#`>_< zAC|?mby4UGLKxE3VbFYbV|T$EM_PTbEDBQQgQriQF3zk&Lly=k5FEK`#4}aNFt< zn9#n_R&0zh%P|~Xeurxm{ZzNiArSO9=up%YpSjcg94tQ2trK6}x~7yU3%zTVas|2j zUS4BKt_D-G!d{o(UJ9*H!(>`$m3kD3M3+2f78v=6b9gLz{>qsYFQW&&kSgNjrLd?G z3KVDXpmd>loKqgu z4MM;4Fj!hNL4S?@NhSAibt1UH2;X|-ykbJ*(%$OEORXY-t;Da++v3a@V{-PaEcq{lp!;B z`(0CP<4~86u8}Jv=s>fo>Twe8hr zk=115#znQr|2)r(XH5ESAtp>US z!bQzw00FmR8pHcuIUzeSh^+AECWertY@Qt`zQA&IvXPkjmBaK{xFnO< zP{`iyT@1Rwne%Wf=JsiE912I4V0PZ}PI^T}{r1v!U%Ze|>QtxXWaIkGZQ5Uw$Nf&v zkeV(hkId_Z!}LdE8O+pthicw8)0YoJ+ZLO%RWn_iB~R}D`egTy40>X^?XX%bgm6(+ zj{WR;znZ(d%c8=rJT{dc&du)#d=4(a=H_aq>WO3Iyk`^+Jdsi70`G}Za&xbZU`A{9 zE)Ljd=>yZ%jBuPCJ9Pj2xRz`1%M&~v9lj%YEs#wjh##l)XPl5nCmKrAT=Mm9AKmr$ zSLlo=;1gJ$HocR@t8e4+3YIP?9UsaW$JI_k_D)(=gblNCk-;OU3 zU!bjv=C+#&q1o6GI=FYdM^L^0^X;j=a2^@Bbr+NQ-`|@jaFdiaU$bYCO0%@9%?tJY zxz%=X<^C7JbY#TN$VT2&S9d#dcHHkRer`X>!*k6pQ3MYz*$xkW!q+J?+KxCK?L8Q6 zQqE(XI{=^A7h{a3J4t)L)Ta2x>oMQlnQ6D$ehspdVij^Y$^iD7pz{95X|W;+$uXcNZH%S)7_rr){d`cA|Qz^v>y1VKqEl> z&7&xd6Cg=s8*-9gepYQ-Jb>aPb$_z4_5BN@27{K1Jyi4xSTZxSSm7tM-4HxK3SmP0 z(BT4_5G&ZeNcbYa^QEvTv@Z~WksS%fiR%yqG(q9vB4{BN+?lpFqVYm9Bt5hy8)#wY zpCQvfP4A?4#^cL`YpH#ML7G6;=RWT}oyxh}ryNBIhXeXEIz{9Z4f5B*=*Sn;7qp*AZLhHXv~jiNpb} zZKWY@6I?IL2d`3?^k)qaucS_l>C2gR!#*Biul|tUT#K-O^pYc7 zy%&+h#sNzg7nH(yp59WbAz9p>Io-k3kspM&8Ib6n=93)k)C-MjXq^TIAM#p-;7c>c z4MZB>euRjK#EmfZ<=20ChUVhyvX(s=Cjfj=jucN;W5|Fl0eYV8XF`?+$NO&z%*>jF zjSp9f3az+z?D|^v;xcmdsoB_)ua+{Ut5?3>YvREx>^GnMM!xchs$7W3e@Sf?D zX_mFy7P!ii7ski!$Lj`Y?l}3i#u#o{3aC{IL&8m$vm5g>MPw4$v*VV|ICCuoj9zf} zaKZg>tqJZXZIt@JR)Q#vn_> z4bpYQVhq<)8^bEf%e&KLNI8E}%H6WH-JR!zqC6sYnGYo#O%x8J#hpzea2 zldW-6zK};R02F3pZf&XU#nll{;2eK?k$OLufZKc@?$CpfS=VCZP6Jsu+?<2SR; zu#^q-UtD4 z4>&Jk+(-P63w`-!%R^K^Dp3A zKrmh8Cfpy61JErGpR3UfenGG)HZ(L$SMQMiKV77cL=U2t_hwTaOfdt8Gl~My?BQ{Q znk6J1$@s3W<|9K+ioScMR*2XUxha!nz*Y~RM`7Okg$g`vh@%<2{1U4)U`9f&#DM>W z!3}XdfqSV4aaPkpGfCd2h2_n}Jkd&}FI;usPvFD|6Sl`%;RLTK|69yK-sg{e}SAXLHH&XwnqckE4M!hdj zv)2nU-m=Prc)HvQPXM2sp;fu|zqFDbQMq5&Esxa< z2TBgP;nHREXrrU8n7AY8S$$EveStWJr|3J9_vB=t`E~|rPeN-QX))`RJGJDkG2IPk z5Eu5`=7ROignk=hw)F$kO`%E4Mfd~(Ik=~gdtH}RE-`6*sRWKYfH1dZk>-THHZSW@ z5@u%TK+gsFEM8WKH;Jd--__75g))-vt|XYyj&>%WdjK9!h{|^H{6T9$aFNc9VkIF8 zCN}4K;4?U$fTy$Eb)};#^*-28TE$bsdH!xo7<1W+&AFfZmDV^k1l^g7g*xaiWswW z3)QYVC3tEXHS|c_Ki+s|uxl6e)<4Bp5a+6^jd?#AoVuhQJlr;gmhpN%qkvv2q?l@f zWXZuSO#aG^nr7AzLQ@R2vH0};%RtHnTH-}Vs}iF+7WVq4#x0nM(#VssA}$+dM)pUZ|k*MxzA z&+>iTv_{1rggxY_t#(Ql*rr%0X?(pB@T%?wUUc;7a{<`}vC6Matgg4(ZG9o6Ls8wh zo2^pdRyYtlQhGBWu-0=W?o}X+fCYJ~b+{x+dqRDtVu5L}=G)%luVuyN9;mg%jJSSpTL)WKWz_fc%A40Rbf>l#T%Ay)H z!XjT!OyYrU1T6|HOxr0R^Xe@X5b@TSR5fnQQ>)+Cxf`J5pEggXQg551Kxc}8kEcTC zKI2?n=T8C6JVQg&#he2)Vp((+Y%Iq_)y_u`=N>=1P6j*I*J1REj1kTYZ7OiB8)~)B z@xVL+zJJ_6=ERbiqW?J^ZDP{o^Mbo6Z(*X;Rx^{lCn1y56B5f!}fKXI2=0t zPI8i-mma-=-)%04IM)69 zg|o7wYJ?XKw10js51hu1><>e&$hhKp=6uwJdBuhuXrQnSV$(sD%z0>a(eK z;;RquZZBpsr-G7gWp-Rr32BtY`jweOYtY ze5jwUm-ZsA^Zfr++n0x9xxQT+qDaXcMbSf}A(V)eREDS|^H?GgWhgQxb0t(FN=k#w zJ!PInWGc1{h0GaBgOvGO*Q0NEfA8;okMB6XOK5f~)(313GzxX*wt?Uql zYrwRMb-jP^5-N+5f&dOE!N!h{7Bg;KhjB-gUOZ5apiSnT_8P_K7`^BCA*mPcdn?@f zoN2iEvWyL~*P~BT()93J5_AXe`1q;RS{ZaU-~#e@vaPk8HQv9pvlg>zk!TX_u%_l2 z;VG%B%9}^Lz90WKv0aPxP@L~ze0H7=xlr2ca^<>Y zm3HG4ml4El7d84hfD#y;Tw;B>hf8ba0Kd7ZM-ShN$2CkB@HmL{%&bCi}xhc z>6XCF`Y@r<8Y9jG>ON#uXnp@C<+Zz@(6U>FYnPA*n~KW8mT}~W5rw_4jZKrV(kMX~ z!bEvd%`%(#Jyw+3X!<>SV8zsS-}~od6r4;@pjdb;iL@ITN_ui%UlIxFI}zvAju9e= z!#G7t+W0HO0(xKny+9Rmfhm&3{-HdUua~1hZLb4}&D>|(CCZMKZ=$vdW7kk^T#Um@ zor=oVkj}TCGI!r8DIw)L@!Deg{L>?hW#tKmG8t_PPnmNs`M?*zXXZSpl2*O@sq+t^ z4I7cLWvI*UpV0wL-A0VF9(tbV9TB_U#=lC zCX`Ajdw6xlBj;W^ER!r;G(T$-Hkhiy@vtE6H>m>9OhGRKqyuCyLQOHXO;<*_tW=|3)Yt}mIr2dx|^(bC37Q|L}~zX zvzD%*gP!9FSiJBRc^!uM?>c-RDg)VlQCT1^OV$ndzGPh7CoN!Z&ZPp)`I3#gO9Zz0 zy|e=%B9up_P{n)t@0FWLzhXn|?O~ATLJSjozzqWroCyj>cry?>An3dg!TRJDHpOHm$Ej^@BdOUC4DAVRh9!aWSvU!Hdi^$~gN%}Kw}pj8fd?ZaBaybkzoD$7L#g8Q zifa2jm#y8sSp5+Nf;-Fj%%f-5rW%#zxk_Dp5ko7hy%05J4hP*IaxsX^ME`*OjM13( z8gqo3j)nF5U6XxWM3)259}X7oPZcJ{x(*e4&pt)D3I+lUYoTmkTk6~0-OT~>rQoV^ zkVvr1rq5T!@_{u2NILc(&6`pkP04!Oy0Ly#8^c_37h8evOVsmF&5d8`?$rh(`~+l3 z#8wdXhi?g|N#G5ktuT}=wb0#fuO-DHIBTW4HGC{^Z~7|4p}vcqy@^9fUxG{3#N__I zrLE5^wv@lQ!y|T3>h%OUU)m!iY<43}n?Bs2pJEUJ^{CkNB)G+IVKRt-+c5vUI7Haj z3VEsHn~;Xw#V}rukMCl%Q6_xo^z`%&0}SM66da%1@m2@>`B_Z4I19Z0-Bn&ASzdj^ zdg7tYA*%4~%N7{l9JC+R#+nDXTp%tF0^`goIRrbVUflgv2u=$1@6v-(u(WA z*y$B`AkimDK<{0*W6!PBe+)J>ppe7m`31fKhhLsPhSzG7D$*nGh^wdm+2A%PD63i_k(X|ETB|1Bpm z!)X-dq(JD$F}a9gnZm3F<(8XUbQ|^$R2sRqJ9I&`TbEhLCs`IQ{5Fy0=Ej8(Fh)O+ zWi2NB1HdStdWONekJxUIhX@iO%quh^(lfEAsdoL(8k2~*zAESXwR8wr_{^lJYs8I8 zhMF?YCa{PV&m0%v7E)rJG9@0o+oWrS!l9e_*?Qvox&Ajif$VFv!HdOBJwgGSB%{MW zRA220`XC*oCNw7rqPsv*pAaCin8LA* zkR3L;hKpnIGxIf5zhr9C!d7oZ@NhSDC%@gKlUr3&0SSm>@EMtH_7F$HBE{mQ?=pVfK>|P;u33_noLw%K-2@os}6Q;axyoGyzzE&0Kl=1D7-UIz$K#$ z1=xz~y*v>w8rs_YuRc4b^$pK+ldkV0&AR>Laq@^u)+)5qju7eFY*dyG$cdoqYrO_2 z={gIS7#ze*uRP=A*qobNnse@3-wiQ)#kn1EI~Q-(+x>8V#>H)()8eQU&;m*;p&(yL#U2d!-TYv%Iu4_to zBQ$NC4Ox%M5dz3(`ax~fIb4-h!S@{CZy|-$y zWIM{mHXe$jGdKVC{nFfQoi{cmz(o9FzQj*LVB6_WU%u4AdS?kM>+_`)8`oFYffiCVg;zQXB59b5l}E(BMHu_06rz$bT*OlCVz)%jiV)Vfw!Mvp5m= zU^0@DHE~jgnqtl0Q;t_}qlj(YQpxDGoU7T8=T!!HOzgg=nBlx$alW9L2WOYn7TghW zSiv1-ICLoFpF=nTF9a0iVcejjwPfF`Fx1K1%pQdf1>cj5=V#i6arxC^yIqudwWOYNJ~)hoS%a0!7-9Q^xsaU4XYP zQ!b+hFwh{!FT|p}dSW6&b@^juz1L$O=}SmpoAa6m6x`|4<)Ve!Y(!tR6#c6YA7WuZ zak$8HvNaP5VL;hq-=X|5Fo+3GJfJ*7*PL9gJRe;@L^nUX7^g>a`ZM(ejGxoVXu8H^ zeaSbsB^y4KUY>-M{g?bSnu&vn@hb0MOga-Khi1s3z`$NArYEtsCn2*Y_EddL2AqCw^kjfyU@nU-gX`Imdgh0U>I6`b7mpQD4D} zR(x~w64&~JPsZh)EoxULZ^pTRH~;%{q4Qh;DBjH(!fgBumX_gil8Y9VytE5f${!MZ z?vg}X2Z`+b)+|xU$(tFO*)mqa##0EIl=~p@@E#Kt;jiX8R00g5S^sbnXNtMw_T>Eh zy-&0UUZp(Pw=iYSkSW7*&egTQg3mk=Q9az=MEF&^ir!|fTfLLnb)@Xq$fuE|930k1 zr>?Ei(?@|iGVA1Lr16oB$VF1K@1Hxd!(|Clzu7%M`nI+dPrYfMA|b2-a=-|RlWPFG z@}fhBS~D532cR(N9nLRP%RwvGN|9Gs!QAf}>(9QeufIoaWL(UCN7QhvXepM8DVZ4U z1TTm@h-Y@~Gvrg>j^s$K-en*5*=yDnC9Z`@D?~mf2;p7~OLb($B6dkhq~k+PQf^Y9 zDYz1}kA^o^?R}z?WqL!0%-$8o@N5z6y}K2 zSwmb--3-X!JiiAtHzU;A5r%}CcoDz~`R((QnjlRQ>oVlj-~U5lu>a44eU!QlI8|U#wbp z{o_xwzjCsYVeGGf*S)8z$63!^2m%te1X)_N6#XXstUNG#BmQ|PYM@RW{9w1t>E)xV z%MBW*Rt4FYFOF`dZdGzL`+07d8<;pCyuf98`Y8HGUgX}bQ;oa=?F~qp27jM->E_C5 zBX4~;a?7a=W#dC&r1n*xn7I70Xc>av?(&8ADZpQsbPM+fZhkT~0iMHdqKoJ{VBn-BR{EdD+|PC-P1h~WCYjE}9TfvECh3&0RS6hsw=pBwlMr661giUr=;>4%0OQ`#C%uFGn}Xdehq#AZ8}oo zZ`4^+4NX-qa&mLOg4Z`^!FjmJK>76Fm$=M#T5CAMD*?6uBC4vpA8DWn62o5|wG3F< zp$~Wm&c?t=z=ASPuxpa0WCm;X|nsS5e8v=tvwkm2NoZ;)Qvk1q^ z?Y+$W?RVG0gp~!vDKg}H{d&ygsg~sojNLy@$}sAr3qgrV+m=E|Ap_(px9DCs;}@`x zefRF{7Xc6(=6$5%@zHl^e-CqWk2#ugXM2E2?!ox*D|`@i$ z+?<$yoRVGGK%sZX@Gy3*uf*%0BKYGMAlf~QfE-T<3tNlz4QOrNj7^m|$)Zoho31sF z4}v>(@S%#-tjg3xK$V)E9r-gUwMDpW(U*vptsY%=&PjSz6Q6{Ci@BT+sju1rYgKK` z)wpHx>vWUkt7_~=zVSYR*_}E|NHq->E~*qpa3S?lLzfD#*Dk4z`SvxRRTy`hMYc(+ z70t;X8vIu)FK>E`rAYh3dD z-}<|$X$NtK~r9OG-8iF-PDuf0pT+Ly!rYOZ18d{RV%_JR&iw_Y^^f-mt;JzLWv1)#s7;CN5H}s8)quHee~z z-k+c?eVd!MK99?P#X&|(0$buTg`F}jemUPzx@UlPJ4WzFU}mrJ{J!XN^_hG|jBJtZ(yZg9mZvaCA* zsQVI%$2baUDhL=W7ZqhVt{ER@+O-R|&)~7i+C5%@qi`dcGpgUl{T+)g>6_6jD}z~~ zmnJLt&%=kQ+4?(DaMPp*{N71zI=(1s|1NkL?jb25YVk( zEn2@_d{d1RbVQf1XTOleIIJaij1)wMZS@k^2{N%pXBK)S*c$>4ZfqoTh8)xpiwegh z4I_DExSYl}z{?@q(b)Jlrh+56Z>K{b%pe-~@}Ag2G-OFA_0k~y;Eyf0&C7i02O6>+ zO4*f5oEu7;li$C`P!5rG8m##CRS0Us5MKWjtBqY;=u!SiQ%@gO?nC7G52n1Sium^Z zwe^juFCQ{aag2Yq%zHvUn#3N#l=hNK5XpQRX64|>@RV1aq^#ay;d&CoX-1}mS|moY zc!t6KM|4{_6qn96GCMI0Kh}~9jlZ^ zLhxlD;%Q7>^=C3Bv*HS=rXDc`tgcPI`p4UX0*fD3U~h@}+qW^CtU=fs6@^>2y-MyX zafzJVO1b4iUa}6OpO38EUMnk!u$!JdVf8)W<^O7V`{>G~qIBaZ$B`BnRK95scjKEj zegp)oYexDOb$35@gy}C$JR~iLXd=gZR$<-#tM^fhz_H$qW)Pqya25R9GDMiT0h)lU z@v_=wVuHdDL=|@Wt$EGEZ!kkNhyWOFm;|NU$TyCDD zvjMtERKkWv&;aCxm(1*eYkXv<_u6mg+I8`l-@Yp;WTQywA@nJAU}HFii8G=7hpcPF z7qN8uzZ8GCATH~zdcIF}%db~lFsdGTkEOk1C1j#qK0zT|rN`z)IXS9zNnL^1hF0Gg zy!89uRuk^t5e*GaR7cKGdik+sLb{~Ce+ep2w>F*a4Wz||>o)o(X8fO84kJV|ZMn`* za1sX_NFEY$R?%y?w_=4wC0L~>Fw5Aaq-vqAd4Qf0aCdTkK9rf6xiX)3z%gJMCKTpFa~V*Feq@%1d0I6nH?si)`c_=6p7PiuS-pKpng%6Z>|vu9R@! z#2KpP>}7V^Q0v^N7gD#}s+nF-$+$m>z!K9ybjMDoCum;N1M!v|P;ogxpi#$NF)B<@ z$j`3TiY;qSULm+F-urZvmFs5<>{F3#|4VZo5Ey85^dR#Cy2vsBk_RAGfuiQhg)^XI z=|0mPx|F_kfg%*i+8h#`s04TVDL>TKLHz^NejO+R==zVTAZzpdi^hD)PKn25_@5Bq zrRQJ`*qRBxjuY&7g?whtEyW3<9*g2{N4~JW#Lr2fY7-y64aCxl^;WAP4R`<*!%d*| zz_OQ>z@CNxL3EIelP)#?z4YN$|CQiGLwFLI3BR-}FY-G3{ek?}kw53675QgoQqoY7 z*75tdkr2!}>00wINTRZ5jUX#0H}~CRtySn;a|qTP1!QN&bZsh92!^2fO^#6()@+xp7@0O4NL5NL|)!dr}R_dpD zP?}XpDxRk03RUHA5esps-`F*^BuX5D2S6-^9+v-XklD#8c!qYcn9w#m>*lm&GB#** z@#)K%N?r;7=O?@0@X+?FK9WO4$fh0^j^4_6&$DryjlQ*b4e+_*`K+w%_-v9JbEyBs zJ|{L#&v*rkvg8CrDfP=$=TI$b&Tn%)7gwer@!PYo=C>^#Rc=gh^Coq1h;#jHJ>T*bb&;>iK z7THQ0A3=v$aw%uPf3P98eyBl_5$bp{W*=i|yCq5WoNcMh9?FI#Sq?8r4nfUWyS zC5TSmaMRLXGBVX?kKf@9TebLPjUQD;b>E(1Z)?M-i2#rVNGzr*ouYjg)u#J~GE~V$ zpJ0Gqgg`PC+X#h9;*$urR23#J1yCYu{e9*0vh^i@0o=&+BR6K{=It$Y#>k|2MQokD z-q>6E^P?HK?TFg_v=3(D<7?vUD`&40il|a+%_x->kCQ(-4Mpy1LcUOyzBNC~{yuFR zRfO(9*zWl`WG5eUEXh6;1NAdLU16Kuoli#|g-$BUa)TygZ#4hgTvL;aqxu^O6(~pF z+!M@ll%uZk_8y4t?5|01cmCY*VH6Q+#7)}y8PncZ4I1~0(@bV&@Zsq4vY85sQ+6a% zk{@M7e8WY^T~iFfn}!s;65_A*zbdZKZv7#dksR~|g>@{3Tw=R(ogUk$8LR}8Cd$@U zJt|o34S6sexqEL*NO@!#M)nWc`n`S7qf<-vJfZ^*`Yx@Qv zRB6N3WRu|;2TLB;Pj6<1=nQ>)z~;*A$WL&!YubnNIg<8N`h?=*@DL4NEFp(`XCcZI z2$RoFXTAJ|t?U3&$t$p7Xhy^YPEG3BR5&7)8=N9>^8 z<3_}jc^B}IU!IQ1e7b>p$f{4x`7~%zB)AGreEMLYWxs~AqU3HX%2lCdUq0+Tn?a&Y znt%i`D-tx|Mcs>?bsbd~!5{;w-loTUTwai@a$)*YZjq2pc{wzN4Pd?$c_r8!+TroO zy&bW^1F||JL%}Q2inaK-!&!H%F7{jRb!4S6qM1PE4=>0VFrk4@0Y^}{u>JKf=Ebqf z@O}^$CW#(#Ou}a@*U6EB2&&5m7MQWt0pM7zkoGPhNBj;5M(}ePoQutRCDaDL?CiG0 zT`o_DRylo*BQHplAj8D5wC@e7IVZI%HXSLu`lZ!U;i=E;OWK`^(f)pA2RtU$ChNtB z1v)suCt-YuG1Vx^Jt5fYAngixYhwAVYkhBgLA7Ns$#yp}~q2rf^*-Xq8||WADn3 zfvwNUK~TKQ3&+t8w-wtR{2yzfkq3g!QQ+h1*8%C=0xo|IerL%wB;$N)rQTHVt?)Ob z&?sBi?>tcr1_ksVY5R4FCmxQ;; z^u{kb*=9EiRZ8L(jpB z0f0!}Jw&)xfHVPj{V`s<)agFT(4-e4XfWTtf6pECVuU8JrKQCIr921N(um&zU>-4^ zXd*8&vh~yo&xx2J!5=UwDXtofkM+h=@B}62I6TeIp8#<4p8Lk7Q!G)8u5dd78HS6O zH<0Q)Q@vhm2w92KmyV?%d=$^$X`tE!Wp_%yp2!<+xhAr4KWS|Q9yJqG-q+=_P?Gc} z&iO#{E&gEgy01K0bH`h__x0ucohG>qdxKQ^-#pI8OfpL73Q6>XhL||`z*3RaH-Xml zqWV&Xt^vS#jL2NHvH&_O)3E!tM22UsVc4;BA*5hs)n0mZSAuu=d-KGz!ea0Ufj!~L zdJwjXldx8EM{Ca3tTU?+_-2uZSp5kPu}#__m-E>%#`WuwgUiZ{zC%kevW%r=FgIy- zYwka-!E{hVy9)FP8~_+Z+KkfLdc~;qR%W=%Kn%dWk)b6$R(Y_Bo@!%^2*OH_w#4|O zQ9g^CYfzSQN;LH2;kAxBb!+2^urVGEViLj>He#}rup}^Ryj-Sot5GiXEn_) zOEo5NcuWA<2-L)|Q*1G^nhNTxv%45HGb00kgMK6M6=`t@h3j` z%>sG3|8gInKfldCw=~SSSFqwx_& z5o`+nD(>!}7w=J9;xfYQ;2`FCa|;WEawPHI@Hg)cRtzszp82zGw8JiJgvo$fdG-40 zq-(<>k#4k$h&)vhN?1o{1l%s(*&jGoz?kb)8Yj<+nLA5^pJBPD4+Tj+JN;XVA*JcrUSO zD0`dmsn2TSip#LoMDS=kfo*%x915S?vjV0*4skI|woR3B4_rUd=_WCN^EyyRJ|=A8 zyO-Zuw-~d^dQaZ@ZF~AYAAzqN17q_6RmwvGc5!fMx_KZDS|PMtvVaaEfRjezM!SnV zrCc|u?l&?;309VN#$@WkeyD;^EZFlGPhSH&N|FuAj@thWzhCCi@jOpsL6n6ZMGX7; z+jBEJ;C9Buy4yu|X8eY&Lu-bxNsa|L5kE3$!%C^MeOt09!fX2e@qIYe>jai8@x{z6 z`~WDOlKb~1q4JM^*YclgezUsUV|1nNvqb@{rH{49jS(9s{Mef9rrTo3kdW~9`J)&P zZ11O={YKj?dsL|=nyQVvXqT-n=jmxNq?6;dDv({yV{e*Sz@Ezo%gY@)J~fJ>6d5s1 zi}fO0URN-6dayfugdk%rfE5iO88f+_?$Pp1!<+U|gcl}E+BV1KPqbr}k9bY1yidun zVILo5ad3E>bR$L-F%#iGBd~>Y_a|xts0=dG-D8dd{Bu99w5=!BNM`mJ09sTb!XHYN zaT#;)s|w+I`(k5Ge)&)nM8-LJWik!XqQ)XUf9JSmf6Zc_8Ow=Kwlxk>R{Qpq!k;fm z5B_CmVw;bJT1hNiRX23ES|b3r>hHpbL_X_6*Djb-e47aDEJTh4&T93ag%LfPq{}k# zb(?0!{;N{m>$b2JO)q!qm%jVH%YCs!=Zid@h^sW{NL5;tk8hAT+%*@ml zfsCPL9^pA@QOQOlqf&Yors%HbP+AT1{T+xk7!(pMwwfxrRomY0zGU zP#Ka+TQ2{g^3gVMd3VT{Mywm)7Pqm1gU0eT;QbQa5*a)SJ(lF3-W8n3%hZa!KXqG1 zok%rXMwHcpAwS>nS#t{i%+KqPj~LJbV^sLuB@Qn zqemQdlbPA!`@Tbsb8j|hoW5nPNjal~5OzW52B(0jS7B(!{SB73&(HPlhngSWsC72?Y-wE4uj=(AuopjfZmW!#w>N@IRL9Cf zthHWkO4H*D=YRwF4blL%xA%mc8R_^zI*MFkU`p9Q21Pm;Q2h_9>CDfkTJ!lJ@bgx{|6~xfz8lT!w8*^e;n9w$=XtqNP|E&zE9Pf_NJ?fupSKHXg z-011Env2<%90M~M294X>FF|J~Q`3|3YugXBkVzt(+6xzcyY<3`HIrynR99EG@ZIz2 z^rTQ^|5P*sigC@b6{a@`PoxsHRGqNw{2kTd_{YT9}z@&%-|X((CGtFX#9;(BChS0ob5}=-c*j(iMUB zrH!2C=1s8>>rz8z%^o~Bc)0Ba%lWUent9rHLqAB3^&BsI)0{le862E5E7p=$QCJU< zu0i?toPsuFQZ=(XSl{IdH|`FA3o$-E`7mU zNbrnV?^k51a0un??%r;{oo}GdxUzWO8(rW|H5S>10Gs6jIvE1K?zvyX$MUaz1|u-6 z&|4XuuM)wEOEP?b#~xgso99daF1zcC$_7xBDC^xid(e%_4WeLo7~_*}_b5w)xm^U-4eB_P zm0*FApDhpRA~mdQqf61~qyh{-TD=xBV%U&A0EeFz|H5a1A5n5ocQ;s*y({G$;+h|k z3k^=>C!KZ44>8>OzxkKr2_Q8an)>YsM_<%^V;2S<{5Gb1$4{G?*$qnP@j6}8P?k59M~Bw3>Mq%}PS1Y&_k&*-DlF)ZCE z$`mf!2UM8Uz|qGSdv&VB0rC*OataA)gFpsy9SkYEhMn+IlKOLSoLhNDh1hw}hJp5* zj7K${z;^rKprFNI@S$yB6Da6Nco(GL1^~LtYQq8hm&`B%Xw7i47GE*j6&d z)hZqy9^3Cd6{k<1cDk72yN8~BZnvnYs8fE2hK7dIMeaXsSOMGu0-MyGa!pR#*&W@x z_j38s(lt{PUy{L;u?1-a_j?;0?gwbtbHLTrRr@-#G8y~Erlw{PTAm!Z6i{H64r)vi znE9ZHsSFJbX=rP|M<0ebA#sbtySMcGx_IpH;rkf#jbdW^C2ng%vON8@C^a>;{rSl& zc$_>!LK4{@QZbqnpQjyLGxlU=W@>0^Hg)7*@Nn5ObLWP8vDdWT^zX42nCIqsvAJAp zY8XSyiw%m3CP_(2cXoN@Mc%mK;i5Pb*W~VV%-lTv@nbQx8#i!L^fbTUw`|a$ka>7y zgomF$3FWk@EYbDrN8nU2r+7`7mFbnpwQJYfQHa9bZ}Xn{6aO{#?%h-b4yVE5RDe0b z#ou33(RuPS$dnyZohW>~Lq~z}nMvnIj~>~AT0HgV`-$wZfUaJv&dJG1BXpKXk8Z1~ zE)Y%1$uTfX*9XPF5k12CoO1KLa5GKrn)B0fmp~)gEGc;id}<{HUT=vNKLV*KW{h|_ z(2~1Ce6S1Xzd3)>A|xt`xA(i-)vc8uVcM!DjqmIl)i*UgLy39tK%^^cV8B`i${`u| zAAQ=>+A-1yV->GyS8#ZBG&&gj>J{(*es+GaAY}qjrlaG>UOx@#8#t(e;>8yZ& z09(*3+w)wL%?jKS5aFroWSbuu!u(>3mmJd9?)Sne(%jr^3#mk8;_tDp%@m62^)eM#b=T%6@E0d$zU zifJhzAmBM~-c{^l4$kuU2l*M>oJBR(=+XENEhCC2n?HgKO;O*rZJVh=C)iakXbbu> zE9)76a}3zgqepLibjUuo?&0E;dJmK`GmsHbyJ-mu~+G^al*}d3j z-mJgB|Hs9`;m@BB@7ovf?AbHfGwrg;`}eaO+|8!+_w`lvet-Jlfr_wj!TyzMGZ7aK z90)QpG8)I0r0sLSVya^sT2v=t8+&^H{_eWEItAx}tFUNI#{X$maw_S05?iMzbR8Ov znYxMe4~W~EAN9V>&L*=6%W@c0RUI82czesI@h@MYHz>%#0UG6!uHy3Ya?Jed={*eo z&F=Xo5@hCDm7ne{mhficK0#S4Gj$izzzdm{;c=)_03{pm05<2 zf=sWhaVJH_r|0wy45G(IOgUDqN=A@iB)uxd#P?7)Q~UzwEpotrjk96NR_s+M`g z@a}K0|8qRI`%d-_PGZ_l(v>Nz>A&A?Z=ZrTGBzLVeFP**pBuWlVrdX>#u zKC+vRE(*;S-aS3?kfM&Q`;M|t5h68R6O)ubf82teFw*U)K6!PkHak7t9}n;^wXv@C z_U{jDdPqmdK!-d0B$sYp{2m8;-*-1|KEA>69dy2QC8inp+|!PZEvS!E)FBRN!lCWe z|M2;99TX?D!xqz>U5PhaB&|CTc8cu!<3l&lX(_$6)j(YbMQ8MTN=Zzl1g*!dglLiv zgFyv)^|U{F^-2|SkQydWXh;ZFU2bl!NhlNDp0K~qz{HOUqy7KkS Date: Wed, 15 Feb 2023 16:35:50 +0100 Subject: [PATCH 207/212] Remove usage of API --- n3fit/src/evolven3fit_new/eko_utils.py | 4 ++-- n3fit/src/evolven3fit_new/evolve.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/n3fit/src/evolven3fit_new/eko_utils.py b/n3fit/src/evolven3fit_new/eko_utils.py index 32c966a07b..076e38144d 100644 --- a/n3fit/src/evolven3fit_new/eko_utils.py +++ b/n3fit/src/evolven3fit_new/eko_utils.py @@ -1,7 +1,7 @@ from ekobox import gen_theory, gen_op from eko import run_dglap -from validphys.api import API +from validphys.loader import Loader from . import utils from typing import Any, Dict, Optional @@ -31,7 +31,7 @@ def construct_eko_cards( if op_card_dict is None: op_card_dict = {} # theory_card construction - theory = API.theoryid(theoryid=theoryID).get_description() + theory = Loader().check_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) diff --git a/n3fit/src/evolven3fit_new/evolve.py b/n3fit/src/evolven3fit_new/evolve.py index d749b9f534..2cf0180040 100644 --- a/n3fit/src/evolven3fit_new/evolve.py +++ b/n3fit/src/evolven3fit_new/evolve.py @@ -9,7 +9,7 @@ from ekomark import apply from eko import basis_rotation as br from eko import output -from validphys.api import API +from validphys.loader import Loader from . import utils, eko_utils @@ -94,7 +94,7 @@ def evolve_fit( else: try: _logger.info(f"Loading eko from theory {theoryID}") - theory_eko_path = (API.theoryid(theoryid = theoryID).path)/'eko.tar' + theory_eko_path = (Loader().check_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") From 396456a1681cea473b6507fcaf962ee7361dfb72 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Wed, 15 Feb 2023 16:40:47 +0100 Subject: [PATCH 208/212] Restore conda-build in gitgnore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 648157bf6c..0fbe0bcd81 100644 --- a/.gitignore +++ b/.gitignore @@ -378,7 +378,7 @@ ENV/ env.bak/ venv.bak/ -#conda-build +conda-build conda_bld/ # Spyder project settings From 5d1097082b7eee42a3635526f2e869e2f374b11a Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 16 Feb 2023 14:04:25 +0100 Subject: [PATCH 209/212] Fix tests --- n3fit/src/n3fit/tests/test_evolven3fit.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 7fd3008eb2..217a2b2403 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -46,15 +46,15 @@ def test_utils(): def test_eko_utils(): #Testing construct eko cards - theoryID = 208 + theoryID = 162 q_fin = 100 q_points = 5 - x_grid = [1.e-7, 1.e-5, 1.e-3, 0.1, 1.0] - pto = 1 + x_grid = [1.e-7, 1.e-3, 0.1, 1.0] + pto = 2 qref = 91.2 comments = "Test" n_cores = 6 - t_card, op_card = eko_utils.construct_eko_cards(theoryID, q_fin, q_points, x_grid, {'n_integration_cores' : n_cores}, {'Comments' : comments}) + t_card, op_card = eko_utils.construct_eko_cards(theoryID, q_fin, q_points, x_grid, {'n_integration_cores' : n_cores, 'interpolation_polynomial_degree' : 2}, {'Comments' : comments}) assert t_card['Qref'] == qref assert t_card['PTO'] == pto assert t_card['Comments'] == comments From 821987c869488be194e453fc22040a2efb64b924 Mon Sep 17 00:00:00 2001 From: andreab1997 Date: Thu, 16 Feb 2023 14:08:11 +0100 Subject: [PATCH 210/212] Remove one x point from test --- n3fit/src/n3fit/tests/test_evolven3fit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/n3fit/src/n3fit/tests/test_evolven3fit.py b/n3fit/src/n3fit/tests/test_evolven3fit.py index 217a2b2403..278d7212e3 100644 --- a/n3fit/src/n3fit/tests/test_evolven3fit.py +++ b/n3fit/src/n3fit/tests/test_evolven3fit.py @@ -49,7 +49,7 @@ def test_eko_utils(): theoryID = 162 q_fin = 100 q_points = 5 - x_grid = [1.e-7, 1.e-3, 0.1, 1.0] + x_grid = [1.e-3, 0.1, 1.0] pto = 2 qref = 91.2 comments = "Test" From 9b1669ea6a66087b2bf2a302994030f04d3784df Mon Sep 17 00:00:00 2001 From: "Juan M. Cruz-Martinez" Date: Tue, 21 Feb 2023 11:50:33 +0100 Subject: [PATCH 211/212] Update conda_build_config.yaml --- conda-recipe/conda_build_config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conda-recipe/conda_build_config.yaml b/conda-recipe/conda_build_config.yaml index 71cab38400..a15ac5fdef 100644 --- a/conda-recipe/conda_build_config.yaml +++ b/conda-recipe/conda_build_config.yaml @@ -1,7 +1,7 @@ #For some reason the resolver decides to use an old version of numpy #without this numpy: - - 1.22 + - 1.21 pin_run_as_build: lhapdf: x.x.x From 94f63d757c424fb0c4afbfdb567b97012f172518 Mon Sep 17 00:00:00 2001 From: juacrumar Date: Tue, 21 Feb 2023 17:44:08 +0100 Subject: [PATCH 212/212] pin the versions of eko and banana in conda --- conda-recipe/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conda-recipe/meta.yaml b/conda-recipe/meta.yaml index e1867a34e0..510adb0861 100644 --- a/conda-recipe/meta.yaml +++ b/conda-recipe/meta.yaml @@ -51,8 +51,8 @@ requirements: - sphinxcontrib-bibtex - curio >=1.0 - pineappl >=0.5.8 - - eko - - banana-hep + - eko ==0.10.2 + - banana-hep ==0.6.6 - lz4 >=3.1.10 # see https://github.com/conda-forge/eko-feedstock/issues/10