Skip to content

Phase 2: Time-resolved XES pipeline steps #87

Description

@lg345

Parent: #82

Scope

Register the time-resolved XES analysis steps and the full combine_runs reduction, enabling the complete pump-probe XES workflow through YAML.

Steps to register

Step name Source method Description
time_binning SpectroscopyAnalysis.time_binning Bin shots in time from delay stage + encoder + time tool
reduce_detector_temporal SpectroscopyAnalysis.reduce_detector_temporal Bin detector data into time bins
normalize_xes XESAnalysis.normalize_xes Area-normalize XES spectra
make_energy_axis XESAnalysis.make_energy_axis Generate energy axis from von Hamos geometry
droplet_reconstruction SpectroscopyAnalysis.droplet_reconstruction Reconstruct detector images from droplet sparse format

Reduction steps to register

Step name Source method Description
combine_runs XESAnalysis.combine_runs Sum spectra across runs, propagate uncertainties
normalize_combined Extracted from combine_runs Normalize combined laser-on/off spectra
compute_difference Extracted from combine_runs Compute normalized difference spectra

Example YAML pipeline section (time-resolved)

pipeline:
  - step: time_binning
    lxt_key: lxt_ttc
    fast_delay_key: encoder
    tt_correction_key: time_tool_correction
    bins: {min: -2.0, max: 10.0, points: 240}
  - step: filter_shots
    on: xray
    filter_key: ipm
    threshold: 1.0e4
  - step: union_shots
    on: timing_bin_indices
    filters: [simultaneous, laser]
  - step: separate_shots
    on: timing_bin_indices
    filters: [xray, laser]
  - step: union_shots
    on: epix_ROI_1
    filters: [simultaneous, laser]
  - step: separate_shots
    on: epix_ROI_1
    filters: [xray, laser]
  - step: reduce_detector_temporal
    on: epix_ROI_1.simultaneous_laser
    timing: timing_bin_indices.simultaneous_laser
  - step: reduce_detector_temporal
    on: epix_ROI_1.xray_not_laser
    timing: timing_bin_indices.xray_not_laser

reduction:
  - step: combine_runs
  - step: normalize_combined
    on: [summed_laser_off, summed_laser_on]
  - step: compute_difference
    on: [summed_laser_on_normalized, summed_laser_off_normalized]

Acceptance criteria

  • Full time-resolved XES pipeline runs from YAML
  • Results match current XESBatchAnalysisRotation.primary_analysis output
  • Energy axis correctly generated from von Hamos parameters in YAML

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions