Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Additional Muon Parameters in ctapipe for LST Analysis #2665

Open
jstvdk opened this issue Dec 3, 2024 · 2 comments
Open

Implement Additional Muon Parameters in ctapipe for LST Analysis #2665

jstvdk opened this issue Dec 3, 2024 · 2 comments
Assignees

Comments

@jstvdk
Copy link
Contributor

jstvdk commented Dec 3, 2024

Currently, we are lacking some useful muon parameters that are used in processing LST-1 data and can be beneficial for subsequent analysis. I think it would be good to have them in ctapipe because we will need to use them in calibpipe for the derivation of calibration coefficients. For example, such muon metrics as:

  • ring_size and size_outside - the sum of the photoelectrons in the ring area, defined as a region dist_mask = (R-0.25R; R+0.25R), and outside of it.
  • mean_pixel_charge_around_ring - average pixel charge in pixels surrounding the outer part of the ring
  • radial_stdev - standard deviation of (cleaned) light distribution along ring radius
  • radial_skewness - skewness of (cleaned) light distribution along ring radius
  • radial_excess_kurtosis - excess kurtosis of (cleaned) light distribution along ring radius
  • num_pixels_in_ring - number of pixels in the integration area dist_mask

Taking the above into account, I would like to:

  • Add methods for calculating these parameters to the module ctapipe.image.muon.features (following already implemented functionality in the lstchain).
  • Add appropriate fields to the MuonParameterContainers to store the new parameters.
  • Implement calculation of these parameters inside MuonProcessor._calculate_muon_parameters()

Please comment in case something is missing or we should follow other direction. Otherwise I can start to create corresponding PRs and implement these features.

@maxnoe
Copy link
Member

maxnoe commented Dec 3, 2024

ring_size and size_outside - the sum of the photoelectrons in the ring area, defined as a region dist_mask = (R-0.25R; R+0.25R), and outside of it.

We have something that is closely related: intensity_ratio_inside_ring:

def intensity_ratio_inside_ring(
pixel_x, pixel_y, weights, radius, center_x, center_y, width
):
"""
Calculate the ratio of the photons inside a given ring with
coordinates (center_x, center_y), radius and width.
The ring is assumed to be in [radius - 0.5 * width, radius + 0.5 * width]

But other than that, sounds good!

@jstvdk
Copy link
Contributor Author

jstvdk commented Dec 3, 2024

ring_size and size_outside - the sum of the photoelectrons in the ring area, defined as a region dist_mask = (R-0.25R; R+0.25R), and outside of it.

We have something that is closely related: intensity_ratio_inside_ring:

Thanks for the comment, indeed this intensity_ratio_inside_ring looks good to isolate pure muon ring events apart from contaminated rings, which can currently partially be done by parameter size_outside in lstchain.
But apart from this, we still will need ring_size parameter for some of the optical_efficiency studies.

But other than that, sounds good!

Cool, then I am starting to work on it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants