Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
ami-local -l /reg/g/psdm/tutorials/ami2/random/ref_waveform.fc -b 1 -f interval=1 psana://exp=tmoc00118,run=222,dir=/cds/data/psdm/prj/public01/xtc

Running Multiple Independent Graphs

It is possible have a single ami instance run additional independent graphs by executing a command like this on one of the daq nodes (e.g. drp-srcf-cmp*) or control room machines like tmo-daq:

Code Block
ami-client -H {ami_manager_node} -g "my_unique_name_graph"

Note that the graph name given to the "-g" parameter must be unique (the default for ami is "graph", so don't use that one).  The correct hutch daq environment also has to be setup (e.g. "source /cds/group/pcds/dist/pds/tmo/scripts/setup_env.sh".  The "ami_manager_node" node name can be determined by looking at the settings in the daq .cnf file for the appropriate hutch (e.g. /cds/group/pcds/dist/pds/tmo/scripts/tmo.cnf for the tmo hutch). 

Event Filtering in AMI

Often an analysis wants to treat events differently based upon something in the data.  A common example is the presence of an eventcode, which may indicate the firing of a pump laser or some other condition.  If the selection logic is put into a PythonEditor box, then the editor box should return python's None object to indicate the event flow is to be terminated here; returning a value (even 0) causes the flow to continue with that value and possibly weighting your statistics in unexpected ways.  An example flowchart and PythonEditor box is shown below.  Other boxes can also handle filtering with their "conditional" attributes.

...