diff --git a/km3buu/physics.py b/km3buu/physics.py index c943f2c5cd4eb42a59a5a6f01d3d5628667f8d66..b608e97bb8cf1bdc6b347ae8b4fe7e344120b0d1 100644 --- a/km3buu/physics.py +++ b/km3buu/physics.py @@ -24,6 +24,7 @@ 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] +MUON_MASS = Particle.from_string("mu").mass / 1e3 ELEC_PARAMS = { "ELECa": 1.33356e5, @@ -172,9 +173,8 @@ def visible_energy_fraction(energy, pdgid): 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 + ekin = np.sqrt(ak.to_numpy(energy)[mask]**2 - MUON_MASS**2) + retval[mask] = muon_range_seawater(ekin, MUON_MASS) / 4.7 return retval @@ -350,8 +350,7 @@ def muon_range_seawater(start_energy, stop_energy): ------ track_length: float [m] """ - muon_mass = Particle.from_string("mu").mass / 1e3 - if start_energy <= muon_mass: + if start_energy <= MUON_MASS: return 0 elif start_energy < stop_energy: raise ValueError("Final energy must be smaller than initial energy.")