#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 17 of file TangentApproachInRPhi.h.
References 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 ConversionProducer::preselectTrackPair().
|
overridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 21 of file TangentApproachInRPhi.cc.
References FreeTrajectoryState::charge(), GlobalTrajectoryParameters::magneticField(), FreeTrajectoryState::momentum(), FreeTrajectoryState::parameters(), and FreeTrajectoryState::position().
|
private |
Definition at line 73 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 151 of file TangentApproachInRPhi.cc.
References funct::abs(), ALCARECOTkAlJpsiMuMu_cff::charge, funct::cos(), MagneticField::inTesla(), PV3DBase< T, PVType, FrameType >::phi(), position, funct::sin(), PV3DBase< T, PVType, FrameType >::transverse(), and PV3DBase< T, PVType, FrameType >::z().
|
inlineoverridevirtual |
Clone method
Implements ClosestApproachOnHelices.
Definition at line 49 of file TangentApproachInRPhi.h.
References TangentApproachInRPhi().
|
overridevirtual |
arithmetic mean of the two points of closest approach
Implements ClosestApproachOnHelices.
Definition at line 42 of file TangentApproachInRPhi.cc.
References Exception.
Referenced by ConversionProducer::preselectTrackPair().
|
overridevirtual |
distance between the two points of closest approach in 3D
Implements ClosestApproachOnHelices.
Definition at line 50 of file TangentApproachInRPhi.cc.
References Exception.
float TangentApproachInRPhi::perpdist | ( | ) | const |
signed distance between two points of closest approach in r-phi plane (-ive if circles intersect)
Definition at line 58 of file TangentApproachInRPhi.cc.
References Exception, and perp().
Referenced by ConversionProducer::preselectTrackPair().
|
overridevirtual |
Returns the two PCA on the trajectories.
Implements ClosestApproachOnHelices.
Definition at line 34 of file TangentApproachInRPhi.cc.
References Exception.
|
inlineoverridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 26 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 116 of file TangentApproachInRPhi.cc.
References Exception, and runTheMatrix::ret.
Referenced by ConversionProducer::preselectTrackPair().
|
private |
Definition at line 126 of file TangentApproachInRPhi.cc.
References GlobalTrajectoryParameters::charge(), GlobalTrajectoryParameters::magneticField(), GlobalTrajectoryParameters::momentum(), GlobalTrajectoryParameters::position(), multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
private |
Definition at line 177 of file TangentApproachInRPhi.cc.
References funct::abs(), RemoveAddSevLevel::flag, Validation_hcalonly_cfi::sign, mathSSE::sqrt(), findQualityFiles::v, testProducerWithPsetDescEmpty_cfi::y1, and testProducerWithPsetDescEmpty_cfi::y2.
|
private |
Definition at line 261 of file TangentApproachInRPhi.cc.
References funct::abs(), l1tPhase1JetProducer_cfi::cosPhi, PVValHelper::dz, multPhiCorr_741_25nsDY_cfi::px, multPhiCorr_741_25nsDY_cfi::py, mathSSE::sqrt(), PV3DBase< T, PVType, FrameType >::transverse(), x, PV3DBase< T, PVType, FrameType >::x(), PV3DBase< T, PVType, FrameType >::y(), and PV3DBase< T, PVType, FrameType >::z().
|
private |
Definition at line 102 of file TangentApproachInRPhi.h.
Referenced by TangentApproachInRPhi().
|
private |
Definition at line 101 of file TangentApproachInRPhi.h.
|
private |
Definition at line 101 of file TangentApproachInRPhi.h.
|
private |
Definition at line 100 of file TangentApproachInRPhi.h.
|
private |
Definition at line 100 of file TangentApproachInRPhi.h.
|
private |
Definition at line 99 of file TangentApproachInRPhi.h.
Referenced by status(), and TangentApproachInRPhi().