ATLAS Offline Software
Trigger
TrigAlgorithms
TrigT2BeamSpot
src
T2SplitVertex.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
/**********************************************************************************
6
*
7
* @version: $Id: T2SplitVertex.h 361213 2011-04-23 18:26:44Z bartoldu $
8
*
9
* @project: HLT, PESA algorithms
10
* @package: TrigT2BeamSpot
11
* @class : T2SplitVertex
12
*
13
* @brief Helper class for a pair of vertices and their separation (delta)
14
* with some functionality used by the beam spot algorithm
15
*
16
* @author Rainer Bartoldus, SLAC, <bartoldu@slac.stanford.edu>
17
* @author Emanuel Strauss, SLAC <estrauss@slac.stanford.edu>
18
*
19
**********************************************************************************/
20
21
#ifndef TRIGT2BEAMSPOT_T2SPLITVERTEX_H
22
#define TRIGT2BEAMSPOT_T2SPLITVERTEX_H
23
25
#include "
T2Vertex.h
"
26
28
#include "
TrigInDetEvent/TrigVertex.h
"
29
30
#include <string>
31
#include <vector>
32
#include <cmath>
33
34
namespace
PESA
35
{
36
37
class
T2SplitVertex
38
{
39
public
:
40
41
// Helpers
42
double
rss
(
double
x
,
double
y
)
43
{
44
return
sqrt(
x
*
x
+
y
*
y
);
45
}
46
47
double
ratio
(
double
x
,
double
y
)
48
{
49
return
(
y
> 0. ) ?
x
/
y
: 0.;
50
}
51
52
// Constructor
53
54
T2SplitVertex
(
const
TrigVertex
&
vertex1
,
const
TrigVertex
&
vertex2
)
55
:
m_vertex1
(
vertex1
)
56
,
m_vertex2
(
vertex2
)
57
,
m_DNTrks
( (
m_vertex1
.NTrks() +
m_vertex2
.NTrks() ) / 2. )
58
,
m_DX
(
m_vertex1
.
X
() -
m_vertex2
.
X
() )
59
,
m_DY
(
m_vertex1
.
Y
() -
m_vertex2
.
Y
() )
60
,
m_DZ
(
m_vertex1
.Z() -
m_vertex2
.Z() )
61
,
m_DXerr
(
rss
(
m_vertex1
.Xerr(),
m_vertex2
.Xerr() ) )
62
,
m_DYerr
(
rss
(
m_vertex1
.Yerr(),
m_vertex2
.Yerr() ) )
63
,
m_DZerr
(
rss
(
m_vertex1
.Zerr(),
m_vertex2
.Zerr() ) )
64
,
m_DXpull
(
ratio
(
m_DX
,
m_DXerr
) )
65
,
m_DYpull
(
ratio
(
m_DY
,
m_DYerr
) )
66
,
m_DZpull
(
ratio
(
m_DZ
,
m_DZerr
) )
67
{
68
}
69
70
// Accessors
71
const
T2SimpleVertex
&
vertex1
()
const
{
return
m_vertex1
; }
72
const
T2SimpleVertex
&
vertex2
()
const
{
return
m_vertex2
; }
73
double
DNTrks
()
const
{
return
m_DNTrks
; }
74
double
DX
()
const
{
return
m_DX
; }
75
double
DY
()
const
{
return
m_DY
; }
76
double
DZ
()
const
{
return
m_DZ
; }
77
double
DXerr
()
const
{
return
m_DXerr
; }
78
double
DYerr
()
const
{
return
m_DYerr
; }
79
double
DZerr
()
const
{
return
m_DZerr
; }
80
double
DXpull
()
const
{
return
m_DXpull
; }
81
double
DYpull
()
const
{
return
m_DYpull
; }
82
double
DZpull
()
const
{
return
m_DZpull
; }
83
84
private
:
85
86
// Data members
87
T2SimpleVertex
m_vertex1
;
88
T2SimpleVertex
m_vertex2
;
89
double
m_DNTrks
;
90
double
m_DX
;
91
double
m_DY
;
92
double
m_DZ
;
93
double
m_DXerr
;
94
double
m_DYerr
;
95
double
m_DZerr
;
96
double
m_DXpull
;
97
double
m_DYpull
;
98
double
m_DZpull
;
99
};
100
101
}
// end namespace
102
103
#endif
T2Vertex.h
PESA::T2SplitVertex::m_DXerr
double m_DXerr
Definition:
T2SplitVertex.h:121
PESA::T2SplitVertex::m_DYpull
double m_DYpull
Definition:
T2SplitVertex.h:125
PESA::T2SplitVertex::m_DZ
double m_DZ
Definition:
T2SplitVertex.h:120
PESA::T2SplitVertex::ratio
double ratio(double x, double y)
Definition:
T2SplitVertex.h:75
PESA::T2SplitVertex::m_DNTrks
double m_DNTrks
Definition:
T2SplitVertex.h:117
x
#define x
PESA::T2SplitVertex::vertex1
const T2SimpleVertex & vertex1() const
Definition:
T2SplitVertex.h:99
PESA::T2SplitVertex::m_DXpull
double m_DXpull
Definition:
T2SplitVertex.h:124
PESA::T2SplitVertex::DZpull
double DZpull() const
Definition:
T2SplitVertex.h:110
Monitored::X
@ X
Definition:
HistogramFillerUtils.h:24
PESA::T2SimpleVertex
Definition:
T2Vertex.h:63
PESA::T2SplitVertex::vertex2
const T2SimpleVertex & vertex2() const
Definition:
T2SplitVertex.h:100
PESA
Local tools.
Definition:
T2BeamSpot.cxx:13
PESA::T2SplitVertex::DZ
double DZ() const
Definition:
T2SplitVertex.h:104
PESA::T2SplitVertex::DYpull
double DYpull() const
Definition:
T2SplitVertex.h:109
PESA::T2SplitVertex::DXpull
double DXpull() const
Definition:
T2SplitVertex.h:108
PESA::T2SplitVertex::DNTrks
double DNTrks() const
Definition:
T2SplitVertex.h:101
PESA::T2SplitVertex::m_DYerr
double m_DYerr
Definition:
T2SplitVertex.h:122
PESA::T2SplitVertex::DY
double DY() const
Definition:
T2SplitVertex.h:103
PESA::T2SplitVertex::DXerr
double DXerr() const
Definition:
T2SplitVertex.h:105
PESA::T2SplitVertex::m_DZerr
double m_DZerr
Definition:
T2SplitVertex.h:123
Monitored::Y
@ Y
Definition:
HistogramFillerUtils.h:24
PESA::T2SplitVertex::m_vertex1
T2SimpleVertex m_vertex1
Definition:
T2SplitVertex.h:115
PESA::T2SplitVertex::m_DY
double m_DY
Definition:
T2SplitVertex.h:119
PESA::T2SplitVertex::DZerr
double DZerr() const
Definition:
T2SplitVertex.h:107
PESA::T2SplitVertex::m_DZpull
double m_DZpull
Definition:
T2SplitVertex.h:126
PESA::T2SplitVertex::T2SplitVertex
T2SplitVertex(const TrigVertex &vertex1, const TrigVertex &vertex2)
Definition:
T2SplitVertex.h:82
TrigVertex.h
y
#define y
TrigVertex
Definition:
TrigVertex.h:28
PESA::T2SplitVertex::m_vertex2
T2SimpleVertex m_vertex2
Definition:
T2SplitVertex.h:116
PESA::T2SplitVertex::m_DX
double m_DX
Definition:
T2SplitVertex.h:118
PESA::T2SplitVertex::rss
double rss(double x, double y)
Definition:
T2SplitVertex.h:70
PESA::T2SplitVertex::DX
double DX() const
Definition:
T2SplitVertex.h:102
PESA::T2SplitVertex::DYerr
double DYerr() const
Definition:
T2SplitVertex.h:106
Generated on Sun Dec 22 2024 21:18:46 for ATLAS Offline Software by
1.8.18