Go to the documentation of this file.00001
00007 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00008
00009 #include "Alignment/CommonAlignmentParametrization/interface/KarimakiAlignmentDerivatives.h"
00010
00011
00012 AlgebraicMatrix
00013 KarimakiAlignmentDerivatives::operator()( const TrajectoryStateOnSurface &tsos ) const
00014 {
00015
00016
00017 AlgebraicVector5 alivec = tsos.localParameters().mixedFormatVector();
00018
00019
00020
00021
00022
00023
00024
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;
00042 aliderivs[4][1]= -ux*tantheta;
00043 aliderivs[5][0]= vx;
00044 aliderivs[5][1]= -ux;
00045
00046 return(aliderivs);
00047
00048 }