17 using namespace tauImpactParameter;
20 const reco::Vertex& V,
bool fromPerigee,
bool useTrackHelixPropagation){
25 TVectorT<double> par(N);
35 TMatrixTSym<double> parcov(N);
51 const GlobalPoint&
p,
bool fromPerigee,
bool useTrackHelixPropagation ){
81 if(useTrackHelixPropagation){
98 TrackHelixVertexFitter::computedxydz(freehelix,0,kappa,lambda,phi,x,y,z,s,dxy,dz);
101 LogDebug(
"RecoTauImpactParameterParticleBuilder") <<
"Found values dxy " << dxy <<
" dz " << dz;
117 for(
int i=0;
i<vcov.GetNrows();
i++){
118 for(
int j=0;
j<vcov.GetNrows();
j++){ve(
i,
j)=vcov(
i,
j);}
TMatrixTSym< double > vertexCov() const
const AlgebraicVector5 & vector() const
GlobalPoint position() const
const PerigeeTrajectoryError & perigeeError() const
TrajectoryStateClosestToPoint impactPointTSCP() const
static LorentzVectorParticle createLorentzVectorParticle(const reco::TransientTrack &transTrk, const reco::Vertex &V, bool fromPerigee, bool useTrackHelixPropagation)
math::Error< dimension >::type Error
covariance error matrix (3x3)
const MagneticField * field() const
static TVectorT< double > convertCMSSWTrackPerigeeToSFTrackPar(const TVectorT< double > &inpar)
double covariance(int i, int j) const
(i, j)-th element of error matrix, i, j = 0, ... 2
const Point & position() const
position
T x() const
Cartesian x coordinate.
GlobalVector inInverseGeV(const GlobalPoint &gp) const
Field value ad specified global point, in 1/Gev.
TrackCharge charge() const
const PerigeeTrajectoryParameters & perigeeParameters() const
CovarianceMatrix covariance() const
return track covariance matrix
static TVectorT< double > computeLorentzVectorPar(const TVectorT< double > &inpar)
Cos< T >::type cos(const T &t)
Abs< T >::type abs(const T &t)
math::XYZPoint Point
point in the space
const AlgebraicSymMatrix55 & covarianceMatrix() const
double parameter(int i) const
i-th parameter ( i = 0, ... 4 )
const Track & track() const
TrajectoryStateClosestToPoint trajectoryStateClosestToPoint(const GlobalPoint &point) const
static TVectorT< double > convertCMSSWTrackParToSFTrackPar(const TVectorT< double > &inpar)
static void computedxydz(const TVectorT< double > &inpar, int particle, double &kappa, double &lam, double &phi, double &x, double &y, double &z, double &s, double &dxy, double &dz)
Geom::Phi< T > phi() const
static reco::Vertex getVertex(const LorentzVectorParticle &p)
static TrackParticle createTrackParticle(const reco::TransientTrack &transTrk, const GlobalPoint &p, bool fromPerigee=true, bool useTrackHelixPropogation=true)
static const G4double kappa
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)