|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #include "GaudiKernel/MsgStream.h"
6 #include "CLHEP/Matrix/SymMatrix.h"
28 , m_derivCalcTool(
"Trk::AnalyticalDerivCalcTool", this)
29 , m_numBadCovWMatrix(0)
31 declareInterface<IAlignTrackDresser>(
this);
50 return StatusCode::FAILURE;
54 return StatusCode::SUCCESS;
69 return StatusCode::SUCCESS;
89 ATH_MSG_INFO(
"something is wrong with the cov matrix for the residuals.");
107 for ( ; atsosItr != alignTrack->
lastAtsos(); ++atsosItr) {
109 if (!(*atsosItr)->isValid())
112 std::vector<Residual>::const_iterator itRes = (**atsosItr).firstResidual();
113 for ( ; itRes != (**atsosItr).lastResidual() ; ++itRes, ++imeas) {
114 (*residuals)[imeas] = itRes->residual();
116 double z=(**atsosItr).measurementOnTrack()->globalPosition().z();
117 ATH_MSG_DEBUG(
"pos.z: "<<
z<<
", res["<<imeas<<
"]="<<itRes->residual()<<
" res/sq["<<imeas<<
"]="<<itRes->residualNorm());
123 msg(MSG::ERROR)<<
"problem with nmeas. imeas="<<imeas<<
", NMEAS="<<NMEAS<<
endmsg;
124 throw std::runtime_error(
"Error in AlignTrackDresser::setResiduals");
Const iterator class for DataVector/DataList.
AlignTrackDresser(const std::string &type, const std::string &name, const IInterface *parent)
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
@ z
global position (cartesian)
void setResidualVector(Amg::VectorX *vec)
virtual StatusCode initialize() override
void setResiduals(AlignTrack *alignTrack) const
sets residuals for TSOS on alignTrack
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
bool msgLvl(const MSG::Level lvl) const
virtual ~AlignTrackDresser()
AlignTSOSCollection::const_iterator firstAtsos() const
retrieve iterator pointer to first element in collection
ToolHandle< IDerivCalcTool > m_derivCalcTool
tool for calculating derivatives of residuals wrt.
::StatusCode StatusCode
StatusCode definition for legacy code.
const Amg::VectorX * residualVector() const
Vector of residuals of the alignTSOS on the alignTrack, to be set by AlignTrackDresser.
Ensure that the ATLAS eigen extensions are properly loaded.
virtual void setLogStream(std::ostream *os) override
sets the output stream for the logfile
std::ostream * m_logStream
logfile output stream
int nAlignTSOSMeas() const
number of alignTSOS (including scatterers if included on AlignTrack
unsigned int m_numBadCovWMatrix
number of tracks with invalid weight matrix from the deriv.calc.tool
virtual StatusCode finalize() override
virtual bool dressAlignTrack(AlignTrack *alignTrack) override
dresses alignTrack with derivatives and other information
AlignTSOSCollection::const_iterator lastAtsos() const
returns iterator pointer to last element in collection