Content
Introduction
Offline analysis software for LCLS data historically pass a few stages;
- myana – the first C-based package,
- pyana – python-based framework,
- psana – C++-based framework.
Currently, features of both frameworks are combined together under the unified - psana – framework, which works both with C++ and python modules.
This new framework allows data processing using advantage of both C++ and python modules. However, there is no full backward compatibility between new psana framework and pyana modules. Original pyana modules would not work directly in psana, they need to be changed. In this note we discuss the difference between pyana and python-psana modules and present the references to documentation, which help to migrate from pyana to python-psana.
Data types and access methods
LCLS data types have different implementation in pyana and python-psana. Auto-generated from source code documentation is available in
- https://pswww.slac.stanford.edu/swdoc/releases/ana-current/pyana-ref/html/ for pyana and
- https://pswww.slac.stanford.edu/swdoc/releases/ana-current/psana-ref/html/ for python-psana.
From this documentation it is clear that there is no full backward compatibility between these libraries; data types and access methods are different. Below we present a list of references with code examples for both frameworks.
Access to data in pyana and psana
Acqiris
pyana |
psana |
---|---|
|
|
|
|
access to data also differs... |
|
Bld
pyana |
psana |
---|---|
|
{{}} |
|
{{}} |
|
{{}} |
|
{{}} |
{{}} |
{{}} |
{{}} |
{{}} |
CSPad
pyana |
psana |
---|---|
{{}} |
{{}} |
CSPad2x2
pyana |
psana |
---|---|
{{}} |
{{}} |
Epics
pyana |
psana |
---|---|
{{}} |
{{}} |
Evr
pyana |
psana |
---|---|
{{}} |
{{}} |
Pnccd
pyana |
psana |
---|---|
{{}} |
{{}} |
Princeton
pyana |
psana |
---|---|
{{}} |
{{}} |
Ipimb
pyana |
psana |
---|---|
{{}} |
{{}} |
Timepix
pyana |
psana |
---|---|
{{}} |
{{}} |
pyana |
psana |
---|---|
{{}} |
{{}} |
Interactive psana
Interactive psana is available beginning from release ana-0.9.0.
Example of how to start interactive python-psana:
% ipython from psana import * help(psana.CsPad)
References
- Auto-generated documentation for pyana modules: https://pswww.slac.stanford.edu/swdoc/releases/ana-current/pyana-ref/html/
- Auto-generated documentation for python modules in psana: https://pswww.slac.stanford.edu/swdoc/releases/ana-current/psana-ref/html/