10 using namespace tauImpactParameter;
13 const TVectorT<double>& inPar, TMatrixTSym<double>& inCov,
double epsilon,
double errorEpsilonRatio){
14 TVectorT<double>
v=
f(inPar);
15 TMatrixT<double> Jacobian(inPar.GetNrows(),v.GetNrows());
16 for(
int i=0;
i<inPar.GetNrows();
i++){
17 TVectorT<double> ParPlusEpsilon=inPar;
20 if(delta*errorEpsilonRatio<error) delta=error/errorEpsilonRatio;
22 TVectorT<double> vp=
f(ParPlusEpsilon);
23 for(
int j=0;
j<v.GetNrows();
j++){
24 Jacobian(
i,
j)=(vp(
j)-
v(
j))/delta;
27 TMatrixTSym<double> newCov=inCov.SimilarityT(Jacobian);
helper::RootFunctionHelper< F, args >::root_function function(F &f)
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)