24 std::vector<reco::TransientTrack>
result;
29 float pvDistance = ipSeed.second.value();
30 for(std::vector<reco::TransientTrack>::const_iterator
tt =
tracks.begin();
tt!=
tracks.end(); ++
tt ) {
32 if(*
tt==seed)
continue;
37 GlobalError ttPointErr =
tt->impactPointState().cartesianError().position();
44 float distanceFromPV = (dist.
points().second-
pv).
mag();
46 GlobalVector trackDir2D(
tt->impactPointState().globalDirection().x(),
tt->impactPointState().globalDirection().y(),0.);
50 float dotprodTrack = (dist.
points().first-
pv).
unit().dot(
tt->impactPointState().globalDirection().unit());
53 float w = distanceFromPV*distanceFromPV/(pvDistance*
distance);
67 distance*
distanceRatio <<
" < " << distanceFromPV <<
" crossingtoPV: " << distanceFromPV <<
" dis*scal " << distance*
distanceRatio <<
" < " << distanceFromPV <<
" dist: " << distance <<
" < " <<
clusterMaxDistance << std::endl;
71 result.push_back(*
tt);
72 seedingPoint =
GlobalPoint(
cp.x()*w+seedingPoint.
x(),
cp.
y()*w+seedingPoint.
y(),
cp.z()*w+seedingPoint.
z());
78 seedingPoint =
GlobalPoint(seedingPoint.
x()/sumWeights,seedingPoint.
y()/sumWeights,seedingPoint.
z()/sumWeights);
79 return std::pair<std::vector<reco::TransientTrack>,
GlobalPoint>(
result,seedingPoint);
virtual float distance() const
double clusterMaxSignificance
virtual Measurement1D distance(const GlobalPoint &vtx1Position, const GlobalError &vtx1PositionError, const GlobalPoint &vtx2Position, const GlobalError &vtx2PositionError) const
virtual bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb)
virtual GlobalPoint crossingPoint() const
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Global3DPoint GlobalPoint
const CartesianTrajectoryError cartesianError() const
const Point & position() const
position
double clusterMaxDistance
double clusterMinAngleCosine
float y() const
Same as rapidity().
Vector3DBase unit() const
double significance() const
const GlobalError position() const
Position error submatrix.
TrajectoryStateOnSurface impactPointState() const
virtual std::pair< GlobalPoint, GlobalPoint > points() const
GlobalVector globalDirection() const