Page History
...
Code Block | ||
---|---|---|
| ||
from psana_test import obj2str, epicsPvToStr def getPsanaState(event, configStore, epicsStore): evtDict = {} cfgDict = {} epicsDict = {} for key in event.keys(): if key.type() is None: continue obj = event.get(key.type(), key.src(), key.key()) if (obj is None): continue if not hasattr(obj,'TypeId'): continue evtDict[str(key)]=obj2str(obj) for key in configStore.keys(): if key.type() is None: continue obj = configStore.get(key.type(), key.src()) if (obj is None): continue if not hasattr(obj,'TypeId'): continue cfgDict[str(key)]=obj2str(obj) for pvName in epicsStore.pvNames(): pv = epicsStore.getPV(pvName) if not pv: continue epicsDict[pvName] = epicsPvToStr(pv) return evtDict, cfgDict, epicsDict |
Package TimeTool
Modules for analyzing recorded data from a timetool camera setup. The timetool camera measures the time difference between laser and FEL in one of two methods:
- spatial encoding, where the X-rays change the reflectivity of a material and the laser probesthat change by the incident angle of its wavefront; or
- spectral encoding, where the X-rays change the transmission of a material and the chirped laser probes it by a change in the spectral components of the transmitted laser.
Below the package modules are described. The package includes sample configuration files that describe all the options. From a psana release directory, users are encouraged to add the TimeTool package to obtain the latest source. For instance:
Code Block |
---|
newrel ana-current myrel
cd myrel
kinit # get ticket to check out package from svn repository
addpkg TimeTool
sit_setup
scons
# now examine the files in TimeTool/data: sxr_timetool.cfg sxr_timetool_setup.cfg timetool_setup.py xpp_timetool.cfg xpptut.cfg |
timetool_setup.py is a python script to calculate the digital filter weights.
Module Analyze
a module that analyzes the camera image by projecting a region of interest onto an axis and dividing by a reference projection acquired without the FEL. The resulting projection is processed by a digital filter which yields a peak at the location of the change in reflectivity/transmission. The resulting parameters are written into the psana event. The default behavior is to write these values in as a set of double's. Unfortunately double's are presently not visible to Python scripts or modules in the psana framework. In the next analysis release (ana-0.13.1) these values can also written as a set of ndarray's, each with one double. These will be visible on the Python side. This can be done by adding the option
put_ndarrays=True
to the config file. To use the features prior to that release, when adding the TimeTool package to your test release, do
addpkg TimeTool V00-00-03
Module Check
a module that retrieves results from the event for either the above module or from data recorded online.
Module Setup
a module that calculates the reference autocorrelation function from events without FEL for use in the digital filter construction.
References
- Psana User Manual - Old
- Psana Reference Manual - Old
- psana - Module Examples
- Migration from pyana to psana
- psana - Migration from pyana
...