diff --git a/km3buu/output.py b/km3buu/output.py
index 31766f0b30178cd19141ff6ca4e866d3393a516b..e1108c9c70f79d63563faa41732bbc943f6e8f1a 100644
--- a/km3buu/output.py
+++ b/km3buu/output.py
@@ -27,6 +27,7 @@ from scipy.optimize import curve_fit
 import mendeleev
 from datetime import datetime
 
+from .physics import visible_energy_fraction
 from .jobcard import Jobcard, read_jobcard, PDGID_LOOKUP
 from .geometry import DetectorVolume, CanVolume
 from .config import Config, read_default_media_compositions
@@ -561,10 +562,14 @@ class GiBUUOutput:
                                 zip(GIBUU_FIELDNAMES,
                                     len(GIBUU_FIELDNAMES) * [float]))))
         # Calculate additional information
+        counts = ak.num(retval.E)
         retval["xsec"] = self._event_xsec(retval)
         retval["Bx"] = GiBUUOutput.bjorken_x(retval)
         retval["By"] = GiBUUOutput.bjorken_y(retval)
         retval["Q2"] = GiBUUOutput.Qsquared(retval)
+        visEfrac = visible_energy_fraction(ak.flatten(retval.E),
+                                           ak.flatten(retval.barcode))
+        retval["visEfrac"] = ak.unflatten(visEfrac, counts)
         return retval
 
     @property
