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) {
70 auto const& tImpactState =
tt->impactPointState();
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());
102 Line PCAMomentumLine(
cp, pairMomentumDir);
138 dotprodTrackSeed3D_ = iImpactState.globalDirection().unit().dot(tImpactState.globalDirection().unit());
const Track & track() const
float dotprodTrackSeed2DV_
PreciseFloatType< T, U >::Type dot(const Vector3DBase< U, FrameTag > &v) const
Geom::Phi< T > phi() const
float pca_jetAxis_dotprod_
const float dotprodTrack() const
GlobalPoint crossingPoint() const override
float dotprodTrackSeed3D_
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
std::pair< GlobalPoint, GlobalPoint > points() const override
float dotprodTrackSeed2D_
Basic3DVector unit() const
GlobalVector distance(const Line &aLine) const
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)
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
const float dotprodSeed() const
const Vector & momentum() const
track momentum vector
float dotprodTrackSeed3DV_
Vector3DBase unit() const
float distance() const override
T dot(const Basic3DVector &rh) const
Scalar product, or "dot" product, with a vector of same type.
TrajectoryStateOnSurface impactPointState() const
def cp(fromDir, toDir, listOfFiles, overwrite=False, smallList=False)