26 theMagField = magField.product();
85 std::pair<GlobalVector,GlobalVector> momenta;
109 if(!vertices->empty())
112 for(reco::VertexCollection::const_iterator
113 vertex = vertices->begin(); vertex!= vertices->end(); vertex++)
117 crossing.
z() - vertex->position().z());
123 if(im < impact || vertex == vertices->
begin())
146 (momenta.first.cross(momenta.second)).
mag()/momentum.
mag();
148 (momenta.first.mag2() - momenta.second.mag2())/momentum.
mag2();
T getParameter(std::string const &) const
math::GlobalPoint crossingPoint
GlobalTrajectoryParameters getGlobalTrajectoryParameters(const reco::Track &track)
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
Sin< T >::type sin(const T &t)
std::vector< Vertex > VertexCollection
collection of Vertex objects
const Vector & momentum() const
track momentum vector
std::pair< GlobalVector, GlobalVector > momenta
bool calculate(const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override
const Point & vertex() const
reference point on the track. This method is DEPRECATED, please use referencePoint() instead ...
GlobalVector momentum() const
Cos< T >::type cos(const T &t)
double firstAngle() const
double secondAngle() const
GlobalPoint crossingPoint() const override
GlobalVector rotate(const GlobalVector &p, double a)
float distance() const override
char data[epos_bytes_allocation]
static int position[264][3]
VZeroFinder(const edm::EventSetup &es, const edm::ParameterSet &pset)
int charge() const
track electric charge
bool checkTrackPair(const reco::Track &posTrack, const reco::Track &negTrack, const reco::VertexCollection *vertices, reco::VZeroData &data)
const MagneticField * theMagField
Global3DVector GlobalVector