1 #ifndef RecoTauTag_ImpactParameter_LagrangeMultipliersFitter_h
2 #define RecoTauTag_ImpactParameter_LagrangeMultipliersFitter_h
13 #include "TMatrixTSym.h"
16 namespace tauImpactParameter {
38 virtual double ndf()=0;
45 virtual TVectorD
value(
const TVectorD&
v)=0;
57 double chiSquare(
const TVectorT<double>& delta_alpha,
const TVectorT<double>& lambda,
const TMatrixT<double>&
D,
const TVectorT<double>& d);
virtual LorentzVectorParticle getMother()=0
virtual int nDaughters()=0
TMatrixTSym< double > cov_0_
virtual ~LagrangeMultipliersFitter()
virtual TVectorD value(const TVectorD &v)=0
bool applyLagrangianConstraints()
virtual bool isConfigured()
virtual void setWeight(double weight)
virtual void setMaxDelta(double MaxDelta)
TMatrixT< double > V_corr_prev_
virtual bool isConverged()
virtual double chiSquare()
TMatrixTSym< double > V_alpha0_inv_
TMatrixTSym< double > cov_
virtual double nConstraints()=0
virtual std::vector< LorentzVectorParticle > getRefitDaughters()=0
LagrangeMultipliersFitter()
double chiSquareUsingInitalPoint(const TVectorT< double > &alpha, const TVectorT< double > &lambda)
TMatrixTSym< double > V_D_
virtual void setNIterMax(int Nitermax)
double constraintDelta(const TVectorT< double > &par)
TMatrixT< double > computeVariance()
TMatrixT< double > derivative()
DecomposeProduct< arg, typename Div::arg > D