|
|
Go to the documentation of this file.
9 #include "CLHEP/Vector/ThreeVector.h"
10 #include "CLHEP/Vector/LorentzVector.h"
11 #include "CLHEP/Matrix/Vector.h"
22 bool theIsValid =
false;
27 cout <<
"====>>>> SignedImpactParameter3D::apply : TSOS not valid = " <<
TSOS.
isValid() << endl;
28 return pair<bool, Measurement1D>(theIsValid,
Measurement1D(0., 0.));
42 double theDistanceAlongJetAxis = J.
dot(theTSOS.
globalPosition() - vertexPosition);
43 theValue =
D.mag() * (theDistanceAlongJetAxis /
abs(theDistanceAlongJetAxis));
61 deriv[3] = -(TT1.
dot(Xi) *
DD.x()) / T1.
mag();
62 deriv[4] = -(TT1.
dot(Xi) *
DD.y()) / T1.
mag();
63 deriv[5] = -(TT1.
dot(Xi) *
DD.z()) / T1.
mag();
66 double E2 = ROOT::Math::Similarity(deriv_v,
vertex.covariance());
69 theError =
sqrt(E1 + E2);
73 return pair<bool, Measurement1D>(theIsValid,
A);
75 return pair<bool, Measurement1D>(theIsValid,
Measurement1D(0., 0.));
111 double theDistanceAlongJetAxis(0.);
112 double theDistanceToJetAxis(0.);
113 double theLDist_err(0.);
117 cout <<
"====>>>> SignedImpactParameter3D::distanceWithJetAxis : TSOS not valid = " <<
TSOS.
isValid() << endl;
118 return pair<double, Measurement1D>(theDistanceAlongJetAxis,
Measurement1D(theDistanceToJetAxis, theLDist_err));
134 bool isValid = stateAtOrigin.
isValid();
151 theDistanceToJetAxis = (
jet.distance(
track)).
mag();
153 theDistanceToJetAxis = -theDistanceToJetAxis;
159 theDistanceAlongJetAxis =
P.dot(
V -
pos) /
Q.dot(
dir);
171 CLHEP::HepVector Hh(3);
190 return pair<double, Measurement1D>(theDistanceAlongJetAxis, DTJA);
cudaStream_t T uint32_t const T *__restrict__ const uint32_t *__restrict__ uint32_t int cudaStream_t V
ROOT::Math::SVector< double, 3 > AlgebraicVector3
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
const CartesianTrajectoryError cartesianError() const
GlobalPoint globalPosition() const
static TrajectoryStateOnSurface closestApproachToJet(const FreeTrajectoryState &, const reco::Vertex &, const GlobalVector &, const MagneticField *)
DD
single HTRIG enabling on first/second tracks
Vector3DBase unit() const
Global3DPoint GlobalPoint
std::pair< bool, Measurement1D > apply(const reco::TransientTrack &, const GlobalVector &direction, const reco::Vertex &vertex) const
TrajectoryStateOnSurface impactPointState() const
Vector3DBase< typename PreciseFloatType< T, U >::Type, FrameTag > cross(const Vector3DBase< U, FrameTag > &v) const
ROOT::Math::SVector< double, 6 > AlgebraicVector6
PreciseFloatType< T, U >::Type dot(const Vector3DBase< U, FrameTag > &v) const
const MagneticField * field() const
const AlgebraicSymMatrix66 & matrix() const
Basic3DVector unit() const
GlobalVector globalMomentum() const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
DecomposeProduct< arg, typename Div::arg > D
static std::pair< double, Measurement1D > distanceWithJetAxis(const reco::TransientTrack &transientTrack, const GlobalVector &direction, const reco::Vertex &vertex)
static GlobalVector distance(const TrajectoryStateOnSurface &, const reco::Vertex &, const GlobalVector &)
Abs< T >::type abs(const T &t)
std::pair< OmniClusterRef, TrackingParticleRef > P