Skip to content

Implement Pyrrha functionalities in Irene - #953

Merged
jwaiton merged 69 commits into
next-exp:masterfrom
Ian0sborne:implement_pyrrha
Jul 24, 2026
Merged

Implement Pyrrha functionalities in Irene#953
jwaiton merged 69 commits into
next-exp:masterfrom
Ian0sborne:implement_pyrrha

Conversation

@Ian0sborne

Copy link
Copy Markdown
Contributor

This PR addresses the data processing issues cause by the SiPM thresholds in Irene. It retains standard Irene functionalities but also implements the new Pyrrha selection methods for SiPMs, which relies on a spatial selection rather than a charge threshold.

The user is free to decide how they would rather process the raw waveforms (using the old Irene or Pyrrha), as the config file allows for either method to be selected.

Comment thread invisible_cities/calib/calib_sensors_functions.py Outdated
Comment thread invisible_cities/calib/calib_sensors_functions.py Outdated

@gonzaponte gonzaponte left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will take a deeper look, but here is a first go.

Comment thread invisible_cities/calib/calib_sensors_functions.py Outdated
Comment thread invisible_cities/cities/components.py Outdated
Comment thread invisible_cities/reco/peak_functions.py Outdated
Comment thread invisible_cities/reco/peak_functions_test.py
Comment thread invisible_cities/reco/wfm_functions.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py
Comment thread invisible_cities/reco/wfm_functions.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py

@gonzaponte gonzaponte left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more comments. I still need to check a few things, but at least you can make some progress while I do that.

Comment thread invisible_cities/cities/components.py Outdated
Comment thread invisible_cities/cities/components.py Outdated
Comment thread invisible_cities/cities/components.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py
@Ian0sborne
Ian0sborne force-pushed the implement_pyrrha branch 2 times, most recently from 50398e0 to 7c42a53 Compare July 13, 2026 10:52

@gonzaponte gonzaponte left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm happy with this. As discussed, let's rebase and fix the problems that may arise there. After that, some cosmetics and we are done!

Ian0sborne and others added 22 commits July 16, 2026 15:59
Done for backwards compatibility, this function now mirrors that
of `calibrate_sipms()` before thresholding was removed.
This is the main controlling function, that decides which type of cut
will be applied.
This included the adjustment of the cuts, applying
`select_wfs_above_time_integrated_thr()` and the zeroing integration cut
before the waveform rebinning.
This is to avoid possible situations where `calibrate_sipms()` is used
outwith irene. `thr` is now a keyword argument to ensure that if a
threshold is applied it is done so with intent.
Initially this was done over the entire waveforms due to the reordering
of the cuts when applied in `build_sipm_responses()`. As suggested by
@Ian0sborne, it would be wise to move these cuts out of
`compute_and_write_pmaps()`

@gonzaponte gonzaponte left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is ready to be merged. Just some cosmetic changes. Please run pyflakes on the files you've modified to verify there aren't unused imports or variables.

Comment thread invisible_cities/cities/components.py Outdated
Comment thread invisible_cities/cities/components.py Outdated
Comment thread invisible_cities/cities/components.py Outdated
Comment thread invisible_cities/reco/wfm_functions.py Outdated
Comment thread invisible_cities/types/symbols.py Outdated

@gonzaponte gonzaponte left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

An important addition to the signal reconstruction, allowing for a more efficient and more correct storage of sipm information. Great job!

@jwaiton
jwaiton merged commit 6413296 into next-exp:master Jul 24, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants