![Logo](../../ATLAS-Logo-Square-Blue-RGB.png) |
ATLAS Offline Software
|
Go to the documentation of this file.
15 declareInterface<IResidualPullCalculator>(
this);
24 return StatusCode::SUCCESS;
34 std::array<double, 5> residuals{};
35 if (!trkPar || !measurement)
return residuals;
38 if(
ID.is_valid() && m_idHelperSvc->isRpc(
ID) ) {
46 <<
"LocalParameters structure!" );
64 if (!trkPar || !measurement)
return std::nullopt;
67 if(
ID.is_valid() && m_idHelperSvc->isRpc(
ID) ) {
71 bool pullIsValid = (trkCov);
75 std::vector<double>
pull(1);
82 <<
"LocalParameters structure!" );
100 return std::make_optional<Trk::ResidualPull>(
101 std::move(
residual), std::move(
pull), pullIsValid, resType, 1);
115 const double locMesCov,
116 const double locTrkCov,
119 double ErrorSum(0.0);
121 if( locMesCov + locTrkCov > 0 ) ErrorSum = sqrt(locMesCov + locTrkCov);
123 if ((locMesCov - locTrkCov) < 0.) {
126 ErrorSum = sqrt(locMesCov - locTrkCov);
127 }
else ErrorSum = sqrt(locMesCov);
128 if (ErrorSum != 0)
return residual/ErrorSum;
std::vector< Identifier > ID
int parameterKey() const
Identifier key for matrix expansion/reduction.
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...
@ Unbiased
RP with track state that has measurement not included.
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...
#define AmgSymMatrix(dim)
RPC_ResidualPullCalculator(const std::string &, const std::string &, const IInterface *)
::StatusCode StatusCode
StatusCode definition for legacy code.
MeasurementType
enum describing the flavour of MeasurementBase
const Amg::MatrixX & localCovariance() const
Interface method to get the localError.
virtual StatusCode initialize() override
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.
const LocalParameters & localParameters() const
Interface method to get the LocalParameters.
@ Biased
RP with track state including the hit.
#define ATH_MSG_WARNING(x)