7 namespace btagbtvdeep {
45 dotprodTrackSeed2D_(0),
46 dotprodTrackSeed2DV_(0),
47 dotprodTrackSeed3D_(0),
48 dotprodTrackSeed3DV_(0),
51 pca_jetAxis_dotprod_(0),
62 const std::pair<bool, Measurement1D>& t_ip,
63 const std::pair<bool, Measurement1D>& t_ip2d) {
72 if (dist.
calculate(tImpactState, iImpactState)) {
74 GlobalError ttPointErr = tImpactState.cartesianError().position();
76 GlobalError seedPositionErr = iImpactState.cartesianError().position();
86 float pvToPCAseed = (seedPosition - pvp).
mag();
87 float pvToPCAtrack = (ttPoint - pvp).
mag();
90 GlobalVector trackDir2D(tImpactState.globalDirection().x(), tImpactState.globalDirection().y(), 0.);
91 GlobalVector seedDir2D(iImpactState.globalDirection().x(), iImpactState.globalDirection().y(), 0.);
92 GlobalVector trackPCADir2D(ttPoint.
x() - pvp.x(), ttPoint.
y() - pvp.y(), 0.);
93 GlobalVector seedPCADir2D(seedPosition.
x() - pvp.x(), seedPosition.
y() - pvp.y(), 0.);
96 float dotprodSeed = (seedPosition - pvp).
unit().
dot(iImpactState.globalDirection().unit());
101 Line jetLine(pos, dir);
102 Line PCAMomentumLine(
cp, pairMomentumDir);
138 dotprodTrackSeed3D_ = iImpactState.globalDirection().unit().dot(tImpactState.globalDirection().unit());
const float dotprodTrack() const
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
GlobalPoint crossingPoint() const override
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
std::pair< GlobalPoint, GlobalPoint > points() const override
float dotprodTrackSeed2D_
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 dotprodTrackSeed3DV_
const float dotprodSeed() const
TrajectoryStateOnSurface impactPointState() const
float distance() const override
double dxy() const
dxy parameter. (This is the transverse impact parameter w.r.t. to (0,0,0) ONLY if refPoint is close t...
Basic3DVector unit() const
T dot(const Basic3DVector &rh) const
Scalar product, or "dot" product, with a vector of same type.