diff --git a/.github/workflows/redo_regressions.yml b/.github/workflows/redo_regressions.yml index c7111631aa..77df4959a2 100644 --- a/.github/workflows/redo_regressions.yml +++ b/.github/workflows/redo_regressions.yml @@ -58,6 +58,7 @@ jobs: shell: bash -l {0} run: | git config user.name "Redo regressions bot" + git config user.email "<>" git add extra_tests/regression_fits/* git status git commit -m "Automatically regenerated regressions from PR ${{ github.event.number }}, branch ${{ github.event.pull_request.head.ref }}." diff --git a/conda-recipe/conda_build_config.yaml b/conda-recipe/conda_build_config.yaml index 95a95fa5b0..405317556b 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.24 + - 1.26 pin_run_as_build: lhapdf: x.x.x diff --git a/extra_tests/regression_checks.py b/extra_tests/regression_checks.py index ceb04cd475..54f2b2e6cd 100644 --- a/extra_tests/regression_checks.py +++ b/extra_tests/regression_checks.py @@ -28,6 +28,7 @@ "no_csr": 613, "polarized_evol": 34, "multi_dense": 316, + "t0theoryid": 100, } diff --git a/extra_tests/regression_fits/central_16.json b/extra_tests/regression_fits/central_16.json index f4da97612e..c1ed6fed3b 100644 --- a/extra_tests/regression_fits/central_16.json +++ b/extra_tests/regression_fits/central_16.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 12.018421173095703, + "Total": 11.461867332458496, "start": 0.0, - "replica_set": 0.23227167129516602, - "replica_fitted": 12.018356561660767, - "replica_set_to_replica_fitted": 11.7860848903656 + "replica_set": 0.22239995002746582, + "replica_fitted": 11.46180772781372, + "replica_set_to_replica_fitted": 11.239407777786255 }, "cputime": { - "Total": 13.647957485, + "Total": 13.093227772000002, "start": 0.0, - "replica_set": 0.23026263799999924, - "replica_fitted": 13.647891120999997, - "replica_set_to_replica_fitted": 13.417628482999998 + "replica_set": 0.22140489500000005, + "replica_fitted": 13.093166188000001, + "replica_set_to_replica_fitted": 12.871761293 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/diagonal_45.json b/extra_tests/regression_fits/diagonal_45.json index 81ec009cbd..abe08e2d4b 100644 --- a/extra_tests/regression_fits/diagonal_45.json +++ b/extra_tests/regression_fits/diagonal_45.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 10.89296817779541, + "Total": 10.632083654403687, "start": 0.0, - "replica_set": 0.2278742790222168, - "replica_fitted": 10.892873764038086, - "replica_set_to_replica_fitted": 10.66499948501587 + "replica_set": 0.24991393089294434, + "replica_fitted": 10.63199520111084, + "replica_set_to_replica_fitted": 10.382081270217896 }, "cputime": { - "Total": 12.396652105999998, + "Total": 12.098074116, "start": 0.0, - "replica_set": 0.227109338, - "replica_fitted": 12.396556207, - "replica_set_to_replica_fitted": 12.169446869000001 + "replica_set": 0.24743486699999995, + "replica_fitted": 12.097983746999997, + "replica_set_to_replica_fitted": 11.850548879999998 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/feature_scaling_81.json b/extra_tests/regression_fits/feature_scaling_81.json index f8a062636c..f99fccd05a 100644 --- a/extra_tests/regression_fits/feature_scaling_81.json +++ b/extra_tests/regression_fits/feature_scaling_81.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 11.31751823425293, + "Total": 11.171345472335815, "start": 0.0, - "replica_set": 0.23138642311096191, - "replica_fitted": 11.317461729049683, - "replica_set_to_replica_fitted": 11.08607530593872 + "replica_set": 0.2302110195159912, + "replica_fitted": 11.171200513839722, + "replica_set_to_replica_fitted": 10.94098949432373 }, "cputime": { - "Total": 12.811329942, + "Total": 12.607453065000001, "start": 0.0, - "replica_set": 0.2290858440000001, - "replica_fitted": 12.811271753, - "replica_set_to_replica_fitted": 12.582185909 + "replica_set": 0.22927526099999973, + "replica_fitted": 12.607306401999999, + "replica_set_to_replica_fitted": 12.378031141 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/flavour_29.json b/extra_tests/regression_fits/flavour_29.json index c4d7bed4a3..44816b702f 100644 --- a/extra_tests/regression_fits/flavour_29.json +++ b/extra_tests/regression_fits/flavour_29.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 4.7116029262542725, + "Total": 4.690255403518677, "start": 0.0, - "replica_set": 0.22231054306030273, - "replica_fitted": 4.711346387863159, - "replica_set_to_replica_fitted": 4.4890358448028564 + "replica_set": 0.23582863807678223, + "replica_fitted": 4.690072774887085, + "replica_set_to_replica_fitted": 4.454244136810303 }, "cputime": { - "Total": 4.862365402999999, + "Total": 4.831552295, "start": 0.0, - "replica_set": 0.2213146479999999, - "replica_fitted": 4.862106009999999, - "replica_set_to_replica_fitted": 4.640791361999999 + "replica_set": 0.2345493980000004, + "replica_fitted": 4.831367581, + "replica_set_to_replica_fitted": 4.596818183 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/multi_dense_316.json b/extra_tests/regression_fits/multi_dense_316.json index 0c14de95a0..d1ff7d0767 100644 --- a/extra_tests/regression_fits/multi_dense_316.json +++ b/extra_tests/regression_fits/multi_dense_316.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 11.636826753616333, + "Total": 11.391953229904175, "start": 0.0, - "replica_set": 0.22696971893310547, - "replica_fitted": 11.63676381111145, - "replica_set_to_replica_fitted": 11.409794092178345 + "replica_set": 0.22628402709960938, + "replica_fitted": 11.391895294189453, + "replica_set_to_replica_fitted": 11.165611267089844 }, "cputime": { - "Total": 13.214493326, + "Total": 13.023389705, "start": 0.0, - "replica_set": 0.22588198299999984, - "replica_fitted": 13.214427934, - "replica_set_to_replica_fitted": 12.988545951 + "replica_set": 0.2253089749999999, + "replica_fitted": 13.023330024, + "replica_set_to_replica_fitted": 12.798021048999999 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/no_csr_613.json b/extra_tests/regression_fits/no_csr_613.json index d78cd10c37..84a65a38e2 100644 --- a/extra_tests/regression_fits/no_csr_613.json +++ b/extra_tests/regression_fits/no_csr_613.json @@ -77,25 +77,25 @@ ], "timing": { "walltime": { - "Total": 9.675678253173828, + "Total": 9.481953382492065, "start": 0.0, - "replica_set": 0.23419880867004395, - "replica_fitted": 9.675537109375, - "replica_set_to_replica_fitted": 9.441338300704956 + "replica_set": 0.22993159294128418, + "replica_fitted": 9.481811761856079, + "replica_set_to_replica_fitted": 9.251880168914795 }, "cputime": { - "Total": 10.798555852999998, + "Total": 10.565282932000002, "start": 0.0, - "replica_set": 0.23191265599999955, - "replica_fitted": 10.798412807, - "replica_set_to_replica_fitted": 10.566500151 + "replica_set": 0.22892762300000058, + "replica_fitted": 10.565139715, + "replica_set_to_replica_fitted": 10.336212092 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/no_lagrange_27.json b/extra_tests/regression_fits/no_lagrange_27.json index 40d5e18c14..a8557c1743 100644 --- a/extra_tests/regression_fits/no_lagrange_27.json +++ b/extra_tests/regression_fits/no_lagrange_27.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 15.686562776565552, + "Total": 15.563487768173218, "start": 0.0, - "replica_set": 0.22611141204833984, - "replica_fitted": 15.686427593231201, - "replica_set_to_replica_fitted": 15.460316181182861 + "replica_set": 0.23473668098449707, + "replica_fitted": 15.563342332839966, + "replica_set_to_replica_fitted": 15.328605651855469 }, "cputime": { - "Total": 17.064158211, + "Total": 16.861277111, "start": 0.0, - "replica_set": 0.22520821400000024, - "replica_fitted": 17.064021315999998, - "replica_set_to_replica_fitted": 16.838813102 + "replica_set": 0.232657691, + "replica_fitted": 16.861129706, + "replica_set_to_replica_fitted": 16.628472015 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/no_msr_92.json b/extra_tests/regression_fits/no_msr_92.json index 2c27d959d3..620a14064a 100644 --- a/extra_tests/regression_fits/no_msr_92.json +++ b/extra_tests/regression_fits/no_msr_92.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 21.57416319847107, + "Total": 21.4597225189209, "start": 0.0, - "replica_set": 0.2312939167022705, - "replica_fitted": 21.574037075042725, - "replica_set_to_replica_fitted": 21.342743158340454 + "replica_set": 0.23497629165649414, + "replica_fitted": 21.459640741348267, + "replica_set_to_replica_fitted": 21.224664449691772 }, "cputime": { - "Total": 23.208116806, + "Total": 23.170773932000003, "start": 0.0, - "replica_set": 0.22919140999999943, - "replica_fitted": 23.207989188, - "replica_set_to_replica_fitted": 22.978797778 + "replica_set": 0.23272350500000005, + "replica_fitted": 23.170689936000002, + "replica_set_to_replica_fitted": 22.937966431 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/no_sumrules_18.json b/extra_tests/regression_fits/no_sumrules_18.json index 73c2de3cff..45964fe117 100644 --- a/extra_tests/regression_fits/no_sumrules_18.json +++ b/extra_tests/regression_fits/no_sumrules_18.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 17.569430351257324, + "Total": 17.269383192062378, "start": 0.0, - "replica_set": 0.23427820205688477, - "replica_fitted": 17.569316625595093, - "replica_set_to_replica_fitted": 17.335038423538208 + "replica_set": 0.23167967796325684, + "replica_fitted": 17.269216537475586, + "replica_set_to_replica_fitted": 17.03753685951233 }, "cputime": { - "Total": 19.022983414, + "Total": 18.788655262, "start": 0.0, - "replica_set": 0.23228657200000047, - "replica_fitted": 19.022868079, - "replica_set_to_replica_fitted": 18.790581507 + "replica_set": 0.23061819099999958, + "replica_fitted": 18.788486498, + "replica_set_to_replica_fitted": 18.557868307 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/no_vsr_54.json b/extra_tests/regression_fits/no_vsr_54.json index 0ba62ec328..20d01b61bf 100644 --- a/extra_tests/regression_fits/no_vsr_54.json +++ b/extra_tests/regression_fits/no_vsr_54.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 11.739926099777222, + "Total": 11.414241790771484, "start": 0.0, - "replica_set": 0.22898173332214355, - "replica_fitted": 11.739850759506226, - "replica_set_to_replica_fitted": 11.510869026184082 + "replica_set": 0.22046661376953125, + "replica_fitted": 11.414183139801025, + "replica_set_to_replica_fitted": 11.193716526031494 }, "cputime": { - "Total": 13.339112153000002, + "Total": 13.054506966, "start": 0.0, - "replica_set": 0.22787525900000016, - "replica_fitted": 13.339034288, - "replica_set_to_replica_fitted": 13.111159029 + "replica_set": 0.21948998699999933, + "replica_fitted": 13.054446142999998, + "replica_set_to_replica_fitted": 12.834956155999999 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/normal_fit_72.json b/extra_tests/regression_fits/normal_fit_72.json index f83d20b956..a394a1412e 100644 --- a/extra_tests/regression_fits/normal_fit_72.json +++ b/extra_tests/regression_fits/normal_fit_72.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 17.19196391105652, + "Total": 16.82194948196411, "start": 0.0, - "replica_set": 0.2349693775177002, - "replica_fitted": 17.191868543624878, - "replica_set_to_replica_fitted": 16.956899166107178 + "replica_set": 0.22348880767822266, + "replica_fitted": 16.821776866912842, + "replica_set_to_replica_fitted": 16.59828805923462 }, "cputime": { - "Total": 19.64416452, + "Total": 19.175740587, "start": 0.0, - "replica_set": 0.23289664700000046, - "replica_fitted": 19.644066357, - "replica_set_to_replica_fitted": 19.41116971 + "replica_set": 0.22243870600000015, + "replica_fitted": 19.17556551, + "replica_set_to_replica_fitted": 18.953126804 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/polarized_evol_34.json b/extra_tests/regression_fits/polarized_evol_34.json index a4703d8d8b..6bf46dd77e 100644 --- a/extra_tests/regression_fits/polarized_evol_34.json +++ b/extra_tests/regression_fits/polarized_evol_34.json @@ -47,25 +47,25 @@ ], "timing": { "walltime": { - "Total": 9.182395219802856, + "Total": 9.003463745117188, "start": 0.0, - "replica_set": 0.23716163635253906, - "replica_fitted": 9.182160377502441, - "replica_set_to_replica_fitted": 8.944998741149902 + "replica_set": 0.2323012351989746, + "replica_fitted": 9.003390312194824, + "replica_set_to_replica_fitted": 8.77108907699585 }, "cputime": { - "Total": 9.966191528, + "Total": 9.724381046999998, "start": 0.0, - "replica_set": 0.23521285599999953, - "replica_fitted": 9.965954095, - "replica_set_to_replica_fitted": 9.730741239 + "replica_set": 0.2303084740000001, + "replica_fitted": 9.724305615999999, + "replica_set_to_replica_fitted": 9.493997142 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/extra_tests/regression_fits/t0theoryid.yml b/extra_tests/regression_fits/t0theoryid.yml new file mode 100644 index 0000000000..89da10f650 --- /dev/null +++ b/extra_tests/regression_fits/t0theoryid.yml @@ -0,0 +1,81 @@ +# +# 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_NC_NOTFIXED_P_EM-SIGMARED, frac: 0.5, variant: legacy} + - {dataset: SLAC_NC_NOTFIXED_P_EM-F2, frac: 0.5, variant: legacy} + - {dataset: CMS_Z0J_8TEV_PT-Y, frac: 0.5, cfac: [QCD], variant: legacy_10} + - {dataset: ATLAS_TTBAR_8TEV_TOT_X-SEC, frac: 1.0, cfac: [QCD], variant: legacy} + +############################################################ +datacuts: + t0pdfset: NNPDF40_nnlo_as_01180 # PDF set to generate t0 covmat + q2min : 3.49 # Q2 minimum + w2min : 12.5 # W2 minimum + +############################################################ +theory: + theoryid: 399 # database id + t0theoryid: 398 + +############################################################ +genrep: False # on = generate MC replicas, False = use real data +trvlseed: 3 +nnseed: 2 +mcseed: 1 + +load: "weights.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', 'tanh', 'linear'] + initializer: 'glorot_normal' + optimizer: + optimizer_name: 'RMSprop' + learning_rate: 0.00001 + clipnorm: 1.0 + epochs: 1100 + positivity: + multiplier: 1.05 + initial: 1.5 + stopping_patience: 0.10 # percentage of the number of epochs + layer_type: 'dense' + dropout: 0.0 + threshold_chi2: 10.0 + +fitting: + savepseudodata: False + fitbasis: EVOL + basis: + - {fl: sng, trainable: false, smallx: [1.094, 1.118], largex: [1.46, 3.003]} + - {fl: g, trainable: false, smallx: [0.8189, 1.044], largex: [2.791, 5.697]} + - {fl: v, trainable: false, smallx: [0.457, 0.7326], largex: [1.56, 3.431]} + - {fl: v3, trainable: false, smallx: [0.1462, 0.4061], largex: [1.745, 3.452]} + - {fl: v8, trainable: false, smallx: [0.5401, 0.7665], largex: [1.539, 3.393]} + - {fl: t3, trainable: false, smallx: [-0.4401, 0.9163], largex: [1.773, 3.333]} + - {fl: t8, trainable: false, smallx: [0.5852, 0.8537], largex: [1.533, 3.436]} + - {fl: t15, trainable: false, smallx: [1.082, 1.142], largex: [1.461, 3.1]} + +############################################################ +positivity: + posdatasets: + - {dataset: NNPDF_POS_2P24GEV_F2U, maxlambda: 1e6} + - {dataset: NNPDF_POS_2P24GEV_DYS, maxlambda: 1e5} + +integrability: + integdatasets: + - {dataset: NNPDF_INTEG_3GEV_XT8, maxlambda: 1e2} + +############################################################ +debug: true +double_precision: false diff --git a/extra_tests/regression_fits/t0theoryid_100.exportgrid b/extra_tests/regression_fits/t0theoryid_100.exportgrid new file mode 100644 index 0000000000..9f3bddf877 --- /dev/null +++ b/extra_tests/regression_fits/t0theoryid_100.exportgrid @@ -0,0 +1,633 @@ +labels: [TBAR, BBAR, CBAR, SBAR, UBAR, DBAR, GLUON, D, U, S, C, B, T, PHT] +pdfgrid: +- [0.0, 0.0, -2.299563407897949, -0.007019095588475466, -0.03356291726231575, -0.03351516276597977, + -17.4641056060791, -0.033359263092279434, -0.033405475318431854, -0.007269027642905712, + -2.299563407897949, 0.0, 0.0, 0.0] +- [0.0, 0.0, -2.227125644683838, -0.002957247896119952, -0.030563535168766975, -0.03050926700234413, + -17.477161407470703, -0.03033691830933094, -0.03038933500647545, -0.0032313831616193056, + -2.227125644683838, 0.0, 0.0, 0.0] +- [0.0, 0.0, -2.1569714546203613, 0.0012154497671872377, -0.027497123926877975, -0.02743535488843918, + -17.488792419433594, -0.02724478580057621, -0.02730432339012623, 0.0009147885139100254, + -2.1569719314575195, 0.0, 0.0, 0.0] +- [0.0, 0.0, -2.0890305042266846, 0.005502080079168081, -0.024362394586205482, -0.024292197078466415, + -17.49890899658203, -0.024081455543637276, -0.02414896711707115, 0.00517234904691577, + -2.0890305042266846, 0.0, 0.0, 0.0] +- [0.0, 0.0, -2.02323055267334, 0.009906094521284103, -0.02115805074572563, -0.021078169345855713, + -17.50739288330078, -0.020845066756010056, -0.02092171460390091, 0.009544506669044495, + -2.02323055267334, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.9595049619674683, 0.014430499635636806, -0.017883090302348137, -0.01779226027429104, + -17.514129638671875, -0.017534378916025162, -0.017621314153075218, 0.014034007675945759, + -1.9595049619674683, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.8977872133255005, 0.019079798832535744, -0.014535400085151196, -0.014432095922529697, + -17.518997192382812, -0.014146742410957813, -0.014245362021028996, 0.018645061179995537, + -1.8977872133255005, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.8380147218704224, 0.02385847456753254, -0.011112730950117111, -0.010995279997587204, + -17.521862030029297, -0.010679464787244797, -0.010791276581585407, 0.023381831124424934, + -1.8380147218704224, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.7801246643066406, 0.028770126402378082, -0.00761405611410737, -0.007480517029762268, + -17.5225830078125, -0.007130918093025684, -0.007257668301463127, 0.02824758179485798, + -1.7801246643066406, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.7240569591522217, 0.033819831907749176, -0.004036956466734409, -0.003885051468387246, + -17.52100372314453, -0.0034979693591594696, -0.003641703398898244, 0.03324700519442558, + -1.7240573167800903, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.669755220413208, 0.03901315852999687, -0.0003785305598285049, -0.00020583023433573544, + -17.516965866088867, 0.0002228453813586384, 5.9979502111673355e-05, 0.03838524594902992, + -1.669755220413208, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.6171613931655884, 0.0443548709154129, 0.0033629126846790314, 0.003559310920536518, + -17.51028823852539, 0.004034153651446104, 0.003849591128528118, 0.043666619807481766, + -1.6171613931655884, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.5662227869033813, 0.04985078424215317, 0.007190144620835781, 0.007413496263325214, + -17.500783920288086, 0.007939595729112625, 0.007730487268418074, 0.04909646883606911, + -1.5662227869033813, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.516885757446289, 0.055507056415081024, 0.011106027290225029, 0.011360008269548416, + -17.488256454467773, 0.0119430311024189, 0.011706188321113586, 0.05468035489320755, + -1.51688551902771, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.4690990447998047, 0.06132996082305908, 0.015113375149667263, 0.01540215965360403, + -17.47248077392578, 0.016048412770032883, 0.0157802514731884, 0.06042400375008583, + -1.4690990447998047, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.422814130783081, 0.06732627004384995, 0.01921519823372364, 0.01954355649650097, + -17.453243255615234, 0.020260067656636238, 0.019956521689891815, 0.06633350998163223, + -1.422814130783081, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.377982258796692, 0.07350274920463562, 0.023414364084601402, 0.023787742480635643, + -17.430280685424805, 0.024582339450716972, 0.024238811805844307, 0.07241491973400116, + -1.377982258796692, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.3345574140548706, 0.07986675947904587, 0.027714097872376442, 0.028138605877757072, + -17.403335571289062, 0.029020007699728012, 0.028631413355469704, 0.07867487519979477, + -1.3345574140548706, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.2924941778182983, 0.08642647415399551, 0.03211802989244461, 0.03260069340467453, + -17.372114181518555, 0.03357863053679466, 0.03313915431499481, 0.08512060344219208, + -1.2924941778182983, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.2517497539520264, 0.0931897982954979, 0.03662940114736557, 0.0371781550347805, + -17.336322784423828, 0.038263458758592606, 0.03776666894555092, 0.09175912290811539, + -1.2517495155334473, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.2122808694839478, 0.10016502439975739, 0.04125146567821503, 0.041875287890434265, + -17.295623779296875, 0.04308004677295685, 0.04251870885491371, 0.09859767556190491, + -1.2122806310653687, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.1740466356277466, 0.10736116021871567, 0.04598778858780861, 0.04669693484902382, + -17.24967384338379, 0.048034653067588806, 0.047400642186403275, 0.10564415901899338, + -1.1740468740463257, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.1370080709457397, 0.1147877499461174, 0.050842151045799255, 0.05164825916290283, + -17.19808578491211, 0.05313395708799362, 0.052418190985918045, 0.11290685087442398, + -1.1370080709457397, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.101125955581665, 0.12245431542396545, 0.055817894637584686, 0.056734129786491394, + -17.140464782714844, 0.05838463082909584, 0.05757700279355049, 0.12039395421743393, + -1.101125955581665, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.0663634538650513, 0.13037079572677612, 0.060918405652046204, 0.061959732323884964, + -17.07636833190918, 0.06379376351833344, 0.06288298219442368, 0.12811388075351715, + -1.0663634538650513, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.0326842069625854, 0.1385478675365448, 0.06614715605974197, 0.06733051687479019, + -17.00534439086914, 0.06936903297901154, 0.06834257394075394, 0.13607563078403473, + -1.0326842069625854, 0.0, 0.0, 0.0] +- [0.0, 0.0, -1.0000532865524292, 0.14699669182300568, 0.07150785624980927, 0.0728524923324585, + -16.926877975463867, 0.07511883229017258, 0.0739627406001091, 0.14428870379924774, + -1.0000531673431396, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.9684360027313232, 0.1557282656431198, 0.07700315862894058, 0.07853085547685623, + -16.840442657470703, 0.08105115592479706, 0.07974999397993088, 0.15276198089122772, + -0.9684360027313232, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.9378001093864441, 0.16475433111190796, 0.08263610303401947, 0.08437153697013855, + -16.74547004699707, 0.08717497438192368, 0.08571165055036545, 0.16150502860546112, + -0.9378001093864441, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.9081131815910339, 0.17408683896064758, 0.08840911835432053, 0.0903802216053009, + -16.64133071899414, 0.09349939227104187, 0.09185511618852615, 0.17052750289440155, + -0.9081131815910339, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.8793447613716125, 0.18373848497867584, 0.09432463347911835, 0.09656301885843277, + -16.527379989624023, 0.10003437846899033, 0.09818843007087708, 0.17983929812908173, + -0.879344642162323, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.8514644503593445, 0.19372187554836273, 0.10038437694311142, 0.10292577743530273, + -16.402912139892578, 0.10679002106189728, 0.10471973568201065, 0.18945027887821198, + -0.8514644503593445, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.8244432806968689, 0.20405004918575287, 0.1065894216299057, 0.10947420448064804, + -16.26716423034668, 0.11377681791782379, 0.11145749688148499, 0.1993701457977295, + -0.8244432806968689, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.7982529997825623, 0.21473604440689087, 0.11293996870517731, 0.11621370911598206, + -16.11933708190918, 0.1210055872797966, 0.11841035634279251, 0.20960846543312073, + -0.7982529997825623, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.7728666067123413, 0.22579354047775269, 0.1194358766078949, 0.12314994633197784, + -15.958575248718262, 0.1284879744052887, 0.1255878359079361, 0.22017499804496765, + -0.7728666067123413, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.7482573390007019, 0.23723557591438293, 0.12607532739639282, 0.13028761744499207, + -15.783957481384277, 0.13623543083667755, 0.1329992115497589, 0.23107846081256866, + -0.7482573390007019, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.7243996262550354, 0.24907544255256653, 0.13285550475120544, 0.1376311182975769, + -15.59450912475586, 0.1442597508430481, 0.1406543105840683, 0.24232737720012665, + -0.7243996262550354, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.7012694478034973, 0.2613261640071869, 0.13977216184139252, 0.1451842337846756, + -15.389205932617188, 0.1525731384754181, 0.148563414812088, 0.2539294958114624, + -0.7012693285942078, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.6788424253463745, 0.2740001678466797, 0.14681915938854218, 0.15294970571994781, + -15.166945457458496, 0.16118769347667694, 0.15673714876174927, 0.26589158177375793, + -0.6788424253463745, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.6570959091186523, 0.2871094048023224, 0.15398837625980377, 0.16092926263809204, + -14.926572799682617, 0.17011556029319763, 0.16518647968769073, 0.278219074010849, + -0.6570957899093628, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.6360079050064087, 0.30066463351249695, 0.161269411444664, 0.16912317276000977, + -14.66688346862793, 0.17936865985393524, 0.17392292618751526, 0.29091566801071167, + -0.6360079050064087, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.6155571341514587, 0.3146750330924988, 0.16864873468875885, 0.1775297373533249, + -14.386594772338867, 0.18895801901817322, 0.18295802175998688, 0.3039828836917877, + -0.6155573129653931, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.5957239866256714, 0.32914820313453674, 0.17610995471477509, 0.18614520132541656, + -14.0844087600708, 0.19889432191848755, 0.19230413436889648, 0.3174198567867279, + -0.5957239866256714, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.5764889121055603, 0.3440891206264496, 0.183632954955101, 0.19496314227581024, + -13.758960723876953, 0.20918694138526917, 0.201974019408226, 0.33122220635414124, + -0.5764887928962708, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.5578343272209167, 0.3594997525215149, 0.19119349122047424, 0.20397382974624634, + -13.408866882324219, 0.21984361112117767, 0.21198084950447083, 0.34538179636001587, + -0.5578342080116272, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.539743185043335, 0.3753781318664551, 0.19876264035701752, 0.21316365897655487, + -13.032747268676758, 0.23086999356746674, 0.2223385125398636, 0.359885573387146, + -0.5397430658340454, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.5221998691558838, 0.3917170464992523, 0.2063063234090805, 0.22251436114311218, + -12.62922191619873, 0.2422686368227005, 0.23306122422218323, 0.37471455335617065, + -0.5221998691558838, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.5051904916763306, 0.4085034132003784, 0.21378478407859802, 0.23200206458568573, + -12.196979522705078, 0.2540387213230133, 0.2441641241312027, 0.3898429870605469, + -0.5051904916763306, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.48870232701301575, 0.42571622133255005, 0.2211519330739975, 0.24159643054008484, + -11.7347993850708, 0.2661741375923157, 0.25566262006759644, 0.4052363634109497, + -0.48870232701301575, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.4727245271205902, 0.44332507252693176, 0.22835536301136017, 0.25125977396965027, + -11.241621017456055, 0.2786635160446167, 0.26757338643074036, 0.4208507239818573, + -0.47272446751594543, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.4572485685348511, 0.4612887501716614, 0.23533573746681213, 0.26094570755958557, + -10.716611862182617, 0.2914877235889435, 0.27991342544555664, 0.43663060665130615, + -0.4572485685348511, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.44226720929145813, 0.47955211997032166, 0.2420271784067154, 0.2705983519554138, + -10.159256935119629, 0.3046190142631531, 0.2927006483078003, 0.4525071680545807, + -0.44226720929145813, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.42777660489082336, 0.49804407358169556, 0.24835722148418427, 0.2801509499549866, + -9.569497108459473, 0.31801876425743103, 0.30595317482948303, 0.4683966338634491, + -0.42777660489082336, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.41377466917037964, 0.5166751742362976, 0.2542484402656555, 0.28952556848526, + -8.947815895080566, 0.3316359519958496, 0.3196898400783539, 0.48419874906539917, + -0.41377466917037964, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.40026262402534485, 0.5353348851203918, 0.25961974263191223, 0.2986324727535248, + -8.29544734954834, 0.34540504217147827, 0.3339287042617798, 0.49979522824287415, + -0.4002625346183777, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.38724401593208313, 0.5538891553878784, 0.2643889784812927, 0.3073701560497284, + -7.614499568939209, 0.35924431681632996, 0.3486867845058441, 0.5150493383407593, + -0.38724401593208313, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.3747260868549347, 0.5721792578697205, 0.26847657561302185, 0.3156265616416931, + -6.908163070678711, 0.3730548024177551, 0.36397841572761536, 0.5298066735267639, + -0.3747260868549347, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.36271724104881287, 0.5900216698646545, 0.2718106210231781, 0.32328179478645325, + -6.180825710296631, 0.38671964406967163, 0.37981340289115906, 0.5438962578773499, + -0.36271730065345764, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.3512287437915802, 0.6072089076042175, 0.2743319869041443, 0.33021095395088196, + -5.438206672668457, 0.40010547637939453, 0.3961946368217468, 0.5571357607841492, + -0.3512286841869354, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.340272456407547, 0.6235153675079346, 0.2760017514228821, 0.33629024028778076, + -4.687343120574951, 0.4130650758743286, 0.41311487555503845, 0.5693379044532776, + -0.3402725160121918, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.3298599123954773, 0.6387035250663757, 0.2768060266971588, 0.34140270948410034, + -3.936493396759033, 0.42544272541999817, 0.4305537939071655, 0.580319344997406, + -0.3298599123954773, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.32000014185905457, 0.6525348424911499, 0.2767624258995056, 0.3454459309577942, + -3.1948719024658203, 0.43708130717277527, 0.44847428798675537, 0.5899116396903992, + -0.32000014185905457, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.31069913506507874, 0.6647821068763733, 0.2759215235710144, 0.34833842515945435, + -2.472214460372925, 0.44783100485801697, 0.4668201208114624, 0.5979735255241394, + -0.31069913506507874, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.30195674300193787, 0.6752439141273499, 0.27436748147010803, 0.3500259816646576, + -1.7782262563705444, 0.4575597941875458, 0.48551562428474426, 0.6044020056724548, + -0.30195674300193787, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.2937662899494171, 0.6837565302848816, 0.2722129821777344, 0.3504847288131714, + -1.1219587326049805, 0.46616166830062866, 0.5044659972190857, 0.6091397404670715, + -0.2937662899494171, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.28611403703689575, 0.6902034282684326, 0.26959189772605896, 0.3497215211391449, + -0.5112330317497253, 0.473562628030777, 0.5235602259635925, 0.6121797561645508, + -0.28611406683921814, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.2789788246154785, 0.6945202946662903, 0.26664966344833374, 0.3477710783481598, + 0.04780387878417969, 0.4797247052192688, 0.5426766276359558, 0.6135630011558533, + -0.2789788544178009, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.272333562374115, 0.6966941356658936, 0.26353222131729126, 0.3446909189224243, + 0.550929069519043, 0.4846440255641937, 0.5616872906684875, 0.6133732199668884, -0.272333562374115, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.26614636182785034, 0.6967583298683167, 0.26037728786468506, 0.3405555486679077, + 0.9959156513214111, 0.4883468449115753, 0.5804640650749207, 0.6117274761199951, + -0.26614639163017273, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.26038190722465515, 0.6947862505912781, 0.25730693340301514, 0.33545002341270447, + 1.3823535442352295, 0.49088385701179504, 0.5988838076591492, 0.6087650656700134, + -0.26038190722465515, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.25500375032424927, 0.6908802390098572, 0.25442275404930115, 0.32946401834487915, + 1.711429238319397, 0.4923225939273834, 0.6168320178985596, 0.6046386361122131, -0.2550037205219269, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.24997477233409882, 0.6851637363433838, 0.25180402398109436, 0.32268816232681274, + 1.9855554103851318, 0.4927405118942261, 0.6342051029205322, 0.5995035767555237, + -0.24997478723526, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.2452593594789505, 0.6777728796005249, 0.24950745701789856, 0.3152107894420624, + 2.2080657482147217, 0.4922197461128235, 0.650911271572113, 0.5935123562812805, -0.2452593594789505, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.24082347750663757, 0.668848991394043, 0.24756895005702972, 0.30711597204208374, + 2.3828823566436768, 0.49084150791168213, 0.6668711304664612, 0.5868092179298401, + -0.24082347750663757, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.2366352379322052, 0.6585344076156616, 0.2460058629512787, 0.2984831929206848, + 2.5142555236816406, 0.48868367075920105, 0.6820173263549805, 0.5795270800590515, + -0.2366352677345276, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.2326655238866806, 0.6469686627388, 0.2448197901248932, 0.28938648104667664, + 2.606559991836548, 0.48581841588020325, 0.696293294429779, 0.5717862248420715, -0.23266549408435822, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.22888748347759247, 0.6342852711677551, 0.2439996898174286, 0.2798953354358673, + 2.6641311645507812, 0.48231130838394165, 0.7096529006958008, 0.5636939406394958, + -0.22888748347759247, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.22527755796909332, 0.6206106543540955, 0.24352413415908813, 0.2700737714767456, + 2.691141366958618, 0.478220671415329, 0.7220585942268372, 0.5553440451622009, -0.22527751326560974, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.22181424498558044, 0.6060635447502136, 0.2433650642633438, 0.25998246669769287, + 2.6915555000305176, 0.47359806299209595, 0.7334815263748169, 0.5468184947967529, + -0.22181421518325806, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.21847862005233765, 0.5907537341117859, 0.24348856508731842, 0.24967774748802185, + 2.669050455093384, 0.4684886634349823, 0.7438996434211731, 0.5381876826286316, -0.21847862005233765, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.21525397896766663, 0.574783444404602, 0.24385781586170197, 0.23921236395835876, + 2.627009630203247, 0.46293169260025024, 0.7532974481582642, 0.5295119881629944, + -0.215254008769989, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.21212586760520935, 0.5582454204559326, 0.24443435668945312, 0.22863562405109406, + 2.5685007572174072, 0.4569613039493561, 0.7616651654243469, 0.5208418965339661, + -0.21212586760520935, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.20908145606517792, 0.5412256717681885, 0.24517962336540222, 0.21799412369728088, + 2.496307373046875, 0.4506079852581024, 0.7689991593360901, 0.5122209191322327, -0.2090814858675003, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.2061096876859665, 0.5238021612167358, 0.24605576694011688, 0.20733092725276947, + 2.412898302078247, 0.4438980519771576, 0.7752994298934937, 0.5036842226982117, -0.2061096876859665, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.2032013088464737, 0.5060455799102783, 0.24702659249305725, 0.19668646156787872, + 2.3204729557037354, 0.4368552267551422, 0.7805711030960083, 0.4952607750892639, + -0.20320133864879608, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.20034784078598022, 0.4880206286907196, 0.24805812537670135, 0.18609805405139923, + 2.2209668159484863, 0.42950090765953064, 0.7848230600357056, 0.48697444796562195, + -0.2003478705883026, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.19754289090633392, 0.4697858691215515, 0.24911905825138092, 0.17560015618801117, + 2.1160871982574463, 0.4218546450138092, 0.7880681753158569, 0.47884416580200195, + -0.19754289090633392, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.19478030502796173, 0.4513942003250122, 0.25018075108528137, 0.16522455215454102, + 2.007307291030884, 0.4139350354671478, 0.7903217077255249, 0.47088420391082764, + -0.19478031992912292, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.19205538928508759, 0.43289414048194885, 0.2512180209159851, 0.1549997329711914, + 1.895915150642395, 0.40575936436653137, 0.7916030883789062, 0.4631056487560272, + -0.19205538928508759, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.1893640160560608, 0.414329469203949, 0.2522082030773163, 0.1449519544839859, + 1.7830113172531128, 0.397344708442688, 0.7919336557388306, 0.45551598072052, -0.1893640160560608, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.18670283257961273, 0.3957400619983673, 0.25313207507133484, 0.13510443270206451, + 1.6695486307144165, 0.3887075185775757, 0.7913376688957214, 0.4481202960014343, + -0.1867028772830963, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.18406908214092255, 0.37716278433799744, 0.25397273898124695, 0.12547773122787476, + 1.5563340187072754, 0.3798641860485077, 0.789840817451477, 0.44092118740081787, + -0.18406911194324493, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.18146030604839325, 0.35863152146339417, 0.25471630692481995, 0.11609012633562088, + 1.4440534114837646, 0.37083137035369873, 0.7874714732170105, 0.43391889333724976, + -0.18146030604839325, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.17887486517429352, 0.34017741680145264, 0.2553514242172241, 0.10695718973875046, + 1.333281397819519, 0.36162540316581726, 0.7842592000961304, 0.4271121919155121, + -0.17887483537197113, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.17631064355373383, 0.321829617023468, 0.25586825609207153, 0.09809204936027527, + 1.2245044708251953, 0.3522634506225586, 0.7802350521087646, 0.4204980731010437, + -0.17631062865257263, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.17376655340194702, 0.303615540266037, 0.25625914335250854, 0.08950626105070114, + 1.1181279420852661, 0.3427623212337494, 0.7754307389259338, 0.41407233476638794, + -0.1737665832042694, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.17124146223068237, 0.28556153178215027, 0.2565184235572815, 0.08120879530906677, + 1.0144846439361572, 0.3331397473812103, 0.7698801755905151, 0.4078295826911926, + -0.17124146223068237, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.16873401403427124, 0.2676921784877777, 0.2566413879394531, 0.07320685684680939, + 0.9138464331626892, 0.3234134018421173, 0.7636165022850037, 0.4017632305622101, + -0.16873402893543243, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.16624324023723602, 0.2500316798686981, 0.2566245496273041, 0.06550605595111847, + 0.8164382576942444, 0.31360137462615967, 0.7566744685173035, 0.3958659768104553, + -0.16624324023723602, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.16376833617687225, 0.2326030284166336, 0.2564654052257538, 0.05811036005616188, + 0.7224361896514893, 0.303722083568573, 0.749088704586029, 0.3901296555995941, -0.16376836597919464, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.16130806505680084, 0.21542899310588837, 0.25616195797920227, 0.05102229490876198, + 0.6319803595542908, 0.293794184923172, 0.7408940196037292, 0.3845452666282654, -0.16130806505680084, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.15886157751083374, 0.19853168725967407, 0.25571346282958984, 0.04424295201897621, + 0.5451837182044983, 0.2838364243507385, 0.7321255803108215, 0.37910357117652893, + -0.15886154770851135, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.15642794966697693, 0.1819327026605606, 0.25511857867240906, 0.037772439420223236, + 0.4621194005012512, 0.27386781573295593, 0.7228182554244995, 0.37379464507102966, + -0.15642794966697693, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.15400603413581848, 0.16565345227718353, 0.2543773055076599, 0.03160978853702545, + 0.38285064697265625, 0.26390740275382996, 0.7130067944526672, 0.36860838532447815, + -0.15400603413581848, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.15159474313259125, 0.14971469342708588, 0.2534891366958618, 0.025752974674105644, + 0.30741086602211, 0.25397393107414246, 0.7027255296707153, 0.36353397369384766, + -0.15159477293491364, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.14919321238994598, 0.13413673639297485, 0.2524537742137909, 0.02019926719367504, + 0.235820472240448, 0.24408648908138275, 0.6920087337493896, 0.358560711145401, -0.1491931974887848, + 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.146800234913826, 0.11893949657678604, 0.25127166509628296, 0.01494505163282156, + 0.1680804342031479, 0.23426339030265808, 0.680889904499054, 0.3536776602268219, + -0.14680024981498718, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.14441463351249695, 0.10414218157529831, 0.24994264543056488, 0.009986312128603458, + 0.10417935252189636, 0.2245231419801712, 0.6694019436836243, 0.3488737642765045, + -0.14441464841365814, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.14203551411628723, 0.0897630825638771, 0.24846705794334412, 0.00531806843355298, + 0.044093646109104156, 0.21488332748413086, 0.6575772166252136, 0.34413817524909973, + -0.14203551411628723, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.13966162502765656, 0.07581990212202072, 0.24684518575668335, 0.0009352038032375276, + -0.01221100427210331, 0.20536136627197266, 0.6454473733901978, 0.3394598364830017, + -0.13966165482997894, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.13729217648506165, 0.0623292438685894, 0.24507756531238556, -0.003168217372149229, + -0.06478309631347656, 0.1959739774465561, 0.6330432295799255, 0.33482810854911804, + -0.13729217648506165, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.1349259912967682, 0.049306534230709076, 0.24316474795341492, -0.006998011376708746, + -0.11367341130971909, 0.1867368221282959, 0.620394766330719, 0.3302325904369354, + -0.13492602109909058, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.13256226480007172, 0.036765966564416885, 0.2411074936389923, -0.01056097075343132, + -0.1589491367340088, 0.17766526341438293, 0.6075311899185181, 0.32566317915916443, + -0.1325622797012329, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.13020017743110657, 0.02472057193517685, 0.23890678584575653, -0.013863728381693363, + -0.20068024098873138, 0.16877327859401703, 0.5944807529449463, 0.3211100995540619, + -0.13020020723342896, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.1278390735387802, 0.013181407004594803, 0.23656406998634338, -0.016913501545786858, + -0.23894795775413513, 0.1600741744041443, 0.5812710523605347, 0.3165641129016876, + -0.1278390735387802, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.12547823786735535, 0.002158651826903224, 0.23408082127571106, -0.019717548042535782, + -0.27383679151535034, 0.15158016979694366, 0.567927896976471, 0.3120166063308716, + -0.12547822296619415, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.12311728298664093, -0.008339928463101387, 0.2314591407775879, -0.022283455356955528, + -0.30543944239616394, 0.14330211281776428, 0.5544770359992981, 0.3074595332145691, + -0.12311726063489914, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.12075584381818771, -0.01830776408314705, 0.22870111465454102, -0.024618862196803093, + -0.3338561952114105, 0.13525013625621796, 0.5409428477287292, 0.30288538336753845, + -0.12075583636760712, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.11839374899864197, -0.02774028293788433, 0.22580955922603607, -0.026731813326478004, + -0.35918933153152466, 0.12743288278579712, 0.5273483991622925, 0.2982873320579529, + -0.11839373409748077, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.11603093892335892, -0.036634672433137894, 0.22278766334056854, -0.028630245476961136, + -0.38154518604278564, 0.11985798180103302, 0.5137165188789368, 0.29365959763526917, + -0.11603093892335892, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.11366751790046692, -0.04499000683426857, 0.21963872015476227, -0.03032231703400612, + -0.4010389745235443, 0.11253175884485245, 0.5000684261322021, 0.28899678587913513, + -0.11366751790046692, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.11130372434854507, -0.05280705913901329, 0.21636691689491272, -0.031816210597753525, + -0.41778555512428284, 0.10545936971902847, 0.48642435669898987, 0.2842945158481598, + -0.11130372434854507, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.10893987119197845, -0.06008831039071083, 0.21297645568847656, -0.03312021493911743, + -0.43190258741378784, 0.09864495694637299, 0.4728037714958191, 0.2795489430427551, + -0.10893987119197845, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.10657656192779541, -0.06683818995952606, 0.20947204530239105, -0.034242577850818634, + -0.4435121417045593, 0.09209133684635162, 0.459225058555603, 0.2747572362422943, + -0.10657654702663422, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.10421435534954071, -0.07306256890296936, 0.20585884153842926, -0.03519172966480255, + -0.45273786783218384, 0.08580031991004944, 0.4457055926322937, 0.26991719007492065, + -0.10421435534954071, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.10185413062572479, -0.07876892387866974, 0.20214217901229858, -0.03597583621740341, + -0.4597015678882599, 0.07977266609668732, 0.4322618544101715, 0.2650274932384491, + -0.10185413062572479, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.09949679672718048, -0.08396634459495544, 0.19832804799079895, -0.03660324960947037, + -0.4645303785800934, 0.0740080252289772, 0.4189095199108124, 0.2600874900817871, + -0.09949679672718048, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.09714321792125702, -0.08866509050130844, 0.19442230463027954, -0.03708213195204735, + -0.46734750270843506, 0.06850531697273254, 0.40566301345825195, 0.2550971210002899, + -0.09714321792125702, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.09479456394910812, -0.09287668764591217, 0.19043146073818207, -0.037420522421598434, + -0.46827787160873413, 0.06326239556074142, 0.39253634214401245, 0.2500572204589844, + -0.09479455649852753, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.09245196729898453, -0.09661413729190826, 0.18636198341846466, -0.037626657634973526, + -0.46744659543037415, 0.05827634036540985, 0.3795422613620758, 0.24496908485889435, + -0.09245196729898453, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.09011673927307129, -0.09989099204540253, 0.18222060799598694, -0.03770824894309044, + -0.4649753272533417, 0.053543608635663986, 0.3666931390762329, 0.2398347407579422, + -0.09011675417423248, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.08779017627239227, -0.10272200405597687, 0.17801408469676971, -0.037673160433769226, + -0.4609852135181427, 0.049059800803661346, 0.3539997935295105, 0.23465649783611298, + -0.08779016137123108, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.08547352254390717, -0.10512249916791916, 0.1737493872642517, -0.03752898797392845, + -0.4555947482585907, 0.04482024908065796, 0.34147322177886963, 0.2294374406337738, + -0.08547352254390717, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.08316824585199356, -0.10710887610912323, 0.16943368315696716, -0.03728319704532623, + -0.44892171025276184, 0.040819209069013596, 0.3291230797767639, 0.22418102622032166, + -0.08316824585199356, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0808757096529007, -0.10869750380516052, 0.16507387161254883, -0.03694307804107666, + -0.441078782081604, 0.03705102577805519, 0.3169584572315216, 0.21889108419418335, + -0.08087572455406189, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.07859733700752258, -0.10990554839372635, 0.1606769561767578, -0.03651568666100502, + -0.43217766284942627, 0.03350929915904999, 0.30498769879341125, 0.2135716825723648, + -0.07859733700752258, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.07633455842733383, -0.1107504814863205, 0.15624992549419403, -0.036007918417453766, + -0.4223262369632721, 0.03018745221197605, 0.29321861267089844, 0.20822736620903015, + -0.07633455097675323, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.07408873736858368, -0.11124985665082932, 0.151799738407135, -0.03542648255825043, + -0.4116291105747223, 0.027078548446297646, 0.28165820240974426, 0.20286282896995544, + -0.07408872991800308, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.07186131179332733, -0.11142158508300781, 0.14733321964740753, -0.03477790206670761, + -0.4001871347427368, 0.02417549304664135, 0.2703133821487427, 0.1974831223487854, + -0.07186131179332733, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.06965363025665283, -0.11128322035074234, 0.14285705983638763, -0.03406832739710808, + -0.3880974054336548, 0.021471012383699417, 0.2591896951198578, 0.192093163728714, + -0.06965363770723343, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.06746707111597061, -0.11085274815559387, 0.13837772607803345, -0.0333038829267025, + -0.37545403838157654, 0.018957633525133133, 0.24829266965389252, 0.18669827282428741, + -0.06746707111597061, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.06530289351940155, -0.11014775931835175, 0.13390173017978668, -0.032490324229002, + -0.3623461127281189, 0.016627883538603783, 0.23762725293636322, 0.18130375444889069, + -0.06530289351940155, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.06316237151622772, -0.10918572545051575, 0.1294352412223816, -0.03163321316242218, + -0.3488592207431793, 0.014474218711256981, 0.22719766199588776, 0.1759149730205536, + -0.06316237151622772, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.06104673072695732, -0.10798390954732895, 0.1249842643737793, -0.03073793463408947, + -0.3350750207901001, 0.012489113956689835, 0.2170078307390213, 0.17053727805614471, + -0.06104673817753792, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.058957118541002274, -0.10655934363603592, 0.12055468559265137, -0.02980961836874485, + -0.32107043266296387, 0.01066497154533863, 0.2070610672235489, 0.16517600417137146, + -0.058957118541002274, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.05689466744661331, -0.10492857545614243, 0.11615221947431564, -0.028853150084614754, + -0.3069191873073578, 0.0089943278580904, 0.19736038148403168, 0.15983650088310242, + -0.05689466744661331, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0548604391515255, -0.10310797393321991, 0.11178220063447952, -0.027873186394572258, + -0.2926901578903198, 0.007469857577234507, 0.18790830671787262, 0.15452401340007782, + -0.0548604391515255, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.05285542085766792, -0.10111334919929504, 0.10744991153478622, -0.026874219998717308, + -0.27844807505607605, 0.00608422327786684, 0.17870686948299408, 0.14924363791942596, + -0.05285542085766792, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.05088057368993759, -0.09896022826433182, 0.10316042602062225, -0.02586047165095806, + -0.2642538845539093, 0.004830202553421259, 0.16975782811641693, 0.1440005749464035, + -0.05088057368993759, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.04893677309155464, -0.09666357934474945, 0.09891849011182785, -0.02483600750565529, + -0.25016430020332336, 0.003700734581798315, 0.16106247901916504, 0.13879963755607605, + -0.04893677681684494, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.04702482745051384, -0.09423796087503433, 0.0947287380695343, -0.023804588243365288, + -0.23623178899288177, 0.002688898704946041, 0.15262159705162048, 0.13364560902118683, + -0.04702482745051384, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.045145533978939056, -0.09169740974903107, 0.09059551358222961, -0.022769924253225327, + -0.22250480949878693, 0.001787993824109435, 0.14443598687648773, 0.1285431981086731, + -0.045145533978939056, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.04329961538314819, -0.08905553817749023, 0.08652309328317642, -0.021735340356826782, + -0.20902803540229797, 0.00099138671066612, 0.13650578260421753, 0.12349692732095718, + -0.043299611657857895, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.041487712413072586, -0.08632542192935944, 0.08251546323299408, -0.02070416323840618, + -0.19584213197231293, 0.00029261509189382195, 0.12883099913597107, 0.11851111799478531, + -0.041487712413072586, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.03971043601632118, -0.08351963013410568, 0.07857643812894821, -0.019679376855492592, + -0.18298381567001343, -0.0003146151721011847, 0.12141111493110657, 0.11358985304832458, + -0.03971043601632118, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.037968289107084274, -0.08065024018287659, 0.07470952719449997, -0.018663885071873665, + -0.17048600316047668, -0.000836351013276726, 0.11424542963504791, 0.10873714834451675, + -0.037968285381793976, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.03626184165477753, -0.07772887498140335, 0.07091831415891647, -0.017660323530435562, + -0.15837815403938293, -0.0012785012368112803, 0.10733304917812347, 0.10395690053701401, + -0.036261849105358124, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.03459150716662407, -0.07476655393838882, 0.06720593571662903, -0.016671262681484222, + -0.14668568968772888, -0.0016467991517856717, 0.10067261010408401, 0.09925266355276108, + -0.03459150344133377, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.03295768052339554, -0.07177391648292542, 0.06357546150684357, -0.015699010342359543, + -0.13543102145195007, -0.0019468250684440136, 0.09426258504390717, 0.09462789446115494, + -0.03295768424868584, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.03136073052883148, -0.06876105815172195, 0.06002982333302498, -0.014745797961950302, + -0.12463273853063583, -0.0021839006803929806, 0.08810119330883026, 0.09008593112230301, + -0.031360726803541183, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.029800958931446075, -0.06573764234781265, 0.05657173693180084, -0.013813606463372707, + -0.11430638283491135, -0.0023632829543203115, 0.08218633383512497, 0.08562985062599182, + -0.029800958931446075, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.028278673067688942, -0.06271282583475113, 0.053203750401735306, -0.012904347851872444, + -0.10446398705244064, -0.0024899260606616735, 0.07651576399803162, 0.08126266300678253, + -0.028278669342398643, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0267940741032362, -0.05969534069299698, 0.049928274005651474, -0.012019720859825611, + -0.09511473029851913, -0.002568714087828994, 0.07108684629201889, 0.07698710262775421, + -0.02679407224059105, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.025347400456666946, -0.05669347569346428, 0.046747565269470215, -0.011161347851157188, + -0.08626483380794525, -0.0026042943354696035, 0.06589695066213608, 0.07280585914850235, + -0.025347400456666946, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.023938816040754318, -0.0537150539457798, 0.043663714081048965, -0.01033066213130951, + -0.07791747897863388, -0.0026011564768850803, 0.06094304844737053, 0.06872140616178513, + -0.023938817903399467, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0225684754550457, -0.05076749622821808, 0.04067865386605263, -0.009528955444693565, + -0.07007324695587158, -0.0025636316277086735, 0.05622196942567825, 0.06473609060049057, + -0.0225684754550457, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0212364811450243, -0.04785783961415291, 0.03779416158795357, -0.008757411502301693, + -0.06273007392883301, -0.0024958690628409386, 0.05173032730817795, 0.06085212901234627, + -0.0212364811450243, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.019942956045269966, -0.04499270021915436, 0.0350119024515152, -0.008017053827643394, + -0.055883463472127914, -0.002401879522949457, 0.04746454581618309, 0.05707163363695145, + -0.019942956045269966, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.01868797093629837, -0.04217831790447235, 0.032333385199308395, -0.007308801170438528, + -0.04952651262283325, -0.0022854735143482685, 0.04342089965939522, 0.053396567702293396, + -0.018687967211008072, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.017471598461270332, -0.039420560002326965, 0.029759926721453667, -0.006633440498262644, + -0.04365024343132973, -0.0021503150928765535, 0.03959542512893677, 0.04982879012823105, + -0.017471598461270332, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.01629389077425003, -0.036724939942359924, 0.027292760089039803, -0.005991610232740641, + -0.03824353963136673, -0.001999923260882497, 0.03598403185606003, 0.046370092779397964, + -0.01629389077425003, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.015154888853430748, -0.03409663587808609, 0.024932898581027985, -0.005383846815675497, + -0.03329342231154442, -0.001837636111304164, 0.03258240595459938, 0.04302213713526726, + -0.015154887922108173, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.014054632745683193, -0.03154046833515167, 0.022681286558508873, -0.004810544196516275, + -0.028785165399312973, -0.0016666577430441976, 0.029386121779680252, 0.039786506444215775, + -0.014054632745683193, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.01299317181110382, -0.029060985893011093, 0.020538654178380966, -0.004271978046745062, + -0.024702459573745728, -0.0014900215901434422, 0.026390552520751953, 0.03666474670171738, + -0.01299317367374897, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.011970538645982742, -0.026662403717637062, 0.01850559562444687, -0.003768323455005884, + -0.02102752774953842, -0.0013105850666761398, 0.02359098382294178, 0.03365834429860115, + -0.011970538645982742, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.010986780747771263, -0.024348648265004158, 0.016582554206252098, -0.0032995790243148804, + -0.017741315066814423, -0.0011310994159430265, 0.020982446148991585, 0.03076869435608387, + -0.010986778885126114, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.010041953064501286, -0.022123361006379128, 0.014769796282052994, -0.0028656511567533016, + -0.014823651872575283, -0.000954114948399365, 0.018559889867901802, 0.027997184544801712, + -0.010041952133178711, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.009136131033301353, -0.01998995617032051, 0.013067422434687614, -0.0024663179647177458, + -0.012253392487764359, -0.0007820397731848061, 0.01631808839738369, 0.025345182046294212, + -0.009136131033301353, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.00826941430568695, -0.017951540648937225, 0.011475360952317715, -0.0021012083161622286, + -0.010008588433265686, -0.0006171087152324617, 0.014251683838665485, 0.022814039140939713, + -0.00826941430568695, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.007441920693963766, -0.016011040657758713, 0.009993353858590126, -0.001769826514646411, + -0.008066674694418907, -0.00046141340862959623, 0.012355155311524868, 0.020405102521181107, + -0.007441921625286341, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.006653803866356611, -0.014171098358929157, 0.008620926178991795, -0.001471534138545394, + -0.006404568906873465, -0.00031684295390732586, 0.010622823610901833, 0.01811971329152584, + -0.006653803866356611, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0059052640572190285, -0.012434182688593864, 0.00735741900280118, -0.001205555396154523, + -0.004998939111828804, -0.00018512181122787297, 0.009048879146575928, 0.01595928892493248, + -0.0059052640572190285, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.005196551326662302, -0.0108025586232543, 0.006201949901878834, -0.0009709506412036717, + -0.003826297353953123, -6.778395618312061e-05, 0.0076273540034890175, 0.013925277628004551, + -0.005196552257984877, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.00452797906473279, -0.009278292767703533, 0.0051533835940063, -0.0007666299934498966, + -0.0028632059693336487, 3.383122384548187e-05, 0.0063520995900034904, 0.012019170448184013, + -0.00452797906473279, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0038999454118311405, -0.00786331295967102, 0.0042103431187570095, + -0.0005913350614719093, -0.0020864573307335377, 0.00011860967060783878, 0.005216835532337427, + 0.010242605581879616, -0.0038999454118311405, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0033129367511719465, -0.006559369619935751, 0.0033711574506014585, + -0.00044362491462379694, -0.0014732374111190438, 0.00018567389633972198, 0.004215089604258537, + 0.008597295731306076, -0.003312937216833234, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0027675670571625233, -0.00536810839548707, 0.002633841009810567, -0.00032186819589696825, + -0.0010013276478275657, 0.0002344107924727723, 0.003340221708640456, 0.007085139397531748, + -0.0027675670571625233, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0022646018769592047, -0.00429107341915369, 0.0019960568752139807, + -0.00022422247275244445, -0.0006492879474535584, 0.0002645174681674689, 0.002585410140454769, + 0.005708244629204273, -0.002264602342620492, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0018050092039629817, -0.0033297326881438494, 0.0014550576452165842, + -0.00014861332601867616, -0.00039665235090069473, 0.0002760429633781314, 0.001943626324646175, + 0.004468970466405153, -0.0018050092039629817, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0013900256017223, -0.002485557459294796, 0.0010076261823996902, -9.270917507819831e-05, + -0.00022414050181396306, 0.0002694795548450202, 0.001407658215612173, 0.0033700650092214346, + -0.0013900253688916564, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0010212487541139126, -0.0017600522842258215, 0.0006499586161226034, + -5.38890490133781e-05, -0.00011386710684746504, 0.00024587276857346296, 0.0009700758964754641, + 0.0024147441145032644, -0.0010212487541139126, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0007008198881521821, -0.0011548988986760378, 0.00037753599463030696, + -2.9199329219409265e-05, -4.958230420015752e-05, 0.00020701464382000268, 0.00062327750492841, + 0.0016069578705355525, -0.0007008200045675039, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0004317103303037584, -0.0006721332902088761, 0.0001848672836786136, + -1.530605004518293e-05, -1.692245677986648e-05, 0.00015577914018649608, 0.00035953198675997555, + 0.0009517426951788366, -0.0004317103303037584, 0.0, 0.0, 0.0] +- [0.0, 0.0, -0.0002183369069825858, -0.0003145375521853566, 6.50491492706351e-05, + -8.442447324341629e-06, -3.70333486898744e-06, 9.67963133007288e-05, 0.0001711884542601183, + 0.00045599686563946307, -0.00021833687787875533, 0.0, 0.0, 0.0] +- [0.0, 0.0, -6.818278052378446e-05, -8.668409282108769e-05, 8.755068847676739e-06, + -4.435501068655867e-06, -2.73809121154045e-07, 3.817993274424225e-05, 5.1455586799420416e-05, + 0.00013051550195086747, -6.818278052378446e-05, 0.0, 0.0, 0.0] +- [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] +q20: 2.7224999999999997 +replica: 100 +xgrid: [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] diff --git a/extra_tests/regression_fits/t0theoryid_100.json b/extra_tests/regression_fits/t0theoryid_100.json new file mode 100644 index 0000000000..e64345481c --- /dev/null +++ b/extra_tests/regression_fits/t0theoryid_100.json @@ -0,0 +1,95 @@ +{ + "preprocessing": [ + { + "fl": "sng", + "smallx": 1.1168484687805176, + "largex": 1.4932247400283813, + "trainable": false + }, + { + "fl": "g", + "smallx": 0.9923287034034729, + "largex": 3.7714877128601074, + "trainable": false + }, + { + "fl": "v", + "smallx": 0.4898352324962616, + "largex": 1.672149658203125, + "trainable": false + }, + { + "fl": "v3", + "smallx": 0.28436920046806335, + "largex": 3.4038245677948, + "trainable": false + }, + { + "fl": "v8", + "smallx": 0.635401725769043, + "largex": 1.9356087446212769, + "trainable": false + }, + { + "fl": "t3", + "smallx": 0.5063296556472778, + "largex": 2.4878852367401123, + "trainable": false + }, + { + "fl": "t8", + "smallx": 0.8517391681671143, + "largex": 2.7349023818969727, + "trainable": false + }, + { + "fl": "t15", + "smallx": 1.1255686283111572, + "largex": 1.68263578414917, + "trainable": false + } + ], + "stop_epoch": 1100, + "best_epoch": 1099, + "erf_tr": 2.978336811065674, + "erf_vl": 2.3964874744415283, + "chi2": 2.117762327194214, + "pos_state": "POS_VETO", + "arc_lengths": [ + 1.313367640087446, + 1.5272293101266203, + 1.1740515448639215, + 1.0004956501751476, + 1.2430530730062526 + ], + "integrability": [ + 0.0009352681590863443, + 0.0009352681590831802, + 5.0388540784207514e-05, + 0.4628416448831547, + 0.00719353713793458 + ], + "timing": { + "walltime": { + "Total": 11.484477519989014, + "start": 0.0, + "replica_set": 0.22041726112365723, + "replica_fitted": 11.484412670135498, + "replica_set_to_replica_fitted": 11.26399540901184 + }, + "cputime": { + "Total": 13.09741417, + "start": 0.0, + "replica_set": 0.21945147399999954, + "replica_fitted": 13.097347254999999, + "replica_set_to_replica_fitted": 12.877895781 + } + }, + "version": { + "keras": "3.6.0", + "tensorflow": "2.18.0, mkl=False", + "numpy": "1.26.4", + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" + } +} diff --git a/extra_tests/regression_fits/trainable_prepro_61.json b/extra_tests/regression_fits/trainable_prepro_61.json index 52aec8f19f..6c5f497b69 100644 --- a/extra_tests/regression_fits/trainable_prepro_61.json +++ b/extra_tests/regression_fits/trainable_prepro_61.json @@ -71,25 +71,25 @@ ], "timing": { "walltime": { - "Total": 12.690647840499878, + "Total": 12.306910037994385, "start": 0.0, - "replica_set": 0.23492431640625, - "replica_fitted": 12.690513372421265, - "replica_set_to_replica_fitted": 12.455589056015015 + "replica_set": 0.23054814338684082, + "replica_fitted": 12.30685043334961, + "replica_set_to_replica_fitted": 12.076302289962769 }, "cputime": { - "Total": 14.288013259, + "Total": 13.912358415, "start": 0.0, - "replica_set": 0.23258636100000007, - "replica_fitted": 14.287876923999999, - "replica_set_to_replica_fitted": 14.055290563 + "replica_set": 0.22952914600000085, + "replica_fitted": 13.912296499, + "replica_set_to_replica_fitted": 13.682767353 } }, "version": { "keras": "3.6.0", - "tensorflow": "2.17.0, mkl=False", + "tensorflow": "2.18.0, mkl=False", "numpy": "1.26.4", - "nnpdf": "4.0.9.post1366.dev0+f934deb20", - "validphys": "4.0.9.post1366.dev0+f934deb20" + "nnpdf": "4.0.9.post1608.dev0+77c3343e3", + "validphys": "4.0.9.post1608.dev0+77c3343e3" } } diff --git a/validphys2/src/validphys/config.py b/validphys2/src/validphys/config.py index 6b520b8906..475a22bfda 100644 --- a/validphys2/src/validphys/config.py +++ b/validphys2/src/validphys/config.py @@ -167,7 +167,7 @@ def parse_unpolarized_bc(self, name): @_id_with_label def parse_theoryid(self, theoryID: (str, int)): """A number corresponding to the database theory ID where the - corresponding theory folder is installed in te data directory.""" + corresponding theory folder is installed in the data directory.""" try: return self.loader.check_theoryID(theoryID) except LoaderError as e: @@ -642,7 +642,6 @@ def produce_dataset( frac = dataset_input.frac weight = dataset_input.weight variant = dataset_input.variant - try: ds = self.loader.check_dataset( name=name, @@ -661,7 +660,6 @@ def produce_dataset( except LoadFailedError as e: raise ConfigError(e) - if check_plotting: # normalize=True should check for more stuff get_info(ds, normalize=True) @@ -669,6 +667,30 @@ def produce_dataset( log.warning(f"Plotting files not found for: {ds}") return ds + def produce_t0dataset( + self, + *, + dataset_input, + t0id, + cuts, + use_fitcommondata=False, + fit=None, + check_plotting: bool = False, + ): + """ + Same as produce_dataset, but if a ``t0theoryid`` has been defined in the + runcard then those corresponding fktables will be linked. + """ + ds = self.produce_dataset( + dataset_input=dataset_input, + theoryid=t0id, + cuts=cuts, + use_fitcommondata=use_fitcommondata, + fit=fit, + check_plotting=check_plotting, + ) + return ds + @configparser.element_of("experiments") def parse_experiment(self, experiment: dict): """A set of datasets where correlated systematics are taken @@ -991,7 +1013,6 @@ def parse_use_t0(self, do_use_t0: bool): """Whether to use the t0 PDF set to generate covariance matrices.""" return do_use_t0 - # TODO: Find a good name for this def produce_t0set(self, t0pdfset=None, use_t0=False): """Return the t0set if use_t0 is True and None otherwise. Raises an error if t0 is requested but no t0set is given. @@ -1002,6 +1023,28 @@ def produce_t0set(self, t0pdfset=None, use_t0=False): return t0pdfset return None + def parse_t0theoryid(self, theoryID: (str, int)): + """A number corresponding to the database theory ID where the + corresponding theory folder is installed in te data directory. + + The t0theoryid is specifically used for SM parameter determinatins (e.g. + alphas) using the correlated replicas method of arXiv: 1802.03398. To do + an alphas determination we perform multiple fits, each with a different + value of alphas in the DGLAP kernel and hard scattering cross section. + Then we compute the chi2 for each fit to determine which alphas best + describes the data, however, to make a fair comparison we need to ensure + that the chi2 (and thus the t0 covariance matrix) has to be exactly the + same for each fit. This requires not only to fix the t0pdfset between + the different fits, but also to fix the t0theoryid. + """ + return self.parse_theoryid(theoryID) + + def produce_t0id(self, theoryid, t0theoryid=None): + """Return the t0id if t0theoryid is set and return theoryid otherwise.""" + if t0theoryid: + theoryid = t0theoryid + return theoryid + def parse_luxset(self, name): """PDF set used to generate the photon with fiatlux.""" return self.parse_pdf(name) @@ -1628,13 +1671,12 @@ def produce_group_dataset_inputs_by_experiment(self, data_input): def produce_group_dataset_inputs_by_process(self, data_input): return self.produce_group_dataset_inputs_by_metadata(data_input, "nnpdf31_process") - def produce_scale_variation_theories(self, theoryid, point_prescription): + def produce_scale_variation_theories(self, point_prescription, t0id): """Produces a list of theoryids given a theoryid at central scales and a point - prescription. The options for the latter are '3 point', '5 point', '5bar point', '7 point' - and '9 point'. Note that these are defined in arXiv:1906.10698. This hard codes the - theories needed for each prescription to avoid user error.""" + prescription. The options for the latter are defined in pointprescriptions.yaml. + This hard codes the theories needed for each prescription to avoid user error.""" pp = point_prescription - th = theoryid.id + th = t0id.id lsv = yaml.safe_load(read_text(validphys.scalevariations, "scalevariationtheoryids.yaml")) diff --git a/validphys2/src/validphys/covmats.py b/validphys2/src/validphys/covmats.py index dec41cd2ba..e280531368 100644 --- a/validphys2/src/validphys/covmats.py +++ b/validphys2/src/validphys/covmats.py @@ -224,7 +224,7 @@ def dataset_inputs_covmat_from_systematics( @check_cuts_considered @functools.lru_cache -def dataset_t0_predictions(dataset, t0set): +def dataset_t0_predictions(t0dataset, t0set): """Returns the t0 predictions for a ``dataset`` which are the predictions calculated using the central member of ``pdf``. Note that if ``pdf`` has errortype ``replicas``, and the dataset is a hadronic observable then the @@ -246,7 +246,7 @@ def dataset_t0_predictions(dataset, t0set): """ # reshape because the underlying data has shape ndata * 1 # accounting for the fact that some datasets are single datapoint - return central_predictions(dataset, t0set).to_numpy().reshape(-1) + return central_predictions(t0dataset, t0set).to_numpy().reshape(-1) def t0_covmat_from_systematics( diff --git a/validphys2/src/validphys/pseudodata.py b/validphys2/src/validphys/pseudodata.py index 05be16807e..f850fa2ea5 100644 --- a/validphys2/src/validphys/pseudodata.py +++ b/validphys2/src/validphys/pseudodata.py @@ -322,7 +322,7 @@ def level0_commondata_wc(data, fakepdf): # == Generate a new CommonData instance with central value given by Level 0 data generated with fakepdf ==# t0_prediction = dataset_t0_predictions( - dataset=dataset, t0set=fakepdf + t0dataset=dataset, t0set=fakepdf ) # N.B. cuts already applied to th. pred. level0_commondata_instances_wc.append(commondata_wc.with_central_value(t0_prediction)) diff --git a/validphys2/src/validphys/tests/test_covmats.py b/validphys2/src/validphys/tests/test_covmats.py index 3148ad1f40..cb1dc0a1bf 100644 --- a/validphys2/src/validphys/tests/test_covmats.py +++ b/validphys2/src/validphys/tests/test_covmats.py @@ -144,9 +144,9 @@ def test_systematic_matrix(data_config, use_cuts, dataset_input): def test_single_datapoint(single_data_single_point_internal_cuts_config): # Make the t0 predictions - ds = API.dataset(**single_data_single_point_internal_cuts_config) + t0ds = API.t0dataset(**single_data_single_point_internal_cuts_config) t0set = API.pdf(**single_data_single_point_internal_cuts_config) - t0_predictions = dataset_t0_predictions(ds, t0set) + t0_predictions = dataset_t0_predictions(t0ds, t0set) cd = API.commondata(**single_data_single_point_internal_cuts_config) ld = load_commondata(cd) diff --git a/validphys2/src/validphys/tests/test_pseudodata.py b/validphys2/src/validphys/tests/test_pseudodata.py index 2b0599853d..21de5fd0a3 100644 --- a/validphys2/src/validphys/tests/test_pseudodata.py +++ b/validphys2/src/validphys/tests/test_pseudodata.py @@ -103,5 +103,5 @@ def test_level0_commondata_wc(): ) l0_vals = l0_cd[0].central_values assert_allclose( - dataset_t0_predictions(dataset=datasetspec, t0set=t0set), l0_vals, rtol=1e-07, atol=0 + dataset_t0_predictions(t0dataset=datasetspec, t0set=t0set), l0_vals, rtol=1e-07, atol=0 ) diff --git a/validphys2/src/validphys/tests/test_pythonmakereplica.py b/validphys2/src/validphys/tests/test_pythonmakereplica.py index 217355fb40..a07a363aed 100644 --- a/validphys2/src/validphys/tests/test_pythonmakereplica.py +++ b/validphys2/src/validphys/tests/test_pythonmakereplica.py @@ -49,6 +49,7 @@ def test_commondata_unchanged(data_config, dataset_inputs, use_cuts): pre_mkrep_cvs = [deepcopy(cd.central_values) for cd in ld_cds] pre_mkrep_sys_tabs = [deepcopy(cd.systematics_table) for cd in ld_cds] pre_mkrep_cd_tabs = [deepcopy(cd.commondata_table) for cd in ld_cds] + API.make_replica(**config) for post_mkrep_cd, pre_mkrep_cv in zip(ld_cds, pre_mkrep_cvs):