Plans and Data Collection

Overview

The nabs module contains general data collection support for the LCLS hutches. This relies entirely on the upstream bluesky support for running scans and on the DAQ group’s infrastructure for collecting and event-matching data at high rates.

Implementation

The bluesky module features a bluesky.preprocessors.plan_mutator concept, which allows us to intercept messages and modify what execution instructions the run engine receives. In this way, we can “magically” include DAQ support in any existing bluesky plan in a standardized way.

See nabs.preprocessors for the various magic methods we use to hook the DAQ into any bluesky plan.

Selected Plans

See nabs.plans for a full listing of these functions and their API. This section will draw attention to the most useful plans and examples.

daq_count

Take repeated DAQ runs with no motors.

daq_scan

Scan through a multi-motor (start, end, num) trajectory with DAQ support.

daq_list_scan

Scan through a multi-motor list trajectory with DAQ support.

daq_delay_scan

Scan a laser delay timing motor with DAQ support.