You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

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

Access to data in pyana and psana

Acqiris

pyana

psana

pdsdata.acqiris

Psana.Acqiris

config = env.getConfig(xtc.TypeId.Type.Id_AcqConfig, self.m_src)

config = env.configStore().get("Psana::Acqiris::Config", self.m_src)

acqData = evt.get(xtc.TypeId.Type.Id_AcqWaveform, self.m_src)

acqData = evt.get("Psana::Acqiris::DataDesc", self.m_src).data_list()

access to data also differs...

 

Bld

pyana

psana

data = evt.get(xtc.TypeId.Type.Id_FEEGasDetEnergy, self.m_src)

{{}}

data = evt.get(xtc.TypeId.Type.Id_EBeam, self.m_src)

{{}}

data = evt.get(xtc.TypeId.Type.Id_PhaseCavity, self.m_src)

{{}}

data = evt.get(xtc.TypeId.Type.Id_GMD, self.m_src)

{{}}

{{}}

{{}}

{{}}

{{}}

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

  • No labels