Skip to content

Dream workflow: units are weird after Lorentz correction #465

Open

Description

@nvaytet

Computing CorrectedDetector[SampleRun] in the dream geant4 workflow from the docs yields data with a strange unit:

dim='event',
content=DataArray(
          dims=(event: 1533595),
          data=float64[1.00000000000000074e-40*m^4*counts],
          coords={'event_time_zero':datetime64[ns], 'tof':float64[ns], 'wavelength':float64[Å],
                  'dspacing':float64[Å]})

According to the docstring, the corrections is computed as $d^4 \sin\theta$ (https://github.com/scipp/essdiffraction/blob/main/src/ess/powder/correction.py#L358).
This is indeed what is written in the gsas book:
Image
This is weird because the other formulas listed in that document seem to be dimensionless?
But d^4 is obviously not dimensionless...

Activity

  1. jl-wynen commented on Feb 3, 2026

    @jl-wynen
    Member

    @celinedurniak Are you aware of a possible definition of $d$ that is dimensionless? I tried to look through the source code of GSAS but it's quite dense and I couldn't find a definition for d.

  2. celinedurniak commented on Feb 3, 2026

    @celinedurniak
    Contributor
  3. jl-wynen commented on Feb 4, 2026

    @jl-wynen
    Member

    That paper shows the factor we use but does not seem to derive or explain it.

    Regardless, the unit will cancel after vanadium normalisation.

    But in general, I am confused about this correction. If we have identical binning in the sample and vanadium data, doesn't the correction cancel exactly? So do we only use it because we have different bins? How does this apply to using events in the sample and a histogram in vanadium?

  4. jokasimr commented on Feb 4, 2026

    @jokasimr
    Contributor

    I don't think the lorentz correction factor should be applied to the vanadium measurement,
    @celinedurniak can you verify that?

  5. jl-wynen commented on May 22, 2026

    @jl-wynen
    Member

    Why would that be the case?

    @celinedurniak ?

  6. jokasimr commented on May 22, 2026

    @jokasimr
    Contributor

    My understanding here is quite rough, but this is how I understand it:
    The Lorentz factor corrects for the time a Bragg peak is present in the detector (the time it satisfies the Bragg condition), different peaks will satisfy the Bragg condition for different amounts of time, and will therefore see different amounts of intensity during the measurement.
    But the scattering from the vanadium is incoherent, so it doesn't need to satisfy the Bragg condition to scatter to the detector, so there's no need to compensate for that effect.

    We can probably make the Lorentz factor dimensionless (normalizing by the maximum or something) because I think we're already missing constant factors in the expression anyway.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions