Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

First jets implementation #242

Merged
merged 154 commits into from
May 19, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
154 commits
Select commit Hold shift + click to select a range
e8ee894
Split managers creation out of main function
alecandido Mar 31, 2023
1898c9d
Replace the old runner in solve
alecandido Mar 31, 2023
75dbd90
Extend parts documentation
alecandido Apr 17, 2023
5d8bb76
Move from mu2grid to targetgrid
alecandido Apr 17, 2023
129004b
Introduce evolution points
alecandido Apr 17, 2023
1cf3780
Upgrade EKO scales to epoints
alecandido Apr 19, 2023
d805a98
Start rearranging thresholds
alecandido Apr 20, 2023
72c1cf6
Trim down matching scales management, improve docs for path determina…
alecandido Apr 21, 2023
472b3bd
Add matched path determination
alecandido Apr 21, 2023
f95cc1e
Rename thresholds file
alecandido Apr 21, 2023
78d9db9
Fix runcards, rearrange some content
alecandido Apr 21, 2023
48e7741
Fix couplings
alecandido Apr 21, 2023
d3f0f5d
Fix msbar masses and runner commons
alecandido Apr 21, 2023
8324ab9
Fix matching tests
alecandido Apr 21, 2023
99afc73
Fix import in grid.py
felixhekhorn Apr 24, 2023
8bd132f
Add Atlas.normalize and more couplings test fixes
felixhekhorn Apr 24, 2023
014a794
Fix test_couplings
felixhekhorn Apr 24, 2023
d18fb00
Pin nf in example cards
felixhekhorn Apr 24, 2023
dd15ec8
Minimal fix to recipes.create
felixhekhorn Apr 24, 2023
7b0aac0
Rename more q2->mu2
felixhekhorn Apr 24, 2023
717516b
Fix test/eko/io/test_runcards
felixhekhorn Apr 24, 2023
c22e82d
Fix legacy loading
alecandido Apr 25, 2023
c1ca7e6
Improve xgrid rotations structure, fix EKO raw representation
alecandido Apr 25, 2023
213b4db
Fix newly introduced copy-paste bug
alecandido Apr 25, 2023
ea986e6
Complete manipulation tests fix
alecandido Apr 25, 2023
3b5c390
Upgrade struct tests to evolution points
alecandido Apr 25, 2023
73d038b
Introduce eko.epgrid
felixhekhorn Apr 26, 2023
8dcad8f
Adjust eko.evolgrid
felixhekhorn Apr 26, 2023
2308cf2
Update src/eko/matchings.py
alecandido Apr 26, 2023
be10863
Keep old and new solve side by side
alecandido Apr 26, 2023
2e96815
Introduce cliff operators
alecandido Apr 26, 2023
cb018dd
Start reorganizing inventories
alecandido Apr 27, 2023
7f3ea5e
Extract inventory implementation
alecandido Apr 28, 2023
99b66b2
Split struct in many modules
alecandido Apr 28, 2023
c684026
Update src/eko/io/inventory.py
alecandido Apr 28, 2023
405a84b
Simplify headers, drop old equivalent
alecandido Apr 28, 2023
f3c8366
Reimport builder in struct, to avoid circular import
alecandido Apr 28, 2023
1dca8f7
Fix small bugs in classes definitions
alecandido Apr 28, 2023
a932cbe
Implement first version of recipe creation
alecandido Apr 28, 2023
1e773b5
Fix minimally outdated tests, to make pytest run
alecandido Apr 28, 2023
8d914bd
Update inventory iteration
alecandido Apr 28, 2023
08fdef1
Update EKO methods
alecandido May 1, 2023
819d102
Fix contentless inventories
alecandido May 1, 2023
597f841
Fix recipe loading implementation
alecandido May 1, 2023
bebd35d
Sketch the entire jets runner
alecandido May 1, 2023
f963503
Simplify operator grid
alecandido May 1, 2023
30edb8f
Fix and further simplify OperatorGrid computation
alecandido May 1, 2023
895d93c
Add cast to atlas types from items
alecandido May 1, 2023
165a722
Add explicit squared ratios
alecandido May 1, 2023
5e5d9f2
Small fix to legacy runner
alecandido May 1, 2023
1e7a476
Export OperatorGrid computation to managed runner (first steps)
alecandido May 1, 2023
f1c4b48
Complete Operator/MatrixElement arguments collection
alecandido May 2, 2023
93e662d
Drop method check, since determined from enum value
alecandido May 2, 2023
5fe955c
Implement evolution operator blow-up
alecandido May 2, 2023
771c6ac
Implement matching operator blow-up
alecandido May 2, 2023
4caff5d
Initialize inventories, improve their typing
alecandido May 3, 2023
6166be7
Drop some type assertions
alecandido May 3, 2023
46faf95
Fix msbar_masses
felixhekhorn May 3, 2023
abba5fc
Start fixing grid
felixhekhorn May 3, 2023
c615a3e
Make test_ome running
felixhekhorn May 3, 2023
605a472
Revert "Make test_ome running"
felixhekhorn May 3, 2023
66ba375
Attempt to fix grid and ome
felixhekhorn May 3, 2023
cf50483
Fix eko/evop/test_init
felixhekhorn May 3, 2023
85ed203
Give inventories the access to the correct path
alecandido May 3, 2023
edf8d83
Propagate correct internal paths to inventories
alecandido May 4, 2023
af85f39
Update rotations name
alecandido May 4, 2023
29555c3
Fix test eko/io/bases
felixhekhorn May 4, 2023
4d35418
Add prefix to tempdir created
alecandido May 4, 2023
b2fd2c4
Sync before items, for user convenience
alecandido May 4, 2023
d58129d
Handle the new evolgrid in ekobox
alecandido May 4, 2023
b1d0329
Simplify genpdf, make it evolgrid aware
alecandido May 4, 2023
5515530
Fix test apply
alecandido May 4, 2023
5f1e8e1
Fix test eko/io/items
felixhekhorn May 4, 2023
4142d09
Fix genpdf tests
alecandido May 4, 2023
d8f67ce
Step towards fixing tests for eko/io/struct.EKO
felixhekhorn May 4, 2023
d135f71
Fix bytes encoding for negative hashes
alecandido May 4, 2023
f8c3ae7
Fix manipulate and tests
felixhekhorn May 4, 2023
fe68995
Sync operators at load time
alecandido May 4, 2023
233878e
Fix approx and its user (ekos product)
alecandido May 4, 2023
788368c
Drop non-operator setting, fix checks against bare cache
alecandido May 4, 2023
f71cece
Other checks moved down to bare cache, again
alecandido May 4, 2023
d09c14d
Lift flavor tensor blow-up
alecandido May 4, 2023
dc7e478
Temporarily disable pylint on open, as in the legacy runner
alecandido May 4, 2023
f8e9228
Pin nf0=4 in LHA FFNS
felixhekhorn May 4, 2023
d60b2b0
Update tests/eko/test_matchings.py
alecandido May 4, 2023
8c7baaa
Update tests/eko/test_matchings.py
alecandido May 4, 2023
75120f3
Improve docstring
alecandido May 4, 2023
44db62e
Fix a few strong coupling benchmarks and evol-to-unity
alecandido May 4, 2023
323fec9
Fix one more strong coupling test
alecandido May 4, 2023
cd296a3
Provide missing argument in msbar evolution
alecandido May 4, 2023
36a8251
Fix parts assignment
alecandido May 4, 2023
8f701c9
Test elements creation
alecandido May 4, 2023
2a67d18
Test recipes creation, deduplicate them
alecandido May 4, 2023
23de89a
Fix sorting in eko_product
felixhekhorn May 4, 2023
cf30aaf
Fix test eko/couplings
felixhekhorn May 4, 2023
8b917b6
Simplify ekore/harmonics/cache
felixhekhorn May 4, 2023
9f51fd3
Fix regression due to different EKO iteration
alecandido May 4, 2023
1879f2b
Implement join operation, and trivially test it
alecandido May 4, 2023
3609d68
Implement parts retrieval and trivial test
alecandido May 4, 2023
7688d68
Fix parts configs
alecandido May 4, 2023
9788f1d
Fix matching conditions blow-up to flavor tensors in new runner
alecandido May 4, 2023
b08addd
Switch temporarily to the jets runner
alecandido May 4, 2023
80a1764
Use values instead of variants for enums
alecandido May 4, 2023
7299348
Revert already propagated enums
alecandido May 4, 2023
208a99b
Fix nf0 determination in runcards upgrade
alecandido May 5, 2023
cd6fb55
Minor improvements on eko/io/items docs
felixhekhorn May 5, 2023
443bb6c
Fix misuse of area walls in place of ratios, in couplings
alecandido May 5, 2023
f1f8aa8
Fix isort
felixhekhorn May 5, 2023
b4a550e
Fix operator order
felixhekhorn May 5, 2023
a46e996
Hardcode intrinsic range, effectively deprecating it
alecandido May 5, 2023
a5a87dd
Add note about reverting the elements in vfns
alecandido May 5, 2023
ab0dbfc
Actually empty the cache during parts computation
alecandido May 5, 2023
6cb3cce
Actually empty the cache during parts joining
alecandido May 5, 2023
5dadb36
Add suitable absolute values to linear error propagation in operators…
alecandido May 8, 2023
29c6e6f
Fix regression in MSbar masses evolution
alecandido May 8, 2023
9155100
Update src/eko/couplings.py
alecandido May 8, 2023
caeeacf
Update src/eko/matchings.py
alecandido May 8, 2023
ed7128f
Update matchings nomenclature in strings
alecandido May 8, 2023
d919b89
Add note about flavor rotation
alecandido May 8, 2023
9b43116
Fix matched path construction
alecandido May 8, 2023
9455555
Add unit tests for matchings
felixhekhorn May 9, 2023
65a61f8
Improve unit test ekore/harmonics/log
felixhekhorn May 9, 2023
bfbd49d
Add test_to_uni_evol
felixhekhorn May 9, 2023
d71d1fe
Update ekomark/plots
felixhekhorn May 9, 2023
b94e4a2
Fix ekore/cache and complete its unit test
felixhekhorn May 9, 2023
e3ca379
Add more ekore unit tests
felixhekhorn May 9, 2023
e571466
Fix import lint warning and shift bases tests
felixhekhorn May 9, 2023
ac22b78
Complete eko/io/runcards unit tests
felixhekhorn May 9, 2023
b91938c
Revert commented import
felixhekhorn May 9, 2023
3bd28a7
Use a_em in unit test
felixhekhorn May 9, 2023
9b3a775
Add unit test for eko/io/access
felixhekhorn May 9, 2023
84f2324
Restore old runner as default
alecandido May 9, 2023
d984709
Avoid importing from top-level
alecandido May 9, 2023
a691765
Add unit test for eko/io/inventory
felixhekhorn May 9, 2023
e1f9908
Drop rng from ekore/h/test_log
felixhekhorn May 9, 2023
4d493a6
Add test for file conflict to eko/io/inventory
felixhekhorn May 9, 2023
0e25356
Run new solve in unit tests
felixhekhorn May 9, 2023
0bd9266
Add unit tests for eko/io/items
felixhekhorn May 9, 2023
9c73942
Drop dead code from eko/qnt/cpl
felixhekhorn May 9, 2023
ac405b2
Fix alphas tutorial
felixhekhorn May 10, 2023
7abef21
Fix tutorials
felixhekhorn May 10, 2023
36d2e1b
Fix eko/qnt/hq and add unit test
felixhekhorn May 11, 2023
7e99af4
Fix actually eko/qnt/hq and add unit test
felixhekhorn May 11, 2023
ef1289d
Poetry update
alecandido May 11, 2023
cb64de4
Add unit test eko/io/metadata
felixhekhorn May 11, 2023
605798c
Test error propagation in manipulate
felixhekhorn May 11, 2023
7133a2a
Add another test case to test_quad_ker
felixhekhorn May 11, 2023
eec07b5
Use second ep in test_xgrid_reshape
felixhekhorn May 11, 2023
5b5ef72
Extend slightly unit test of eko/evop/ome
felixhekhorn May 11, 2023
48a0241
Add more unit tests to eko/io/struct
felixhekhorn May 11, 2023
8f696ba
Add yet more unit tests to eko/io/struct
felixhekhorn May 11, 2023
431a055
Fix eko/kernels/test_ns
felixhekhorn May 12, 2023
f02b16f
Drop masses union, reducing pole masses to msbar format
alecandido May 12, 2023
d32d95b
Drop empty file
felixhekhorn May 12, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions benchmarks/eko/benchmark_evol_to_unity.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from eko.interpolation import XGrid
from eko.io import types
from eko.io.runcards import OperatorCard, TheoryCard
from eko.matchings import Segment
from eko.quantities.couplings import CouplingsInfo
from eko.runner.legacy import Runner