diff --git a/km3buu/physics.py b/km3buu/physics.py
new file mode 100644
index 0000000000000000000000000000000000000000..c943f2c5cd4eb42a59a5a6f01d3d5628667f8d66
--- /dev/null
+++ b/km3buu/physics.py
@@ -0,0 +1,400 @@
+# Filename: physics.py
+"""
+Additional physics functionality
+
+Visible energy:
+* Implementation applied from JPP
+* Theory by M. Dentler https://inspirehep.net/literature/1321036
+"""
+
+__author__ = "Johannes Schumann"
+__copyright__ = "Copyright 2021, Johannes Schumann and the KM3NeT collaboration."
+__credits__ = []
+__license__ = "MIT"
+__maintainer__ = "Johannes Schumann"
+__email__ = "jschumann@km3net.de"
+__status__ = "Development"
+
+import numpy as np
+import awkward as ak
+from particle import Particle
+
+from .config import read_default_media_compositions
+
+DENSITY_SEA_WATER = read_default_media_compositions()["SeaWater"]["density"]
+
+MUON_SHOWER_E_PER_TRACK_LENGTH = 4.7  #dx/dE [m/GeV]
+
+ELEC_PARAMS = {
+    "ELECa": 1.33356e5,
+    "ELECb": 1.66113e2,
+    "ELECc": 16.4949,
+    "ELECd": 1.5385e5,
+    "ELECe": 6.04871e5,
+}
+
+PION_PARAMS = {
+    "PIa": 0.538346,
+    "PIb": 1.32041,
+    "PIc": 0.737415,
+    "PId": -0.813861,
+    "PIe": -2.22444,
+    "PIf": -2.15795,
+    "PIg": -6.47242,
+    "PIh": -2.7567,
+    "PIx": 8.83498,
+}
+
+KAON_PARAMS = {
+    "Ka": 12.7537,
+    "Kb": -1.052,
+    "Kc": 3.49559,
+    "Kd": 16.7914,
+    "Ke": -0.355066,
+    "Kf": 2.77116,
+}
+
+KSHORT_PARAMS = {
+    "K0sa": 0.351242,
+    "K0sb": 0.613076,
+    "K0sc": 6.24682,
+    "K0sd": 2.8858,
+}
+
+KLONG_PARAMS = {
+    "K0la": 2.18152,
+    "K0lb": -0.632798,
+    "K0lc": 0.999514,
+    "K0ld": 1.36052,
+    "K0le": 4.22484,
+    "K0lf": -0.307859,
+}
+
+PROTON_PARAMS = {
+    "Pa": 12.1281,
+    "Pb": -17.1528,
+    "Pc": 0.573158,
+    "Pd": 34.1436,
+    "Pe": -0.28944,
+    "Pf": -13.2619,
+    "Pg": 24.1357,
+}
+
+NEUTRON_PARAMS = {
+    "Na": 1.24605,
+    "Nb": 0.63819,
+    "Nc": -0.802822,
+    "Nd": -0.935327,
+    "Ne": -6.1126,
+    "Nf": -1.96894,
+    "Ng": 0.716954,
+    "Nh": 2.68246,
+    "Ni": -9.39464,
+    "Nj": 15.0737,
+}
+
+HE_PARAMS = {
+    "Ma": 72.425,
+    "Mb": -49.417,
+    "Mc": 5.858,
+    "Md": 207.252,
+    "Me": 132.784,
+    "Mf": -10.277,
+    "Mg": -19.441,
+    "Mh": 58.598,
+    "Mi": 53.161,
+    "Mkref": 2.698,
+}
+
+
+def _get_particle_rest_mass(pdgid):
+    @np.vectorize
+    def vfunc(x):
+        mass = Particle.from_pdgid(x).mass
+        if mass is None:
+            return 0
+        return mass / 1e3
+
+    pdgids, invmap = np.unique(ak.to_numpy(pdgid), return_inverse=True)
+    masses = vfunc(pdgids)
+    return masses[invmap]
+
+
+def get_kinetic_energy(energy, pdgid):
+    """
+    Returns the kinetic energy
+
+    Parameters
+    ----------
+    energy: float [GeV]
+        Total energy of the given particle 
+    pdgid: int
+        PDGID of the given particle
+    """
+    mass = np.array(_get_particle_rest_mass(pdgid))
+    return np.sqrt(ak.to_numpy(energy)**2 - mass**2)
+
+
+def visible_energy(energy, pdgid):
+    """
+    Returns the visible energy in the one particle approximation (OPA)
+    how it is used in JSirene (i.e. JPythia.hh)
+
+    Parameters
+    ----------
+    energy: float [GeV]
+        Total energy of the given particle 
+    pdgid: int
+        PDGID of the given particle
+    """
+    return get_kinetic_energy(energy, pdgid) * visible_energy_fraction(
+        energy, pdgid)
+
+
+def visible_energy_fraction(energy, pdgid):
+    """
+    Returns the visible energy fraction in the one particle approximation (OPA)
+    how it is used in JSirene (i.e. JPythia.hh)
+
+    Parameters
+    ----------
+    energy: float [GeV]
+        Total energy of the given particle 
+    pdgid: int
+        PDGID of the given particle
+    """
+    pdgid = ak.to_numpy(pdgid)
+    retval = np.zeros_like(pdgid, dtype=np.float64)
+    mask = np.isin(pdgid, [11, -11, 22, 111, 221])
+    retval[mask] = 1.0
+    mask = np.isin(pdgid, [-211, 211])
+    ekin = get_kinetic_energy(energy[mask], pdgid[mask])
+    retval[mask] = high_energy_weight(ekin)
+    mask = np.isin(pdgid, [13])
+    if np.any(mask):
+        mass = Particle.from_pdgid(13).mass / 1e3
+        ekin = np.sqrt(ak.to_numpy(energy)[mask]**2 - mass**2)
+        retval[mask] = muon_range_seawater(ekin, mass) / 4.7
+    return retval
+
+
+@np.vectorize
+def km3_opa_fraction(energy, pdgid):
+    """
+    Returns the visible energy fraction in the one particle approximation (OPA)
+    how it is used in KM3
+
+    Parameters
+    ----------
+    energy: float [GeV]
+        Kinetic energy of the given particle 
+    pdgid: int
+        PDGID of the given particle
+    """
+
+    # Cover trivial cases, i.e. 'non-visible' particles and ultra-high energy
+    if pdgid in [11, -11, 22, 111, 221]:
+        return 1.0
+    elif energy > 1e7:
+        return high_energy_weight(energy)
+
+    tmp = energy if energy < 40. else 40.
+    weight = 0.0
+
+    if abs(pdgid) == 211:
+        weight = pion_weight(tmp)
+    elif pdgid == 130:
+        weight = klong_weight(tmp)
+    elif pdgid == 310:
+        weight = kshort_weight(tmp)
+    elif abs(pdgid) == 321:
+        weight = kaon_weight(tmp)
+    elif pdgid == 2112:
+        weight = neutron_weight(tmp)
+    elif pdgid == 2122:
+        weight = proton_weight(tmp)
+    elif pdgid in [12, -12, 14, -14, 16, -16, -13, 13, 15, -15]:
+        weight = 0.0
+    else:
+        weight = proton_weight(tmp)
+
+    if energy < 40.:
+        return weight
+    else:
+        he_weight = high_energy_weight(energy)
+        he40GeV_weight = high_energy_weight(40.)
+        return he_weight - (he40GeV_weight -
+                            weight) * (7. - np.log10(energy)) / 5.398
+
+
+def number_photons_per_electron(energy):
+    """Expected number of photons for electrons as function of energy"""
+    exp_coeff = np.exp(-energy / ELEC_PARAMS["ELECc"])
+    n = (ELEC_PARAMS["ELECa"] * energy + ELEC_PARAMS["ELECb"]) * exp_coeff + (
+        ELEC_PARAMS["ELECd"] * energy + ELEC_PARAMS["ELECe"]) * (1 - exp_coeff)
+    return n
+
+
+def pion_weight(energy):
+    norm = number_photons_per_electron(energy)
+    if energy < 6e-2:
+        return 1e4 * PION_PARAMS["PIa"] / norm
+    elif energy < 1.5e-1:
+        return 1e4 * PION_PARAMS["PIx"] * energy / norm
+    else:
+        logE = np.log(energy)
+        return (1e5 * PION_PARAMS["PIb"] * energy +
+                (energy**(1. - 1. / PION_PARAMS["PIc"])) *
+                (PION_PARAMS["PId"] * 1e4 + 1e4 * PION_PARAMS["PIe"] * logE +
+                 1e4 * PION_PARAMS["PIf"] * logE**2 + 1e3 * PION_PARAMS["PIg"]
+                 * logE**3 + 1e2 * PION_PARAMS["PIh"] * logE**4)) / norm
+
+
+def kaon_weight(energy):
+    norm = number_photons_per_electron(energy)
+    if energy > 0.26:
+        exp_coeff = np.exp(-energy / KAON_PARAMS["Kc"])
+        return (1e4 * KAON_PARAMS["Ka"] * (energy + KAON_PARAMS["Kb"]) *
+                (1. - exp_coeff) + 1e4 *
+                (KAON_PARAMS["Kd"] * energy + KAON_PARAMS["Ke"]) *
+                exp_coeff) / norm
+    else:
+        return KAON_PARAMS["Kf"] * 1e4 / norm
+
+
+def kshort_weight(energy):
+    norm = number_photons_per_electron(energy)
+    return (KSHORT_PARAMS["K0sa"] * 1e5 + KSHORT_PARAMS["K0sb"] * 1e5 * energy
+            + energy * KSHORT_PARAMS["K0sc"] * 1e4 *
+            np.log(KSHORT_PARAMS["K0sd"] + 1. / energy)) / norm
+
+
+def klong_weight(energy):
+    norm = number_photons_per_electron(energy)
+    if energy < 1.5:
+        return (1e4 * KLONG_PARAMS["K0la"] +
+                energy * 1e5 * KLONG_PARAMS["K0lb"] * np.log(energy) +
+                1e5 * KLONG_PARAMS["K0lc"] * energy**1.5) / norm
+    else:
+        return (energy * KLONG_PARAMS["K0ld"] * 1e5 +
+                energy**(1. - 1. / KLONG_PARAMS["K0le"]) *
+                KLONG_PARAMS["K0lf"] * 1e5) / norm
+
+
+def proton_weight(energy):
+    exp_coeff = np.exp(-energy / PROTON_PARAMS["Pc"])
+    norm = number_photons_per_electron(energy)
+    weight = 1e4 * (PROTON_PARAMS["Pa"] * energy + PROTON_PARAMS["Pb"]) * (
+        1 - exp_coeff) + 1e4 * (PROTON_PARAMS["Pd"] * energy +
+                                PROTON_PARAMS["Pe"] +
+                                PROTON_PARAMS["Pf"] * energy**2 +
+                                PROTON_PARAMS["Pg"] * energy**3) * exp_coeff
+    return weight / norm
+
+
+def neutron_weight(energy):
+    norm = number_photons_per_electron(energy)
+    if energy > 0.5:
+        logE = np.log(energy)
+        return (NEUTRON_PARAMS["Na"] * 1e5 * energy +
+                1e3 * energy**(1. - 1. / NEUTRON_PARAMS["Nb"]) *
+                (100 * NEUTRON_PARAMS["Nc"] + 100 * NEUTRON_PARAMS["Nd"] * logE
+                 + 10 * NEUTRON_PARAMS["Ne"] * logE**2 +
+                 11 * NEUTRON_PARAMS["Nf"] * logE**3)) / norm
+    else:
+        return (1e3 * NEUTRON_PARAMS["Ng"] + 1e4 * NEUTRON_PARAMS["Nh"] *
+                energy + 1e4 * NEUTRON_PARAMS["Ni"] * energy**2 +
+                1e4 * NEUTRON_PARAMS["Nj"] * energy**3) / norm
+
+
+@np.vectorize
+def high_energy_weight(energy):
+    """
+    High energy weight (valid above 40 GeV)
+
+    Parameters
+    ----------
+    energy: float 
+        Kinetic energy of the given particle
+    """
+    if energy < 0.2:
+        return 0.292
+
+    logE = np.log10(energy)
+    mlc = (HE_PARAMS["Ma"] - HE_PARAMS["Mf"]) / HE_PARAMS["Mkref"]
+    denom = HE_PARAMS["Mi"] + HE_PARAMS["Mh"] * logE + HE_PARAMS[
+        "Mg"] * logE**2 + HE_PARAMS["Mf"] * logE**3 + mlc * logE**4
+    if denom <= 0:
+        return 0
+    num = HE_PARAMS[
+        "Me"] + HE_PARAMS["Md"] * logE + HE_PARAMS["Mc"] * logE**2 + HE_PARAMS[
+            "Mb"] * logE**3 + HE_PARAMS["Ma"] * logE**4 + mlc * logE**5
+    lognp = num / denom
+    Ee = 10.**(lognp - HE_PARAMS["Mkref"])
+    return Ee / energy
+
+
+@np.vectorize
+def muon_range_seawater(start_energy, stop_energy):
+    """
+    Get distance muon propagates in seawater
+
+    Parameters
+    ----------
+    start_energy: float [GeV]
+        Start energy of the muon track
+    stop_energy: float [GeV]
+        Stop energy of the muon track
+
+    Return
+    ------
+    track_length: float [m]
+    """
+    muon_mass = Particle.from_string("mu").mass / 1e3
+    if start_energy <= muon_mass:
+        return 0
+    elif start_energy < stop_energy:
+        raise ValueError("Final energy must be smaller than initial energy.")
+
+    etmp = start_energy
+    dx = 0.0
+
+    params = np.array([
+        (35.3e3, -6.5e-1 * DENSITY_SEA_WATER, 3.66e-4 * DENSITY_SEA_WATER),
+        (30., 2.67e-1 * DENSITY_SEA_WATER, 3.4e-4 * DENSITY_SEA_WATER),
+        (0., 2.3e-1 * DENSITY_SEA_WATER, 15.5e-4 * DENSITY_SEA_WATER),
+    ],
+                      dtype=[("energy", "f8"), ("a", "f8"), ("b", "f8")])
+
+    mask_stages = (params["energy"] < start_energy) & (np.append(
+        np.inf, params["energy"][:-1]) > stop_energy)
+    energy_steps = np.append(start_energy, params["energy"][mask_stages])
+    energy_steps[-1] = stop_energy
+
+    for i, stage in enumerate(np.where(mask_stages)[0]):
+        dx += muon_range(energy_steps[i], energy_steps[i + 1],
+                         params["a"][stage], params["b"][stage])
+
+    return dx
+
+
+def muon_range(start_energy, stop_energy, a, b):
+    """
+    Get distance muon propagates
+
+    Parameters
+    ----------
+    start_energy: float [GeV]
+        Start energy of the muon track
+    stop_energy: float [GeV]
+        Stop energy of the muon track
+    a: float [GeV/m]
+        Ionisation loss
+    b: float [m^-1]
+        Pair-Production and Bremsstrahlung
+
+    Return
+    ------
+    track_length: float [m]
+    """
+    return -np.log((a + b * stop_energy) / (a + b * start_energy)) / b
diff --git a/km3buu/tests/data/muon_range_seawater.txt b/km3buu/tests/data/muon_range_seawater.txt
new file mode 100644
index 0000000000000000000000000000000000000000..aea3edc8894a2a24cb29e0f144539702361efc61
--- /dev/null
+++ b/km3buu/tests/data/muon_range_seawater.txt
@@ -0,0 +1,1001 @@
+# Start Energy [GeV]	Stop Energy [GeV]	 Muon Range [m]
+1	0.01	4.13272
+1	0.0107647	4.12952
+1	0.0115878	4.12607
+1	0.0124738	4.12236
+1	0.0134277	4.11836
+1	0.0144544	4.11406
+1	0.0155597	4.10944
+1	0.0167494	4.10445
+1	0.0180302	4.09909
+1	0.0194089	4.09331
+1	0.020893	4.0871
+1	0.0224905	4.08041
+1	0.0242103	4.07321
+1	0.0260615	4.06545
+1	0.0280543	4.05711
+1	0.0301995	4.04812
+1	0.0325087	4.03845
+1	0.0349945	4.02804
+1	0.0376704	4.01684
+1	0.0405509	4.00478
+1	0.0436516	3.99179
+1	0.0469894	3.97781
+1	0.0505825	3.96277
+1	0.0544503	3.94657
+1	0.0586138	3.92914
+1	0.0630957	3.91038
+1	0.0679204	3.89018
+1	0.0731139	3.86843
+1	0.0787046	3.84503
+1	0.0847227	3.81983
+1	0.0912011	3.79271
+1	0.0981748	3.76352
+1	0.105682	3.7321
+1	0.113763	3.69828
+1	0.122462	3.66187
+1	0.131826	3.62268
+1	0.141906	3.5805
+1	0.152757	3.53509
+1	0.164437	3.48622
+1	0.177011	3.43361
+1	0.190546	3.37699
+1	0.205116	3.31604
+1	0.2208	3.25044
+1	0.237684	3.17983
+1	0.255859	3.10383
+1	0.275423	3.02202
+1	0.296483	2.93398
+1	0.319154	2.83922
+1	0.343558	2.73722
+1	0.369828	2.62745
+1	0.398107	2.5093
+1	0.428549	2.38215
+1	0.461318	2.2453
+1	0.496592	2.09802
+1	0.534564	1.93952
+1	0.57544	1.76895
+1	0.619441	1.58538
+1	0.666807	1.38784
+1	0.717794	1.17526
+1	0.772681	0.94651
+1	0.831764	0.700361
+1	0.895365	0.4355
+1	0.963829	0.150512
+1.03753	1	0.156122
+1.11686	1	0.486033
+1.20226	1	0.840976
+1.2942	1	1.22283
+1.39316	1	1.63363
+1.49968	1	2.07553
+1.61436	1	2.55087
+1.7378	1	3.06215
+1.87068	1	3.61206
+2.01372	1	4.20347
+2.1677	1	4.83948
+2.33346	1	5.5234
+2.51189	1	6.25876
+2.70396	1	7.04939
+2.91072	1	7.89935
+3.13329	1	8.81301
+3.37287	1	9.79503
+3.63078	1	10.8504
+3.90841	1	11.9845
+4.20727	1	13.203
+4.52898	1	14.512
+4.87529	1	15.918
+5.24808	1	17.428
+5.64937	1	19.0493
+6.08135	1	20.7899
+6.54636	1	22.6582
+7.04693	1	24.6631
+7.58578	1	26.8141
+8.16582	1	29.1213
+8.79023	1	31.5953
+9.46237	1	34.2476
+10.1859	1	37.0901
+10.9648	1	40.1354
+11.8032	1	43.3971
+12.7057	1	46.8891
+13.6773	1	50.6264
+14.7231	1	54.6244
+15.8489	1	58.8997
+17.0608	1	63.4692
+18.3654	1	68.3508
+19.7697	1	73.5633
+21.2814	1	79.1258
+22.9087	1	85.0586
+24.6604	1	91.3824
+26.5461	1	98.1186
+28.5759	1	105.289
+30.761	1	112.914
+33.1131	1	121.07
+35.6451	1	129.823
+38.3707	1	139.215
+41.3048	1	149.29
+44.4631	1	160.096
+47.863	1	171.682
+51.5229	1	184.102
+55.4626	1	197.411
+59.7035	1	211.668
+64.2688	1	226.935
+69.1831	1	243.278
+74.4732	1	260.766
+80.1678	1	279.472
+86.2979	1	299.471
+92.8967	1	320.843
+100	1	343.669
+107.647	1	368.038
+115.878	1	394.038
+124.738	1	421.762
+134.277	1	451.306
+144.544	1	482.768
+155.597	1	516.25
+167.494	1	551.855
+180.302	1	589.69
+194.089	1	629.861
+208.93	1	672.476
+224.905	1	717.644
+242.103	1	765.476
+260.615	1	816.077
+280.543	1	869.557
+301.995	1	926.02
+325.087	1	985.568
+349.945	1	1048.3
+376.704	1	1114.31
+405.509	1	1183.7
+436.516	1	1256.54
+469.894	1	1332.9
+505.825	1	1412.88
+544.503	1	1496.51
+586.138	1	1583.87
+630.957	1	1674.99
+679.204	1	1769.91
+731.139	1	1868.65
+787.046	1	1971.23
+847.227	1	2077.66
+912.011	1	2187.93
+981.748	1	2302.02
+1056.82	1	2419.91
+1137.63	1	2541.56
+1224.62	1	2666.93
+1318.26	1	2795.96
+1419.06	1	2928.59
+1527.57	1	3064.74
+1644.37	1	3204.34
+1770.11	1	3347.31
+1905.46	1	3493.55
+2051.16	1	3642.98
+2208.01	1	3795.48
+2376.84	1	3950.95
+2558.59	1	4109.3
+2754.23	1	4270.42
+2964.83	1	4434.18
+3191.54	1	4600.5
+3435.58	1	4769.25
+3698.28	1	4940.34
+3981.07	1	5113.64
+4285.48	1	5289.07
+4613.18	1	5466.5
+4965.92	1	5645.85
+5345.64	1	5827.02
+5754.4	1	6009.9
+6194.41	1	6194.41
+6668.07	1	6380.45
+7177.94	1	6567.94
+7726.81	1	6756.81
+8317.64	1	6946.96
+8953.65	1	7138.32
+9638.29	1	7330.82
+10375.3	1	7524.4
+11168.6	1	7718.98
+12022.6	1	7914.51
+12942	1	8110.92
+13931.6	1	8308.16
+14996.9	1	8506.18
+16143.6	1	8704.93
+17378	1	8904.36
+18706.8	1	9104.42
+20137.2	1	9305.08
+21677	1	9506.3
+23334.6	1	9708.03
+25118.9	1	9910.25
+27039.6	1	10112.9
+29107.2	1	10316
+31332.8	1	10519.5
+33728.7	1	10723.4
+36307.8	1	10927.5
+39084.1	1	11131
+42072.7	1	11333.9
+45289.8	1	11536
+48752.9	1	11737.6
+52480.7	1	11938.6
+56493.7	1	12139.1
+60813.5	1	12339.1
+65463.6	1	12538.7
+70469.3	1	12737.8
+75857.8	1	12936.6
+81658.3	1	13135
+87902.2	1	13333.1
+94623.7	1	13530.9
+101859	1	13728.5
+109648	1	13925.7
+118032	1	14122.8
+127057	1	14319.6
+136773	1	14516.2
+147231	1	14712.6
+158489	1	14908.8
+170608	1	15104.9
+183654	1	15300.8
+197697	1	15496.6
+212814	1	15692.2
+229087	1	15887.7
+246604	1	16083.1
+265460	1	16278.4
+285759	1	16473.6
+307610	1	16668.8
+331131	1	16863.8
+356451	1	17058.7
+383707	1	17253.6
+413048	1	17448.5
+444631	1	17643.2
+478630	1	17837.9
+515229	1	18032.5
+554626	1	18227.1
+597035	1	18421.7
+642688	1	18616.2
+691831	1	18810.7
+744732	1	19005.1
+801678	1	19199.5
+862978	1	19393.9
+928966	1	19588.2
+15	0.01	59.8113
+15	0.0107647	59.8081
+15	0.0115878	59.8047
+15	0.0124738	59.801
+15	0.0134277	59.797
+15	0.0144544	59.7927
+15	0.0155597	59.788
+15	0.0167494	59.7831
+15	0.0180302	59.7777
+15	0.0194089	59.7719
+15	0.020893	59.7657
+15	0.0224905	59.759
+15	0.0242103	59.7518
+15	0.0260615	59.7441
+15	0.0280543	59.7357
+15	0.0301995	59.7267
+15	0.0325087	59.7171
+15	0.0349945	59.7067
+15	0.0376704	59.6954
+15	0.0405509	59.6834
+15	0.0436516	59.6704
+15	0.0469894	59.6564
+15	0.0505825	59.6414
+15	0.0544503	59.6252
+15	0.0586138	59.6077
+15	0.0630957	59.589
+15	0.0679204	59.5688
+15	0.0731139	59.547
+15	0.0787046	59.5236
+15	0.0847227	59.4984
+15	0.0912011	59.4713
+15	0.0981748	59.4421
+15	0.105682	59.4107
+15	0.113763	59.3769
+15	0.122462	59.3405
+15	0.131826	59.3013
+15	0.141906	59.2591
+15	0.152757	59.2137
+15	0.164437	59.1648
+15	0.177011	59.1122
+15	0.190546	59.0556
+15	0.205116	58.9946
+15	0.2208	58.929
+15	0.237684	58.8584
+15	0.255859	58.7824
+15	0.275423	58.7006
+15	0.296483	58.6126
+15	0.319154	58.5178
+15	0.343558	58.4158
+15	0.369828	58.3061
+15	0.398107	58.1879
+15	0.428549	58.0608
+15	0.461318	57.9239
+15	0.496592	57.7766
+15	0.534564	57.6181
+15	0.57544	57.4476
+15	0.619441	57.264
+15	0.666807	57.0664
+15	0.717794	56.8539
+15	0.772681	56.6251
+15	0.831764	56.379
+15	0.895365	56.1141
+15	0.963829	55.8291
+15	1.03753	55.5225
+15	1.11686	55.1926
+15	1.20226	54.8376
+15	1.2942	54.4558
+15	1.39316	54.045
+15	1.49968	53.6031
+15	1.61436	53.1277
+15	1.7378	52.6165
+15	1.87068	52.0665
+15	2.01372	51.4751
+15	2.1677	50.8391
+15	2.33346	50.1552
+15	2.51189	49.4198
+15	2.70396	48.6292
+15	2.91072	47.7793
+15	3.13329	46.8656
+15	3.37287	45.8836
+15	3.63078	44.8282
+15	3.90841	43.6941
+15	4.20727	42.4756
+15	4.52898	41.1666
+15	4.87529	39.7606
+15	5.24808	38.2506
+15	5.64937	36.6293
+15	6.08135	34.8887
+15	6.54636	33.0204
+15	7.04693	31.0155
+15	7.58578	28.8645
+15	8.16582	26.5573
+15	8.79023	24.0833
+15	9.46237	21.431
+15	10.1859	18.5885
+15	10.9648	15.5432
+15	11.8032	12.2815
+15	12.7057	8.78948
+15	13.6773	5.05222
+15	14.7231	1.05416
+15.8489	15	3.22108
+17.0608	15	7.79057
+18.3654	15	12.6722
+19.7697	15	17.8847
+21.2814	15	23.4472
+22.9087	15	29.38
+24.6604	15	35.7038
+26.5461	15	42.44
+28.5759	15	49.6106
+30.761	15	57.2359
+33.1131	15	65.3912
+35.6451	15	74.144
+38.3707	15	83.536
+41.3048	15	93.6115
+44.4631	15	104.417
+47.863	15	116.004
+51.5229	15	128.423
+55.4626	15	141.732
+59.7035	15	155.989
+64.2688	15	171.256
+69.1831	15	187.6
+74.4732	15	205.088
+80.1678	15	223.794
+86.2979	15	243.792
+92.8967	15	265.164
+100	15	287.991
+107.647	15	312.36
+115.878	15	338.359
+124.738	15	366.083
+134.277	15	395.627
+144.544	15	427.089
+155.597	15	460.571
+167.494	15	496.177
+180.302	15	534.011
+194.089	15	574.182
+208.93	15	616.797
+224.905	15	661.966
+242.103	15	709.797
+260.615	15	760.399
+280.543	15	813.878
+301.995	15	870.341
+325.087	15	929.89
+349.945	15	992.623
+376.704	15	1058.64
+405.509	15	1128.02
+436.516	15	1200.86
+469.894	15	1277.23
+505.825	15	1357.2
+544.503	15	1440.83
+586.138	15	1528.19
+630.957	15	1619.31
+679.204	15	1714.23
+731.139	15	1812.97
+787.046	15	1915.56
+847.227	15	2021.98
+912.011	15	2132.25
+981.748	15	2246.35
+1056.82	15	2364.23
+1137.63	15	2485.89
+1224.62	15	2611.25
+1318.26	15	2740.28
+1419.06	15	2872.91
+1527.57	15	3009.06
+1644.37	15	3148.67
+1770.11	15	3291.63
+1905.46	15	3437.87
+2051.16	15	3587.3
+2208.01	15	3739.8
+2376.84	15	3895.27
+2558.59	15	4053.62
+2754.23	15	4214.74
+2964.83	15	4378.51
+3191.54	15	4544.82
+3435.58	15	4713.58
+3698.28	15	4884.66
+3981.07	15	5057.97
+4285.48	15	5233.39
+4613.18	15	5410.83
+4965.92	15	5590.18
+5345.64	15	5771.34
+5754.4	15	5954.22
+6194.41	15	6138.73
+6668.07	15	6324.77
+7177.94	15	6512.26
+7726.81	15	6701.13
+8317.64	15	6891.28
+8953.65	15	7082.64
+9638.29	15	7275.14
+10375.3	15	7468.72
+11168.6	15	7663.3
+12022.6	15	7858.83
+12942	15	8055.24
+13931.6	15	8252.49
+14996.9	15	8450.51
+16143.6	15	8649.25
+17378	15	8848.68
+18706.8	15	9048.74
+20137.2	15	9249.4
+21677	15	9450.62
+23334.6	15	9652.36
+25118.9	15	9854.58
+27039.6	15	10057.2
+29107.2	15	10260.3
+31332.8	15	10463.8
+33728.7	15	10667.7
+36307.8	15	10871.8
+39084.1	15	11075.3
+42072.7	15	11278.2
+45289.8	15	11480.4
+48752.9	15	11681.9
+52480.7	15	11882.9
+56493.7	15	12083.4
+60813.5	15	12283.4
+65463.6	15	12483
+70469.3	15	12682.2
+75857.8	15	12880.9
+81658.3	15	13079.4
+87902.2	15	13277.5
+94623.7	15	13475.3
+101859	15	13672.8
+109648	15	13870.1
+118032	15	14067.1
+127057	15	14263.9
+136773	15	14460.5
+147231	15	14656.9
+158489	15	14853.1
+170608	15	15049.2
+183654	15	15245.1
+197697	15	15440.9
+212814	15	15636.5
+229087	15	15832
+246604	15	16027.4
+265460	15	16222.8
+285759	15	16418
+307610	15	16613.1
+331131	15	16808.1
+356451	15	17003.1
+383707	15	17198
+413048	15	17392.8
+444631	15	17587.5
+478630	15	17782.2
+515229	15	17976.9
+554626	15	18171.5
+597035	15	18366
+642688	15	18560.5
+691831	15	18755
+744732	15	18949.4
+801678	15	19143.8
+862978	15	19338.2
+928966	15	19532.5
+45	0.01	166.061
+45	0.0107647	166.058
+45	0.0115878	166.055
+45	0.0124738	166.051
+45	0.0134277	166.047
+45	0.0144544	166.043
+45	0.0155597	166.038
+45	0.0167494	166.033
+45	0.0180302	166.028
+45	0.0194089	166.022
+45	0.020893	166.016
+45	0.0224905	166.009
+45	0.0242103	166.002
+45	0.0260615	165.994
+45	0.0280543	165.986
+45	0.0301995	165.977
+45	0.0325087	165.967
+45	0.0349945	165.957
+45	0.0376704	165.946
+45	0.0405509	165.934
+45	0.0436516	165.921
+45	0.0469894	165.907
+45	0.0505825	165.892
+45	0.0544503	165.875
+45	0.0586138	165.858
+45	0.0630957	165.839
+45	0.0679204	165.819
+45	0.0731139	165.797
+45	0.0787046	165.774
+45	0.0847227	165.749
+45	0.0912011	165.721
+45	0.0981748	165.692
+45	0.105682	165.661
+45	0.113763	165.627
+45	0.122462	165.591
+45	0.131826	165.551
+45	0.141906	165.509
+45	0.152757	165.464
+45	0.164437	165.415
+45	0.177011	165.362
+45	0.190546	165.306
+45	0.205116	165.245
+45	0.2208	165.179
+45	0.237684	165.109
+45	0.255859	165.033
+45	0.275423	164.951
+45	0.296483	164.863
+45	0.319154	164.768
+45	0.343558	164.666
+45	0.369828	164.556
+45	0.398107	164.438
+45	0.428549	164.311
+45	0.461318	164.174
+45	0.496592	164.027
+45	0.534564	163.868
+45	0.57544	163.698
+45	0.619441	163.514
+45	0.666807	163.317
+45	0.717794	163.104
+45	0.772681	162.875
+45	0.831764	162.629
+45	0.895365	162.364
+45	0.963829	162.079
+45	1.03753	161.773
+45	1.11686	161.443
+45	1.20226	161.088
+45	1.2942	160.706
+45	1.39316	160.295
+45	1.49968	159.853
+45	1.61436	159.378
+45	1.7378	158.867
+45	1.87068	158.317
+45	2.01372	157.725
+45	2.1677	157.089
+45	2.33346	156.405
+45	2.51189	155.67
+45	2.70396	154.879
+45	2.91072	154.029
+45	3.13329	153.116
+45	3.37287	152.134
+45	3.63078	151.078
+45	3.90841	149.944
+45	4.20727	148.726
+45	4.52898	147.417
+45	4.87529	146.011
+45	5.24808	144.501
+45	5.64937	142.879
+45	6.08135	141.139
+45	6.54636	139.271
+45	7.04693	137.266
+45	7.58578	135.115
+45	8.16582	132.808
+45	8.79023	130.333
+45	9.46237	127.681
+45	10.1859	124.839
+45	10.9648	121.793
+45	11.8032	118.532
+45	12.7057	115.04
+45	13.6773	111.302
+45	14.7231	107.304
+45	15.8489	103.029
+45	17.0608	98.4596
+45	18.3654	93.5779
+45	19.7697	88.3655
+45	21.2814	82.803
+45	22.9087	76.8701
+45	24.6604	70.5464
+45	26.5461	63.8102
+45	28.5759	56.6396
+45	30.761	49.0143
+45	33.1131	40.859
+45	35.6451	32.1061
+45	38.3707	22.7142
+45	41.3048	12.6387
+45	44.4631	1.83275
+47.863	45	9.75362
+51.5229	45	22.1733
+55.4626	45	35.482
+59.7035	45	49.7389
+64.2688	45	65.0061
+69.1831	45	81.3495
+74.4732	45	98.8377
+80.1678	45	117.543
+86.2979	45	137.542
+92.8967	45	158.914
+100	45	181.741
+107.647	45	206.109
+115.878	45	232.109
+124.738	45	259.833
+134.277	45	289.377
+144.544	45	320.839
+155.597	45	354.321
+167.494	45	389.926
+180.302	45	427.761
+194.089	45	467.932
+208.93	45	510.547
+224.905	45	555.716
+242.103	45	603.547
+260.615	45	654.148
+280.543	45	707.628
+301.995	45	764.091
+325.087	45	823.64
+349.945	45	886.373
+376.704	45	952.386
+405.509	45	1021.77
+436.516	45	1094.61
+469.894	45	1170.98
+505.825	45	1250.95
+544.503	45	1334.58
+586.138	45	1421.94
+630.957	45	1513.06
+679.204	45	1607.98
+731.139	45	1706.72
+787.046	45	1809.31
+847.227	45	1915.73
+912.011	45	2026
+981.748	45	2140.1
+1056.82	45	2257.98
+1137.63	45	2379.64
+1224.62	45	2505
+1318.26	45	2634.03
+1419.06	45	2766.66
+1527.57	45	2902.81
+1644.37	45	3042.42
+1770.11	45	3185.38
+1905.46	45	3331.62
+2051.16	45	3481.05
+2208.01	45	3633.55
+2376.84	45	3789.02
+2558.59	45	3947.37
+2754.23	45	4108.49
+2964.83	45	4272.26
+3191.54	45	4438.57
+3435.58	45	4607.33
+3698.28	45	4778.41
+3981.07	45	4951.71
+4285.48	45	5127.14
+4613.18	45	5304.58
+4965.92	45	5483.93
+5345.64	45	5665.09
+5754.4	45	5847.97
+6194.41	45	6032.48
+6668.07	45	6218.52
+7177.94	45	6406.01
+7726.81	45	6594.88
+8317.64	45	6785.03
+8953.65	45	6976.39
+9638.29	45	7168.89
+10375.3	45	7362.47
+11168.6	45	7557.05
+12022.6	45	7752.58
+12942	45	7948.99
+13931.6	45	8146.24
+14996.9	45	8344.26
+16143.6	45	8543
+17378	45	8742.43
+18706.8	45	8942.49
+20137.2	45	9143.15
+21677	45	9344.37
+23334.6	45	9546.11
+25118.9	45	9748.33
+27039.6	45	9951
+29107.2	45	10154.1
+31332.8	45	10357.6
+33728.7	45	10561.4
+36307.8	45	10765.5
+39084.1	45	10969.1
+42072.7	45	11171.9
+45289.8	45	11374.1
+48752.9	45	11575.7
+52480.7	45	11776.7
+56493.7	45	11977.2
+60813.5	45	12177.2
+65463.6	45	12376.7
+70469.3	45	12575.9
+75857.8	45	12774.7
+81658.3	45	12973.1
+87902.2	45	13171.2
+94623.7	45	13369
+101859	45	13566.5
+109648	45	13763.8
+118032	45	13960.8
+127057	45	14157.6
+136773	45	14354.2
+147231	45	14550.6
+158489	45	14746.9
+170608	45	14942.9
+183654	45	15138.8
+197697	45	15334.6
+212814	45	15530.3
+229087	45	15725.8
+246604	45	15921.2
+265460	45	16116.5
+285759	45	16311.7
+307610	45	16506.8
+331131	45	16701.9
+356451	45	16896.8
+383707	45	17091.7
+413048	45	17286.5
+444631	45	17481.3
+478630	45	17676
+515229	45	17870.6
+554626	45	18065.2
+597035	45	18259.8
+642688	45	18454.3
+691831	45	18648.7
+744732	45	18843.2
+801678	45	19037.6
+862978	45	19231.9
+928966	45	19426.3
+300	0.01	924.948
+300	0.0107647	924.945
+300	0.0115878	924.942
+300	0.0124738	924.938
+300	0.0134277	924.934
+300	0.0144544	924.93
+300	0.0155597	924.925
+300	0.0167494	924.92
+300	0.0180302	924.915
+300	0.0194089	924.909
+300	0.020893	924.903
+300	0.0224905	924.896
+300	0.0242103	924.889
+300	0.0260615	924.881
+300	0.0280543	924.873
+300	0.0301995	924.864
+300	0.0325087	924.854
+300	0.0349945	924.844
+300	0.0376704	924.832
+300	0.0405509	924.82
+300	0.0436516	924.807
+300	0.0469894	924.793
+300	0.0505825	924.778
+300	0.0544503	924.762
+300	0.0586138	924.745
+300	0.0630957	924.726
+300	0.0679204	924.706
+300	0.0731139	924.684
+300	0.0787046	924.661
+300	0.0847227	924.635
+300	0.0912011	924.608
+300	0.0981748	924.579
+300	0.105682	924.548
+300	0.113763	924.514
+300	0.122462	924.477
+300	0.131826	924.438
+300	0.141906	924.396
+300	0.152757	924.351
+300	0.164437	924.302
+300	0.177011	924.249
+300	0.190546	924.193
+300	0.205116	924.132
+300	0.2208	924.066
+300	0.237684	923.995
+300	0.255859	923.919
+300	0.275423	923.838
+300	0.296483	923.749
+300	0.319154	923.655
+300	0.343558	923.553
+300	0.369828	923.443
+300	0.398107	923.325
+300	0.428549	923.198
+300	0.461318	923.061
+300	0.496592	922.914
+300	0.534564	922.755
+300	0.57544	922.584
+300	0.619441	922.401
+300	0.666807	922.203
+300	0.717794	921.991
+300	0.772681	921.762
+300	0.831764	921.516
+300	0.895365	921.251
+300	0.963829	920.966
+300	1.03753	920.659
+300	1.11686	920.329
+300	1.20226	919.975
+300	1.2942	919.593
+300	1.39316	919.182
+300	1.49968	918.74
+300	1.61436	918.265
+300	1.7378	917.753
+300	1.87068	917.203
+300	2.01372	916.612
+300	2.1677	915.976
+300	2.33346	915.292
+300	2.51189	914.557
+300	2.70396	913.766
+300	2.91072	912.916
+300	3.13329	912.003
+300	3.37287	911.02
+300	3.63078	909.965
+300	3.90841	908.831
+300	4.20727	907.613
+300	4.52898	906.304
+300	4.87529	904.898
+300	5.24808	903.388
+300	5.64937	901.766
+300	6.08135	900.026
+300	6.54636	898.157
+300	7.04693	896.152
+300	7.58578	894.001
+300	8.16582	891.694
+300	8.79023	889.22
+300	9.46237	886.568
+300	10.1859	883.725
+300	10.9648	880.68
+300	11.8032	877.418
+300	12.7057	873.926
+300	13.6773	870.189
+300	14.7231	866.191
+300	15.8489	861.916
+300	17.0608	857.346
+300	18.3654	852.465
+300	19.7697	847.252
+300	21.2814	841.69
+300	22.9087	835.757
+300	24.6604	829.433
+300	26.5461	822.697
+300	28.5759	815.526
+300	30.761	807.901
+300	33.1131	799.746
+300	35.6451	790.993
+300	38.3707	781.601
+300	41.3048	771.525
+300	44.4631	760.719
+300	47.863	749.133
+300	51.5229	736.713
+300	55.4626	723.405
+300	59.7035	709.148
+300	64.2688	693.881
+300	69.1831	677.537
+300	74.4732	660.049
+300	80.1678	641.343
+300	86.2979	621.345
+300	92.8967	599.973
+300	100	577.146
+300	107.647	552.777
+300	115.878	526.778
+300	124.738	499.054
+300	134.277	469.51
+300	144.544	438.048
+300	155.597	404.566
+300	167.494	368.96
+300	180.302	331.126
+300	194.089	290.955
+300	208.93	248.34
+300	224.905	203.171
+300	242.103	155.34
+300	260.615	104.738
+300	280.543	51.2586
+301.995	300	5.20426
+325.087	300	64.753
+349.945	300	127.486
+376.704	300	193.499
+405.509	300	262.883
+436.516	300	335.72
+469.894	300	412.089
+505.825	300	492.061
+544.503	300	575.698
+586.138	300	663.053
+630.957	300	754.172
+679.204	300	849.091
+731.139	300	947.835
+787.046	300	1050.42
+847.227	300	1156.85
+912.011	300	1267.12
+981.748	300	1381.21
+1056.82	300	1499.1
+1137.63	300	1620.75
+1224.62	300	1746.12
+1318.26	300	1875.14
+1419.06	300	2007.77
+1527.57	300	2143.92
+1644.37	300	2283.53
+1770.11	300	2426.5
+1905.46	300	2572.74
+2051.16	300	2722.16
+2208.01	300	2874.66
+2376.84	300	3030.14
+2558.59	300	3188.49
+2754.23	300	3349.6
+2964.83	300	3513.37
+3191.54	300	3679.68
+3435.58	300	3848.44
+3698.28	300	4019.52
+3981.07	300	4192.83
+4285.48	300	4368.25
+4613.18	300	4545.69
+4965.92	300	4725.04
+5345.64	300	4906.2
+5754.4	300	5089.08
+6194.41	300	5273.59
+6668.07	300	5459.63
+7177.94	300	5647.13
+7726.81	300	5835.99
+8317.64	300	6026.14
+8953.65	300	6217.5
+9638.29	300	6410.01
+10375.3	300	6603.58
+11168.6	300	6798.17
+12022.6	300	6993.69
+12942	300	7190.11
+13931.6	300	7387.35
+14996.9	300	7585.37
+16143.6	300	7784.12
+17378	300	7983.54
+18706.8	300	8183.61
+20137.2	300	8384.27
+21677	300	8585.48
+23334.6	300	8787.22
+25118.9	300	8989.44
+27039.6	300	9192.11
+29107.2	300	9395.21
+31332.8	300	9598.69
+33728.7	300	9802.55
+36307.8	300	10006.7
+39084.1	300	10210.2
+42072.7	300	10413
+45289.8	300	10615.2
+48752.9	300	10816.8
+52480.7	300	11017.8
+56493.7	300	11218.3
+60813.5	300	11418.3
+65463.6	300	11617.9
+70469.3	300	11817
+75857.8	300	12015.8
+81658.3	300	12214.2
+87902.2	300	12412.3
+94623.7	300	12610.1
+101859	300	12807.6
+109648	300	13004.9
+118032	300	13201.9
+127057	300	13398.7
+136773	300	13595.3
+147231	300	13791.8
+158489	300	13988
+170608	300	14184
+183654	300	14380
+197697	300	14575.7
+212814	300	14771.4
+229087	300	14966.9
+246604	300	15162.3
+265460	300	15357.6
+285759	300	15552.8
+307610	300	15747.9
+331131	300	15943
+356451	300	16137.9
+383707	300	16332.8
+413048	300	16527.6
+444631	300	16722.4
+478630	300	16917.1
+515229	300	17111.7
+554626	300	17306.3
+597035	300	17500.9
+642688	300	17695.4
+691831	300	17889.9
+744732	300	18084.3
+801678	300	18278.7
+862978	300	18473
+928966	300	18667.4
diff --git a/km3buu/tests/data/visible_energy_particle_frac.txt b/km3buu/tests/data/visible_energy_particle_frac.txt
new file mode 100644
index 0000000000000000000000000000000000000000..1a41911f8b4818b32b40b1fa6abf0301649d374c
--- /dev/null
+++ b/km3buu/tests/data/visible_energy_particle_frac.txt
@@ -0,0 +1,251 @@
+# Energy [GeV]	gamma (22)	e+ (-11)	e (11)	nu(e) (12)	mu (-13)	pi (111)	pi (211)	pi (-211)	K(L) (130)	K (321)	n (2112)	p (2212)	K(S) (310)	eta (221)	tau (15)	tau+ (-15)
+0.010	1.000	1.000	1.000	0.000	0.000	1.000	2.885	2.885	13.304	14.849	0.523	-1.311	20.700	1.000	0.000	0.000
+0.011	1.000	1.000	1.000	0.000	0.000	1.000	2.697	2.697	12.530	13.882	0.498	-1.210	19.462	1.000	0.000	0.000
+0.012	1.000	1.000	1.000	0.000	0.000	1.000	2.520	2.520	11.800	12.972	0.475	-1.115	18.296	1.000	0.000	0.000
+0.012	1.000	1.000	1.000	0.000	0.000	1.000	2.354	2.354	11.113	12.118	0.454	-1.025	17.199	1.000	0.000	0.000
+0.013	1.000	1.000	1.000	0.000	0.000	1.000	2.198	2.198	10.467	11.315	0.433	-0.941	16.167	1.000	0.000	0.000
+0.014	1.000	1.000	1.000	0.000	0.000	1.000	2.052	2.052	9.858	10.562	0.414	-0.863	15.198	1.000	0.000	0.000
+0.016	1.000	1.000	1.000	0.000	0.000	1.000	1.915	1.915	9.286	9.856	0.396	-0.790	14.286	1.000	0.000	0.000
+0.017	1.000	1.000	1.000	0.000	0.000	1.000	1.786	1.786	8.748	9.195	0.378	-0.721	13.431	1.000	0.000	0.000
+0.018	1.000	1.000	1.000	0.000	0.000	1.000	1.666	1.666	8.243	8.575	0.362	-0.657	12.628	1.000	0.000	0.000
+0.019	1.000	1.000	1.000	0.000	0.000	1.000	1.553	1.553	7.769	7.995	0.347	-0.598	11.875	1.000	0.000	0.000
+0.021	1.000	1.000	1.000	0.000	0.000	1.000	1.448	1.448	7.324	7.453	0.333	-0.542	11.169	1.000	0.000	0.000
+0.022	1.000	1.000	1.000	0.000	0.000	1.000	1.349	1.349	6.906	6.945	0.319	-0.490	10.507	1.000	0.000	0.000
+0.024	1.000	1.000	1.000	0.000	0.000	1.000	1.257	1.257	6.513	6.471	0.307	-0.442	9.887	1.000	0.000	0.000
+0.026	1.000	1.000	1.000	0.000	0.000	1.000	1.171	1.171	6.145	6.028	0.295	-0.398	9.305	1.000	0.000	0.000
+0.028	1.000	1.000	1.000	0.000	0.000	1.000	1.091	1.091	5.800	5.614	0.283	-0.357	8.761	1.000	0.000	0.000
+0.030	1.000	1.000	1.000	0.000	0.000	1.000	1.016	1.016	5.476	5.228	0.273	-0.318	8.251	1.000	0.000	0.000
+0.033	1.000	1.000	1.000	0.000	0.000	1.000	0.946	0.946	5.173	4.867	0.263	-0.283	7.774	1.000	0.000	0.000
+0.035	1.000	1.000	1.000	0.000	0.000	1.000	0.880	0.880	4.888	4.531	0.253	-0.251	7.327	1.000	0.000	0.000
+0.038	1.000	1.000	1.000	0.000	0.000	1.000	0.819	0.819	4.621	4.217	0.244	-0.221	6.908	1.000	0.000	0.000
+0.041	1.000	1.000	1.000	0.000	0.000	1.000	0.762	0.762	4.370	3.925	0.235	-0.193	6.516	1.000	0.000	0.000
+0.044	1.000	1.000	1.000	0.000	0.000	1.000	0.709	0.709	4.135	3.652	0.227	-0.168	6.150	1.000	0.000	0.000
+0.047	1.000	1.000	1.000	0.000	0.000	1.000	0.660	0.660	3.915	3.398	0.219	-0.145	5.806	1.000	0.000	0.000
+0.051	1.000	1.000	1.000	0.000	0.000	1.000	0.614	0.614	3.708	3.161	0.211	-0.124	5.485	1.000	0.000	0.000
+0.054	1.000	1.000	1.000	0.000	0.000	1.000	0.571	0.571	3.514	2.941	0.204	-0.106	5.185	1.000	0.000	0.000
+0.059	1.000	1.000	1.000	0.000	0.000	1.000	0.531	0.531	3.332	2.735	0.197	-0.088	4.903	1.000	0.000	0.000
+0.063	1.000	1.000	1.000	0.000	0.000	1.000	0.512	0.512	3.161	2.544	0.190	-0.073	4.640	1.000	0.000	0.000
+0.068	1.000	1.000	1.000	0.000	0.000	1.000	0.512	0.512	3.000	2.366	0.184	-0.059	4.393	1.000	0.000	0.000
+0.073	1.000	1.000	1.000	0.000	0.000	1.000	0.513	0.513	2.849	2.200	0.177	-0.047	4.162	1.000	0.000	0.000
+0.079	1.000	1.000	1.000	0.000	0.000	1.000	0.513	0.513	2.708	2.045	0.171	-0.037	3.946	1.000	0.000	0.000
+0.085	1.000	1.000	1.000	0.000	0.000	1.000	0.514	0.514	2.574	1.902	0.165	-0.027	3.743	1.000	0.000	0.000
+0.091	1.000	1.000	1.000	0.000	0.000	1.000	0.514	0.514	2.449	1.768	0.159	-0.019	3.553	1.000	0.000	0.000
+0.098	1.000	1.000	1.000	0.000	0.000	1.000	0.514	0.514	2.332	1.644	0.153	-0.012	3.376	1.000	0.000	0.000
+0.106	1.000	1.000	1.000	0.000	0.000	1.000	0.515	0.515	2.221	1.528	0.148	-0.007	3.209	1.000	0.000	0.000
+0.114	1.000	1.000	1.000	0.000	0.000	1.000	0.515	0.515	2.117	1.420	0.142	-0.002	3.053	1.000	0.000	0.000
+0.122	1.000	1.000	1.000	0.000	0.000	1.000	0.515	0.515	2.019	1.320	0.137	0.002	2.907	1.000	0.000	0.000
+0.132	1.000	1.000	1.000	0.000	0.000	1.000	0.516	0.516	1.927	1.227	0.131	0.005	2.770	1.000	0.000	0.000
+0.142	1.000	1.000	1.000	0.000	0.000	1.000	0.516	0.516	1.840	1.141	0.126	0.007	2.642	1.000	0.000	0.000
+0.153	1.000	1.000	1.000	0.000	0.000	1.000	0.545	0.545	1.758	1.060	0.121	0.009	2.521	1.000	0.000	0.000
+0.164	1.000	1.000	1.000	0.000	0.000	1.000	0.558	0.558	1.680	0.985	0.116	0.010	2.408	1.000	0.000	0.000
+0.177	1.000	1.000	1.000	0.000	0.000	1.000	0.577	0.577	1.608	0.916	0.111	0.010	2.303	1.000	0.000	0.000
+0.191	1.000	1.000	1.000	0.000	0.000	1.000	0.597	0.597	1.539	0.851	0.106	0.011	2.203	1.000	0.000	0.000
+0.205	1.000	1.000	1.000	0.000	0.000	1.000	0.619	0.619	1.474	0.791	0.102	0.011	2.110	1.000	0.000	0.000
+0.221	1.000	1.000	1.000	0.000	0.000	1.000	0.641	0.641	1.413	0.735	0.098	0.011	2.023	1.000	0.000	0.000
+0.238	1.000	1.000	1.000	0.000	0.000	1.000	0.662	0.662	1.355	0.683	0.094	0.011	1.941	1.000	0.000	0.000
+0.256	1.000	1.000	1.000	0.000	0.000	1.000	0.682	0.682	1.301	0.635	0.091	0.011	1.865	1.000	0.000	0.000
+0.275	1.000	1.000	1.000	0.000	0.000	1.000	0.699	0.699	1.250	0.680	0.088	0.012	1.793	1.000	0.000	0.000
+0.296	1.000	1.000	1.000	0.000	0.000	1.000	0.714	0.714	1.201	0.685	0.086	0.013	1.725	1.000	0.000	0.000
+0.319	1.000	1.000	1.000	0.000	0.000	1.000	0.727	0.727	1.155	0.689	0.085	0.015	1.662	1.000	0.000	0.000
+0.344	1.000	1.000	1.000	0.000	0.000	1.000	0.738	0.738	1.112	0.693	0.085	0.018	1.603	1.000	0.000	0.000
+0.370	1.000	1.000	1.000	0.000	0.000	1.000	0.746	0.746	1.072	0.697	0.086	0.022	1.547	1.000	0.000	0.000
+0.398	1.000	1.000	1.000	0.000	0.000	1.000	0.752	0.752	1.033	0.700	0.089	0.027	1.495	1.000	0.000	0.000
+0.429	1.000	1.000	1.000	0.000	0.000	1.000	0.756	0.756	0.997	0.703	0.093	0.033	1.446	1.000	0.000	0.000
+0.461	1.000	1.000	1.000	0.000	0.000	1.000	0.759	0.759	0.963	0.705	0.100	0.041	1.400	1.000	0.000	0.000
+0.497	1.000	1.000	1.000	0.000	0.000	1.000	0.760	0.760	0.931	0.708	0.110	0.050	1.357	1.000	0.000	0.000
+0.535	1.000	1.000	1.000	0.000	0.000	1.000	0.760	0.760	0.901	0.710	0.099	0.061	1.317	1.000	0.000	0.000
+0.575	1.000	1.000	1.000	0.000	0.000	1.000	0.758	0.758	0.873	0.711	0.123	0.074	1.280	1.000	0.000	0.000
+0.619	1.000	1.000	1.000	0.000	0.000	1.000	0.756	0.756	0.846	0.713	0.146	0.088	1.244	1.000	0.000	0.000
+0.667	1.000	1.000	1.000	0.000	0.000	1.000	0.752	0.752	0.822	0.714	0.167	0.104	1.211	1.000	0.000	0.000
+0.718	1.000	1.000	1.000	0.000	0.000	1.000	0.748	0.748	0.799	0.714	0.187	0.122	1.180	1.000	0.000	0.000
+0.773	1.000	1.000	1.000	0.000	0.000	1.000	0.744	0.744	0.777	0.715	0.205	0.141	1.151	1.000	0.000	0.000
+0.832	1.000	1.000	1.000	0.000	0.000	1.000	0.740	0.740	0.758	0.715	0.222	0.161	1.124	1.000	0.000	0.000
+0.895	1.000	1.000	1.000	0.000	0.000	1.000	0.735	0.735	0.739	0.716	0.238	0.182	1.099	1.000	0.000	0.000
+0.964	1.000	1.000	1.000	0.000	0.000	1.000	0.730	0.730	0.723	0.715	0.253	0.204	1.075	1.000	0.000	0.000
+1.038	1.000	1.000	1.000	0.000	0.000	1.000	0.725	0.725	0.708	0.715	0.267	0.226	1.053	1.000	0.000	0.000
+1.117	1.000	1.000	1.000	0.000	0.000	1.000	0.720	0.720	0.694	0.715	0.280	0.249	1.033	1.000	0.000	0.000
+1.202	1.000	1.000	1.000	0.000	0.000	1.000	0.716	0.716	0.682	0.714	0.293	0.271	1.013	1.000	0.000	0.000
+1.294	1.000	1.000	1.000	0.000	0.000	1.000	0.712	0.712	0.671	0.713	0.305	0.292	0.995	1.000	0.000	0.000
+1.393	1.000	1.000	1.000	0.000	0.000	1.000	0.707	0.707	0.662	0.712	0.317	0.312	0.978	1.000	0.000	0.000
+1.500	1.000	1.000	1.000	0.000	0.000	1.000	0.704	0.704	0.654	0.711	0.328	0.331	0.963	1.000	0.000	0.000
+1.614	1.000	1.000	1.000	0.000	0.000	1.000	0.700	0.700	0.638	0.710	0.339	0.348	0.948	1.000	0.000	0.000
+1.738	1.000	1.000	1.000	0.000	0.000	1.000	0.697	0.697	0.640	0.708	0.351	0.364	0.934	1.000	0.000	0.000
+1.871	1.000	1.000	1.000	0.000	0.000	1.000	0.695	0.695	0.643	0.707	0.362	0.377	0.921	1.000	0.000	0.000
+2.014	1.000	1.000	1.000	0.000	0.000	1.000	0.692	0.692	0.646	0.705	0.373	0.390	0.909	1.000	0.000	0.000
+2.168	1.000	1.000	1.000	0.000	0.000	1.000	0.690	0.690	0.648	0.703	0.384	0.401	0.898	1.000	0.000	0.000
+2.333	1.000	1.000	1.000	0.000	0.000	1.000	0.689	0.689	0.651	0.701	0.394	0.410	0.888	1.000	0.000	0.000
+2.512	1.000	1.000	1.000	0.000	0.000	1.000	0.687	0.687	0.653	0.700	0.405	0.419	0.878	1.000	0.000	0.000
+2.704	1.000	1.000	1.000	0.000	0.000	1.000	0.686	0.686	0.656	0.698	0.416	0.428	0.869	1.000	0.000	0.000
+2.911	1.000	1.000	1.000	0.000	0.000	1.000	0.686	0.686	0.658	0.696	0.427	0.437	0.861	1.000	0.000	0.000
+3.133	1.000	1.000	1.000	0.000	0.000	1.000	0.686	0.686	0.661	0.694	0.438	0.446	0.853	1.000	0.000	0.000
+3.373	1.000	1.000	1.000	0.000	0.000	1.000	0.686	0.686	0.663	0.692	0.449	0.455	0.846	1.000	0.000	0.000
+3.631	1.000	1.000	1.000	0.000	0.000	1.000	0.686	0.686	0.665	0.690	0.460	0.465	0.839	1.000	0.000	0.000
+3.908	1.000	1.000	1.000	0.000	0.000	1.000	0.686	0.686	0.668	0.689	0.471	0.476	0.832	1.000	0.000	0.000
+4.207	1.000	1.000	1.000	0.000	0.000	1.000	0.687	0.687	0.670	0.687	0.481	0.488	0.826	1.000	0.000	0.000
+4.529	1.000	1.000	1.000	0.000	0.000	1.000	0.688	0.688	0.672	0.686	0.492	0.500	0.821	1.000	0.000	0.000
+4.875	1.000	1.000	1.000	0.000	0.000	1.000	0.689	0.689	0.674	0.685	0.502	0.512	0.816	1.000	0.000	0.000
+5.248	1.000	1.000	1.000	0.000	0.000	1.000	0.691	0.691	0.677	0.684	0.512	0.524	0.811	1.000	0.000	0.000
+5.649	1.000	1.000	1.000	0.000	0.000	1.000	0.692	0.692	0.679	0.683	0.522	0.536	0.807	1.000	0.000	0.000
+6.081	1.000	1.000	1.000	0.000	0.000	1.000	0.694	0.694	0.681	0.683	0.532	0.548	0.803	1.000	0.000	0.000
+6.546	1.000	1.000	1.000	0.000	0.000	1.000	0.696	0.696	0.683	0.683	0.541	0.559	0.799	1.000	0.000	0.000
+7.047	1.000	1.000	1.000	0.000	0.000	1.000	0.698	0.698	0.685	0.683	0.551	0.569	0.795	1.000	0.000	0.000
+7.586	1.000	1.000	1.000	0.000	0.000	1.000	0.700	0.700	0.687	0.684	0.560	0.579	0.792	1.000	0.000	0.000
+8.166	1.000	1.000	1.000	0.000	0.000	1.000	0.702	0.702	0.689	0.684	0.568	0.589	0.789	1.000	0.000	0.000
+8.790	1.000	1.000	1.000	0.000	0.000	1.000	0.704	0.704	0.691	0.686	0.577	0.598	0.787	1.000	0.000	0.000
+9.462	1.000	1.000	1.000	0.000	0.000	1.000	0.707	0.707	0.693	0.687	0.585	0.606	0.784	1.000	0.000	0.000
+10.186	1.000	1.000	1.000	0.000	0.000	1.000	0.709	0.709	0.695	0.689	0.593	0.614	0.782	1.000	0.000	0.000
+10.965	1.000	1.000	1.000	0.000	0.000	1.000	0.712	0.712	0.697	0.691	0.601	0.621	0.780	1.000	0.000	0.000
+11.803	1.000	1.000	1.000	0.000	0.000	1.000	0.714	0.714	0.699	0.694	0.609	0.628	0.778	1.000	0.000	0.000
+12.706	1.000	1.000	1.000	0.000	0.000	1.000	0.717	0.717	0.701	0.696	0.616	0.634	0.776	1.000	0.000	0.000
+13.677	1.000	1.000	1.000	0.000	0.000	1.000	0.719	0.719	0.703	0.699	0.623	0.640	0.775	1.000	0.000	0.000
+14.723	1.000	1.000	1.000	0.000	0.000	1.000	0.722	0.722	0.706	0.702	0.630	0.646	0.774	1.000	0.000	0.000
+15.849	1.000	1.000	1.000	0.000	0.000	1.000	0.725	0.725	0.708	0.705	0.637	0.651	0.773	1.000	0.000	0.000
+17.061	1.000	1.000	1.000	0.000	0.000	1.000	0.728	0.728	0.710	0.709	0.643	0.657	0.772	1.000	0.000	0.000
+18.365	1.000	1.000	1.000	0.000	0.000	1.000	0.731	0.731	0.713	0.712	0.649	0.661	0.772	1.000	0.000	0.000
+19.770	1.000	1.000	1.000	0.000	0.000	1.000	0.734	0.734	0.715	0.715	0.656	0.666	0.771	1.000	0.000	0.000
+21.281	1.000	1.000	1.000	0.000	0.000	1.000	0.737	0.737	0.718	0.719	0.662	0.671	0.771	1.000	0.000	0.000
+22.909	1.000	1.000	1.000	0.000	0.000	1.000	0.740	0.740	0.720	0.722	0.667	0.675	0.771	1.000	0.000	0.000
+24.660	1.000	1.000	1.000	0.000	0.000	1.000	0.743	0.743	0.723	0.726	0.673	0.679	0.771	1.000	0.000	0.000
+26.546	1.000	1.000	1.000	0.000	0.000	1.000	0.746	0.746	0.726	0.729	0.679	0.684	0.772	1.000	0.000	0.000
+28.576	1.000	1.000	1.000	0.000	0.000	1.000	0.749	0.749	0.728	0.733	0.684	0.688	0.772	1.000	0.000	0.000
+30.761	1.000	1.000	1.000	0.000	0.000	1.000	0.753	0.753	0.731	0.736	0.689	0.692	0.773	1.000	0.000	0.000
+33.113	1.000	1.000	1.000	0.000	0.000	1.000	0.756	0.756	0.735	0.740	0.695	0.696	0.774	1.000	0.000	0.000
+35.645	1.000	1.000	1.000	0.000	0.000	1.000	0.760	0.760	0.738	0.743	0.700	0.699	0.775	1.000	0.000	0.000
+38.371	1.000	1.000	1.000	0.000	0.000	1.000	0.763	0.763	0.741	0.747	0.705	0.703	0.777	1.000	0.000	0.000
+41.305	1.000	1.000	1.000	0.004	0.004	1.000	0.768	0.768	0.745	0.751	0.710	0.708	0.780	1.000	0.004	0.004
+44.463	1.000	1.000	1.000	0.014	0.014	1.000	0.773	0.773	0.750	0.756	0.716	0.713	0.785	1.000	0.014	0.014
+47.863	1.000	1.000	1.000	0.023	0.023	1.000	0.778	0.778	0.756	0.761	0.721	0.719	0.790	1.000	0.023	0.023
+51.523	1.000	1.000	1.000	0.033	0.033	1.000	0.783	0.783	0.761	0.766	0.726	0.724	0.794	1.000	0.033	0.033
+55.463	1.000	1.000	1.000	0.042	0.042	1.000	0.788	0.788	0.766	0.771	0.731	0.729	0.799	1.000	0.042	0.042
+59.704	1.000	1.000	1.000	0.051	0.051	1.000	0.792	0.792	0.770	0.776	0.736	0.734	0.804	1.000	0.051	0.051
+64.269	1.000	1.000	1.000	0.061	0.061	1.000	0.797	0.797	0.775	0.781	0.741	0.739	0.809	1.000	0.061	0.061
+69.183	1.000	1.000	1.000	0.070	0.070	1.000	0.802	0.802	0.780	0.786	0.746	0.744	0.813	1.000	0.070	0.070
+74.473	1.000	1.000	1.000	0.079	0.079	1.000	0.806	0.806	0.785	0.790	0.751	0.749	0.817	1.000	0.079	0.079
+80.168	1.000	1.000	1.000	0.088	0.088	1.000	0.810	0.810	0.789	0.795	0.756	0.754	0.822	1.000	0.088	0.088
+86.298	1.000	1.000	1.000	0.096	0.096	1.000	0.815	0.815	0.793	0.799	0.760	0.758	0.826	1.000	0.096	0.096
+92.897	1.000	1.000	1.000	0.105	0.105	1.000	0.819	0.819	0.798	0.803	0.765	0.763	0.830	1.000	0.105	0.105
+100.000	1.000	1.000	1.000	0.114	0.114	1.000	0.823	0.823	0.802	0.807	0.769	0.767	0.834	1.000	0.114	0.114
+107.647	1.000	1.000	1.000	0.122	0.122	1.000	0.827	0.827	0.806	0.811	0.774	0.771	0.838	1.000	0.122	0.122
+115.878	1.000	1.000	1.000	0.130	0.130	1.000	0.830	0.830	0.810	0.815	0.778	0.776	0.841	1.000	0.130	0.130
+124.738	1.000	1.000	1.000	0.139	0.139	1.000	0.834	0.834	0.814	0.819	0.782	0.780	0.845	1.000	0.139	0.139
+134.277	1.000	1.000	1.000	0.147	0.147	1.000	0.838	0.838	0.817	0.823	0.786	0.784	0.849	1.000	0.147	0.147
+144.544	1.000	1.000	1.000	0.155	0.155	1.000	0.841	0.841	0.821	0.826	0.789	0.787	0.852	1.000	0.155	0.155
+155.597	1.000	1.000	1.000	0.163	0.163	1.000	0.845	0.845	0.824	0.830	0.793	0.791	0.855	1.000	0.163	0.163
+167.494	1.000	1.000	1.000	0.170	0.170	1.000	0.848	0.848	0.828	0.833	0.797	0.795	0.858	1.000	0.170	0.170
+180.302	1.000	1.000	1.000	0.178	0.178	1.000	0.851	0.851	0.831	0.836	0.800	0.798	0.861	1.000	0.178	0.178
+194.089	1.000	1.000	1.000	0.186	0.186	1.000	0.854	0.854	0.834	0.839	0.804	0.802	0.864	1.000	0.186	0.186
+208.930	1.000	1.000	1.000	0.193	0.193	1.000	0.857	0.857	0.837	0.843	0.807	0.805	0.867	1.000	0.193	0.193
+224.905	1.000	1.000	1.000	0.201	0.201	1.000	0.860	0.860	0.840	0.846	0.810	0.808	0.870	1.000	0.201	0.201
+242.103	1.000	1.000	1.000	0.208	0.208	1.000	0.863	0.863	0.843	0.848	0.813	0.811	0.873	1.000	0.208	0.208
+260.615	1.000	1.000	1.000	0.215	0.215	1.000	0.865	0.865	0.846	0.851	0.816	0.814	0.875	1.000	0.215	0.215
+280.543	1.000	1.000	1.000	0.222	0.222	1.000	0.868	0.868	0.849	0.854	0.819	0.817	0.878	1.000	0.222	0.222
+301.995	1.000	1.000	1.000	0.229	0.229	1.000	0.870	0.870	0.851	0.856	0.822	0.820	0.880	1.000	0.229	0.229
+325.087	1.000	1.000	1.000	0.236	0.236	1.000	0.873	0.873	0.854	0.859	0.825	0.823	0.883	1.000	0.236	0.236
+349.945	1.000	1.000	1.000	0.243	0.243	1.000	0.875	0.875	0.857	0.861	0.828	0.826	0.885	1.000	0.243	0.243
+376.704	1.000	1.000	1.000	0.250	0.250	1.000	0.877	0.877	0.859	0.864	0.830	0.828	0.887	1.000	0.250	0.250
+405.509	1.000	1.000	1.000	0.257	0.257	1.000	0.880	0.880	0.861	0.866	0.833	0.831	0.889	1.000	0.257	0.257
+436.516	1.000	1.000	1.000	0.264	0.264	1.000	0.882	0.882	0.864	0.868	0.835	0.833	0.892	1.000	0.264	0.264
+469.894	1.000	1.000	1.000	0.270	0.270	1.000	0.884	0.884	0.866	0.871	0.838	0.836	0.894	1.000	0.270	0.270
+505.825	1.000	1.000	1.000	0.277	0.277	1.000	0.886	0.886	0.868	0.873	0.840	0.838	0.895	1.000	0.277	0.277
+544.503	1.000	1.000	1.000	0.283	0.283	1.000	0.888	0.888	0.870	0.875	0.842	0.840	0.897	1.000	0.283	0.283
+586.138	1.000	1.000	1.000	0.290	0.290	1.000	0.890	0.890	0.872	0.877	0.844	0.843	0.899	1.000	0.290	0.290
+630.957	1.000	1.000	1.000	0.296	0.296	1.000	0.892	0.892	0.874	0.879	0.847	0.845	0.901	1.000	0.296	0.296
+679.204	1.000	1.000	1.000	0.302	0.302	1.000	0.893	0.893	0.876	0.881	0.849	0.847	0.903	1.000	0.302	0.302
+731.139	1.000	1.000	1.000	0.309	0.309	1.000	0.895	0.895	0.878	0.882	0.851	0.849	0.904	1.000	0.309	0.309
+787.046	1.000	1.000	1.000	0.315	0.315	1.000	0.897	0.897	0.880	0.884	0.853	0.851	0.906	1.000	0.315	0.315
+847.227	1.000	1.000	1.000	0.321	0.321	1.000	0.898	0.898	0.881	0.886	0.855	0.853	0.907	1.000	0.321	0.321
+912.011	1.000	1.000	1.000	0.327	0.327	1.000	0.900	0.900	0.883	0.888	0.857	0.855	0.909	1.000	0.327	0.327
+981.748	1.000	1.000	1.000	0.333	0.333	1.000	0.902	0.902	0.885	0.889	0.859	0.857	0.910	1.000	0.333	0.333
+1056.817	1.000	1.000	1.000	0.339	0.339	1.000	0.903	0.903	0.886	0.891	0.861	0.859	0.912	1.000	0.339	0.339
+1137.627	1.000	1.000	1.000	0.345	0.345	1.000	0.904	0.904	0.888	0.892	0.862	0.861	0.913	1.000	0.345	0.345
+1224.616	1.000	1.000	1.000	0.351	0.351	1.000	0.906	0.906	0.890	0.894	0.864	0.862	0.915	1.000	0.351	0.351
+1318.256	1.000	1.000	1.000	0.357	0.357	1.000	0.907	0.907	0.891	0.895	0.866	0.864	0.916	1.000	0.357	0.357
+1419.057	1.000	1.000	1.000	0.363	0.363	1.000	0.909	0.909	0.893	0.897	0.868	0.866	0.917	1.000	0.363	0.363
+1527.566	1.000	1.000	1.000	0.369	0.369	1.000	0.910	0.910	0.894	0.898	0.869	0.868	0.918	1.000	0.369	0.369
+1644.372	1.000	1.000	1.000	0.375	0.375	1.000	0.911	0.911	0.895	0.900	0.871	0.869	0.920	1.000	0.375	0.375
+1770.109	1.000	1.000	1.000	0.380	0.380	1.000	0.912	0.912	0.897	0.901	0.872	0.871	0.921	1.000	0.380	0.380
+1905.461	1.000	1.000	1.000	0.386	0.386	1.000	0.914	0.914	0.898	0.902	0.874	0.872	0.922	1.000	0.386	0.386
+2051.162	1.000	1.000	1.000	0.392	0.392	1.000	0.915	0.915	0.899	0.904	0.875	0.874	0.923	1.000	0.392	0.392
+2208.005	1.000	1.000	1.000	0.398	0.398	1.000	0.916	0.916	0.901	0.905	0.877	0.875	0.924	1.000	0.398	0.398
+2376.840	1.000	1.000	1.000	0.403	0.403	1.000	0.917	0.917	0.902	0.906	0.878	0.877	0.925	1.000	0.403	0.403
+2558.586	1.000	1.000	1.000	0.409	0.409	1.000	0.918	0.918	0.903	0.907	0.880	0.878	0.926	1.000	0.409	0.409
+2754.229	1.000	1.000	1.000	0.414	0.414	1.000	0.919	0.919	0.904	0.908	0.881	0.880	0.927	1.000	0.414	0.414
+2964.831	1.000	1.000	1.000	0.420	0.420	1.000	0.920	0.920	0.906	0.909	0.883	0.881	0.928	1.000	0.420	0.420
+3191.538	1.000	1.000	1.000	0.426	0.426	1.000	0.921	0.921	0.907	0.911	0.884	0.883	0.929	1.000	0.426	0.426
+3435.580	1.000	1.000	1.000	0.431	0.431	1.000	0.922	0.922	0.908	0.912	0.885	0.884	0.930	1.000	0.431	0.431
+3698.282	1.000	1.000	1.000	0.437	0.437	1.000	0.923	0.923	0.909	0.913	0.887	0.885	0.931	1.000	0.437	0.437
+3981.071	1.000	1.000	1.000	0.442	0.442	1.000	0.924	0.924	0.910	0.914	0.888	0.887	0.932	1.000	0.442	0.442
+4285.485	1.000	1.000	1.000	0.448	0.448	1.000	0.925	0.925	0.911	0.915	0.889	0.888	0.933	1.000	0.448	0.448
+4613.176	1.000	1.000	1.000	0.453	0.453	1.000	0.926	0.926	0.912	0.916	0.890	0.889	0.934	1.000	0.453	0.453
+4965.924	1.000	1.000	1.000	0.458	0.458	1.000	0.927	0.927	0.913	0.917	0.892	0.890	0.934	1.000	0.458	0.458
+5345.643	1.000	1.000	1.000	0.464	0.464	1.000	0.928	0.928	0.914	0.918	0.893	0.892	0.935	1.000	0.464	0.464
+5754.399	1.000	1.000	1.000	0.469	0.469	1.000	0.929	0.929	0.915	0.919	0.894	0.893	0.936	1.000	0.469	0.469
+6194.412	1.000	1.000	1.000	0.475	0.475	1.000	0.930	0.930	0.916	0.920	0.895	0.894	0.937	1.000	0.475	0.475
+6668.066	1.000	1.000	1.000	0.480	0.480	1.000	0.930	0.930	0.917	0.921	0.896	0.895	0.937	1.000	0.480	0.480
+7177.942	1.000	1.000	1.000	0.485	0.485	1.000	0.931	0.931	0.918	0.922	0.898	0.896	0.938	1.000	0.485	0.485
+7726.806	1.000	1.000	1.000	0.491	0.491	1.000	0.932	0.932	0.919	0.922	0.899	0.897	0.939	1.000	0.491	0.491
+8317.640	1.000	1.000	1.000	0.496	0.496	1.000	0.933	0.933	0.920	0.923	0.900	0.899	0.940	1.000	0.496	0.496
+8953.646	1.000	1.000	1.000	0.501	0.501	1.000	0.934	0.934	0.921	0.924	0.901	0.900	0.940	1.000	0.501	0.501
+9638.289	1.000	1.000	1.000	0.507	0.507	1.000	0.934	0.934	0.922	0.925	0.902	0.901	0.941	1.000	0.507	0.507
+10375.279	1.000	1.000	1.000	0.512	0.512	1.000	0.935	0.935	0.923	0.926	0.903	0.902	0.942	1.000	0.512	0.512
+11168.629	1.000	1.000	1.000	0.517	0.517	1.000	0.936	0.936	0.923	0.927	0.904	0.903	0.942	1.000	0.517	0.517
+12022.643	1.000	1.000	1.000	0.522	0.522	1.000	0.936	0.936	0.924	0.927	0.905	0.904	0.943	1.000	0.522	0.522
+12941.958	1.000	1.000	1.000	0.528	0.528	1.000	0.937	0.937	0.925	0.928	0.906	0.905	0.944	1.000	0.528	0.528
+13931.569	1.000	1.000	1.000	0.533	0.533	1.000	0.938	0.938	0.926	0.929	0.907	0.906	0.944	1.000	0.533	0.533
+14996.853	1.000	1.000	1.000	0.538	0.538	1.000	0.938	0.938	0.927	0.930	0.908	0.907	0.945	1.000	0.538	0.538
+16143.593	1.000	1.000	1.000	0.543	0.543	1.000	0.939	0.939	0.927	0.930	0.909	0.908	0.945	1.000	0.543	0.543
+17378.000	1.000	1.000	1.000	0.548	0.548	1.000	0.940	0.940	0.928	0.931	0.910	0.909	0.946	1.000	0.548	0.548
+18706.814	1.000	1.000	1.000	0.553	0.553	1.000	0.940	0.940	0.929	0.932	0.911	0.910	0.946	1.000	0.553	0.553
+20137.238	1.000	1.000	1.000	0.559	0.559	1.000	0.941	0.941	0.930	0.933	0.912	0.911	0.947	1.000	0.559	0.559
+21677.039	1.000	1.000	1.000	0.564	0.564	1.000	0.942	0.942	0.930	0.933	0.913	0.912	0.948	1.000	0.564	0.564
+23334.582	1.000	1.000	1.000	0.569	0.569	1.000	0.942	0.942	0.931	0.934	0.914	0.913	0.948	1.000	0.569	0.569
+25118.869	1.000	1.000	1.000	0.574	0.574	1.000	0.943	0.943	0.932	0.935	0.915	0.914	0.949	1.000	0.574	0.574
+27039.594	1.000	1.000	1.000	0.579	0.579	1.000	0.943	0.943	0.933	0.935	0.916	0.915	0.949	1.000	0.579	0.579
+29107.186	1.000	1.000	1.000	0.584	0.584	1.000	0.944	0.944	0.933	0.936	0.917	0.916	0.950	1.000	0.584	0.584
+31332.844	1.000	1.000	1.000	0.589	0.589	1.000	0.944	0.944	0.934	0.937	0.918	0.917	0.950	1.000	0.589	0.589
+33728.723	1.000	1.000	1.000	0.594	0.594	1.000	0.945	0.945	0.935	0.937	0.919	0.918	0.951	1.000	0.594	0.594
+36307.801	1.000	1.000	1.000	0.600	0.600	1.000	0.946	0.946	0.935	0.938	0.919	0.918	0.951	1.000	0.600	0.600
+39084.090	1.000	1.000	1.000	0.605	0.605	1.000	0.946	0.946	0.936	0.939	0.920	0.919	0.951	1.000	0.605	0.605
+42072.668	1.000	1.000	1.000	0.610	0.610	1.000	0.947	0.947	0.937	0.939	0.921	0.920	0.952	1.000	0.610	0.610
+45289.773	1.000	1.000	1.000	0.615	0.615	1.000	0.947	0.947	0.937	0.940	0.922	0.921	0.952	1.000	0.615	0.615
+48752.871	1.000	1.000	1.000	0.620	0.620	1.000	0.948	0.948	0.938	0.941	0.923	0.922	0.953	1.000	0.620	0.620
+52480.719	1.000	1.000	1.000	0.625	0.625	1.000	0.948	0.948	0.939	0.941	0.924	0.923	0.953	1.000	0.625	0.625
+56493.680	1.000	1.000	1.000	0.630	0.630	1.000	0.949	0.949	0.939	0.942	0.925	0.924	0.954	1.000	0.630	0.630
+60813.488	1.000	1.000	1.000	0.635	0.635	1.000	0.949	0.949	0.940	0.942	0.925	0.925	0.954	1.000	0.635	0.635
+65463.613	1.000	1.000	1.000	0.640	0.640	1.000	0.950	0.950	0.941	0.943	0.926	0.925	0.955	1.000	0.640	0.640
+70469.312	1.000	1.000	1.000	0.645	0.645	1.000	0.950	0.950	0.941	0.944	0.927	0.926	0.955	1.000	0.645	0.645
+75857.781	1.000	1.000	1.000	0.650	0.650	1.000	0.951	0.951	0.942	0.944	0.928	0.927	0.955	1.000	0.650	0.650
+81658.273	1.000	1.000	1.000	0.655	0.655	1.000	0.951	0.951	0.942	0.945	0.929	0.928	0.956	1.000	0.655	0.655
+87902.203	1.000	1.000	1.000	0.660	0.660	1.000	0.952	0.952	0.943	0.945	0.930	0.929	0.956	1.000	0.660	0.660
+94623.680	1.000	1.000	1.000	0.665	0.665	1.000	0.952	0.952	0.944	0.946	0.930	0.930	0.957	1.000	0.665	0.665
+101859.117	1.000	1.000	1.000	0.670	0.670	1.000	0.952	0.952	0.944	0.946	0.931	0.930	0.957	1.000	0.670	0.670
+109647.812	1.000	1.000	1.000	0.675	0.675	1.000	0.953	0.953	0.945	0.947	0.932	0.931	0.957	1.000	0.675	0.675
+118032.070	1.000	1.000	1.000	0.680	0.680	1.000	0.953	0.953	0.945	0.947	0.933	0.932	0.958	1.000	0.680	0.680
+127057.438	1.000	1.000	1.000	0.685	0.685	1.000	0.954	0.954	0.946	0.948	0.933	0.933	0.958	1.000	0.685	0.685
+136772.938	1.000	1.000	1.000	0.690	0.690	1.000	0.954	0.954	0.946	0.948	0.934	0.933	0.958	1.000	0.690	0.690
+147231.328	1.000	1.000	1.000	0.695	0.695	1.000	0.955	0.955	0.947	0.949	0.935	0.934	0.959	1.000	0.695	0.695
+158489.250	1.000	1.000	1.000	0.700	0.700	1.000	0.955	0.955	0.948	0.949	0.936	0.935	0.959	1.000	0.700	0.700
+170608.188	1.000	1.000	1.000	0.705	0.705	1.000	0.955	0.955	0.948	0.950	0.937	0.936	0.959	1.000	0.705	0.705
+183653.812	1.000	1.000	1.000	0.710	0.710	1.000	0.956	0.956	0.949	0.951	0.937	0.937	0.960	1.000	0.710	0.710
+197696.969	1.000	1.000	1.000	0.715	0.715	1.000	0.956	0.956	0.949	0.951	0.938	0.937	0.960	1.000	0.715	0.715
+212813.938	1.000	1.000	1.000	0.720	0.720	1.000	0.957	0.957	0.950	0.952	0.939	0.938	0.960	1.000	0.720	0.720
+229086.828	1.000	1.000	1.000	0.724	0.724	1.000	0.957	0.957	0.950	0.952	0.940	0.939	0.961	1.000	0.724	0.724
+246604.047	1.000	1.000	1.000	0.729	0.729	1.000	0.957	0.957	0.951	0.952	0.940	0.940	0.961	1.000	0.729	0.729
+265460.438	1.000	1.000	1.000	0.734	0.734	1.000	0.958	0.958	0.951	0.953	0.941	0.940	0.961	1.000	0.734	0.734
+285758.969	1.000	1.000	1.000	0.739	0.739	1.000	0.958	0.958	0.952	0.953	0.942	0.941	0.962	1.000	0.739	0.739
+307609.625	1.000	1.000	1.000	0.744	0.744	1.000	0.959	0.959	0.952	0.954	0.942	0.942	0.962	1.000	0.744	0.744
+331131.094	1.000	1.000	1.000	0.749	0.749	1.000	0.959	0.959	0.953	0.954	0.943	0.943	0.962	1.000	0.749	0.749
+356451.156	1.000	1.000	1.000	0.754	0.754	1.000	0.959	0.959	0.953	0.955	0.944	0.943	0.963	1.000	0.754	0.754
+383707.344	1.000	1.000	1.000	0.759	0.759	1.000	0.960	0.960	0.954	0.955	0.945	0.944	0.963	1.000	0.759	0.759
+413047.656	1.000	1.000	1.000	0.764	0.764	1.000	0.960	0.960	0.954	0.956	0.945	0.945	0.963	1.000	0.764	0.764
+444631.031	1.000	1.000	1.000	0.769	0.769	1.000	0.960	0.960	0.955	0.956	0.946	0.945	0.963	1.000	0.769	0.769
+478629.906	1.000	1.000	1.000	0.774	0.774	1.000	0.961	0.961	0.955	0.957	0.947	0.946	0.964	1.000	0.774	0.774
+515228.531	1.000	1.000	1.000	0.778	0.778	1.000	0.961	0.961	0.956	0.957	0.947	0.947	0.964	1.000	0.778	0.778
+554625.688	1.000	1.000	1.000	0.783	0.783	1.000	0.961	0.961	0.956	0.958	0.948	0.948	0.964	1.000	0.783	0.783
+597035.312	1.000	1.000	1.000	0.788	0.788	1.000	0.962	0.962	0.957	0.958	0.949	0.948	0.965	1.000	0.788	0.788
+642687.875	1.000	1.000	1.000	0.793	0.793	1.000	0.962	0.962	0.957	0.958	0.949	0.949	0.965	1.000	0.793	0.793
+691831.188	1.000	1.000	1.000	0.798	0.798	1.000	0.962	0.962	0.958	0.959	0.950	0.950	0.965	1.000	0.798	0.798
+744732.375	1.000	1.000	1.000	0.803	0.803	1.000	0.963	0.963	0.958	0.959	0.951	0.950	0.965	1.000	0.803	0.803
+801677.688	1.000	1.000	1.000	0.808	0.808	1.000	0.963	0.963	0.959	0.960	0.951	0.951	0.966	1.000	0.808	0.808
+862978.312	1.000	1.000	1.000	0.813	0.813	1.000	0.963	0.963	0.959	0.960	0.952	0.952	0.966	1.000	0.813	0.813
+928966.250	1.000	1.000	1.000	0.817	0.817	1.000	0.964	0.964	0.960	0.961	0.953	0.952	0.966	1.000	0.817	0.817
diff --git a/km3buu/tests/data/visible_energy_weight_functions.txt b/km3buu/tests/data/visible_energy_weight_functions.txt
new file mode 100644
index 0000000000000000000000000000000000000000..f832bae1db5586addddb0d68fad2c584fd7fec30
--- /dev/null
+++ b/km3buu/tests/data/visible_energy_weight_functions.txt
@@ -0,0 +1,251 @@
+# Energy [GeV]	ngamma_elec	pion	kaon	kshort	klong	proton	neutron	opa_weight_high_e
+0.010	1866.285	2.885	14.849	20.700	13.304	-1.311	0.523	0.292
+0.011	1996.281	2.697	13.882	19.462	12.530	-1.210	0.498	0.292
+0.012	2136.240	2.520	12.972	18.296	11.800	-1.115	0.475	0.292
+0.012	2286.903	2.354	12.118	17.199	11.113	-1.025	0.454	0.292
+0.013	2449.057	2.198	11.315	16.167	10.467	-0.941	0.433	0.292
+0.014	2623.608	2.052	10.562	15.198	9.858	-0.863	0.414	0.292
+0.016	2811.555	1.915	9.856	14.286	9.286	-0.790	0.396	0.292
+0.017	3013.806	1.786	9.195	13.431	8.748	-0.721	0.378	0.292
+0.018	3231.585	1.666	8.575	12.628	8.243	-0.657	0.362	0.292
+0.019	3465.965	1.553	7.995	11.875	7.769	-0.598	0.347	0.292
+0.021	3718.307	1.448	7.453	11.169	7.324	-0.542	0.333	0.292
+0.022	3989.938	1.349	6.945	10.507	6.906	-0.490	0.319	0.292
+0.024	4282.343	1.257	6.471	9.887	6.513	-0.442	0.307	0.292
+0.026	4597.096	1.171	6.028	9.305	6.145	-0.398	0.295	0.292
+0.028	4935.896	1.091	5.614	8.761	5.800	-0.357	0.283	0.292
+0.030	5300.626	1.016	5.228	8.251	5.476	-0.318	0.273	0.292
+0.033	5693.274	0.946	4.867	7.774	5.173	-0.283	0.263	0.292
+0.035	6115.915	0.880	4.531	7.327	4.888	-0.251	0.253	0.292
+0.038	6570.854	0.819	4.217	6.908	4.621	-0.221	0.244	0.292
+0.041	7060.618	0.762	3.925	6.516	4.370	-0.193	0.235	0.292
+0.044	7587.833	0.709	3.652	6.150	4.135	-0.168	0.227	0.292
+0.047	8155.371	0.660	3.398	5.806	3.915	-0.145	0.219	0.292
+0.051	8766.266	0.614	3.161	5.485	3.708	-0.124	0.211	0.292
+0.054	9423.925	0.571	2.941	5.185	3.514	-0.106	0.204	0.292
+0.059	10131.846	0.531	2.735	4.903	3.332	-0.088	0.197	0.292
+0.063	10893.919	0.512	2.544	4.640	3.161	-0.073	0.190	0.292
+0.068	11714.276	0.512	2.366	4.393	3.000	-0.059	0.184	0.292
+0.073	12597.360	0.513	2.200	4.162	2.849	-0.047	0.177	0.292
+0.079	13547.968	0.513	2.045	3.946	2.708	-0.037	0.171	0.292
+0.085	14571.281	0.514	1.902	3.743	2.574	-0.027	0.165	0.292
+0.091	15672.846	0.514	1.768	3.553	2.449	-0.019	0.159	0.292
+0.098	16858.678	0.514	1.644	3.376	2.332	-0.012	0.153	0.292
+0.106	18135.162	0.515	1.528	3.209	2.221	-0.007	0.148	0.292
+0.114	19509.295	0.515	1.420	3.053	2.117	-0.002	0.142	0.292
+0.122	20988.486	0.515	1.320	2.907	2.019	0.002	0.137	0.292
+0.132	22580.863	0.516	1.227	2.770	1.927	0.005	0.131	0.292
+0.142	24294.961	0.516	1.141	2.642	1.840	0.007	0.126	0.292
+0.153	26140.211	0.545	1.060	2.521	1.758	0.009	0.121	0.292
+0.164	28126.574	0.558	0.985	2.408	1.680	0.010	0.116	0.292
+0.177	30264.850	0.577	0.916	2.303	1.608	0.010	0.111	0.292
+0.191	32566.664	0.597	0.851	2.203	1.539	0.011	0.106	0.292
+0.205	35044.562	0.619	0.791	2.110	1.474	0.011	0.102	0.298
+0.221	37711.977	0.641	0.735	2.023	1.413	0.011	0.098	0.314
+0.238	40583.449	0.662	0.683	1.941	1.355	0.011	0.094	0.334
+0.256	43674.539	0.682	0.635	1.865	1.301	0.011	0.091	0.354
+0.275	47002.074	0.699	0.680	1.793	1.250	0.012	0.088	0.376
+0.296	50584.176	0.714	0.685	1.725	1.201	0.013	0.086	0.398
+0.319	54440.273	0.727	0.689	1.662	1.155	0.015	0.085	0.420
+0.344	58591.371	0.738	0.693	1.603	1.112	0.018	0.085	0.441
+0.370	63060.027	0.746	0.697	1.547	1.072	0.022	0.086	0.461
+0.398	67870.602	0.752	0.700	1.495	1.033	0.027	0.089	0.480
+0.429	73049.188	0.756	0.703	1.446	0.997	0.033	0.093	0.498
+0.461	78623.992	0.759	0.705	1.400	0.963	0.041	0.100	0.515
+0.497	84625.312	0.760	0.708	1.357	0.931	0.050	0.110	0.530
+0.535	91085.875	0.760	0.710	1.317	0.901	0.061	0.099	0.545
+0.575	98040.750	0.758	0.711	1.280	0.873	0.074	0.123	0.559
+0.619	105527.875	0.756	0.713	1.244	0.846	0.088	0.146	0.571
+0.667	113587.922	0.752	0.714	1.211	0.822	0.104	0.167	0.582
+0.718	122264.773	0.748	0.714	1.180	0.799	0.122	0.187	0.593
+0.773	131605.719	0.744	0.715	1.151	0.777	0.141	0.205	0.603
+0.832	141661.578	0.740	0.715	1.124	0.758	0.161	0.222	0.612
+0.895	152487.078	0.735	0.716	1.099	0.739	0.182	0.238	0.620
+0.964	164141.188	0.730	0.715	1.075	0.723	0.204	0.253	0.627
+1.038	176687.359	0.725	0.715	1.053	0.708	0.226	0.267	0.634
+1.117	190193.969	0.720	0.715	1.033	0.694	0.249	0.280	0.640
+1.202	204734.484	0.716	0.714	1.013	0.682	0.271	0.293	0.646
+1.294	220388.172	0.712	0.713	0.995	0.671	0.292	0.305	0.651
+1.393	237240.266	0.707	0.712	0.978	0.662	0.312	0.317	0.655
+1.500	255382.531	0.704	0.711	0.963	0.654	0.331	0.328	0.659
+1.614	274913.750	0.700	0.710	0.948	0.638	0.348	0.339	0.663
+1.738	295940.375	0.697	0.708	0.934	0.640	0.364	0.351	0.666
+1.871	318576.781	0.695	0.707	0.921	0.643	0.377	0.362	0.669
+2.014	342946.188	0.692	0.705	0.909	0.646	0.390	0.373	0.672
+2.168	369181.250	0.690	0.703	0.898	0.648	0.401	0.384	0.674
+2.333	397424.750	0.689	0.701	0.888	0.651	0.410	0.394	0.676
+2.512	427830.062	0.687	0.700	0.878	0.653	0.419	0.405	0.678
+2.704	460562.656	0.686	0.698	0.869	0.656	0.428	0.416	0.679
+2.911	495800.125	0.686	0.696	0.861	0.658	0.437	0.427	0.681
+3.133	533733.812	0.686	0.694	0.853	0.661	0.446	0.438	0.682
+3.373	574569.250	0.686	0.692	0.846	0.663	0.455	0.449	0.683
+3.631	618527.625	0.686	0.690	0.839	0.665	0.465	0.460	0.684
+3.908	665846.625	0.686	0.689	0.832	0.668	0.476	0.471	0.685
+4.207	716781.562	0.687	0.687	0.826	0.670	0.488	0.481	0.686
+4.529	771607.125	0.688	0.686	0.821	0.672	0.500	0.492	0.687
+4.875	830617.875	0.689	0.685	0.816	0.674	0.512	0.502	0.688
+5.248	894130.500	0.691	0.684	0.811	0.677	0.524	0.512	0.689
+5.649	962484.375	0.692	0.683	0.807	0.679	0.536	0.522	0.690
+6.081	1036044.125	0.694	0.683	0.803	0.681	0.548	0.532	0.691
+6.546	1115200.250	0.696	0.683	0.799	0.683	0.559	0.541	0.692
+7.047	1200371.500	0.698	0.683	0.795	0.685	0.569	0.551	0.694
+7.586	1292006.500	0.700	0.684	0.792	0.687	0.579	0.560	0.696
+8.166	1390584.750	0.702	0.684	0.789	0.689	0.589	0.568	0.698
+8.790	1496619.750	0.704	0.686	0.787	0.691	0.598	0.577	0.700
+9.462	1610660.625	0.707	0.687	0.784	0.693	0.606	0.585	0.702
+10.186	1733293.250	0.709	0.689	0.782	0.695	0.614	0.593	0.705
+10.965	1865143.250	0.712	0.691	0.780	0.697	0.621	0.601	0.707
+11.803	2006879.375	0.714	0.694	0.778	0.699	0.628	0.609	0.710
+12.706	2159211.500	0.717	0.696	0.776	0.701	0.634	0.616	0.714
+13.677	2322899.750	0.719	0.699	0.775	0.703	0.640	0.623	0.717
+14.723	2498750.250	0.722	0.702	0.774	0.706	0.646	0.630	0.721
+15.849	2687623.750	0.725	0.705	0.773	0.708	0.651	0.637	0.725
+17.061	2890434.250	0.728	0.709	0.772	0.710	0.657	0.643	0.729
+18.365	3108156.750	0.731	0.712	0.772	0.713	0.661	0.649	0.733
+19.770	3341827.000	0.734	0.715	0.771	0.715	0.666	0.656	0.738
+21.281	3592549.750	0.737	0.719	0.771	0.718	0.671	0.662	0.742
+22.909	3861503.000	0.740	0.722	0.771	0.720	0.675	0.667	0.747
+24.660	4149942.500	0.743	0.726	0.771	0.723	0.679	0.673	0.752
+26.546	4459214.000	0.746	0.729	0.772	0.726	0.684	0.679	0.757
+28.576	4790752.500	0.749	0.733	0.772	0.728	0.688	0.684	0.762
+30.761	5146107.500	0.753	0.736	0.773	0.731	0.692	0.689	0.767
+33.113	5526937.000	0.756	0.740	0.774	0.735	0.696	0.695	0.772
+35.645	5935039.000	0.760	0.743	0.775	0.738	0.699	0.700	0.777
+38.371	6372348.500	0.763	0.747	0.777	0.741	0.703	0.705	0.782
+41.305	6840972.000	0.767	0.750	0.778	0.744	0.707	0.710	0.787
+44.463	7343191.000	0.771	0.754	0.780	0.748	0.711	0.715	0.792
+47.863	7881495.500	0.775	0.757	0.782	0.751	0.715	0.720	0.797
+51.523	8458597.000	0.778	0.761	0.783	0.755	0.718	0.725	0.801
+55.463	9077446.000	0.782	0.764	0.785	0.759	0.722	0.729	0.806
+59.704	9741270.000	0.786	0.768	0.787	0.762	0.726	0.734	0.811
+64.269	10453575.000	0.790	0.771	0.789	0.766	0.729	0.738	0.815
+69.183	11218188.000	0.793	0.775	0.791	0.769	0.733	0.742	0.820
+74.473	12039248.000	0.797	0.778	0.793	0.773	0.736	0.747	0.824
+80.168	12921273.000	0.800	0.781	0.796	0.776	0.739	0.751	0.828
+86.298	13869112.000	0.804	0.784	0.798	0.780	0.742	0.754	0.833
+92.897	14888035.000	0.807	0.787	0.799	0.783	0.745	0.758	0.837
+100.000	15983690.000	0.810	0.790	0.801	0.786	0.748	0.762	0.840
+107.647	17162176.000	0.813	0.792	0.803	0.790	0.751	0.765	0.844
+115.878	18430006.000	0.816	0.795	0.805	0.793	0.753	0.768	0.848
+124.738	19794222.000	0.819	0.797	0.806	0.795	0.756	0.771	0.852
+134.277	21262334.000	0.821	0.799	0.808	0.798	0.758	0.774	0.855
+144.544	22842412.000	0.823	0.801	0.809	0.801	0.760	0.776	0.858
+155.597	24543092.000	0.826	0.803	0.811	0.803	0.762	0.779	0.862
+167.494	26373708.000	0.828	0.805	0.812	0.806	0.764	0.781	0.865
+180.302	28344224.000	0.830	0.807	0.813	0.808	0.765	0.783	0.868
+194.089	30465372.000	0.832	0.808	0.814	0.810	0.767	0.785	0.871
+208.930	32748672.000	0.833	0.810	0.815	0.813	0.769	0.787	0.874
+224.905	35206572.000	0.835	0.811	0.816	0.815	0.770	0.788	0.876
+242.103	37852404.000	0.837	0.812	0.817	0.816	0.771	0.790	0.879
+260.615	40700536.000	0.838	0.813	0.818	0.818	0.772	0.791	0.882
+280.543	43766460.000	0.839	0.814	0.819	0.820	0.773	0.793	0.884
+301.995	47066832.000	0.841	0.815	0.819	0.822	0.775	0.794	0.886
+325.087	50619564.000	0.842	0.816	0.820	0.823	0.775	0.795	0.889
+349.945	54443924.000	0.843	0.817	0.821	0.825	0.776	0.796	0.891
+376.704	58560748.000	0.844	0.818	0.821	0.827	0.777	0.797	0.893
+405.509	62992368.000	0.845	0.819	0.822	0.828	0.778	0.798	0.895
+436.516	67762848.000	0.846	0.820	0.822	0.829	0.779	0.799	0.897
+469.894	72898072.000	0.847	0.820	0.823	0.831	0.779	0.800	0.899
+505.825	78425992.000	0.848	0.821	0.823	0.832	0.780	0.801	0.901
+544.503	84376616.000	0.848	0.821	0.824	0.833	0.781	0.801	0.903
+586.138	90782200.000	0.849	0.822	0.824	0.834	0.781	0.802	0.905
+630.957	97677648.000	0.850	0.822	0.824	0.836	0.782	0.803	0.906
+679.204	105100360.000	0.850	0.823	0.825	0.837	0.782	0.803	0.908
+731.139	113090640.000	0.851	0.823	0.825	0.838	0.783	0.804	0.910
+787.046	121691848.000	0.851	0.824	0.825	0.839	0.783	0.804	0.911
+847.227	130950800.000	0.852	0.824	0.825	0.840	0.783	0.804	0.913
+912.011	140917744.000	0.852	0.824	0.826	0.841	0.784	0.805	0.914
+981.748	151646816.000	0.853	0.825	0.826	0.842	0.784	0.805	0.916
+1056.817	163196224.000	0.853	0.825	0.826	0.843	0.784	0.806	0.917
+1137.627	175628832.000	0.853	0.825	0.826	0.844	0.785	0.806	0.918
+1224.616	189012080.000	0.854	0.826	0.826	0.844	0.785	0.806	0.920
+1318.256	203418608.000	0.854	0.826	0.827	0.845	0.785	0.807	0.921
+1419.057	218926848.000	0.854	0.826	0.827	0.846	0.785	0.807	0.922
+1527.566	235620912.000	0.855	0.826	0.827	0.847	0.786	0.807	0.923
+1644.372	253591504.000	0.855	0.826	0.827	0.848	0.786	0.807	0.925
+1770.109	272936064.000	0.855	0.827	0.827	0.848	0.786	0.807	0.926
+1905.461	293759968.000	0.855	0.827	0.827	0.849	0.786	0.808	0.927
+2051.162	316176192.000	0.856	0.827	0.827	0.850	0.786	0.808	0.928
+2208.005	340306464.000	0.856	0.827	0.827	0.850	0.786	0.808	0.929
+2376.840	366281664.000	0.856	0.827	0.828	0.851	0.787	0.808	0.930
+2558.586	394243296.000	0.856	0.827	0.828	0.852	0.787	0.808	0.931
+2754.229	424343008.000	0.856	0.827	0.828	0.852	0.787	0.808	0.932
+2964.831	456744032.000	0.856	0.828	0.828	0.853	0.787	0.808	0.933
+3191.538	491622912.000	0.856	0.828	0.828	0.854	0.787	0.809	0.934
+3435.580	529168768.000	0.857	0.828	0.828	0.854	0.787	0.809	0.935
+3698.282	569585600.000	0.857	0.828	0.828	0.855	0.787	0.809	0.936
+3981.071	613092608.000	0.857	0.828	0.828	0.855	0.787	0.809	0.936
+4285.485	659926720.000	0.857	0.828	0.828	0.856	0.787	0.809	0.937
+4613.176	710342016.000	0.857	0.828	0.828	0.856	0.787	0.809	0.938
+4965.924	764612352.000	0.857	0.828	0.828	0.857	0.787	0.809	0.939
+5345.643	823032000.000	0.857	0.828	0.828	0.857	0.788	0.809	0.939
+5754.399	885919232.000	0.857	0.828	0.828	0.858	0.788	0.809	0.940
+6194.412	953615104.000	0.857	0.828	0.828	0.858	0.788	0.809	0.941
+6668.066	1026486784.000	0.857	0.828	0.828	0.859	0.788	0.809	0.942
+7177.942	1104931328.000	0.857	0.828	0.828	0.859	0.788	0.809	0.942
+7726.806	1189374080.000	0.858	0.828	0.828	0.860	0.788	0.809	0.943
+8317.640	1280273792.000	0.858	0.828	0.828	0.860	0.788	0.809	0.944
+8953.646	1378123264.000	0.858	0.829	0.828	0.861	0.788	0.809	0.944
+9638.289	1483455744.000	0.858	0.829	0.829	0.861	0.788	0.809	0.945
+10375.279	1596841600.000	0.858	0.829	0.829	0.862	0.788	0.810	0.946
+11168.629	1718898432.000	0.858	0.829	0.829	0.862	0.788	0.810	0.946
+12022.643	1850288512.000	0.858	0.829	0.829	0.862	0.788	0.810	0.947
+12941.958	1991725184.000	0.858	0.829	0.829	0.863	0.788	0.810	0.947
+13931.569	2143976832.000	0.858	0.829	0.829	0.863	0.788	0.810	0.948
+14996.853	2307870720.000	0.858	0.829	0.829	0.864	0.788	0.810	0.948
+16143.593	2484296704.000	0.858	0.829	0.829	0.864	0.788	0.810	0.949
+17378.000	2674210304.000	0.858	0.829	0.829	0.864	0.788	0.810	0.950
+18706.814	2878648320.000	0.858	0.829	0.829	0.865	0.788	0.810	0.950
+20137.238	3098718976.000	0.858	0.829	0.829	0.865	0.788	0.810	0.951
+21677.039	3335617280.000	0.858	0.829	0.829	0.865	0.788	0.810	0.951
+23334.582	3590630400.000	0.858	0.829	0.829	0.866	0.788	0.810	0.952
+25118.869	3865143040.000	0.858	0.829	0.829	0.866	0.788	0.810	0.952
+27039.594	4160646400.000	0.858	0.829	0.829	0.866	0.788	0.810	0.952
+29107.186	4478745088.000	0.858	0.829	0.829	0.867	0.788	0.810	0.953
+31332.844	4821162496.000	0.858	0.829	0.829	0.867	0.788	0.810	0.953
+33728.723	5189768704.000	0.858	0.829	0.829	0.867	0.788	0.810	0.954
+36307.801	5586560000.000	0.858	0.829	0.829	0.868	0.788	0.810	0.954
+39084.090	6013691904.000	0.858	0.829	0.829	0.868	0.788	0.810	0.955
+42072.668	6473484800.000	0.858	0.829	0.829	0.868	0.788	0.810	0.955
+45289.773	6968436224.000	0.858	0.829	0.829	0.868	0.788	0.810	0.955
+48752.871	7501233664.000	0.858	0.829	0.829	0.869	0.788	0.810	0.956
+52480.719	8074763264.000	0.858	0.829	0.829	0.869	0.788	0.810	0.956
+56493.680	8692157440.000	0.858	0.829	0.829	0.869	0.788	0.810	0.957
+60813.488	9356760064.000	0.858	0.829	0.829	0.870	0.788	0.810	0.957
+65463.613	10072181760.000	0.858	0.829	0.829	0.870	0.788	0.810	0.957
+70469.312	10842308608.000	0.858	0.829	0.829	0.870	0.788	0.810	0.958
+75857.781	11671324672.000	0.858	0.829	0.829	0.870	0.788	0.810	0.958
+81658.273	12563730432.000	0.858	0.829	0.829	0.871	0.788	0.810	0.958
+87902.203	13524359168.000	0.858	0.829	0.829	0.871	0.788	0.810	0.959
+94623.680	14558457856.000	0.858	0.829	0.829	0.871	0.788	0.810	0.959
+101859.117	15671630848.000	0.858	0.829	0.829	0.871	0.788	0.810	0.960
+109647.812	16869920768.000	0.858	0.829	0.829	0.871	0.788	0.810	0.960
+118032.070	18159837184.000	0.858	0.829	0.829	0.872	0.788	0.810	0.960
+127057.438	19548391424.000	0.858	0.829	0.829	0.872	0.788	0.810	0.960
+136772.938	21043120128.000	0.858	0.829	0.829	0.872	0.788	0.810	0.961
+147231.328	22652143616.000	0.858	0.829	0.829	0.872	0.788	0.810	0.961
+158489.250	24384176128.000	0.858	0.829	0.829	0.873	0.788	0.810	0.961
+170608.188	26248673280.000	0.858	0.829	0.829	0.873	0.788	0.810	0.962
+183653.812	28255744000.000	0.858	0.829	0.829	0.873	0.788	0.810	0.962
+197696.969	30416283648.000	0.858	0.829	0.829	0.873	0.788	0.810	0.962
+212813.938	32742029312.000	0.858	0.829	0.829	0.873	0.788	0.810	0.963
+229086.828	35245613056.000	0.858	0.829	0.829	0.874	0.788	0.810	0.963
+246604.047	37940637696.000	0.858	0.829	0.829	0.874	0.788	0.810	0.963
+265460.438	40841695232.000	0.858	0.829	0.829	0.874	0.788	0.810	0.963
+285758.969	43964624896.000	0.858	0.829	0.829	0.874	0.788	0.810	0.964
+307609.625	47326347264.000	0.858	0.829	0.829	0.874	0.788	0.810	0.964
+331131.094	50945126400.000	0.858	0.829	0.829	0.874	0.788	0.810	0.964
+356451.156	54840614912.000	0.858	0.829	0.829	0.875	0.788	0.810	0.964
+383707.344	59033980928.000	0.858	0.829	0.829	0.875	0.788	0.810	0.965
+413047.656	63547990016.000	0.858	0.829	0.829	0.875	0.788	0.810	0.965
+444631.031	68407091200.000	0.858	0.829	0.829	0.875	0.788	0.810	0.965
+478629.906	73637814272.000	0.858	0.829	0.829	0.875	0.788	0.810	0.965
+515228.531	79268511744.000	0.858	0.829	0.829	0.875	0.788	0.810	0.966
+554625.688	85329764352.000	0.858	0.829	0.829	0.876	0.788	0.810	0.966
+597035.312	91854487552.000	0.858	0.829	0.829	0.876	0.788	0.810	0.966
+642687.875	98878136320.000	0.858	0.829	0.829	0.876	0.788	0.810	0.966
+691831.188	106438836224.000	0.858	0.829	0.829	0.876	0.788	0.810	0.967
+744732.375	114577678336.000	0.858	0.829	0.829	0.876	0.788	0.810	0.967
+801677.688	123338719232.000	0.858	0.829	0.829	0.876	0.788	0.810	0.967
+862978.312	132769816576.000	0.858	0.829	0.829	0.876	0.788	0.810	0.967
+928966.250	142922055680.000	0.858	0.829	0.829	0.877	0.788	0.810	0.967
diff --git a/km3buu/tests/test_physics.py b/km3buu/tests/test_physics.py
new file mode 100644
index 0000000000000000000000000000000000000000..29efb84ccf8800d1806eb17f54d26ab04f4bf7af
--- /dev/null
+++ b/km3buu/tests/test_physics.py
@@ -0,0 +1,101 @@
+#!/usr/bin/env python
+# coding=utf-8
+# Filename: test_physics.py
+
+__author__ = "Johannes Schumann"
+__copyright__ = "Copyright 2021, Johannes Schumann and the KM3NeT collaboration."
+__credits__ = []
+__license__ = "MIT"
+__maintainer__ = "Johannes Schumann"
+__email__ = "jschumann@km3net.de"
+__status__ = "Development"
+
+import unittest
+from unittest.mock import patch
+import re
+import numpy as np
+import pytest
+from os.path import abspath, join, dirname
+from particle import Particle
+
+from km3buu.physics import *
+
+FUNCTIONS_TESTFILE = join(dirname(__file__),
+                          "data/visible_energy_weight_functions.txt")
+PARTICLE_TESTFILE = join(dirname(__file__),
+                         "data/visible_energy_particle_frac.txt")
+MUON_TESTFILE = join(dirname(__file__), "data/muon_range_seawater.txt")
+
+
+class TestMuonRangeSeaWater(unittest.TestCase):
+    def setUp(self):
+        self.ref_values = np.loadtxt(MUON_TESTFILE).T
+
+    def test_particles(self):
+        assert np.allclose(muon_range_seawater(self.ref_values[0, :],
+                                               self.ref_values[1, :]),
+                           self.ref_values[2, :],
+                           rtol=0.01)
+
+
+class TestVisEnergyParticle(unittest.TestCase):
+    def setUp(self):
+        with open(PARTICLE_TESTFILE, "r") as f:
+            tmp = f.readline()
+            self.particles = [
+                int(p[2:-1]) for p in re.findall(r'\s\(-?\d+\)', tmp)
+            ]
+        self.ref_values = np.loadtxt(PARTICLE_TESTFILE).T
+
+    def test_particles(self):
+        for i, pdgid in enumerate(self.particles):
+            val = km3_opa_fraction(self.ref_values[0, :], pdgid)
+            assert np.allclose(self.ref_values[i + 1, :],
+                               val,
+                               rtol=0.05,
+                               atol=0.01)
+
+
+class TestVisEnergyWeightFunctions(unittest.TestCase):
+    def setUp(self):
+        self.ref_values = np.loadtxt(FUNCTIONS_TESTFILE).T
+
+    def test_ngamma_elec(self):
+        vfunc = np.vectorize(number_photons_per_electron)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[1, :], val, rtol=0.05)
+
+    def test_pion_weight(self):
+        vfunc = np.vectorize(pion_weight)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[2, :], val, rtol=0.05)
+
+    def test_kaon_weight(self):
+        vfunc = np.vectorize(kaon_weight)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[3, :], val, rtol=0.05)
+
+    def test_kshort_weight(self):
+        vfunc = np.vectorize(kshort_weight)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[4, :], val, rtol=0.05)
+
+    def test_klong_weight(self):
+        vfunc = np.vectorize(klong_weight)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[5, :], val, rtol=0.05)
+
+    def test_proton_weight(self):
+        vfunc = np.vectorize(proton_weight)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[6, :], val, atol=0.05)
+
+    def test_neutron_weight(self):
+        vfunc = np.vectorize(neutron_weight)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[7, :], val, rtol=0.05)
+
+    def test_high_ene_weights(self):
+        vfunc = np.vectorize(high_energy_weight)
+        val = vfunc(self.ref_values[0, :])
+        assert np.allclose(self.ref_values[8, :], val, rtol=0.05)