#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 20 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 24 of file TwoTrackMinimumDistance.h.
References visualization-live-secondInstance_cfg::m, status_, and theModus.
Referenced by clone().
|
inlineoverride |
Definition at line 28 of file TwoTrackMinimumDistance.h.
|
overridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 83 of file TwoTrackMinimumDistance.cc.
References TrajectoryStateOnSurface::globalParameters().
Referenced by btagbtvdeep::TrackPairInfoBuilder::buildTrackPairInfo(), BPHWriteSpecificDecay::fill(), CrossingPtBasedLinearizationPointFinder::getLinearizationPoint(), PFDisplacedVertexCandidateFinder::link(), TracksClusteringFromDisplacedSeed::nearTracks(), TSCBLBuilderNoMaterial::operator()(), Onia2MuMuPAT::produce(), and CrossingPtBasedLinearizationPointFinder::useAllTracks().
|
overridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 87 of file TwoTrackMinimumDistance.cc.
References FreeTrajectoryState::parameters().
|
virtual |
Definition at line 92 of file TwoTrackMinimumDistance.cc.
References GlobalTrajectoryParameters::charge(), MagneticField::inTesla(), GlobalTrajectoryParameters::magneticField(), and GlobalTrajectoryParameters::position().
|
inlineoverridevirtual |
Clone method
Implements ClosestApproachOnHelices.
Definition at line 53 of file TwoTrackMinimumDistance.h.
References TwoTrackMinimumDistance().
|
overridevirtual |
arithmetic mean of the two points of closest approach
Implements ClosestApproachOnHelices.
Definition at line 187 of file TwoTrackMinimumDistance.cc.
References SiStripPI::mean.
Referenced by btagbtvdeep::TrackPairInfoBuilder::buildTrackPairInfo(), PFDisplacedVertexCandidateFinder::link(), and TracksClusteringFromDisplacedSeed::nearTracks().
|
overridevirtual |
distance between the two points of closest approach in 3D
Implements ClosestApproachOnHelices.
Definition at line 189 of file TwoTrackMinimumDistance.cc.
Referenced by btagbtvdeep::TrackPairInfoBuilder::buildTrackPairInfo(), PFDisplacedVertexCandidateFinder::link(), and TracksClusteringFromDisplacedSeed::nearTracks().
double TwoTrackMinimumDistance::firstAngle | ( | ) | const |
Definition at line 18 of file TwoTrackMinimumDistance.cc.
Referenced by TSCBLBuilderNoMaterial::operator()().
pair< double, double > TwoTrackMinimumDistance::pathLength | ( | ) | const |
Definition at line 56 of file TwoTrackMinimumDistance.cc.
Referenced by TSCBLBuilderNoMaterial::operator()().
|
overridevirtual |
Returns the two PCA on the trajectories.
Implements ClosestApproachOnHelices.
Definition at line 75 of file TwoTrackMinimumDistance.cc.
References Exception.
Referenced by btagbtvdeep::TrackPairInfoBuilder::buildTrackPairInfo(), BPHWriteSpecificDecay::fill(), CrossingPtBasedLinearizationPointFinder::getLinearizationPoint(), TracksClusteringFromDisplacedSeed::nearTracks(), TSCBLBuilderNoMaterial::operator()(), Onia2MuMuPAT::produce(), and CrossingPtBasedLinearizationPointFinder::useAllTracks().
|
private |
Definition at line 123 of file TwoTrackMinimumDistance.cc.
References GlobalTrajectoryParameters::charge(), alignCSCRings::e, validate-o2o-wbm::f, hh, mag2(), GlobalTrajectoryParameters::momentum(), and GlobalTrajectoryParameters::position().
|
private |
Definition at line 114 of file TwoTrackMinimumDistance.cc.
|
private |
Definition at line 105 of file TwoTrackMinimumDistance.cc.
double TwoTrackMinimumDistance::secondAngle | ( | ) | const |
Definition at line 37 of file TwoTrackMinimumDistance.cc.
|
inlineoverridevirtual |
Implements ClosestApproachOnHelices.
Definition at line 36 of file TwoTrackMinimumDistance.h.
References status_.
|
private |
Definition at line 68 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 67 of file TwoTrackMinimumDistance.h.
Referenced by status(), and TwoTrackMinimumDistance().
|
private |
Definition at line 62 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 63 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 61 of file TwoTrackMinimumDistance.h.
Referenced by TwoTrackMinimumDistance().
|
private |
Definition at line 64 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 66 of file TwoTrackMinimumDistance.h.
|
private |
Definition at line 65 of file TwoTrackMinimumDistance.h.