scipp / scipp/ess

[ESSreduce] common normalization by proton charge

Open
#551 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

essreduce
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.