Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Important 2x1 features:

  • Number of rows x columns in 2x1 (as defined in DAQ) = 185 x 388.
  • Most of pixels have size 109.92 x 109.92 um*um.
  • Gap between two ASICS is covered by the two rows of elongated pixels with size 109.92 x 274.8 um*um.
  • Two versions of sensors have different dimensions between corners, so it is reasonable to define pixel coordinates w.r.t. the sensor center.

...

This quality check works well to catch significant typos in input table. In case of obvious typos input table can be corrected. When the quality check is passed successfully the alignment parameters are saved in deployed under the calib directory as explained below.

Alignment

...

of quads in the detector

For CSPad with fixed quad geometry (like in XPP) optical measurement of entire detector (should) produces complete information for geometry alignment.
For CSPad with moveable quads (like in CXI) quads relative position needs to be adjusted through the alignment parameters for quads. It is usually done using typical images with diffraction rings, wires or other shading objects:
Image Added Image Added Image Added

Although few algorithms of automatic quad alignment were tried, we did not find good generic way for automated quad tuning. Currently, the quad tuning parameters in marg_gap_shift and offset_corr are adjusted manually for runs with specific images.

Alignment parameters

The official place for CSPad alignment parameters is
/The official place for CSPad alignment parameters is
/reg/d/psdm/<INSTRUMENT>/<experiment>/calib/CsPad::Calib<VERSION>/<CSPad-name>/<type>/<run-range>.data
The file name consists of the run range followed by the .data, for example, 0-end.data, 11-end.data, 47-52.data, etc.

...

Code Block
x0q0 x1q0 x2q0 x3q0 x4q0 x5q0 x6q0 x7q0
x0q1 x1q1 x2q1 x3q1 x4q1 x5q1 x6q1 x7q1
x0q2 x1q2 x2q2 x3q2 x4q2 x5q2 x6q2 x7q2
x0q3 x1q3 x2q3 x3q3 x4q3 x5q3 x6q3 x7q3

y0q0 y1q0 y2q0 y3q0 y4q0 y5q0 y6q0 y7q0
y0q1 y1q1 y2q1 y3q1 y4q1 y5q1 y6q1 y7q1
y0q2 y1q2 y2q2 y3q2 y4q2 y5q2 y6q2 y7q2
y0q3 y1q3 y2q3 y3q3 y4q3 y5q3 y6q3 y7q3
                                       
z0q0 z1q0 z2q0 z3q0 z4q0 z5q0 z6q0 z7q0
z0q1 z1q1 z2q1 z3q1 z4q1 z5q1 z6q1 z7q1
z0q2 z1q2 z2q2 z3q2 z4q2 z5q2 z6q2 z7q2
z0q3 z1q3 z2q3 z3q3 z4q3 z5q3 z6q3 z7q3

center_corr

Tail of the path: center_corr/<run-range>.data
Parameters: x,y,z coordinate corrections of 8 2x1 centers in 4 quads in pixels:

Code Block

dx0q0 dx1q0 dx2q0 dx3q0 dx4q0 dx5q0 dx6q0 dx7q0
dx0q1 dx1q1 dx2q1 dx3q1 dx4q1 dx5q1 dx6q1 dx7q1
dx0q2 dx1q2 dx2q2 dx3q2 dx4q2 dx5q2 dx6q2 dx7q2
dx0q3 dx1q3 dx2q3 dx3q3 dx4q3 dx5q3 dx6q3 dx7q3
     	               	       	               
dy0q0 dy1q0 dy2q0 dy3q0 dy4q0 dy5q0 dy6q0 dy7q0
dy0q1 dy1q1 dy2q1 dy3q1 dy4q1 dy5q1 dy6q1 dy7q1
dy0q2 dy1q2 dy2q2 dy3q2 dy4q2 dy5q2 dy6q2 dy7q2
dy0q3 dy1q3 dy2q3 dy3q3 dy4q3 dy5q3 dy6q3 dy7q3
                                               
dz0q0 dz1q0 dz2q0 dz3q0 dz4q0 dz5q0 dz6q0 dz7q0
dz0q1 dz1q1 dz2q1 dz3q1 dz4q1 dz5q1 dz6q1 dz7q1
dz0q2 dz1q2 dz2q2 dz3q2 dz4q2 dz5q2 dz6q2 dz7q2
dz0q3 dz1q3 dz2q3 dz3q3 dz4q3 dz5q3 dz6q3 dz7q3

offset

Tail of the path: offset/<run-range>.data
Parameters: x,y,z coordinates of 4 quad "origins" in CSPad pixel matrix:

Code Block

xq0 xq1 xq2 xq3
yq0 yq1 yq2 yq3
zq0 zq1 zq2 zq3

