#include <SurveyResidual.h>
Public Member Functions | |
AlgebraicSymMatrix | inverseCovariance () const |
Get inverse of survey covariance wrt given structure type in constructor. More... | |
align::LocalVectors | pointsResidual () const |
AlgebraicVector | sensorResidual () const |
SurveyResidual (const Alignable &, align::StructureType, bool bias=false) | |
bool | valid () const |
Private Member Functions | |
void | calculate (const Alignable &) |
Find the nominal and current vectors. More... | |
void | findSisters (const Alignable *, bool bias) |
Private Attributes | |
align::ErrorMatrix | theCovariance |
align::GlobalVectors | theCurrentVs |
const Alignable * | theMother |
align::GlobalVectors | theNominalVs |
const std::vector< bool > & | theSelector |
std::vector< const Alignable * > | theSisters |
const AlignableSurface & | theSurface |
Class to find the residuals for survey constraint alignment.
For more info, please refer to http://www.pha.jhu.edu/~gritsan/cms/cms-note-survey.pdf
Definition at line 22 of file SurveyResidual.h.
SurveyResidual::SurveyResidual | ( | const Alignable & | ali, |
align::StructureType | type, | ||
bool | bias = false |
||
) |
Constructor from an alignable whose residuals are to be found. The type of residuals (panel, disc etc.) is given by StructureType. Set bias to true for biased residuals. Default is to find unbiased residuals.
Definition at line 11 of file SurveyResidual.cc.
References Alignable::alignableObjectId(), calculate(), Exception, findSisters(), Alignable::geomDetId(), Alignable::mother(), DetId::rawId(), theMother, and theSisters.
|
private |
Find the nominal and current vectors.
Definition at line 166 of file SurveyResidual.cc.
References a, PV3DBase< T, PVType, FrameType >::basicVector(), deltaR(), align::diffRot(), Exception, Alignable::geomDetId(), SurveyDet::globalPoints(), Alignable::globalPosition(), Alignable::globalRotation(), i, j, SurveyDet::localPoints(), Alignable::mother(), align::motherPosition(), SurveyDet::position(), DetId::rawId(), Alignable::surface(), Alignable::survey(), theCovariance, theCurrentVs, theMother, theNominalVs, theSisters, theSurface, AlignableSurface::toGlobal(), TkRotation< T >::xx(), TkRotation< T >::xy(), TkRotation< T >::xz(), TkRotation< T >::yx(), TkRotation< T >::yy(), TkRotation< T >::yz(), TkRotation< T >::zx(), TkRotation< T >::zy(), and TkRotation< T >::zz().
Referenced by SurveyResidual().
|
private |
Find the terminal sisters of an alignable. bias = true to include itself in the list.
Definition at line 146 of file SurveyResidual.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, Alignable::components(), Alignable::deepComponents(), i, Alignable::mother(), and theSisters.
Referenced by SurveyResidual().
AlgebraicSymMatrix SurveyResidual::inverseCovariance | ( | ) | const |
Get inverse of survey covariance wrt given structure type in constructor.
Definition at line 114 of file SurveyResidual.cc.
References Exception, cmsPerfPublish::fail(), i, j, theCovariance, and theSelector.
Referenced by SurveyAlignmentSensor::findAlignPars(), and HIPAlignmentAlgorithm::terminate().
LocalVectors SurveyResidual::pointsResidual | ( | ) | const |
Find residuals in local frame for points on the alignable (current - nominal vectors).
Definition at line 98 of file SurveyResidual.cc.
References j, theCurrentVs, theNominalVs, theSurface, and AlignableSurface::toLocal().
Referenced by SurveyAlignmentPoints::findAlignPars().
AlgebraicVector SurveyResidual::sensorResidual | ( | ) | const |
Find residual for the alignable in local frame. Returns a vector based on the alignable's dof.
Definition at line 54 of file SurveyResidual.cc.
References deltaR(), align::diffRot(), j, makeMuonMisalignmentScenario::rot, theCurrentVs, theNominalVs, theSelector, theSurface, align::toAngles(), AlignableSurface::toLocal(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by AlignmentMonitorSurvey::book(), SurveyAlignmentSensor::findAlignPars(), and HIPAlignmentAlgorithm::terminate().
|
inline |
Check if survey residual is valid (theMother != 0). This check must be done before calling the other methods so that calculations can be performed correctly.
Definition at line 84 of file SurveyResidual.h.
References theMother.
Referenced by SurveyAlignmentPoints::findAlignPars(), SurveyAlignmentSensor::findAlignPars(), and HIPAlignmentAlgorithm::terminate().
|
private |
Definition at line 81 of file SurveyResidual.h.
Referenced by calculate(), and inverseCovariance().
|
private |
Definition at line 79 of file SurveyResidual.h.
Referenced by calculate(), pointsResidual(), and sensorResidual().
|
private |
Definition at line 68 of file SurveyResidual.h.
Referenced by calculate(), SurveyResidual(), and valid().
|
private |
Definition at line 78 of file SurveyResidual.h.
Referenced by calculate(), pointsResidual(), and sensorResidual().
|
private |
Definition at line 73 of file SurveyResidual.h.
Referenced by inverseCovariance(), and sensorResidual().
|
private |
Definition at line 75 of file SurveyResidual.h.
Referenced by calculate(), findSisters(), and SurveyResidual().
|
private |
Definition at line 71 of file SurveyResidual.h.
Referenced by calculate(), pointsResidual(), and sensorResidual().