#include <Alignment/CommonAlignmentParametrization/interface/KarimakiAlignmentDerivatives.h>
Public Member Functions | |
AlgebraicMatrix | operator() (const TrajectoryStateOnSurface &tsos) const |
Returns 6x2 jacobian matrix. |
CR-2003/022)
Definition at line 16 of file KarimakiAlignmentDerivatives.h.
AlgebraicMatrix KarimakiAlignmentDerivatives::operator() | ( | const TrajectoryStateOnSurface & | tsos | ) | const |
Returns 6x2 jacobian matrix.
Definition at line 13 of file KarimakiAlignmentDerivatives.cc.
References TrajectoryStateOnSurface::localParameters(), and LocalTrajectoryParameters::mixedFormatVector().
00014 { 00015 00016 // Get track parameters on surface 00017 AlgebraicVector5 alivec = tsos.localParameters().mixedFormatVector(); 00018 00019 // [0] q/p : charged: charge (+ or - one) divided by magnitude of momentum 00020 // neutral : inverse magnitude of momentum 00021 // [1] dxdz : direction tangent in local xz-plane 00022 // [2] dydz : direction tangent in local yz-plane 00023 // [3] x : local x-coordinate 00024 // [4] y : local y-coordinate 00025 00026 double tanpsi = alivec[1]; 00027 double tantheta = alivec[2]; 00028 double ux = alivec[3]; 00029 double vx = alivec[4]; 00030 00031 AlgebraicMatrix aliderivs(6,2); 00032 00033 aliderivs[0][0]= -1.0; 00034 aliderivs[0][1]= 0.0; 00035 aliderivs[1][0]= 0.0; 00036 aliderivs[1][1]= -1.0; 00037 aliderivs[2][0]= tanpsi; 00038 aliderivs[2][1]= tantheta; 00039 aliderivs[3][0]= vx*tanpsi; 00040 aliderivs[3][1]= vx*tantheta; 00041 aliderivs[4][0]= -ux*tanpsi; // New beta sign convention 00042 aliderivs[4][1]= -ux*tantheta; // New beta sign convention 00043 aliderivs[5][0]= vx; 00044 aliderivs[5][1]= -ux; 00045 00046 return(aliderivs); 00047 00048 }