You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

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()

Code example

  • No labels