1 #ifndef RecoTauTag_ImpactParameter_TauA1NuConstrainedFitter_h
2 #define RecoTauTag_ImpactParameter_TauA1NuConstrainedFitter_h
17 #include "TMatrixTSym.h"
19 namespace tauImpactParameter {
25 const TVector3 &PVertex,
26 const TMatrixTSym<double> &VertexCov);
47 static TVectorT<double>
TauRot(
const TVectorT<double> &inpar);
51 const TVectorD &
v, TLorentzVector &
a1, TLorentzVector &nu,
double &phi,
double &
theta, TVector3 &TauDir);
56 TMatrixTSym<double>
cov;
~TauA1NuConstrainedFitter() override
double getTauRotationSignificance()
Geom::Theta< T > theta() const
static TVectorT< double > ComputeInitalExpPar(const TVectorT< double > &inpar)
static TVectorT< double > ComputeA1LorentzVectorPar(const TVectorT< double > &inpar)
TMatrixTSym< double > expcov
static TVectorT< double > ComputeMotherLorentzVectorPar(const TVectorT< double > &inpar)
std::vector< LorentzVectorParticle > getRefitDaughters()
LorentzVectorParticle getMother()
TMatrixTSym< double > cov_0
TVectorT< double > exppar
TauA1NuConstrainedFitter(unsigned int ambiguity, const LorentzVectorParticle &A1, const TVector3 &PVertex, const TMatrixTSym< double > &VertexCov)
static TVectorT< double > TauRot(const TVectorT< double > &inpar)
static TVectorT< double > SolveAmbiguityAnalyticallywithRot(const TVectorT< double > &inpar, unsigned int ambiguity)
TMatrixTSym< double > cov
std::vector< LorentzVectorParticle > particles_
static void CovertParToObjects(const TVectorD &v, TLorentzVector &a1, TLorentzVector &nu, double &phi, double &theta, TVector3 &TauDir)
static TVectorT< double > ComputeNuLorentzVectorPar(const TVectorT< double > &inpar)
static TVectorT< double > ComputeExpParToPar(const TVectorT< double > &inpar)
static TVectorT< double > SolveAmbiguityAnalytically(const TVectorT< double > &inpar, unsigned int ambiguity)