#include <ErrorMatrixPropagator.h>
|
static TMatrixTSym< double > | propagateError (std::function< TVectorT< double >(const TVectorT< double > &)> f, const TVectorT< double > &inPar, TMatrixTSym< double > &inCov, double epsilon=0.001, double errorEpsilonRatio=1000) |
|
Definition at line 17 of file ErrorMatrixPropagator.h.
◆ ErrorMatrixPropagator()
tauImpactParameter::ErrorMatrixPropagator::ErrorMatrixPropagator |
( |
| ) |
|
|
inline |
◆ ~ErrorMatrixPropagator()
virtual tauImpactParameter::ErrorMatrixPropagator::~ErrorMatrixPropagator |
( |
| ) |
|
|
inlinevirtual |
◆ propagateError()
TMatrixTSym< double > ErrorMatrixPropagator::propagateError |
( |
std::function< TVectorT< double >(const TVectorT< double > &)> |
f, |
|
|
const TVectorT< double > & |
inPar, |
|
|
TMatrixTSym< double > & |
inCov, |
|
|
double |
epsilon = 0.001 , |
|
|
double |
errorEpsilonRatio = 1000 |
|
) |
| |
|
static |
Definition at line 12 of file ErrorMatrixPropagator.cc.
References dumpMFGeometry_cfg::delta, geometryDiff::epsilon, relativeConstraints::error, f, mps_fire::i, dqmiolumiharvest::j, mathSSE::sqrt(), and findQualityFiles::v.
Referenced by tauImpactParameter::ParticleBuilder::createLorentzVectorParticle(), tauImpactParameter::ParticleBuilder::createTrackParticle(), tauImpactParameter::TauA1NuConstrainedFitter::fit(), tauImpactParameter::TauA1NuConstrainedFitter::getMother(), tauImpactParameter::TrackHelixVertexFitter::getMother(), tauImpactParameter::TauA1NuConstrainedFitter::getRefitDaughters(), tauImpactParameter::TrackHelixVertexFitter::getRefitLorentzVectorParticles(), tauImpactParameter::TrackHelixVertexFitter::getRefitTracks(), tauImpactParameter::TauA1NuConstrainedFitter::getTauRotationSignificance(), tauImpactParameter::TrackTools::lorentzParticleAtPosition(), and tauImpactParameter::TauA1NuConstrainedFitter::TauA1NuConstrainedFitter().
17 TVectorT<double>
v =
f(inPar);
18 TMatrixT<double> Jacobian(inPar.GetNrows(),
v.GetNrows());
19 for (
int i = 0;
i < inPar.GetNrows();
i++) {
20 TVectorT<double> ParPlusEpsilon = inPar;
25 ParPlusEpsilon(
i) +=
delta;
26 TVectorT<double> vp =
f(ParPlusEpsilon);
27 for (
int j = 0;
j <
v.GetNrows();
j++) {
31 TMatrixTSym<double> newCov = inCov.SimilarityT(Jacobian);