diff --git a/src/yadism/esf/exs.py b/src/yadism/esf/exs.py index faf1f2a8..82c47d62 100644 --- a/src/yadism/esf/exs.py +++ b/src/yadism/esf/exs.py @@ -66,6 +66,8 @@ def xs_coeffs(kind, y, x=None, Q2=None, params=None): ym = 0 yp = 1.0 yL = y**2 / (2 * (y**2 / 2 + (1 - y) - (mn * x * y) ** 2 / Q2)) + elif kind == "F1": + return np.array([1 / (2 * x), -1 / (2 * x), 0]) elif kind == "XSFPFCC": INV_GEV_TO_PB = GEV_CM2_CONV / 100.0 # pb norm = (INV_GEV_TO_PB * params["GF"] ** 2) / (2.0 * np.pi) diff --git a/src/yadism/observable_name.py b/src/yadism/observable_name.py index dcdc6678..35c57f28 100644 --- a/src/yadism/observable_name.py +++ b/src/yadism/observable_name.py @@ -9,6 +9,7 @@ "XSNUTEVCC", "XSNUTEVNU", "FW", + "F1", "XSFPFCC", ] kinds = sfs + xs + [fake_kind] diff --git a/tests/yadism/esf/test_exs.py b/tests/yadism/esf/test_exs.py index b7974595..a9b5d99d 100644 --- a/tests/yadism/esf/test_exs.py +++ b/tests/yadism/esf/test_exs.py @@ -50,6 +50,17 @@ def test_xs_coeffs(): assert fw[0] == 1.0 assert fw[2] == 0.0 + f1 = xs_coeffs( + "F1", + x=0.5, + Q2=1.0, + y=0.0, + params=dict(projectilePID=1, M2target=0.0, M2W=1.0), + ) + assert f1[0] == 1.0 + assert f1[1] == -1.0 + assert f1[2] == 0.0 + xsfpfcc = xs_coeffs( "XSFPFCC", x=0.5,