diff --git a/pyproject.toml b/pyproject.toml index a5575c6..08b386b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -132,7 +132,7 @@ convention = "google" [tool.tox] legacy_tox_ini = """ [tox] -envlist = py3{9,10,11,12,13} +envlist = py3{10,11,12,13} isolated_build = True [testenv] diff --git a/src/simweights/__init__.py b/src/simweights/__init__.py index 3e09949..261c920 100644 --- a/src/simweights/__init__.py +++ b/src/simweights/__init__.py @@ -17,6 +17,7 @@ __all__ = [ "TIG1996", "CircleInjector", + "CompositeSurface", "CorsikaWeighter", "FixedFractionFlux", "GaisserH3a", @@ -65,7 +66,7 @@ Hoerandel_IT, Honda2004, ) -from ._generation_surface import GenerationSurface +from ._generation_surface import CompositeSurface, GenerationSurface from ._genie_weighter import GenieSurface, GenieWeighter from ._icetop_weighter import IceTopSurface, IceTopWeighter from ._nugen_weighter import NuGenSurface, NuGenWeighter diff --git a/tests/test_generation_surface.py b/tests/test_generation_surface.py index 7922b61..115dc62 100755 --- a/tests/test_generation_surface.py +++ b/tests/test_generation_surface.py @@ -160,12 +160,13 @@ def test_multiplication(self): self.assertEqual(self.s0.nevents, 10000) def test_repr(self): - ll = {"Gamma": PDGCode.Gamma, "PPlus": PDGCode.PPlus} - self.assertEqual(eval(repr(self.s0), locals=ll), self.s0) - self.assertEqual(eval(repr(self.s1), locals=ll), self.s1) - self.assertEqual(eval(repr(self.s2), locals=ll), self.s2) - self.assertEqual(eval(repr(self.s3), locals=ll), self.s3) - self.assertEqual(eval(repr(self.s4), locals=ll), self.s4) + Gamma = PDGCode.Gamma # noqa: F841 + PPlus = PDGCode.PPlus # noqa: F841 + self.assertEqual(eval(repr(self.s0)), self.s0) + self.assertEqual(eval(repr(self.s1)), self.s1) + self.assertEqual(eval(repr(self.s2)), self.s2) + self.assertEqual(eval(repr(self.s3)), self.s3) + self.assertEqual(eval(repr(self.s4)), self.s4) def test_addition_gsc(self): s0 = CompositeSurface(self.gsc1, self.s0) @@ -244,11 +245,12 @@ def test_equal_gsc(self): self.assertEqual(self.gsc4, CompositeSurface(self.s4, self.s0)) def test_repr_gsc(self): - ll = {"PPlus": PDGCode.PPlus, "Gamma": PDGCode.Gamma} - self.assertEqual(self.gsc1, eval(repr(self.gsc1), locals=ll)) - self.assertEqual(self.gsc2, eval(repr(self.gsc2), locals=ll)) - self.assertEqual(self.gsc3, eval(repr(self.gsc3), locals=ll)) - self.assertEqual(self.gsc4, eval(repr(self.gsc4), locals=ll)) + PPlus = PDGCode.PPlus # noqa: F841 + Gamma = PDGCode.Gamma # noqa: F841 + self.assertEqual(self.gsc1, eval(repr(self.gsc1))) + self.assertEqual(self.gsc2, eval(repr(self.gsc2))) + self.assertEqual(self.gsc3, eval(repr(self.gsc3))) + self.assertEqual(self.gsc4, eval(repr(self.gsc4))) s = str(CompositeSurface(self.gsc2, self.gsc3, self.gsc4)).split("\n") self.assertEqual(s[0], "< CompositeSurface") diff --git a/tests/test_genie_icetray_weighter.py b/tests/test_genie_icetray_weighter.py index 755d382..488f462 100755 --- a/tests/test_genie_icetray_weighter.py +++ b/tests/test_genie_icetray_weighter.py @@ -117,6 +117,7 @@ def test_genie_icetray_i3files(nfiles, flux, nevents): weight["InjectionSurfaceR"] = c1.radius weight["GeneratorVolume"] = 1.0 weight["PrimaryNeutrinoEnergy"] = energy + weight["GlobalProbabilityScale"] = 1 resultdict = simclasses.I3GENIEResultDict() resultdict.neu = pdgid diff --git a/tests/test_genie_weighter.py b/tests/test_genie_weighter.py index 0191865..23130ac 100755 --- a/tests/test_genie_weighter.py +++ b/tests/test_genie_weighter.py @@ -35,17 +35,10 @@ def test_genie_repr(): c1 = simweights.CircleInjector(300, 0, 1) p1 = simweights.PowerLaw(0, 1e3, 1e4) g = simweights.GenieSurface(-14, 1000, 0.3333, c1, p1) - assert ( - eval( - repr(g), - locals={ - "GenieSurface": simweights.GenieSurface, - "CircleInjector": simweights.CircleInjector, - "PowerLaw": simweights.PowerLaw, - }, - ) - == g - ) + GenieSurface = simweights.GenieSurface # noqa: F841 + CircleInjector = simweights.CircleInjector # noqa: F841 + PowerLaw = simweights.PowerLaw # noqa: F841 + assert eval(repr(g)) == g @pytest.mark.parametrize("event_weight", (1e-6, 1e-3, 1)) diff --git a/tests/test_nugen_weighter.py b/tests/test_nugen_weighter.py index 6d23f25..37bea77 100755 --- a/tests/test_nugen_weighter.py +++ b/tests/test_nugen_weighter.py @@ -13,8 +13,15 @@ from numpy.testing import assert_allclose from pytest import approx -from simweights import CircleInjector, NaturalRateCylinder, NuGenSurface, NuGenWeighter, PowerLaw, UniformSolidAngleCylinder -from tests.test_generation_surface import CompositeSurface +from simweights import ( + CircleInjector, + CompositeSurface, + NaturalRateCylinder, + NuGenSurface, + NuGenWeighter, + PowerLaw, + UniformSolidAngleCylinder, +) with contextlib.suppress(ImportError): from icecube import dataclasses, icetray diff --git a/tests/test_weighter.py b/tests/test_weighter.py index 1e8c194..935ef14 100755 --- a/tests/test_weighter.py +++ b/tests/test_weighter.py @@ -310,6 +310,7 @@ def test_nuflux(self): } s1 = NuGenSurface(14, N1, self.p1, self.c1) weighter1 = Weighter([data1], s1) + weighter1.add_weight_column("TotalWeight", np.ones(N1)) weighter1.add_weight_column("pdgid", data1["I3Weight"]["type"]) weighter1.add_weight_column("energy", data1["I3Weight"]["energy"]) weighter1.add_weight_column("cos_zen", np.cos(data1["I3Weight"]["zenith"]))