ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigAnalysis
TrigInDetAnalysis
TrigInDetAnalysis
TIDAVertex.h
Go to the documentation of this file.
1
/* emacs: this is -*- c++ -*- */
10
11
12
#ifndef TIDA_VERTEX_H
13
#define TIDA_VERTEX_H
14
15
#include <iostream>
16
#include <vector>
17
18
#include "
TrigInDetAnalysis/Track.h
"
19
20
21
namespace
TIDA
{
22
23
class
Vertex
:
public
TObject {
24
25
public
:
26
27
Vertex
(
double
x
=0,
double
y
=0,
double
z
=0,
28
double
dx
=0,
double
dy
=0,
double
dz
=0,
29
int
Ntracks
=0,
double
c2=0,
int
dof=0,
30
const
std::vector<TIDA::Track*>*
tracks
=0 );
31
32
// copy constructor
33
Vertex
(
const
TIDA::Vertex
& v);
34
35
// destructor
36
virtual
~Vertex
() {}
37
38
// Tracks passed to addTracks() should belong to the vertex
39
void
addTracks
(
const
std::vector<TIDA::Track*>&
tracks
);
40
41
// Select tracks with specific ids from a track collection and add to vertex
42
void
selectTracks
(
const
std::vector<TIDA::Track*>& trackCollection,
43
const
std::vector<unsigned long>& trackIds );
44
45
void
selectTracks
(
const
std::vector<TIDA::Track*>& trackCollection );
46
47
// vertex parameter accessors
48
const
double
*
position
()
const
{
return
m_x
; }
49
double
*
position
() {
return
m_x
; }
50
51
double
x
()
const
{
return
m_x
[0]; }
52
double
y
()
const
{
return
m_x
[1]; }
53
double
z
()
const
{
return
m_x
[2]; }
54
55
const
double
*
error
()
const
{
return
m_dx
; }
56
double
*
error
() {
return
m_dx
; }
57
58
double
dx
()
const
{
return
m_dx
[0]; }
59
double
dy
()
const
{
return
m_dx
[1]; }
60
double
dz
()
const
{
return
m_dx
[2]; }
61
62
int
Ntracks
()
const
{
return
m_Ntracks
; }
63
64
double
chi2
()
const
{
return
m_chi2
; }
65
int
ndof
()
const
{
return
m_ndof
; }
66
67
const
std::vector<TIDA::Track*>&
tracks
()
const
{
return
m_tracks
; }
68
69
const
std::vector<unsigned long>&
ids
()
const
{
return
m_ids
; }
70
71
const
TIDA::Track
*
operator[]
(
const
int
i )
const
{
72
if
(
m_tracks
.size() > 0 )
return
m_tracks
.at( i );
73
return
nullptr
; }
74
75
private
:
76
77
// internal track addition method
78
void
addTrack
(
TIDA::Track
* trk ) {
m_tracks
.push_back(trk); }
79
80
// vertex parameters
81
double
m_x
[3];
82
double
m_dx
[3];
83
84
int
m_Ntracks
;
85
double
m_chi2
;
86
int
m_ndof
;
87
88
// vertex tracks
89
std::vector<TIDA::Track*>
m_tracks
;
90
std::vector<unsigned long>
m_ids
;
91
92
ClassDef(
TIDA::Vertex
,3)
93
94
};
95
96
}
97
98
inline
std::ostream&
operator<<
( std::ostream& s,
const
TIDA::Vertex
& t ) {
99
return
s <<
"[ x="
<< t.position()[0] <<
" +- "
<< t.error()[0]
100
<<
"\ty="
<< t.position()[1] <<
" +- "
<< t.error()[1]
101
<<
"\tz="
<< t.position()[2] <<
" +- "
<< t.error()[2]
102
<<
";\tchi2="
<< t.chi2() <<
"/"
<< t.ndof()
103
<<
"\tNtracks="
<< t.Ntracks() <<
"\t]"
;
104
}
105
106
#endif
// TIDA_VERTEX_H
Vertex
boost::graph_traits< boost::adjacency_list< boost::vecS, boost::vecS, boost::bidirectionalS > >::vertex_descriptor Vertex
Definition
FPGATrackSimGNNRoadMakerTool.h:35
operator<<
std::ostream & operator<<(std::ostream &s, const TIDA::Vertex &t)
Definition
TIDAVertex.h:98
Track.h
TIDA::Track
Definition
Trigger/TrigAnalysis/TrigInDetAnalysis/TrigInDetAnalysis/Track.h:26
TIDA::Vertex
Definition
TIDAVertex.h:23
TIDA::Vertex::position
const double * position() const
Definition
TIDAVertex.h:48
TIDA::Vertex::position
double * position()
Definition
TIDAVertex.h:49
TIDA::Vertex::m_Ntracks
int m_Ntracks
Definition
TIDAVertex.h:84
TIDA::Vertex::y
double y() const
Definition
TIDAVertex.h:52
TIDA::Vertex::Vertex
Vertex(double x=0, double y=0, double z=0, double dx=0, double dy=0, double dz=0, int Ntracks=0, double c2=0, int dof=0, const std::vector< TIDA::Track * > *tracks=0)
TIDA::Vertex::Ntracks
int Ntracks() const
Definition
TIDAVertex.h:62
TIDA::Vertex::m_ids
std::vector< unsigned long > m_ids
Definition
TIDAVertex.h:90
TIDA::Vertex::operator[]
const TIDA::Track * operator[](const int i) const
Definition
TIDAVertex.h:71
TIDA::Vertex::z
double z() const
Definition
TIDAVertex.h:53
TIDA::Vertex::~Vertex
virtual ~Vertex()
Definition
TIDAVertex.h:36
TIDA::Vertex::ids
const std::vector< unsigned long > & ids() const
Definition
TIDAVertex.h:69
TIDA::Vertex::m_chi2
double m_chi2
Definition
TIDAVertex.h:85
TIDA::Vertex::ndof
int ndof() const
Definition
TIDAVertex.h:65
TIDA::Vertex::error
double * error()
Definition
TIDAVertex.h:56
TIDA::Vertex::m_ndof
int m_ndof
Definition
TIDAVertex.h:86
TIDA::Vertex::m_tracks
std::vector< TIDA::Track * > m_tracks
Definition
TIDAVertex.h:89
TIDA::Vertex::x
double x() const
Definition
TIDAVertex.h:51
TIDA::Vertex::tracks
const std::vector< TIDA::Track * > & tracks() const
Definition
TIDAVertex.h:67
TIDA::Vertex::dx
double dx() const
Definition
TIDAVertex.h:58
TIDA::Vertex::m_x
double m_x[3]
Definition
TIDAVertex.h:81
TIDA::Vertex::error
const double * error() const
Definition
TIDAVertex.h:55
TIDA::Vertex::dy
double dy() const
Definition
TIDAVertex.h:59
TIDA::Vertex::dz
double dz() const
Definition
TIDAVertex.h:60
TIDA::Vertex::m_dx
double m_dx[3]
Definition
TIDAVertex.h:82
TIDA::Vertex::selectTracks
void selectTracks(const std::vector< TIDA::Track * > &trackCollection, const std::vector< unsigned long > &trackIds)
Definition
TIDAVertex.cxx:65
TIDA::Vertex::addTrack
void addTrack(TIDA::Track *trk)
Definition
TIDAVertex.h:78
TIDA::Vertex::chi2
double chi2() const
Definition
TIDAVertex.h:64
TIDA::Vertex::addTracks
void addTracks(const std::vector< TIDA::Track * > &tracks)
Definition
TIDAVertex.cxx:52
TIDA
Test for xAOD.
Definition
Filter_AcceptAll.h:22
Generated on
for ATLAS Offline Software by
1.17.0