Common Features

DAQ epicsArch - Archived Data

You can add/remove any data you want in the epicsArchive data group readout. 

The path is /cds/group/pcds/dist/pds/<hutch>/misc

The main hutch file we use is epicsArch_<hutch>.txt. Its content mainly points at others files listing PVs to save when acquiring data.  Let's look at two features of this:

1. Adding a single variable to the file

Add a comment with a #

# Power meter at IM2K4

Add a pointer name of your choosing with *

*IM2K4_XrayPower

For the LCLS2 DAQ, you should also specify which protocol is used to access the PV:

Add the PV name specifying whether it is read using channel access (ca), or PV access (pva) at the end    

IM2K4:PPM:SPM:VOLT_RBV ca

For the LCLS1 DAQ, you only list the PV

IM2K4:PPM:SPM:VOLT_RBV

2. Add a whole file with a bunch of variables

You can make a file with a subset of PVs, give it a meaningful name like epicsArch_vmi.txt for all the vmi variables to record.  You can then reference that file with '<' in the main file as below.

# MPOD/VMI information
< epicsArch_vmi.txt

3. Generate an experiment epicsArch file from the questionnaire

In the pcds_conda environement, there is a script that allows to import the data from the ECS tab in the experiment questionnaire and automatically add it to the epicsArch files.

  1. Source pcds_conda (source pcds_conda)
  2. Run epicsarch-qs in dry-mode to check import: epicsarch-qs xppl1006821 --dry-run
  3. Run it for real: epicsarch-qs xppl1006821. One can add the --softlink option to automatically update the experiment-specific softlink that makes this experiment the current epicsArch experiment. This will overwrite the current link, so don't do that unless this is the experiment you want the epics data for at that time.

Full epicsarch-qs usage:

epicsarch-qs help
(pcds-5.9.1) [espov@psbuild-rhel7-02  ~]$ epicsarch-qs --help
usage: epicsarch-qs [-h] [--hutch HUTCH] [--path PATH] [--dry-run] [--level LEVEL] [--cds-items] [--softlink] [--link-path LINK_PATH]
                    experiment

Create an epicsArch file from the Quesionnaire

positional arguments:
  experiment            Experiment name to create the epicsArch file from. E.g.: xpplv6818

optional arguments:
  -h, --help            show this help message and exit
  --hutch HUTCH         Overrides hutch detection from the experiment name. E.g.: xpp
  --path PATH           Directory path where to create the epicsArch file. E.g.: /path/to/the/directory/
  --dry-run             Print to stdout what would be written in the archFile.
  --level LEVEL, -l LEVEL
                        Change the logging level, e.g. DEBUG to show the debug logging stream
  --cds-items           Pulls all data from CDS tab. E.g.: epicsarch-qs xppx1003221 --cds-items. This option will not automatically update
                        the archfile.
  --softlink, -sl       create softlink for experiment. This is run after the archfile has been updated/created.
  --link-path LINK_PATH, -sl_path LINK_PATH
                        Provide user with option to supply custom path for softlink. Defaults to: /cds/group/pcds/dist/pds/{}/misc/.


4. Check the epicsArch syntax

engineering_tools has a script called 'epicsArchChecker' that will check the passed in epicsArch (master) file for duplicate PVs, missing aliases and syntax correctness.

epicsArchChecker <filepath> [-s ]

filepath is the path to the epicsArch file you would like to check.

Adding -s which check of PVs are connected. Note that this check runs on the 'local' machine which is not necessarily on the same network as the epicsArch process will run on.

5. Add data from actual EPICS archiver to (smalldata) hdf5 file

LCLS-II only for now:

PVs passed in the epicsPV list in the producer configuration will be fetched from the epics archiver appliance and added to the smalldata h5 files, with its epics timestamp.

Example from RIX:

epicsPV = [
    "EM2K0:XGMD:ETM:01:Reading",
    "EM2K0:XGMD:ETM:02:Reading",
    "EM2K0:XGMD:HPS:milliJoulesPerPulse",
    "EM2K0:XGMD:HPS:AvgPulseIntensity",
]

LCLS2 DAQ

LCLS-II Data Acquisition and Analysis

LCLS1 DAQ

Online Analysis Tutorial (AMI) - presented at 2014 SSR/LCLS Users Meeting:  LCLS Data Analysis Workshop
DAQ Overview and Online Analysis - presented at 2010 SSRL/LCLS Users Meeting : LCLS Data Analysis Workshop
Online Analysis Design - Matt's presentation for Jan 2012 DAQ Meeting

DAQ Troubleshooting 

Trouble Shooting guide for scientists or first level responders.
Pedestals for detector correction

Operating the DAQ

AMI Online Monitoring

Python Scripting

  • No labels