Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

(warning) This page includes material from PSDM space, due to that navigation on page does not work properly. To see original page go to psana - User Manual

Include Page
psana - User Manual
psana - User Manual

Table of Contents

Introduction

This document describes C++ analysis framework for LCLS and how users can make use of its features. Psana design borrows ideas from multitude of other framworks such as pyana, myana, BaBar framework, etc. It's main principles are summarized here:

  • support processing of both XTC and HDF5 data format
  • user code should be independent of specific data format
  • should be easy to use and extend for end users
  • support re-use of the existing analysis code
  • common simple configuration of user analysis code

This manual is accompanied by the Psana reference Manual which describes interfaces of the classes available in Psana.

Framework Architecture

The central part of the framework is a regular pre-built application (psana) which can load one or more user analysis modules which are also written in C++. The core application is responsible for the following tasks:

  • loading and initializing all user modules
  • Loading one of the input modules to read data from XTC or HDF5
  • calling appropriate methods of user modules based on the data being processed
  • providing access to data as set of C++ classes
  • providing other services such as histogramming to user modules

The core application have a number of configuration options which can be set or changed from configuration file or from a command line. If the same option appears both in configuration file and command line the command line value overrides value in the configuration file.