ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Tracking
TrkVertexFitter
TrkVertexSeedFinderTools
TrkVertexSeedFinderTools
IndexedCrossDistancesSeedFinder.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
#ifndef TRKVERTEXSEEDFINDERTOOLS_INDEXCROSSDISTANCESSEEDFINDER_H
5
#define TRKVERTEXSEEDFINDERTOOLS_INDEXCROSSDISTANCESSEEDFINDER_H
6
7
#include "
AthenaBaseComps/AthAlgTool.h
"
8
#include "
TrkVertexFitterInterfaces/IVertexSeedFinder.h
"
9
#include "
TrkVertexSeedFinderUtils/IMode3dFinder.h
"
10
#include "GaudiKernel/ToolHandle.h"
11
12
#include "
TrkVertexSeedFinderUtils/ITrkDistanceFinder.h
"
13
#include "
TrkVertexSeedFinderUtils/IMode3dFinder.h
"
14
15
16
namespace
Trk
17
{
18
class
Track
;
19
20
// @author N. Giacinto Piacquadio (Albert-Ludwigs-Universitaet Freiburg - Germany)
21
//
22
// @ATLAS software
23
//
24
// This class implements a seed finder for the vertexing algorithm
25
// which is based on the mean points of the distances between all tracks
26
// (taken two by two). There's actually no selection on the tracks.
27
//
28
//
29
// A very similar point finder was implemented for the first time by Waltenberger
30
// in CMS. I suggest his PhD thesis (2005) as a reference for the different concepts
31
// of point finders.
32
//
33
// ------------------------------------
34
35
class
IndexedCrossDistancesSeedFinder
final:
public
extends<AthAlgTool, IVertexSeedFinder>
36
{
37
public
:
38
// Standard Gaudi constructor.
39
IndexedCrossDistancesSeedFinder
(
const
std::string& t,
40
const
std::string& n,
41
const
IInterface* p);
42
43
44
virtual
~IndexedCrossDistancesSeedFinder
();
45
46
47
virtual
StatusCode
initialize
()
override
;
48
49
55
virtual
Amg::Vector3D
56
findSeed
(
const
std::vector<const Trk::Track*> & vectorTrk,
57
const
xAOD::Vertex
* constraint=0)
const
override final;
58
59
65
virtual
Amg
::
Vector3D
66
findSeed
(
const
std
::
vector
<
const
Trk
::
TrackParameters
*> & perigeeList,
67
const
xAOD
::
Vertex
* constraint=0)
const
override final;
68
69
76
virtual
Amg
::
Vector3D
77
findSeed
(
const
double
vx,
78
const
double
vy,
79
const
std
::
vector
<
const
Trk
::
TrackParameters
*>& perigeeList,
80
const
xAOD
::
Vertex
* constraint=0)
const
override final;
81
82
90
virtual
Amg
::
Vector3D
91
findSeed
(
const
double
vx,
92
const
double
vy,
93
std
::
unique_ptr
<
Trk
::
IMode3dInfo
>& info,
94
const
std
::
vector
<
const
Trk
::
TrackParameters
*>& perigeeList,
95
const
xAOD
::
Vertex
* constraint=0)
const
override final;
96
97
103
virtual
std
::
vector
<
Amg
::
Vector3D
>
104
findMultiSeeds
(
const
std
::
vector
<
const
Trk
::
Track
*>& vectorTrk,
105
const
xAOD
::
Vertex
* constraint=0)
const
override final;
106
107
114
virtual
std
::
vector
<
Amg
::
Vector3D
>
115
findMultiSeeds
(
const
std
::
vector
<
const
Trk
::
TrackParameters
*>& perigeeList,
116
const
xAOD
::
Vertex
* constraint=0)
const
override final;
117
118
119
private
:
120
121
bool
m_useweights
;
122
float
m_trackdistcutoff
;
123
int
m_trackdistexppower
;
124
float
m_constraintcutoff
;
125
float
m_constrainttemp
;
126
unsigned
int
m_maximumTracksNoCut
;
127
double
m_maximumDistanceCut
;
128
129
ToolHandle<
IMode3dFinder
>
m_mode3dfinder
{
this
,
130
"Mode3dFinder"
,
131
"Trk::Mode3dFromFsmw1dFinder"
};
132
ToolHandle<ITrkDistanceFinder>
m_distancefinder
{
133
this
,
134
"TrkDistanceFinder"
,
135
"Trk::SeedNewtonTrkDistanceFinder"
136
};
137
};
138
}
139
#endif
AthAlgTool.h
IMode3dFinder.h
ITrkDistanceFinder.h
IVertexSeedFinder.h
Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
Trk::IMode3dFinder
Interface class for the algotool which calculates the mode of a threedimensional distribution.
Definition
IMode3dFinder.h:52
Trk::IMode3dInfo
Auxillary interface for getting back additional data.
Definition
IMode3dFinder.h:31
Trk::IndexedCrossDistancesSeedFinder::m_maximumDistanceCut
double m_maximumDistanceCut
Definition
IndexedCrossDistancesSeedFinder.h:127
Trk::IndexedCrossDistancesSeedFinder::m_trackdistcutoff
float m_trackdistcutoff
Definition
IndexedCrossDistancesSeedFinder.h:122
Trk::IndexedCrossDistancesSeedFinder::findSeed
virtual Amg::Vector3D findSeed(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const override final
Finds a linearization point out of a vector of tracks and returns it as an Amg::Vector3D object.
Definition
IndexedCrossDistancesSeedFinder.cxx:60
Trk::IndexedCrossDistancesSeedFinder::m_maximumTracksNoCut
unsigned int m_maximumTracksNoCut
Definition
IndexedCrossDistancesSeedFinder.h:126
Trk::IndexedCrossDistancesSeedFinder::m_constraintcutoff
float m_constraintcutoff
Definition
IndexedCrossDistancesSeedFinder.h:124
Trk::IndexedCrossDistancesSeedFinder::m_useweights
bool m_useweights
Definition
IndexedCrossDistancesSeedFinder.h:121
Trk::IndexedCrossDistancesSeedFinder::m_trackdistexppower
int m_trackdistexppower
Definition
IndexedCrossDistancesSeedFinder.h:123
Trk::IndexedCrossDistancesSeedFinder::m_distancefinder
ToolHandle< ITrkDistanceFinder > m_distancefinder
Definition
IndexedCrossDistancesSeedFinder.h:132
Trk::IndexedCrossDistancesSeedFinder::IndexedCrossDistancesSeedFinder
IndexedCrossDistancesSeedFinder(const std::string &t, const std::string &n, const IInterface *p)
Definition
IndexedCrossDistancesSeedFinder.cxx:27
Trk::IndexedCrossDistancesSeedFinder::~IndexedCrossDistancesSeedFinder
virtual ~IndexedCrossDistancesSeedFinder()
Trk::IndexedCrossDistancesSeedFinder::initialize
virtual StatusCode initialize() override
Definition
IndexedCrossDistancesSeedFinder.cxx:51
Trk::IndexedCrossDistancesSeedFinder::findMultiSeeds
virtual std::vector< Amg::Vector3D > findMultiSeeds(const std::vector< const Trk::Track * > &vectorTrk, const xAOD::Vertex *constraint=0) const override final
Finds full vector of linearization points from a vector of tracks and returns it as an Amg::Vector3D ...
Definition
IndexedCrossDistancesSeedFinder.cxx:251
Trk::IndexedCrossDistancesSeedFinder::m_mode3dfinder
ToolHandle< IMode3dFinder > m_mode3dfinder
Definition
IndexedCrossDistancesSeedFinder.h:129
Trk::IndexedCrossDistancesSeedFinder::m_constrainttemp
float m_constrainttemp
Definition
IndexedCrossDistancesSeedFinder.h:125
Trk::Track
The ATLAS Track class.
Definition
Tracking/TrkEvent/TrkTrack/TrkTrack/Track.h:73
Trk::Vertex
This class is a simplest representation of a vertex candidate.
Definition
Tracking/TrkEvent/VxVertex/VxVertex/Vertex.h:26
unique_ptr
STL class.
vector
Definition
MultiHisto.h:13
const
Amg
Definition of ATLAS Math & Geometry primitives (Amg).
Definition
AmgStringHelpers.h:19
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition
GeoPrimitives.h:48
Track
Definition
TriggerChamberClusterOnTrackCreator.h:19
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition
FakeTrackBuilder.h:9
Trk::TrackParameters
ParametersBase< TrackParametersDim, Charged > TrackParameters
Definition
Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:27
std
STL namespace.
xAOD
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
Definition
ICaloAffectedTool.h:24
xAOD::Vertex
Vertex_v1 Vertex
Define the latest version of the vertex class.
Definition
Event/xAOD/xAODTracking/xAODTracking/Vertex.h:16
private
#define private
Definition
testRead.cxx:27
Generated on
for ATLAS Offline Software by
1.17.0