#include <TangentApproachInRPhi.h>
Public Member Functions | |
bool | calculate (const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override |
bool | calculate (const FreeTrajectoryState &sta, const FreeTrajectoryState &stb) override |
TangentApproachInRPhi * | clone () const override |
GlobalPoint | crossingPoint () const override |
float | distance () const override |
float | perpdist () const |
std::pair< GlobalPoint, GlobalPoint > | points () const override |
bool | status () const override |
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 calculate(), intersection_, and status_.
Referenced by clone().
|
overridevirtual |
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 clone(), ConversionProducer::preselectTrackPair(), and TangentApproachInRPhi().
|
overridevirtual |
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 RemoveAddSevLevel::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(), 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().
Referenced by clone().
|
inlineoverridevirtual |
Clone method
Implements ClosestApproachOnHelices.
Definition at line 51 of file TangentApproachInRPhi.h.
References calculate(), ALCARECOTkAlJpsiMuMu_cff::charge, circleParameters(), position, alignCSCRings::r, TangentApproachInRPhi(), trajectoryParameters(), transverseCoord(), and zCoord().
|
overridevirtual |
arithmetic mean of the two points of closest approach
Implements ClosestApproachOnHelices.
Definition at line 47 of file TangentApproachInRPhi.cc.
References Exception.
Referenced by ConversionProducer::preselectTrackPair(), and status().
|
overridevirtual |
distance between the two points of closest approach in 3D
Implements ClosestApproachOnHelices.
Definition at line 57 of file TangentApproachInRPhi.cc.
References Exception.
Referenced by status().
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 Exception, and perp().
Referenced by ConversionProducer::preselectTrackPair(), and status().
|
overridevirtual |
Returns the two PCA on the trajectories.
Implements ClosestApproachOnHelices.
Definition at line 38 of file TangentApproachInRPhi.cc.
References Exception.
Referenced by status().
|
inlineoverridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 27 of file TangentApproachInRPhi.h.
References crossingPoint(), distance(), perpdist(), points(), status_, and trajectoryParameters().
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 Exception.
Referenced by clone(), ConversionProducer::preselectTrackPair(), and status().
|
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(), RemoveAddSevLevel::flag, Validation_hcalonly_cfi::sign, mathSSE::sqrt(), findQualityFiles::v, globals_cff::x1, and globals_cff::x2.
Referenced by clone().
|
private |
Definition at line 271 of file TangentApproachInRPhi.cc.
References funct::abs(), PVValHelper::dz, alignCSCRings::r, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::transverse(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
Referenced by clone().
|
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().