#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 152 of file SurveyResidual.cc.
References a, PV3DBase< T, PVType, FrameType >::basicVector(), HLT_FULL_cff::deltaR, align::diffRot(), Exception, Alignable::geomDetId(), SurveyDet::globalPoints(), Alignable::globalPosition(), Alignable::globalRotation(), mps_fire::i, dqmiolumiharvest::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 135 of file SurveyResidual.cc.
References AlCaHLTBitMon_QueryRunRegistry::comp, Alignable::components(), Alignable::deepComponents(), mps_fire::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 106 of file SurveyResidual.cc.
References Exception, mps_fire::i, dqmdumpme::indices, dqmiolumiharvest::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 92 of file SurveyResidual.cc.
References dqmiolumiharvest::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 44 of file SurveyResidual.cc.
References HLT_FULL_cff::deltaR, align::diffRot(), dqmiolumiharvest::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 75 of file SurveyResidual.h.
References theMother.
Referenced by SurveyAlignmentPoints::findAlignPars(), SurveyAlignmentSensor::findAlignPars(), and HIPAlignmentAlgorithm::terminate().
|
private |
Definition at line 72 of file SurveyResidual.h.
Referenced by calculate(), and inverseCovariance().
|
private |
Definition at line 70 of file SurveyResidual.h.
Referenced by calculate(), pointsResidual(), and sensorResidual().
|
private |
Definition at line 59 of file SurveyResidual.h.
Referenced by calculate(), SurveyResidual(), and valid().
|
private |
Definition at line 69 of file SurveyResidual.h.
Referenced by calculate(), pointsResidual(), and sensorResidual().
|
private |
Definition at line 64 of file SurveyResidual.h.
Referenced by inverseCovariance(), and sensorResidual().
|
private |
Definition at line 66 of file SurveyResidual.h.
Referenced by calculate(), findSisters(), and SurveyResidual().
|
private |
Definition at line 62 of file SurveyResidual.h.
Referenced by calculate(), pointsResidual(), and sensorResidual().