Versions Compared

Key

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

cloak.toggle.type = text
cloak.toggle.open = +
cloak.toggle.close = -

A quick walk-through of the tools that exist for analysis of xtc files with python.
The main focus is on pyana, and the examples are from and for XPP primarily,
but may be useful examples to other experiments too.

...

Like the other frameworks, pyana is an executable that loops through the XTC file and calls all
requested user modules at certain transitions. All the analysts need to do is to fill in the
relevant functions in their user analysis module:

# useful imports import numpy as np import matplotlib.pyplot as plt from pypdsdata.xtc import TypeId class mymodule (object) : """Class whose instance will be used as a user analysis module. """ def __init__ ( self, source = "" threshold = "" ): """Class constructor. The parameters to the constructor are passed from pyana configuration file. If parameters do not have default values here then the must be defined in pyana.cfg. All parameters are passed as strings, convert to correct type before use. @param source name of device, format 'Det-ID|Dev-ID' @param threshold threshold value (remember to convert from string) """ self.source = source self.threshold = float(threshold) def beginjob( self, evt, env ) : """This method is called once at the beginning of the job. It should do a one-time initialization possible extracting values from event data (which is a Configure object) or environment. @param evt event data object @param env environment object """ pass def beginrun( self, evt, env ) : """This optional method is called if present at the beginning of the new run. @param evt event data object @param env environment object """ pass def begincalibcycle( self, evt, env ) : """This optional method is called if present at the beginning of the new calibration cycle. @param evt event data object @param env environment object """ pass def event( self, evt, env ) : """This method is called for every L1Accept transition. @param evt event data object @param env environment object """ pass def endcalibcycle( self, env ) : """This optional method is called if present at the end of the calibration cycle. @param env environment object """ pass def endrun( self, env ) : """This optional method is called if present at the end of the run. @param env environment object """ pass def endjob( self, env ) : """This method is called at the end of the job. It should do final cleanup, e.g. close all open files. @param env environment object """ pass
Cloak
Code Block
idkappe

Point detector delay scan

...