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)