16 return StatusCode::SUCCESS;
27 if (!trkPar || !measurement)
return residuals;
58 if (!trkPar || !measurement) {
75 const std::size_t nParams = localParameters.
dimension();
76 std::vector<double> residual(nParams), pull(nParams);
91 <<
"LocalParameters structure!" );
96 for (std::size_t l = 0 ; l < residual.size(); ++l) {
98 trkCov ? (*trkCov)(l,l) : 0., resType);
103 return std::make_optional<Trk::ResidualPull>(std::move(residual),
114 const double residual,
115 const double locMesCov,
116 const double locTrkCov,
119 double ErrorSum(0.0);
121 if( locMesCov + locTrkCov > 0 ) ErrorSum = std::sqrt(locMesCov + locTrkCov);
123 if ((locMesCov - locTrkCov) < 0.) {
126 ErrorSum = std::sqrt(locMesCov - locTrkCov);
127 }
else ErrorSum = std::sqrt(locMesCov);
128 if (ErrorSum != 0)
return residual/ErrorSum;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
#define AmgSymMatrix(dim)
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
static double calcPull(const double residual, const double locMesCov, const double locTrkCov, const Trk::ResidualPull::ResidualType &)
internal structuring: common method to calculate the hit pull.
virtual std::optional< Trk::ResidualPull > residualPull(const Trk::MeasurementBase *measurement, const Trk::TrackParameters *trkPar, const Trk::ResidualPull::ResidualType, const Trk::TrackState::MeasurementType) const override
This function returns (creates!) a Trk::ResidualPull object, which contains the values of residual an...
virtual StatusCode initialize() override
virtual std::array< double, 5 > residuals(const Trk::MeasurementBase *measurement, const Trk::TrackParameters *trkPar, const Trk::ResidualPull::ResidualType, const Trk::TrackState::MeasurementType) const override
This function is a light-weight version of the function above, designed for track fitters where speed...
int parameterKey() const
Identifier key for matrix expansion/reduction.
int dimension() const
Dimension of this localParameters() vector.
This class is the pure abstract base class for all fittable tracking measurements.
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
@ Biased
RP with track state including the hit.
@ Unbiased
RP with track state that has measurement not included.
MeasurementType
enum describing the flavour of MeasurementBase
@ loc2
generic first and second local coordinate
ParametersBase< TrackParametersDim, Charged > TrackParameters