offset_corr

Tail of the path: offset_corr/<run-range>.data
Parameters: x,y,z coordinate corrections of 4 quad "origins" in CSPad pixel matrix:

Code Block

dxq0 dxq1 dxq2 dxq3
dyq0 dyq1 dyq2 dyq3
dzq0 dzq1 dzq2 dzq3

marg_gap_shift

Tail of the path: marg_gap_shift/<run-range>.data
Parameters:

Code Block

        offset of 2x1s in quad (for tilt)
       /  offset of quads in entire image (for tilt)
      /     /     gaps
     /     /     /    shifts
    /     /     /    /
   XOffQ XOffD gapX shiftX
   YOffQ YOffD gapY shiftY
   ZOffQ ZOffD gapZ shiftZ

Typical values:

Code Block

   15 40 0 32
   15 40 0 32
    0  0 0  0

quad_rotation

Tail of the path: quad_rotation/<run-range>.data
Parameters: rotation angle of 4 quads in CSPad in n*90 degree:

Code Block

Aq0 Aq1 Aq2 Aq3

Typical values:

Code Block

180   90    0   270

Typical values:

Code Block

199.14   198.05   310.67    98.22   629.71   629.68   711.87   499.32
198.52   198.08   311.50    98.69   627.27   627.27   712.35   499.77
198.32   198.04   310.53    97.43   626.68   628.45   710.86   498.01
198.26   198.04   308.70    96.42   627.66   628.04   711.12   498.25

308.25    95.11   625.60   625.70   515.02   727.37   198.53   199.30
307.18    95.08   622.98   623.51   514.99   727.35   199.27   198.94
307.68    95.09   623.95   625.29   512.32   724.63   198.04   200.35
307.39    95.12   627.57   626.65   518.03   730.95   200.02   199.70

  0.31     0.12     0.05     0.12     0.28     0.24     0.40     0.27
  0.45     0.36     0.62     0.33     1.02     0.92     1.30     1.07
  0.23     0.22     0.11     0.15     0.24     0.20     0.60     0.42
  0.25     0.21     0.12     0.10     0.35     0.28     0.66     0.40

center_corr

Tail of the path: center_corr/<run-range>.data
Parameters: x,y,z coordinate corrections of 8 2x1 centers in 4 quads in pixels:

Code Block

dx0q0 dx1q0 dx2q0 dx3q0 dx4q0 dx5q0 dx6q0 dx7q0
dx0q1 dx1q1 dx2q1 dx3q1 dx4q1 dx5q1 dx6q1 dx7q1
dx0q2 dx1q2 dx2q2 dx3q2 dx4q2 dx5q2 dx6q2 dx7q2
dx0q3 dx1q3 dx2q3 dx3q3 dx4q3 dx5q3 dx6q3 dx7q3
     	               	       	               
dy0q0 dy1q0 dy2q0 dy3q0 dy4q0 dy5q0 dy6q0 dy7q0
dy0q1 dy1q1 dy2q1 dy3q1 dy4q1 dy5q1 dy6q1 dy7q1
dy0q2 dy1q2 dy2q2 dy3q2 dy4q2 dy5q2 dy6q2 dy7q2
dy0q3 dy1q3 dy2q3 dy3q3 dy4q3 dy5q3 dy6q3 dy7q3
                                               
dz0q0 dz1q0 dz2q0 dz3q0 dz4q0 dz5q0 dz6q0 dz7q0
dz0q1 dz1q1 dz2q1 dz3q1 dz4q1 dz5q1 dz6q1 dz7q1
dz0q2 dz1q2 dz2q2 dz3q2 dz4q2 dz5q2 dz6q2 dz7q2
dz0q3 dz1q3 dz2q3 dz3q3 dz4q3 dz5q3 dz6q3 dz7q3

Typical values:

Code Block

  0    0    0    1    1    0    1    0
  0    0    0    0    0    0   -1    0
  0    0    0    0    0    0    0    0
  0    0    0   -1    0    0    0    1

  0    0    0    0   -1    0   -1    0
  0    0    0    0    0    1    0    0
  0    0    0    0    0    0   -1   -2
  0    0    0    0    0    0    0    0

  0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0
  0    0    0    0    0    0    0    0

offset

Tail of the path: offset/<run-range>.data
Parameters: x,y,z coordinates of 4 quad "origins" in CSPad pixel matrix:

Code Block

xq0 xq1 xq2 xq3
yq0 yq1 yq2 yq3
zq0 zq1 zq2 zq3

Typical values:

Code Block

  0    0  820  820
  0  820  820    0
  0    0    0    0

offset_corr

