#include <TangentApproachInRPhi.h>
Public Member Functions | |
virtual bool | calculate (const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) |
virtual bool | calculate (const FreeTrajectoryState &sta, const FreeTrajectoryState &stb) |
virtual TangentApproachInRPhi * | clone () const |
virtual GlobalPoint | crossingPoint () const |
virtual float | distance () const |
float | perpdist () const |
virtual std::pair< GlobalPoint, GlobalPoint > | points () const |
virtual bool | status () const |
TangentApproachInRPhi () | |
std::pair < GlobalTrajectoryParameters, GlobalTrajectoryParameters > | trajectoryParameters () const |
Public Member Functions inherited from ClosestApproachOnHelices | |
ClosestApproachOnHelices () | |
virtual | ~ClosestApproachOnHelices () |
Private Member Functions | |
bool | calculate (const TrackCharge &chargeA, const GlobalVector &momentumA, const GlobalPoint &positionA, const TrackCharge &chargeB, const GlobalVector &momentumB, const GlobalPoint &positionB, const MagneticField &magField) |
void | circleParameters (const TrackCharge &charge, const GlobalVector &momemtum, const GlobalPoint &position, double &xc, double &yc, double &r, const MagneticField &magField) const |
GlobalTrajectoryParameters | trajectoryParameters (const GlobalPoint &newpt, const GlobalTrajectoryParameters &oldpar) const |
int | transverseCoord (double cxa, double cya, double ra, double cxb, double cyb, double rb, double &xg1, double &yg1, double &xg2, double &yg2) const |
double | zCoord (const GlobalVector &mom, const GlobalPoint &pos, double r, double xc, double yc, double xg, double yg) const |
Private Attributes | |
bool | intersection_ |
GlobalTrajectoryParameters | paramA |
GlobalTrajectoryParameters | paramB |
GlobalPoint | posA |
GlobalPoint | posB |
bool | status_ |
Given two trajectory states, computes the two points of tangent approach in the transverse plane for the helices extrapolated from these states. 1) computes the tangent points of the circles in transverse plane. Two cases: - Whether or not the circles intersect the points used are the points of tangent approach of the two circles. 2) computes the corresponding z-coordinates.
Definition at line 15 of file TangentApproachInRPhi.h.
|
inline |
Definition at line 19 of file TangentApproachInRPhi.h.
References intersection_, and status_.
Referenced by clone().
|
virtual |
Implements ClosestApproachOnHelices.
Definition at line 7 of file TangentApproachInRPhi.cc.
References TrajectoryStateOnSurface::charge(), TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalMomentum(), TrajectoryStateOnSurface::globalParameters(), TrajectoryStateOnSurface::globalPosition(), GlobalTrajectoryParameters::magneticField(), and FreeTrajectoryState::parameters().
Referenced by ConversionProducer::preselectTrackPair().
|
virtual |
Implements ClosestApproachOnHelices.
Definition at line 23 of file TangentApproachInRPhi.cc.
References FreeTrajectoryState::charge(), GlobalTrajectoryParameters::magneticField(), FreeTrajectoryState::momentum(), FreeTrajectoryState::parameters(), and FreeTrajectoryState::position().
|
private |
Definition at line 80 of file TangentApproachInRPhi.cc.
References archive::flag.
|
private |
temporary code, to be replaced by call to curvature() when bug is fixed.
end of temporary code
Definition at line 165 of file TangentApproachInRPhi.cc.
References funct::abs(), funct::cos(), MagneticField::inTesla(), phi, PV3DBase< T, PVType, FrameType >::phi(), funct::sin(), PV3DBase< T, PVType, FrameType >::transverse(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
inlinevirtual |
Clone method
Implements ClosestApproachOnHelices.
Definition at line 51 of file TangentApproachInRPhi.h.
References TangentApproachInRPhi().
|
virtual |
arithmetic mean of the two points of closest approach
Implements ClosestApproachOnHelices.
Definition at line 47 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception.
Referenced by ConversionProducer::preselectTrackPair().
|
virtual |
distance between the two points of closest approach in 3D
Implements ClosestApproachOnHelices.
Definition at line 57 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception.
float TangentApproachInRPhi::perpdist | ( | ) | const |
signed distance between two points of closest approach in r-phi plane (-ive if circles intersect)
Definition at line 64 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception, and perp().
Referenced by ConversionProducer::preselectTrackPair().
|
virtual |
Returns the two PCA on the trajectories.
Implements ClosestApproachOnHelices.
Definition at line 38 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception.
|
inlinevirtual |
Implements ClosestApproachOnHelices.
Definition at line 27 of file TangentApproachInRPhi.h.
References status_.
Referenced by ConversionProducer::preselectTrackPair().
pair< GlobalTrajectoryParameters, GlobalTrajectoryParameters > TangentApproachInRPhi::trajectoryParameters | ( | ) | const |
Returns not only the points, but the full GlobalTrajectoryParemeters at the points of closest approach
Definition at line 126 of file TangentApproachInRPhi.cc.
References edm::hlt::Exception, and run_regression::ret.
Referenced by ConversionProducer::preselectTrackPair().
|
private |
Definition at line 136 of file TangentApproachInRPhi.cc.
References GlobalTrajectoryParameters::charge(), GlobalTrajectoryParameters::magneticField(), GlobalTrajectoryParameters::momentum(), GlobalTrajectoryParameters::position(), alignCSCRings::r, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
private |
Definition at line 195 of file TangentApproachInRPhi.cc.
References funct::abs(), archive::flag, jetcorrextractor::sign(), mathSSE::sqrt(), and findQualityFiles::v.
|
private |
Definition at line 271 of file TangentApproachInRPhi.cc.
References funct::abs(), phi, alignCSCRings::r, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::transverse(), x, PV3DBase< T, PVType, FrameType >::x(), detailsBasic3DVector::y, PV3DBase< T, PVType, FrameType >::y(), detailsBasic3DVector::z, and PV3DBase< T, PVType, FrameType >::z().
|
private |
Definition at line 100 of file TangentApproachInRPhi.h.
Referenced by TangentApproachInRPhi().
|
private |
Definition at line 99 of file TangentApproachInRPhi.h.
|
private |
Definition at line 99 of file TangentApproachInRPhi.h.
|
private |
Definition at line 98 of file TangentApproachInRPhi.h.
|
private |
Definition at line 98 of file TangentApproachInRPhi.h.
|
private |
Definition at line 97 of file TangentApproachInRPhi.h.
Referenced by status(), and TangentApproachInRPhi().