44 dotprodTrackSeed2D_(0),
45 dotprodTrackSeed2DV_(0),
46 dotprodTrackSeed3D_(0),
47 dotprodTrackSeed3DV_(0),
50 pca_jetAxis_dotprod_(0),
60 const std::pair<bool,Measurement1D> & t_ip,
const std::pair<bool,Measurement1D> & t_ip2d )
71 if(dist.
calculate(tImpactState,iImpactState)) {
74 GlobalError ttPointErr = tImpactState.cartesianError().position();
76 GlobalError seedPositionErr = iImpactState.cartesianError().position();
85 float pvToPCAseed = (seedPosition-pvp).
mag();
86 float pvToPCAtrack = (ttPoint-pvp).
mag();
89 GlobalVector trackDir2D(tImpactState.globalDirection().x(),tImpactState.globalDirection().y(),0.);
90 GlobalVector seedDir2D(iImpactState.globalDirection().x(),iImpactState.globalDirection().y(),0.);
91 GlobalVector trackPCADir2D(ttPoint.
x()-pvp.x(),ttPoint.
y()-pvp.y(),0.);
92 GlobalVector seedPCADir2D(seedPosition.
x()-pvp.x(),seedPosition.
y()-pvp.y(),0.);
94 float dotprodTrack = (ttPoint-pvp).
unit().dot(tImpactState.globalDirection().unit());
95 float dotprodSeed = (seedPosition-pvp).
unit().dot(iImpactState.globalDirection().unit());
100 Line jetLine(pos,dir);
101 Line PCAMomentumLine(
cp,pairMomentumDir);
139 dotprodTrackSeed3D_=iImpactState.globalDirection().unit().dot(tImpactState.globalDirection().unit());
const float dotprodTrack() const
std::pair< GlobalPoint, GlobalPoint > points() const override
float dotprodTrackSeed2DV_
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
double y() const
y coordinate
Geom::Phi< T > phi() const
float pca_jetAxis_dotprod_
double phi() const
azimuthal angle of momentum vector
PreciseFloatType< T, U >::Type dot(const Vector3DBase< U, FrameTag > &v) const
float dotprodTrackSeed3D_
const Vector & momentum() const
track momentum vector
const Point & position() const
position
GlobalVector distance(const Line &aLine) const
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
double eta() const
pseudorapidity of momentum vector
double pt() const
track transverse momentum
double z() const
z coordinate
float dotprodTrackSeed2D_
GlobalPoint crossingPoint() const override
double dz() const
dz parameter (= dsz/cos(lambda)). This is the track z0 w.r.t (0,0,0) only if the refPoint is close to...
void buildTrackPairInfo(const reco::TransientTrack *it, const reco::TransientTrack *tt, const reco::Vertex &pv, float mass, GlobalVector jetdirection, const std::pair< bool, Measurement1D > &t_ip, const std::pair< bool, Measurement1D > &t_ip2d)
Vector3DBase unit() const
double x() const
x coordinate
double significance() const
const Track & track() const
float distance() const override
float dotprodTrackSeed3DV_
const float dotprodSeed() const
TrajectoryStateOnSurface impactPointState() const
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...