Giter Site home page Giter Site logo

xtc1to2's Introduction

Description

Converts xtc1 to xtc2 file

Installation

git clone --recurse-submodules [email protected]:monarin/xtc1to2.git $HOME/xtc1to2

Running

This example (flag_test=True) converts three events from lcls1 to lcls2 format. The output is ./out.xtc2.

Push Side:

ssh psana
source /reg/g/psdm/etc/psconda.sh
export PYTHONPATH=$HOME/xtc1to2:$PYTHONPATH
cd $HOME/xtc1to2/examples
python zmq_push.py

Pull Side:

ssh <same node as the push side>
source /cds/sw/ds/ana/conda2/manage/bin/psconda.sh
export PYTHONPATH=$HOME/xtc1to2:$PYTHONPATH
cd $HOME/xtc1to2/examples
python zmq_pull.py

Notes

There are many experiment-specific parameters (exp code, run number, detector names, etc.) that need to be changed in both zmq_push.py and zmq_pull.py. For this example, we need Photon Energy information. The python example below shows how we can obtain Photon Energy per shot in lcls1 environment.

Obtaining Photon Energy:

es = ps.ds.env().epicsStore()  
try:  
    md.small.wavelength = es.value('SIOC:SYS0:ML00:AO192')  
except:  
    md.small.wavelength = 0  
ebeamDet = psana.Detector('EBeam')  
ebeam = ebeamDet.get(ps.evt)  
try:  
    photonEnergy = ebeam.ebeamPhotonEnergy()  
    pulseEnergy = ebeam.ebeamL3Energy()  # MeV  
except:  
    photonEnergy = 0  
    pulseEnergy = 0  
    if md.small.wavelength > 0:  
        h = 6.626070e-34  # J.m  
        c = 2.99792458e8  # m/s  
        joulesPerEv = 1.602176621e-19  # J/eV  
        photonEnergy = (h / joulesPerEv * c) / (md.small.wavelength * 1e-9)  

xtc1to2's People

Contributors

carbonscott avatar monarin avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.