[ESSreduce] common normalization by proton charge
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1
- Forks
- 3
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 17
Description
We have an implementation in ESSimaging for ORCA. We should generalise that and use it everywhere that it is needed. All workflows will need to extract time ranges from the proton charge log for either the entire run (powder) or sub runs (imaging, spectroscopy) and that is non-trivial. Note the comment in https://github.com/scipp/ess/blob/aa57eeb41c58a4fc5d62344636c8b3ce9fae74db/packages/essimaging/src/ess/tbl/orca.py#L57
A note on timings:
We want to sum the proton charge inside each time bin (defined by the duration of
each frame). However, the time dimension of the data recorded at the detector is
not the same time as the proton charge (which is when the protons hit the
target). We need to shift the proton charge time to account for the time it takes
for neutrons to travel from the target to the detector. Does this mean we cannot
do the normalization without computing time of flight?
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading packages/essimaging/src/ess/tbl/orca.py around the timing note and trace the existing ORCA normalization implementation. Then inspect how the other workflows obtain proton-charge logs and time ranges for full runs and sub-runs. Done means a shared normalization approach is usable across the required workflows while accounting for the timing relationship described in the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100