Content
<toc>
This note describes the python modules which help to get calibrated geometry information for CSPAD2x2.
Calibration types
Type |
Shape |
Description |
---|---|---|
center |
(3, 2) |
x, y, z coordinates of the two 2x1 centers |
tilt |
(2,) |
tilt angle of the two 2x1s assuming rotation angle = 180 degrees |
beam_vector |
(3,) |
The same as for CSPAD |
filter |
(3,) |
The same as for CSPAD |
common_mode |
(3,) |
The same as for CSPAD |
pedestals |
(185, 388, 2) |
The same as for CSPAD |
pixel_status |
(185, 388, 2) |
The same as for CSPAD |
Functionality of modules
Class name |
Functionality |
---|---|
CSPAD2x2CalibPars.py |
Provides access to the calibration parameters through the DB |
CSPAD2x2CalibParsDefault.py |
Sets default values for all calibration types |
CSPAD2x2Examples.py |
Example of how to get calibrated data, get image, and plot it |
CSPAD2x2PixCoords.py |
Provides access to the pixel coordinate arrays |
PixCoords2x1.py |
Provides access to the pixel coordinate arrays for 2x1 sensor |
Interface
import CSPAD2x2PixCoords as pixcoor import CSPAD2x2CalibPars as calpars
Define path to the directory with calibration types and instantiate the calib
object
for run:int
number with access to the calibration constants from the list 'center', 'tilt', 'pedestals':
# Official path: path = '/reg/d/psdm/mec/mec73313/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.1/ # or local: # path = '/reg/neh/home1/dubrovin/LCLS/CSPad2x2Alignment/calib-cspad2x2-01-2013-02-13/' calib = calpars.CSPAD2x2CalibPars(path, run, ['center', 'tilt', 'pedestals'])
Instantiate the coord
object, using calibration parameters loaded ib the calib
object and get the X and Y pixel coordinate arrays of shape (185, 388, 2):
coord = pixcoor.CSPAD2x2PixCoords(calib) X,Y = coord.get_cspad2x2_pix_coordinate_arrays_pix()
Get array of calibration parameters of specific type:
peds_arr = calib.getCalibPars('pedestals')
Get CSPAD2x2 data array from hdf5 file:
import HDF5Methods as hm fname = '/reg/neh/home1/dubrovin/LCLS/HDF5Analysis-v01/PyCSPadImage/src/mec73313-r0180.h5 dsname = '/Configure:0000/Run:0000/CalibCycle:0000/CsPad2x2::ElementV1/MecTargetChamber.0:Cspad2x2.1/data' data_arr = hm.getDataSetForOneEvent(fname, dsname, event=0)
Get CSPAD2x2 data array from hdf5 file:
import GlobalGraphics as gg my_range = None my_range = (-10,40) gg.plotImageLarge(img2d, range=my_range) gg.plotSpectrum(img2d, range=my_range) gg.show()