#include <TwoTrackMinimumDistance.h>
Public Types | |
enum | Mode { FastMode =0, SlowMode =1 } |
Public Member Functions | |
bool | calculate (const TrajectoryStateOnSurface &sta, const TrajectoryStateOnSurface &stb) override |
bool | calculate (const FreeTrajectoryState &sta, const FreeTrajectoryState &stb) override |
virtual bool | calculate (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
TwoTrackMinimumDistance * | clone () const override |
GlobalPoint | crossingPoint () const override |
float | distance () const override |
double | firstAngle () const |
std::pair< double, double > | pathLength () const |
std::pair< GlobalPoint, GlobalPoint > | points () const override |
double | secondAngle () const |
bool | status () const override |
TwoTrackMinimumDistance (const Mode m=FastMode) | |
~TwoTrackMinimumDistance () override | |
Public Member Functions inherited from ClosestApproachOnHelices | |
ClosestApproachOnHelices () | |
virtual | ~ClosestApproachOnHelices () |
Private Types | |
enum | Charge { hh, hl, ll } |
Private Member Functions | |
bool | pointsHelixHelix (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
bool | pointsHelixLine (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
bool | pointsLineLine (const GlobalTrajectoryParameters &sta, const GlobalTrajectoryParameters &stb) |
General interface to calculate the PCA of two tracks. According to the charge of the tracks, the correct algorithm is used:
Definition at line 19 of file TwoTrackMinimumDistance.h.
|
private |
|
inlineoverride |
|
overridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 65 of file TwoTrackMinimumDistance.cc.
References TrajectoryStateOnSurface::globalParameters().
Referenced by VZeroFinder::checkTrackPair(), BPHWriteSpecificDecay::fill(), CrossingPtBasedLinearizationPointFinder::getLinearizationPoint(), PFDisplacedVertexCandidateFinder::link(), TracksClusteringFromDisplacedSeed::nearTracks(), TSCBLBuilderNoMaterial::operator()(), Onia2MuMuPAT::produce(), CrossingPtBasedLinearizationPointFinder::useAllTracks(), and ~TwoTrackMinimumDistance().
|
overridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 73 of file TwoTrackMinimumDistance.cc.
References FreeTrajectoryState::parameters().
|
virtual |
Definition at line 81 of file TwoTrackMinimumDistance.cc.
References GlobalTrajectoryParameters::charge(), MagneticField::inTesla(), GlobalTrajectoryParameters::magneticField(), and GlobalTrajectoryParameters::position().
|
inlineoverridevirtual |
Clone method
Implements ClosestApproachOnHelices.
Definition at line 55 of file TwoTrackMinimumDistance.h.
References firstAngle(), pathLength(), secondAngle(), and TwoTrackMinimumDistance().
|
overridevirtual |
arithmetic mean of the two points of closest approach
Implements ClosestApproachOnHelices.
Definition at line 185 of file TwoTrackMinimumDistance.cc.
References SiStripPI::mean.
Referenced by VZeroFinder::checkTrackPair(), PFDisplacedVertexCandidateFinder::link(), TracksClusteringFromDisplacedSeed::nearTracks(), and status().
|
overridevirtual |
distance between the two points of closest approach in 3D
Implements ClosestApproachOnHelices.
Definition at line 191 of file TwoTrackMinimumDistance.cc.
Referenced by VZeroFinder::checkTrackPair(), PFDisplacedVertexCandidateFinder::link(), TracksClusteringFromDisplacedSeed::nearTracks(), and status().
double TwoTrackMinimumDistance::firstAngle | ( | ) | const |
Definition at line 20 of file TwoTrackMinimumDistance.cc.
References Exception, and AlignmentTrackSelector_cfi::theCharge.
Referenced by VZeroFinder::checkTrackPair(), clone(), and TSCBLBuilderNoMaterial::operator()().
pair< double, double > TwoTrackMinimumDistance::pathLength | ( | ) | const |
Definition at line 45 of file TwoTrackMinimumDistance.cc.
References Exception, and AlignmentTrackSelector_cfi::theCharge.
Referenced by clone(), and TSCBLBuilderNoMaterial::operator()().
|
overridevirtual |
Returns the two PCA on the trajectories.
Implements ClosestApproachOnHelices.
Definition at line 57 of file TwoTrackMinimumDistance.cc.
References Exception.
Referenced by BPHWriteSpecificDecay::fill(), CrossingPtBasedLinearizationPointFinder::getLinearizationPoint(), TracksClusteringFromDisplacedSeed::nearTracks(), TSCBLBuilderNoMaterial::operator()(), Onia2MuMuPAT::produce(), status(), and CrossingPtBasedLinearizationPointFinder::useAllTracks().
|
private |
Definition at line 119 of file TwoTrackMinimumDistance.cc.
References GlobalTrajectoryParameters::charge(), MillePedeFileConverter_cfg::e, f, mag2(), GlobalTrajectoryParameters::momentum(), GlobalTrajectoryParameters::position(), and AlignmentTrackSelector_cfi::theCharge.
|
private |
Definition at line 109 of file TwoTrackMinimumDistance.cc.
References AlignmentTrackSelector_cfi::theCharge.
|
private |
Definition at line 99 of file TwoTrackMinimumDistance.cc.
References AlignmentTrackSelector_cfi::theCharge.
double TwoTrackMinimumDistance::secondAngle | ( | ) | const |
Definition at line 32 of file TwoTrackMinimumDistance.cc.
References Exception, and AlignmentTrackSelector_cfi::theCharge.
Referenced by VZeroFinder::checkTrackPair(), and clone().
|
inlineoverridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 37 of file TwoTrackMinimumDistance.h.
References crossingPoint(), distance(), points(), and status_.
|
private |
Definition at line 72 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 71 of file TwoTrackMinimumDistance.h.
Referenced by status(), and TwoTrackMinimumDistance().
|
mutableprivate |
Definition at line 66 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 67 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 65 of file TwoTrackMinimumDistance.h.
Referenced by TwoTrackMinimumDistance().
|
mutableprivate |
Definition at line 68 of file TwoTrackMinimumDistance.h.
|
mutableprivate |
Definition at line 70 of file TwoTrackMinimumDistance.h.
|
mutableprivate |
Definition at line 69 of file TwoTrackMinimumDistance.h.