From 0a4b0d73fc00b4b7698607febc6d48447fda2f02 Mon Sep 17 00:00:00 2001
From: Johannes Schumann <johannes.schumann@fau.de>
Date: Tue, 14 Dec 2021 23:27:21 +0100
Subject: [PATCH] Add test for final visual energy fraction function

---
 .../data/visible_energy_particle_frac.txt     | 251 ++++++++++++++++++
 ...xt => visible_energy_weight_functions.txt} |   0
 km3buu/tests/test_physics.py                  |  28 +-
 3 files changed, 276 insertions(+), 3 deletions(-)
 create mode 100644 km3buu/tests/data/visible_energy_particle_frac.txt
 rename km3buu/tests/data/{visible_energy_tables.txt => visible_energy_weight_functions.txt} (100%)

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 0000000..1a41911
--- /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_tables.txt b/km3buu/tests/data/visible_energy_weight_functions.txt
similarity index 100%
rename from km3buu/tests/data/visible_energy_tables.txt
rename to km3buu/tests/data/visible_energy_weight_functions.txt
diff --git a/km3buu/tests/test_physics.py b/km3buu/tests/test_physics.py
index 815c36e..1303824 100644
--- a/km3buu/tests/test_physics.py
+++ b/km3buu/tests/test_physics.py
@@ -12,18 +12,40 @@ __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 *
 
-TESTFILE = join(dirname(__file__), "data/visible_energy_tables.txt")
+FUNCTIONS_TESTFILE = join(dirname(__file__),
+                          "data/visible_energy_weight_functions.txt")
+PARTICLE_TESTFILE = join(dirname(__file__),
+                         "data/visible_energy_particle_frac.txt")
 
 
-class TestVisibleEnergyWeights(unittest.TestCase):
+class TestVisEnergyParticle(unittest.TestCase):
     def setUp(self):
-        self.ref_values = np.loadtxt(TESTFILE).T
+        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):
+            vfunc = np.vectorize(visible_energy_fraction)
+            val = vfunc(pdgid, self.ref_values[0, :])
+            np.testing.assert_array_almost_equal(self.ref_values[i + 1, :],
+                                                 val,
+                                                 decimal=3)
+
+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)
-- 
GitLab