Skip to content

Commit ba4546f

Browse files
authored
Merge pull request #2732 from cta-observatory/fix-muon-param-writing
2 parents 287e768 + 5007b6a commit ba4546f

File tree

3 files changed

+11
-8
lines changed

3 files changed

+11
-8
lines changed

docs/changes/2732.bugfix.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Fix units (absence of) for skewness and excess kurtosis in muon analysis

src/ctapipe/image/muon/features.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -324,23 +324,19 @@ def radial_light_distribution(
324324
if np.sum(image) == 0:
325325
return (
326326
np.nan * u.deg,
327-
np.nan * u.dimensionless_unscaled,
328-
np.nan * u.dimensionless_unscaled,
327+
np.nan,
328+
np.nan,
329329
)
330330

331331
pixel_r = np.hypot(pixel_fov_lon - center_fov_lon, pixel_fov_lat - center_fov_lat)
332332

333333
mean = np.average(pixel_r, weights=image)
334334
delta_r = pixel_r - mean
335335
radial_std_dev = np.sqrt(np.average(delta_r**2, weights=image))
336-
skewness = (
337-
np.average(delta_r**3, weights=image)
338-
/ radial_std_dev**3
339-
* u.dimensionless_unscaled
340-
)
336+
skewness = (np.average(delta_r**3, weights=image) / radial_std_dev**3).to_value()
341337
excess_kurtosis = (
342338
np.average(delta_r**4, weights=image) / radial_std_dev**4 - 3.0
343-
) * u.dimensionless_unscaled
339+
).to_value()
344340

345341
return (
346342
radial_std_dev,

src/ctapipe/image/muon/tests/test_muon_features.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,12 @@ def test_radial_light_distribution():
142142
)
143143

144144
assert radial_std_dev.unit == u.deg
145+
assert isinstance(
146+
skewness, (float, np.floating)
147+
), f"Unexpected type: {type(skewness)}"
148+
assert isinstance(
149+
excess_kurtosis, (float, np.floating)
150+
), f"Unexpected type: {type(excess_kurtosis)}"
145151
assert np.isclose(radial_std_dev, expected_std_dev, atol=1e-2)
146152
assert np.isclose(skewness, expected_skewness, atol=1e-2)
147153
assert np.isclose(excess_kurtosis, expected_excess_kurtosis, atol=1e-2)

0 commit comments

Comments
 (0)