17 using namespace tauImpactParameter;
22 bool useTrackHelixPropagation) {
28 TVectorT<double> par(N);
38 TMatrixTSym<double> parcov(N);
52 TMatrixTSym<double> LVCov =
60 bool useTrackHelixPropagation) {
89 if (useTrackHelixPropagation) {
93 LogDebug(
"RecoTauImpactParameterParticleBuilder")
96 LogDebug(
"RecoTauImpactParameterParticleBuilder")
100 double x, y, z,
dxy,
dz,
s, kappa, lambda, phi;
108 TrackHelixVertexFitter::computedxydz(freehelix, 0, kappa, lambda, phi, x, y, z, s, dxy, dz);
111 LogDebug(
"RecoTauImpactParameterParticleBuilder") <<
"Found values dxy " << dxy <<
" dz " <<
dz;
125 TMatrixTSym<double> vcov = p.
vertexCov();
128 for (
int i = 0;
i < vcov.GetNrows();
i++) {
129 for (
int j = 0;
j < vcov.GetNrows();
j++) {
130 ve(
i,
j) = vcov(
i,
j);
TMatrixTSym< double > vertexCov() const
const AlgebraicVector5 & vector() const
GlobalPoint position() const
const edm::EventSetup & c
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
GlobalVector inInverseGeV(const GlobalPoint &gp) const
Field value ad specified global point, in 1/Gev.
TrackCharge charge() const
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t V
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)
static reco::Vertex getVertex(const LorentzVectorParticle &p)
static TrackParticle createTrackParticle(const reco::TransientTrack &transTrk, const GlobalPoint &p, bool fromPerigee=true, bool useTrackHelixPropogation=true)
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)