15#include <boost/io/ios_state.hpp>
48 if (meanWeightMatrix.trace() <= 1.0e-15) {
51 meanWeightMatrix.setZero();
52 for (
int i = 0; i < meanWeightMatrix.cols(); ++i) {
53 meanWeightMatrix(i, i) = 1.0e-10;
67 weight =
rioOnTrack(i).localCovariance().inverse();
74 int paramKey =
rioOnTrack(0).localParameters().parameterKey();
78 }
else if (paramKey == 3) {
83 std::cout <<
"Trk::CompetingRIOsOnTrack: can not handle parameter key " << paramKey
94 <<
"Trk::CompetingRIOsOnTrack: can not handle ROTs in different surfaces without "
95 "detector specific knowledge "
103 unsigned int index = 0;
104 double maxAssgnProb = 0;
118 boost::io::ios_all_saver ias(out.stream());
119 out <<
" - effective pars locX : ";
132 << std::setiosflags(std::ios::fixed) << std::resetiosflags(std::ios::scientific)
133 << std::setprecision(6);
136 out <<
" - Contains: |ROT# identifier locX dLocX locY dlocY "
140 <<
" | " << i <<
" " << this->
rioOnTrack(i).identify() <<
" ";
153 out <<
" " <<
m_assignProb.at(i) << (indexOfMaxProb == i ?
" **|" :
" |");
162 boost::io::ios_all_saver ias(out);
163 out <<
" - effective pars locX : ";
176 << std::setiosflags(std::ios::fixed) << std::resetiosflags(std::ios::scientific)
177 << std::setprecision(6);
181 out <<
" - Contains: |ROT# identifier locX dLocX locY dlocY "
185 <<
" | " << i <<
" " << this->
rioOnTrack(i).identify() <<
" ";
198 out <<
" " <<
m_assignProb.at(i) << (indexOfMaxProb == i ?
" **|" :
" |");
virtual bool ROTsHaveCommonSurface(const bool withNonVanishingAssignProb=true) const =0
query if all the contained ROTs have a common associated surface.
virtual void setLocalParametersAndErrorMatrix()
recalculate the LocalParameters and ErrorMatrix
std::vector< AssignmentProb > m_assignProb
assignment probabilities of the ROTs
AssignmentProb assignmentProbability(unsigned int indx) const
returns the AssignmentProbability depending on the integer.
virtual unsigned int numberOfContainedROTs() const =0
Number of RIO_OnTracks to be contained by this CompetingRIOsOnTrack.
virtual MsgStream & dump(MsgStream &out) const override
returns the some information about the base class members (avoid code duplication)
unsigned int indexOfMaxAssignProb() const
Index of the ROT with the highest assignment probability.
virtual const RIO_OnTrack & rioOnTrack(unsigned int) const =0
returns the RIO_OnTrack (also known as ROT) objects depending on the integer.
CompetingRIOsOnTrack()
Default Constructor for POOL.
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
MeasurementBase()=default
Default constructor - needed for POOL/SEAL.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
LocalParameters m_localParams
Amg::MatrixX m_localCovariance
bool contains(const std::string &s, const std::string ®x)
does a string contain the substring
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
Eigen::Matrix< double, Eigen::Dynamic, 1 > VectorX
Dynamic Vector - dynamic allocation.
Ensure that the ATLAS eigen extensions are properly loaded.
@ loc2
generic first and second local coordinate
std::pair< double, ParamDefs > DefinedParameter
Typedef to of a std::pair<double, ParamDefs> to identify a passed-through double as a specific type o...