Alignment procedure
Alignment procedure for CSPAD2x2 is very similar to CSPAD alignment for quads described in
CSPAD Geometry and Alignment.
The only difference is that CSPAD2x2 has only two 2x1 sensors, but with different memory model as explained below.
Optical measurements
Photos and charts with numeration of corners in otical measurements:
Metrology table
Metrolody files from different optical measurements are collected in directories with specific dates under
<PATHREPO>/detector/alignment/cspad2x2/
Example of the 1-st metrology table in xlsx
format: Metrology-140ks-Feb13-2013.xlsx
The xlsx
file is converted to tables in text format for 6 CSPad2x2 detectors:
- CSPad2x2-1.txt Q133 D7A16
- CSPad2x2-2.txt Q110 D3A14
- CSPad2x2-3.txt Q111 D12A18
- CSPad2x2-4.txt Q135 D19A19
- CSPad2x2-5.txt Q022 D15A15
- CSPad2x2-6.txt Q157 Used in Run 6
Calibration types
In 2014 new universal detector geometry software is implemented and documented in the Detector Geometry page. In this approach detector geometry calibration information is located in a single file of type
geometry
- contains hierarchical description of all detector components; for example for CSPAD2x2 it has sensors' location and rotation in the detector, detector - in the setup, etc.
Currently all psana modules which deal with image and pixel coordinates can work with calibration type geometry
.
In earlier version of software, CSPAD2x2 geometry is defined by the two calibration types:
center
- x, y, z center position for each two 2x1 in the detector. Obtained from optical measurement.tilt
- two 2x1-tilt angle for the detector in fractional degree. Obtained from optical measurement.
Calibration types center
and tilt
are deprecated and supported for backward compatibility.
Type geometry
is used by default in all current applications.
Quality check and alignment parameters
2013-02-13
CSPAD2x2-1 Q133 D7A16
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-01-2013-02-13/2013-02-13-CSPAD2X2-1-MEC-Metrology.txt
Quality check
segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) segm: 0 20902 20909 -2 5 -43538 -43539 1 0 -0.00197 48297 48297 0 -7 1 segm: 1 20902 20906 -2 2 -43538 -43538 0 0 -0.00000 48296 48296 0 -4 0 Old version of quality check: pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) pair: 0 20909 20902 2 -5 43538 43539 0 1 -0.00006 -0.00329 48297 48297 0 7 -1 pair: 1 20906 20902 2 -2 43538 43538 0 0 0.00000 0.00000 48296 48296 0 4 0
Calibration files
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-01-2013-02-13/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.1/
geometry/1-end.data
center/1-end.data
tilt/1-end.data
2013-02-13
CSPAD2x2-2 Q110 D3A14
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-02-2013-02-13/2013-02-13-CSPAD2X2-2-MEC-Metrology.txt
Quality check
segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) segm: 0 20896 20905 -5 4 -43536 -43536 -2 -2 0.00066 48294 48291 3 -9 0 segm: 1 20905 20905 22 22 -43540 -43536 6 10 -0.02895 48299 48294 5 0 -4 Old version of quality check: pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) pair: 0 20905 20896 5 -4 43536 43536 -2 -2 0.00001 0.00066 48291 48294 -3 9 0 pair: 1 20905 20905 -22 -22 43540 43536 10 6 -0.00051 -0.02895 48294 48299 -5 0 4
Calibration file
<PATHREPO>/detector/alignment/cspad2x2/
calib-cspad2x2-02-2013-02-13/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.2/geometry/0-end.data
2013-02-13 CSPAD2x2-3 Q111 D12A18
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-03-2013-02-13/2013-02-13-CSPAD2X2-3-MEC-Metrology.txt
Quality check
segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) segm: 0 20908 20907 5 4 -43540 -43545 5 0 -0.00592 48301 48302 -1 1 5 segm: 1 20907 20904 -421 -424 -43538 -43538 -203 -203 0.55599 48299 48299 0 3 0 Old version of quality check: pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) pair: 0 20907 20908 -5 -4 43540 43545 0 5 -0.00005 -0.00263 48302 48301 1 -1 -5 pair: 1 20904 20907 421 424 43538 43538 -203 -203 0.00970 0.55601 48299 48299 0 -3 0
Calibration file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-03-2013-02-13/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.3/geometry/0-end.data
2013-02-13
CSPAD2x2-4 Q135 D19A19
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-04-2013-02-13/2013-02-13-CSPAD2X2-4-MEC-Metrology.txt
Quality check
segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) segm: 0 20905 20906 8 9 -43540 -43540 3 3 -0.01119 48299 48297 2 -1 0 segm: 1 20898 20908 12 22 -43541 -43538 9 12 -0.02237 48295 48299 -4 -10 -3 Old version of quality check: pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) pair: 0 20906 20905 -8 -9 43540 43540 3 3 -0.00020 -0.01119 48297 48299 -2 1 0 pair: 1 20908 20898 -12 -22 43541 43538 12 9 -0.00039 -0.02237 48299 48295 4 10 3
Calibration file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-04-2013-02-13/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.4/geometry/0-end.data
2013-02-13
CSPAD2x2-5 Q022 D15A15
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/
calib-cspad2x2-05-2013-02-13/2013-02-13-CSPAD2X2-5-MEC-Metrology.txt
Quality check
segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) segm: 0 20904 20904 -2 -2 -43536 -43536 -1 -1 0.00263 48294 48294 0 0 0 segm: 1 20909 20908 -122 -123 -43540 -43545 -56 -61 0.16119 48302 48302 0 1 5 Old version of quality check: pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) pair: 0 20904 20904 2 2 43536 43536 -1 -1 0.00005 0.00263 48294 48294 0 0 0 pair: 1 20908 20909 122 123 43540 43545 -61 -56 0.00281 0.16119 48302 48302 0 -1 -5
Calibration file
calib-cspad2x2-05-2013-02-13/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.5/geometry/0-end.data<PATHREPO>/detector/alignment/cspad2x2/
2013-02-13
CSPAD2x2-6 Q157
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/
calib-cspad2x2-06-2013-02-13/2013-02-13-CSPAD2X2-6-MEC-Metrology.txt
Quality check
segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) segm: 0 20900 20903 -59 -56 -43541 -43539 -29 -27 0.07567 48298 48297 1 -3 -2 segm: 1 20977 20979 -49 -47 -43707 -43705 -22 -20 0.06292 48478 48482 -4 -2 -2 Old version of quality check: pair: S1 S2 dS1 dS2 L1 L2 dL1 dL2 <dS/L> angle(deg) D1 D2 dD d(dS) d(dL) pair: 0 20903 20900 59 56 43541 43539 -27 -29 0.00132 0.07567 48296 48297 -1 3 2 pair: 1 20979 20977 49 47 43707 43705 -20 -22 0.00110 0.06292 48481 48477 4 2 2
Calibration file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-06-2013-02-13/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.0/geometry/0-end.data
2014-04-25 CSPAD2X2-3 (1.0 SN07 D12A18)
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/
calib-cspad2x2-03-2014-04-25/2014-04-25-CSPAD2X2-3-MEC-Metrology.txt
Original metrology file from Gabriel Blaj: 2014-04-25-CSPAD2X2-3-MEC-Metrology.xlsx
This should be used for any experiment AFTER April 25th 2014 (until further notice).
Quality check
Quality check in XY plane: segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) segm: 0 20979 20982 0 3 -43695 -43689 -2 4 -0.00197 48468 48468 0 -3 -6 segm: 1 20981 20981 123 123 -43701 -43695 51 57 -0.16127 48478 48469 9 0 -6 Quality check in Z: segm: SA LA XSize YSize dZS1 dZS2 dZL1 dZL2 dZSA dZLA ddZS ddZL dZX dZY angXZ(deg) angYZ(deg) dz3(um) segm: 0 20980 -43692 43692 20980 18 5 -2 -15 11 -8 13 13 -8 11 -0.01049 0.03004 -13.001 segm: 1 20981 -43698 43698 20981 -4 -8 0 -4 -6 -2 4 4 -2 -6 -0.00262 -0.01639 -4.000
Calibration file
calib-cspad2x2-03-2014-04-25/calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.3/geometry/0-end.data<PATHREPO>/detector/alignment/cspad2x2/
2015-04-02 CSPAD2X2-3 (1.0 SN07 D12A18)
Note from Gabriel and Philip
Philip and I inspected the CSPAD 140Ks that we received last week (CSPAD 1,2,3,5):
Metrology file
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-03-2015-04-02/2015-04-02-CSPAD2X2-3-MEC-Metrology.txt
<PATHREPO>/detector/alignment/cspad2x2/calib-cspad2x2-03-2015-04-02/2015-04-02-CSPAD2X2-3-MEC-Metrology.xlsx
Quality check
2015-04-02 13:40:57 (info) CalibManager.GUIMetrology: Quality check in X-Y plane: segm: S1 S2 dS1 dS2 L1 L2 dL1 dL2 angle(deg) D1 D2 dD d(dS) d(dL) Quad 0 segm: 0 20981 20978 -33 -36 -43703 -43708 -17 -22 0.04523 48482 48477 5 3 5 segm: 1 20978 20974 -152 -156 -43707 -43702 -73 -68 0.20189 48474 48480 -6 4 -5 2015-04-02 13:40:57 (info) CalibManager.GUIMetrology: Quality check in Z: segm: SA LA XSize YSize dZS1 dZS2 dZL1 dZL2 dZSA dZLA ddZS ddZL dZX dZY angXZ(deg) angYZ(deg) dz3(um) Quad 0 segm: 0 20979 -43705 43705 20979 -1 31 -37 -5 15 -21 -32 -32 -21 15 -0.02753 0.04097 32.009 segm: 1 20976 -43704 43704 20976 -28 -38 5 -5 -33 0 10 10 0 -33 0.00000 -0.09014 -10.007
Calibration file
/alignment/cspad2x2/<PATHREPO>/detector
calib-cspad2x2-03-2015-04-02/
calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.3/
geometry/0-end.data
Calibration files
In archive
- All files for CSPAD2x2 alignment are stored under directory
/alignment/cspad2x2//reg/g/psdm/detector
- Files named as
*-Metrology.xlsx
and*-Metrology.txt
are original metrology and its text version. - Calibration files are located under
<PATHREPO>
/detector/alignment/cspad2x2/calib/
directory. - Calibration files can be deployed in the experimental calib store using file manager in
Calibration Management Tool
In calib store
Example of the path to calibration files in the experimental calib store
<PATH>/mec/mec73313/calib/CsPad2x2::CalibV1/ MecTargetChamber.0:Cspad2x2.1/<calib-type>/0-end.data ... MecTargetChamber.0:Cspad2x2.1/<calib-type>/0-end.data
where <type> stands for geometry, tilt, and center.
Known detectors
on 2016-06-15:
0 : CxiDg2.0:Cspad2x2.0 1 : CxiDg2.0:Cspad2x2.1 2 : CxiDg3.0:Cspad2x2.0 3 : CxiSc1.0:Cspad2x2.0 4 : CxiSc2.0:Cspad2x2.0 5 : CxiSc2.0:Cspad2x2.1 6 : CxiSc2.0:Cspad2x2.2 7 : CxiSc2.0:Cspad2x2.3 8 : CxiSc2.0:Cspad2x2.4 9 : CxiSc2.0:Cspad2x2.5 10 : CxiSc2.0:Cspad2x2.6 11 : CxiSc2.0:Cspad2x2.7 12 : CxiSc2.0:Cspad2x2.8 13 : CxiSc2.0:Cspad2x2.9 14 : MecEndstation.0:Cspad2x2.6 15 : MecTargetChamber.0:Cspad2x2.0 16 : MecTargetChamber.0:Cspad2x2.1 17 : MecTargetChamber.0:Cspad2x2.2 18 : MecTargetChamber.0:Cspad2x2.3 19 : MecTargetChamber.0:Cspad2x2.4 20 : MecTargetChamber.0:Cspad2x2.5 21 : SxrBeamline.0:Cspad2x2.2 22 : SxrBeamline.0:Cspad2x2.3 23 : XcsEndstation.0:Cspad2x2.0 24 : XcsEndstation.0:Cspad2x2.1 25 : XcsEndstation.0:Cspad2x2.2 26 : XcsEndstation.0:Cspad2x2.3 27 : XcsEndstation.0:Cspad2x2.4 28 : XppGon.0:Cspad2x2.0 29 : XppGon.0:Cspad2x2.1 30 : XppGon.0:Cspad2x2.2 31 : XppGon.0:Cspad2x2.3 32 : XppGon.0:Cspad2x2.4
Software
Access interface to any detector data and calibration parameters is implemented in Python Package Detector.
CSPAD2x2 memory data model
In contrast to CSPAD which data array shape is (N, 185, 388), the CSPAD2x2 data array has a shape (185, 388, 2); the memory pointer increment by 1 swaps the 2x1 sensor. The (raw,column)=(0,0) is located in corners 4 and 8 of optical measurement scheme for two 2x1 sensors, respectively.
Conversion between these data formats can be done in Python by methods
arrTwo2x1 = data2x2ToTwo2x1(asData2x2) asData2x2 = two2x1ToData2x2(arrTwo2x1)
as described in module-PSCalib.GeometryObject
Geometry access
In 2014 new universal detector geometry software is implemented and documented in the Detector Geometry page. In this approach detector geometry calibration information is collected in a single file of type
- geometry
which contains hierarchical description of all detector components. For example for CSPAD it has sensors' location and rotation in the quads, quads - in the detector, detector - in the setup, etc.
By default these files reside under the calib directory with full path like
- /reg/d/psdm/<instrument>/<experiment>/calib/<calib-soft-version>/<data-source>/geometry/<run-range>.data
Whenever necessary image can be generated by the psana Module CSPadPixCoords::CSPad2x2ImageProducer, which access geometry calibration data automatically, generates 2-d image and saves it in the event store for further processing.
Python modules for CSPAD2x2 geometry
Detector geometry software, described in Detector Geometry, has a Python interface which is recommended to use in new code development.
Alternatively, Python modules for CSPAD2x2 geometry are available in the package PyCSPadImage documented in CSPAD pixel coordinates and image producer in Python. They provides an interface for getting
Calibration parameters from DB and local directory,
Pixel coordinates,
Image producer
References
- Calibration Management Tool
- Package Detector
- Detector Geometry
- CSPAD Alignment
- CSPAD Geometry and Alignment
- CSPAD pixel coordinates and image producer in Python (older version CSPAD image producer in Python )
Deprecated
C++ classes and modules for psana
data types are implemented in the package pdscalibdata as CsPad2x2* modules:
- CsPad2x2CenterV1
- CsPad2x2TiltV1
- CsPad2x2PedestalsV1
- CsPad2x2PixelGainV1
- CsPad2x2PixelStatusV1
Access methods are implemented in the package PSCalib in CSPad2x2CalibPars module.
Example of acess is in PSCalib/test/ex_cspad2x2_calib_pars.cpp.
Automated access to the cspad2x2 geometry parameters is implemented in packages:
- Package CSPadPixCoords generates and returns the CSPad2x2 pixel coordinates, taking into account geometry alignment parameters, if available in the expected place under /reg/d/psdm/<instrument>/<experiment>/calib directory.
- Module CSPadPixCoords::CSPad2x2ImageProducer produces CSPad2x2 image, accounting for correct geometry, if available.
Calibration files
/alignment/cspad2x2/<PATHREPO>/detector
calib-cspad2x2-03-2015-04-02/
calib/CsPad2x2::CalibV1/MecTargetChamber.0:Cspad2x2.3/
center/0-end.data
tilt/0-end.data
References
<PATHREPO>
- explanation of this path and <PATH>