Algotool which calculates the distance between the two tracks in 2d only, re-using the Trk2dDistanceSeeder tool, which is based on the analytic solution of the minimum distance between two circles.
More...
#include <Trk2DDistanceFinder.h>
Algotool which calculates the distance between the two tracks in 2d only, re-using the Trk2dDistanceSeeder tool, which is based on the analytic solution of the minimum distance between two circles.
Of the two possible solutions, in Trk2dDistanceSeeder the one which minimizes the distance in z is used. (not sure this is what we want to find an approximate beam spot position event by event during primary vertex finding).
- Author
- giaci.nosp@m.nto..nosp@m.piacq.nosp@m.uadi.nosp@m.o@cer.nosp@m.n.ch
Definition at line 38 of file Trk2DDistanceFinder.h.
◆ Trk2DDistanceFinder()
| Trk::Trk2DDistanceFinder::Trk2DDistanceFinder |
( |
const std::string & | t, |
|
|
const std::string & | n, |
|
|
const IInterface * | p ) |
Definition at line 28 of file Trk2DDistanceFinder.cxx.
28 :
29 base_class(t,n,p),
32 {
34 }
std::atomic< int > m_numberOfMinimizationFailures
ToolHandle< Trk2dDistanceSeeder > m_2ddistanceseeder
◆ ~Trk2DDistanceFinder()
| Trk::Trk2DDistanceFinder::~Trk2DDistanceFinder |
( |
| ) |
|
|
virtualdefault |
◆ CalculateMinimumDistance() [1/2]
method to do the calculation starting from two MeasuredPerigees
If successful, returns the points on the two tracks at minimum distance.
return value is true if calculation is successfull
Definition at line 60 of file Trk2DDistanceFinder.cxx.
62 {
63 std::pair<PointOnTrack,PointOnTrack> minpoints;
65
66 try {
68 } catch (...) {
71 return std::nullopt;
72 }
73
74
75#ifdef SEEDNEWTONTRKDISTANCEFINDER_DEBUG
76 ATH_MSG_DEBUG(
"Returned a_phi " << minpoints.first.getPhiPoint() );
77 ATH_MSG_DEBUG(
"Returned b_phi " << minpoints.second.getPhiPoint() );
78#endif
79
80 return points;
81
82 }
#define ATH_MSG_WARNING(x)
std::pair< Amg::Vector3D, Amg::Vector3D > TwoPoints
◆ CalculateMinimumDistance() [2/2]
method to do the calculation starting from two tracks
Definition at line 86 of file Trk2DDistanceFinder.cxx.
88 {
89 if (std::isnan(
a.perigeeParameters()->parameters()[
Trk::d0])||std::isnan(
b.perigeeParameters()->parameters()[
Trk::d0])) {
91 return std::nullopt;
92 }
93
95 }
virtual std::optional< TwoPoints > CalculateMinimumDistance(const Trk::Perigee &, const Trk::Perigee &) const override final
method to do the calculation starting from two MeasuredPerigees
◆ finalize()
| StatusCode Trk::Trk2DDistanceFinder::finalize |
( |
| ) |
|
|
overridevirtual |
◆ initialize()
| StatusCode Trk::Trk2DDistanceFinder::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 38 of file Trk2DDistanceFinder.cxx.
39 {
40
41
43
47 return StatusCode::SUCCESS;
48 }
#define ATH_CHECK
Evaluate an expression and check for errors.
◆ m_2ddistanceseeder
◆ m_numberOfMinimizationFailures
| std::atomic<int> Trk::Trk2DDistanceFinder::m_numberOfMinimizationFailures |
|
mutableprivate |
The documentation for this class was generated from the following files: