CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/Alignment/CommonAlignmentParametrization/src/BeamSpotAlignmentDerivatives.cc

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   // lp.x = transverse impact parameter
00025   // lp.y = longitudinal impact parameter
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 }