Content
Introduction
Offline analysis software for LCLS data historically pass a few stages;
- Unknown macro: {PCDS}– the first C-based package,
- Unknown macro: {PCDS}– python-based framework,
- Unknown macro: {PCDS}– C++-based framework.
Currently, features of both frameworks are combined together under the unified - Unknown macro: {PCDS}– 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 newpsana
framework andUnknown macro: {PCDS}modules. OriginalUnknown macro: {PCDS}modules would not work directly inpsana
, they need to be changed. In this note we discuss the difference betweenUnknown macro: {PCDS}and python-Unknown macro: {PCDS}modules and present the references to documentation, which help to migrate fromUnknown macro: {PCDS}to python-Unknown macro: {PCDS}.
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/