4. Bunch Pattern Decoding

If desired, the FastADC can receive and decode the bunch pattern to know which bunches in a train are going to a specific beamline and/or have a pulse probe laser (PPL). Users can also specify a Max/Min of acceptable bunch charges. When enable and configure, the Bunch IDs and Charges are saved in the DAQ.

In addition, it is also possible to configure the FastADC to use this information to do Automatic Peak Integration or Conditional and/or Dynamic Raw acquisition.

4.1. Settings

The decoding configuration is done in the device node Bunch Pattern Settings. The source of the X-ray bunch pattern to decode (Light Source parameter) can be any of SASE1, SASE2, SASE3, SASE1+3 or None. If bunch pattern decoding is enabled and None is selected, only the PPL bunch pattern will be considered. The Bunch pattern logic option defines whether a bunch ID is considered when there are bunches in both the X-ray beam and the PPL patterns (AND) or when there are bunches in either (OR).

Maximum and Minimum bunch charges can also be define.

If configure, during acquisition the Karabo device will update the First Bunch ID and Number of Bunches parameters in the current Train.

_images/bunchPattern_settings.png

Bunch pattern settings in the FastADC and correspondent Output channel.

4.2. Output

An output channel is also available, wherein a list containing the of bunch Ids determined by the conditions specified in the “Bunch Pattern Settings” node are output. This is DAQ compatible, but if DAQ recording is required it must be requested separately from the slow data of the device (request “<DeviceId>:bunchPatternNode.output” to be added to the data group.

4.3. FastADC Calibration

To use the features described in the following sections, it is require to enable and configure the Bunch Pattern and calibrate the FastADC. This is done performing the following steps:

  1. Stop acquisition of device
  2. Set Raw Delay and all Peak Delay parameters to 0
  3. Configure the Bunch Pattern according to your requirements
  4. Configure the Pre Train Samples parameter if require (see Calibration for early bunches)
  5. Start acquisition. Take note of the value in the property Sample First Bunch
  6. Open the Karabo Trigger Middle Layer Device of the trigger used by the FastADC (check Board Configuration > Trigger Source property. When in doubt, contact Control and/or EEE colleagues)
  7. Configure Macro P-Event property to be Standard Trigger
  8. Change the Target Delay so that first peak sample (as desired for the peak integration) of the first bunch in the raw trace matches the Sample First Bunch value
_images/sampleFirstBunch.png

Pre Train Samples and Sample First Bunch parameter.

4.3.1. Calibration for early bunches

For bunches which are present at the very beginning of the train, like PPL pulses, calibrating the FastADC following the previous section will result in a raw trace with very few samples before the train. This might not be desirable for setups which require data before the train arrives or use a signal based baseline(s).

To surpass this, the FastADC parameter Pre Train Samples can be used to configure an offset number of samples to acquire before the train.

4.4. Automatic Peak Integration

Once the FastADC is calibrated (see previous section), channels can enable the Use the Bunch Pattern for peak computation feature. In this configuration, the FastADC automatically updates the Peak Integration parameters to integrate all the Bunches present in the Train that match the configuration of the Bunch Pattern.

The parameters Number of Pulses, Pulse Period and Pulse Delay are ignore by the device, since these will be updated by the hardware. The user only needs to specify:

  • how many samples per peak the device should consider
  • baseline configuration (see Baseline Configuration section)
_images/autoIntegrator_pars.png

Enable peak integration with the Bunch Pattern. Crossed are the parameters which are ignore in this setting

4.5. Conditional and/or Dynamic Raw acquisition

With the FastADC calibrated (see FastADC Calibration), the property Raw Data Acquisition can be set to Conditional, meaning that raw data will only be taken if there are bunches in the train which match the configuration of the Bunch Pattern (please note that this applies to all channels). This parameter can also be set to Never, in case the user is only interested in values from peak integration.

When Raw Dynamic trigger is true, raw data acquisition will always start at sample number (Sample First Bunch - Raw Delay), meaning that acquisition will have a fix relation (time wise) with the first bunch in the train. This is similar to use the dynamic trigger from the timing system.

Using these features have no affect in the Automatic Peak Integration.

_images/autoRaw.png

Conditional and Dynamic Raw Karabo properties