Introduction

Psana has a simple python-script interface, which can be run online (in realtime), offline, and parallelized over many cores/machines both online and offline.  Once you have run the quick example below (we believe you should be able to run/understand it in <30 minutes) you can run a variety of "building block" examples here.

Quick Example (including Remote Graphics)

To do analysis with a psana python script execute the following commands.  This requires the ability to ssh to an LCLS unix account and the ability to open up a graphics window on your computer ("X-windows").  Two free options for graphics:We recommend the free NX Technology (for Mac or Windows) for improved performance, but XQuartz (Mac) or XWin32 (Windows) also works.  Replace "YOURACCOUNTNAME" in the first line below with your unix account name.

ssh -X pslogin.slac.stanford.edu -l YOURACCOUNTNAME
ssh -X psana

# If you don't know which shell you are using
# try both commands below to see which one succeeds
 
# USE THIS LINE IF YOUR SHELL IS "C-SHELL" (note the ".csh" at the end)
source /reg/g/psdm/etc/ana_env.csh
# USE THIS LINE IF YOUR SHELL IS "BASH" (note the ".sh" at the end)
source /reg/g/psdm/etc/ana_env.sh

cp /reg/g/psdm/tutorials/examplePython/firstExample.py firstExample.py
python firstExample.py

The 17-line ipsana.py script loops over 2 events and plots a CSPAD camera image with many applied calibration corrections, and geometry corrections for each of the detector panels. Close each image window to see the next one.  You can examine the script with the command "cat firstExample.py" or edit it with unix editors like emacs, vim, or vi.

Features

Some of the features of psana-python: