-
Notifications
You must be signed in to change notification settings - Fork 1
Distinguish between raw and parsed choppers #242
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
Conversation
So how did the workflow work so far? Have chopper params always been set by hand (using the "incorrect" type)? |
I think so. I don't see any other way that would have worked. In particular for DREAM, we never (to my knowledge) used nexus files, only a hard coded list of choppers. |
| ) -> Choppers[RunType]: | ||
| """Convert the NeXus representation of a chopper to ours.""" | ||
| return Choppers[RunType]( | ||
| ) -> RawChoppers[RunType]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The tof workflow incorrectly assumes that loaded Choppers are DiskChopper objects.
So how did the workflow work so far? Have chopper params always been set by hand (using the "incorrect" type)?
I think so. I don't see any other way that would have worked. In particular for DREAM, we never (to my knowledge) used nexus files, only a hard coded list of choppers.
I think this is correct, we read and used choppers from nexus for the TBL but in that file, the list of choppers was empty, so we then just built a LUT without choppers.


The tof workflow incorrectly assumes that loaded
ChoppersareDiskChopperobjects. In reality, they areDataGroups. This means that the tof workflow fails at duringcompute. This PR splits theChopperstype into two. One for the nested data groups loaded from NeXus and one for processedDiskChopperobjects. There is no provider to connect the two because that is a complicated process that involves finding plateaus and extracting scalar quantities from the NeXus data. See https://scipp.github.io/scippneutron/user-guide/chopper/processing-nexus-choppers.htmlIf the data is completely flat, this can be simple. E.g., for the simulated BIFROST data, we can simply do this: