Page History
...
Code Block | ||||
---|---|---|---|---|
| ||||
O'Grady, Paul Christopher <cpo@slac.stanford.edu> 2019-02-01, 11:39 AM Hi Mikhail and Chuck, For developing the area detector det xface I created a jungfrau xtc2 file using Eliseo’s translation scripts: ~cpo/git/lcls2/psana/psana/dgramPort/jungfrau.xtc2 Instructions for running his translator are on this page: https://github.com/slac-lcls/lcls2/tree/master/psana/psana/dgramPort slac-lcls/lcls2 github.com Contribute to slac-lcls/lcls2 development by creating an account on GitHub. The python script below dumps configuration information and event data. I think the two goals should be: - have the script below be able to call a psalg C++ det.calib (via cython?) - the drp be able to use the psalg C++ as well chris from psana import DataSource ds = DataSource('jungfrau.xtc2') run = next(ds.runs()) dg_cfg = run.configs[0] print('Found cfg version',dg_cfg.software.myjungfrau.cfg.version) print('Found raw version',dg_cfg.software.myjungfrau.raw.version) print('Config number of pixels:',dg_cfg.myjungfrau.cfg.numPixels) for evt in ds.events(): dg = evt._dgrams[0] print(dg.myjungfrau.raw.frame.shape) ==== - the drp be able to use the psalg C++ as well Thinking about it, I think the way to start might be for me to give you some C++ code that “simulates” what the drp will give you: a configure datagram and event data. I think Chuck and I did this with the HSD. After this “drp” version works, we think about the python wrapping, I guess. chris |
Code Block | ||||
---|---|---|---|---|
| ||||
O'Grady, Paul Christopher <cpo@slac.stanford.edu>
2019-02-04, 7:32 PMChun Hong Yoon <yoon82@stanford.edu>;Dubrovin, Mikhail
Mikhail, Chuck,
I committed some c++ code to read the jungfrau xtc2 file and dump out
information from configure and events. I suspect this will be useful
for area detector development because this detector is different from
HSD: it doesn’t have “opaque” data, just fundamental types (int, float,
array...). That means the c++ drp code has to loop over those
fundamental types (which this code does).
Mostly you need to look at the 20 lines following the command “// get
data out of the configure transition”, as well as the 15-line “dump()”
routine, since other stuff will be hidden from you in the DRP. Might be
most efficient if we discuss in-person.
It is in xtcdata/xtcdata/app/jungfrau.cc. I didn’t officially “install”
the binary, since it’s just crude example code, so it’s not in the
PATH, so you’ll have to run it from the xtcdata/build directory like
this:
xtcdata/app/jungfrau -f ~cpo/git/lcls2/psana/psana/dgramPort/jungfrau.xtc2 -n 3
It will take some patience to figure out the best patterns to handle the
area detectors (since it is different than the opaque HSD data). But I
believe the ideas are solid, as best I can tell.
chris |
Code Block | ||
---|---|---|
| ||
/reg/neh/home/cpo/git/lcls2/psana/psana/dgramPort/jungfrau.xtc2 lcls2/xtcdata/xtcdata/app/jungfrau.cc - cpo lcls2/psalg/psalg/tests/test_hsd.cc - cpo + chuck lcls2/psalg/psalg/tests/test_xtc_data.cc - my |
XTC2 production
2019-07-24 two xtc2 files were generated in similar conditions for cspad and jungfrau, using examples
in lcls1 environmant:
~/LCLS/con-lcls2/ex-conv-xtc-00-parse_lcls1_data.py
similar to: https://github.com/slac-lcls/lcls2/blob/master/psana/psana/dgramPort/parse_lcls1_data.py
in lcls2 environmant:
~/LCLS/con-lcls2/ex-conv-xtc-01-translate_xtc_json.py
similar to: https://github.com/slac-lcls/lcls2/blob/master/psana/psana/dgramPort/translate_xtc_json.py
converted *.xtc2 files are moved to /reg/g/psdm/detector/data2_test/xtc/
XTC2 processing issue
2019-07-24 Now command like
- xtcreader -f /reg/g/psdm/detector/data2_test/xtc/data-xpptut15-r0430-e000010-jungfrau.xtc2 - works,
- xtcreader -f /reg/g/psdm/detector/data2_test/xtc/data-cxid9114-r0089-e000010-cspad.xtc2 - does not work for presumably corrupted data.
The same issue is seen in
psalg/tests/test_xtc_data.c, running as
test_xtc_data 11
Q to cpo: how to treat any problem with xtc corrupted data within current definition of all xtc objects?
References
- 2019-01-29 cpo: Detector Interface Proposalxtcreader -f /reg/g/psdm/detector/data2_test/xtc/data-cxid9114-r0089-e000010-cspad.xtc2xtcreader -f /reg/g/psdm/detector/data2_test/xtc/data-xpptut15-r0430-e000010-jungfrau.xtc2in lcls1 environmant:n lcls1 environmant:ex-conv-xtc-01-translate_xtc_json.py
Overview
Content Tools