Expand Down Expand Up @@ -53,11 +54,10 @@ def test_operator_grid(
path=tmp_path / "eko.tar",
).op_grid

q20 = 30
q21 = 50
nf = 4
o = Operator(g.config, g.managers, nf, q20, q21)
o_back = Operator(g.config, g.managers, nf, q21, q20)
seg = Segment(30, 50, 4)
seg_back = Segment(50, 30, 4)
o = Operator(g.config, g.managers, seg)
o_back = Operator(g.config, g.managers, seg_back)
o.compute()
o_back.compute()

Expand Down
7 changes: 5 additions & 2 deletions benchmarks/eko/benchmark_msbar_evolution.py
Original file line number Diff line number Diff line change
Expand Up @@ -112,8 +112,8 @@ def benchmark_APFEL_msbar_evolution(
order=theory_card.order,
evmeth=couplevmeth,
matching=np.power(
list(iter(theory_card.heavy.matching_ratios)), 2.0
),
theory_card.heavy.matching_ratios, 2.0
).tolist(),
xif2=theory_card.xif**2,
).tolist(),
thresholds_ratios=np.power(
Expand All @@ -131,6 +131,9 @@ def benchmark_APFEL_msbar_evolution(
qmasses[n].value ** 2,
qmasses[n].scale ** 2,
strong_coupling=as_VFNS,
thresholds_ratios=np.power(
theory_card.heavy.matching_ratios, 2.0
).tolist(),
xif2=1.0,
q2_to=Q2,
nf_ref=n + 3,
Expand Down
30 changes: 14 additions & 16 deletions benchmarks/eko/benchmark_strong_coupling.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import numpy as np
import pytest

from eko import thresholds
from eko import matchings
from eko.beta import beta_qcd
from eko.couplings import Couplings
from eko.io.runcards import TheoryCard
Expand Down Expand Up @@ -138,13 +138,13 @@ def benchmark_APFEL_ffns(self):
),
}
# collect my values
threshold_holder = thresholds.ThresholdsAtlas.ffns(nf)
threshold_holder = matchings.Atlas.ffns(nf, 0.0)
for order in [1, 2, 3]:
as_FFNS = Couplings(
couplings=ref_couplings(coupling_ref, scale_ref),
order=(order, 0),
method=CouplingEvolutionMethod.EXPANDED,
masses=threshold_holder.area_walls[1:-1],
masses=threshold_holder.walls[1:-1],
hqm_scheme=QuarkMassScheme.POLE,
thresholds_ratios=[1.0, 1.0, 1.0],
)
Expand Down Expand Up @@ -211,15 +211,15 @@ def benchmark_pegasus_ffns(self):
),
}
# collect my values
threshold_holder = thresholds.ThresholdsAtlas.ffns(nf)
threshold_holder = matchings.Atlas.ffns(nf, 0.0)
couplings = ref_couplings(coupling_ref, scale_ref)
couplings.max_num_flavs = 4
for order in [1, 2, 3, 4]:
as_FFNS = Couplings(
couplings=couplings,
order=(order, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_holder.area_walls[1:-1],
masses=threshold_holder.walls[1:-1],
hqm_scheme=QuarkMassScheme.POLE,
thresholds_ratios=[1.0, 1.0, 1.0],
)
Expand Down Expand Up @@ -584,12 +584,12 @@ def benchmark_lhapdf_ffns_lo(self):
scale_ref = 91.0
nf = 4
# collect my values
threshold_holder = thresholds.ThresholdsAtlas.ffns(nf)
threshold_holder = matchings.Atlas.ffns(nf, 0.0)
as_FFNS_LO = Couplings(
couplings=ref_couplings(coupling_ref, scale_ref),
order=(1, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_holder.area_walls[1:-1],
masses=threshold_holder.walls[1:-1],
hqm_scheme=QuarkMassScheme.POLE,
thresholds_ratios=[1.0, 1.0, 1.0],
)
Expand Down Expand Up @@ -630,7 +630,7 @@ def benchmark_apfel_exact(self):
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 90
# collect my values
threshold_holder = thresholds.ThresholdsAtlas.ffns(3)
threshold_holder = matchings.Atlas.ffns(3, 0.0)
# LHAPDF cache
apfel_vals_dict = {
1: np.array(
Expand Down Expand Up @@ -663,7 +663,7 @@ def benchmark_apfel_exact(self):
couplings=ref_couplings(coupling_ref, scale_ref),
order=(order, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_holder.area_walls[1:-1],
masses=threshold_holder.walls[1:-1],
hqm_scheme=QuarkMassScheme.POLE,
thresholds_ratios=[1.0, 1.0, 1.0],
)
Expand Down Expand Up @@ -697,7 +697,7 @@ def benchmark_lhapdf_exact(self):
coupling_ref = np.array([0.118, 0.007496])
scale_ref = 90
# collect my values
threshold_holder = thresholds.ThresholdsAtlas.ffns(3)
threshold_holder = matchings.Atlas.ffns(3, 0.0)
# LHAPDF cache
lhapdf_vals_dict = {
1: np.array(
Expand Down Expand Up @@ -738,7 +738,7 @@ def benchmark_lhapdf_exact(self):
couplings=ref_couplings(coupling_ref, scale_ref),
order=(order, 0),
method=CouplingEvolutionMethod.EXACT,
masses=threshold_holder.area_walls[1:-1],
masses=threshold_holder.walls[1:-1],
hqm_scheme=QuarkMassScheme.POLE,
thresholds_ratios=[1.0, 1.0, 1.0],
)
Expand Down Expand Up @@ -861,20 +861,18 @@ def benchmark_APFEL_fact_to_ren_lha_settings(self, theory_card: TheoryCard):
)
for mu2 in mu2s:
my_val = sc.a(mu2 * xif2)[0]
path = sc.thresholds.path(mu2 * xif2)
my_val_4 = sc.a(mu2 * xif2, nf_to=4)[0]
path_4 = sc.thresholds.path(mu2 * xif2, 4)
path_4 = sc.atlas.path((mu2 * xif2, 4))
my_val_3 = sc.a(mu2 * xif2, nf_to=3)[0]
path_3 = sc.thresholds.path(mu2 * xif2, 3)
path_3 = sc.atlas.path((mu2 * xif2, 3))

# path_4 it's not matched
assert len(path_4) == 1

# path_3 is the same as path backward in nf and in q2.
assert len(path_3) == 2
assert len(path) == 2
assert path_3[1].nf < path_3[0].nf
assert path_3[1].q2_from < path_3[0].q2_from
assert path_3[1].origin < path_3[0].origin

apfel_val_ref = 0.03478112968976964
if use_APFEL:
Expand Down
1 change: 0 additions & 1 deletion benchmarks/lha_paper_bench.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
"""
Benchmark to :cite:`Giele:2002hx` (LO + NLO) and :cite:`Dittmar:2005ed` (NNLO).
"""
import argparse
import os
from math import nan

Expand Down
32 changes: 14 additions & 18 deletions doc/source/overview/tutorials/alpha_s.ipynb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

45 changes: 21 additions & 24 deletions doc/source/overview/tutorials/dglap.ipynb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading