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

Compare with Current View Page History

« Previous Version 4 Next »

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 new psana framework and
    Unknown macro: {PCDS}
    modules. Original
    Unknown macro: {PCDS}
    modules would not work directly in psana, they need to be changed. In this note we discuss the difference between
    Unknown macro: {PCDS}
    and python-
    Unknown macro: {PCDS}
    modules and present the references to documentation, which help to migrate from
    Unknown 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

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