Tail of the path: offset_corr/<run-range>.data
Parameters: x,y,z coordinate corrections of 4 quad "origins" in CSPad pixel matrix:

Code Block

dxq0 dxq1 dxq2 dxq3
dyq0 dyq1 dyq2 dyq3
dzq0 dzq1 dzq2 dzq3

Typical values:

Code Block

  0   0    5   2
  0   5    4   4
  0   0    0   0

marg_gap_shift

Tail of the path: marg_gap_shift/<run-range>.data
Parameters:

Code Block

        offset of 2x1s in quad (for tilt)
       /  offset of quads in entire image (for tilt)
      /     /     gaps
     /     /     /    shifts
    /     /     /    /
   XOffQ XOffD gapX shiftX
   YOffQ YOffD gapY shiftY
   ZOffQ ZOffD gapZ shiftZ

Typical values:

Code Block

   15 40 0 32
   15 40 0 32
    0  0 0  0

quad_rotation

Tail of the path: quad_rotation/<run-range>.data
Parameters: rotation angle of 4 quads in CSPad in n*90 degree:

Code Block

Aq0 Aq1 Aq2 Aq3

Typical values:

Code Block

180   90    0   270

quad_quad_tilt

Tail of the path: quad_tilt/<run-range>.data
Parameters: rotation angle correction (tilt) of 4 quads in CSPad in degreedegree:

Code Block

dAq0 dAq1 dAq2 dAq3

Typical values:

Code Block
dAq00 dAq10 dAq20 dAq30

rotation

Tail of the path: rotation/<run-range>.data
Parameters: rotation angle of 8 2x1 in 4 quads in n*90 degree:

Code Block

A0q0 A1q0 A2q0 A3q0 A4q0 A5q0 A6q0 A7q0
A0q1 A1q1 A2q1 A3q1 A4q1 A5q1 A6q1 A7q1
A0q2 A1q2 A2q2 A3q2 A4q2 A5q2 A6q2 A7q2
A0q3 A1q3 A2q3 A3q3 A4q3 A5q3 A6q3 A7q3

Typical values:

Code Block

  0    0  270  270  180  180  270  270
  0    0  270  270  180  180  270  270
  0    0  270  270  180  180  270  270
  0    0  270  270  180  180  270  270

tilt

Tail of the path: tilt/<run-range>.data
Parameters: rotation angle correction (tilt) of 8 2x1 in 4 quads in degree:

in n*90 degree:

Code Block

A0q0 A1q0 A2q0 A3q0 A4q0 A5q0 A6q0 A7q0
A0q1 A1q1 A2q1 A3q1 A4q1 A5q1 A6q1 A7q1
A0q2 A1q2 A2q2 A3q2 A4q2 A5q2 A6q2 A7q2
A0q3 A1q3 A2q3 A3q3 A4q3 A5q3 A6q3 A7q3

Typical values:

Code Block

  0    0  270  270  180  180  270  270
  0    0  270  270  180  180  270  270
  0    0  270  270  180  180  270  270
  0    0  270  270  180  180  270  270

tilt

Tail of the path: tilt/<run-range>.data
Parameters: rotation angle correction (tilt) of 8 2x1 in 4 quads in degree:

Code Block

dA0q0 dA1q0 dA2q0 dA3q0 dA4q0 dA5q0 dA6q0 dA7q0
dA0q1 dA1q1 dA2q1 dA3q1 dA4q1 dA5q1 dA6q1 dA7q1
dA0q2 dA1q2 dA2q2 dA3q2 dA4q2 dA5q2 dA6q2 dA7q2
dA0q3 dA1q3 dA2q3 dA3q3 dA4q3 dA5q3 dA6q3 dA7q3

Typical values:

Code Block

-0.33819   0.00132   0.31452  -0.03487   0.14738   0.07896  -0.21778  -0.10396
-0.27238  -0.00526   0.02545   0.03066  -0.03619   0.02434   0.08027   0.15067
-0.04803  -0.00592   0.11318  -0.07896  -0.36125  -0.31846  -0.16527   0.09200
 0.12436   0.00263   0.44809   0.25794  -0.18029  -0.00117   0.32701   0.32439
Code Block

dA0q0 dA1q0 dA2q0 dA3q0 dA4q0 dA5q0 dA6q0 dA7q0
dA0q1 dA1q1 dA2q1 dA3q1 dA4q1 dA5q1 dA6q1 dA7q1
dA0q2 dA1q2 dA2q2 dA3q2 dA4q2 dA5q2 dA6q2 dA7q2
dA0q3 dA1q3 dA2q3 dA3q3 dA4q3 dA5q3 dA6q3 dA7q3

Pixel coordinate reconstruction

...