Go to the documentation of this file.00001
00008 #include "DataFormats/GeometrySurface/interface/Surface.h"
00009
00010 #include "TrackingTools/PatternTools/interface/TwoTrackMinimumDistance.h"
00011
00012 #include "TrackingTools/TrajectoryState/interface/TrajectoryStateOnSurface.h"
00013 #include "TrackingTools/TrajectoryState/interface/PerigeeConversions.h"
00014
00015 #include "Alignment/CommonAlignmentParametrization/interface/BeamSpotAlignmentDerivatives.h"
00016
00017 AlgebraicMatrix
00018 BeamSpotAlignmentDerivatives::operator()( const TrajectoryStateOnSurface &tsos ) const
00019 {
00020 AlgebraicMatrix aliderivs(4,2);
00021
00022 if (!tsos.isValid()) return aliderivs;
00023
00024
00025
00026 LocalPoint lp = tsos.localPosition();
00027 double phi = tsos.globalMomentum().phi();
00028 double dz = lp.y();
00029 double sinphi = sin(phi);
00030 double cosphi = cos(phi);
00031
00032 aliderivs[0][0]= sinphi;
00033 aliderivs[0][1]= 0.0;
00034 aliderivs[1][0]= -cosphi;
00035 aliderivs[1][1]= 0.0;
00036 aliderivs[2][0]= sinphi*dz;
00037 aliderivs[2][1]= 0.0;
00038 aliderivs[3][0]= -cosphi*dz;
00039 aliderivs[3][1]= 0.0;
00040
00041 return(aliderivs);
00042 }