ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigInDetEvent
src
TrigVertex.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrigInDetEvent/TrigVertex.h
"
6
7
std::string
str
(
const
TrigVertex
& v )
//<! printing helper
8
{
9
std::stringstream
ss
;
10
const
HepGeom::Point3D<double>& pos = v.position();
11
int
nTracks=0;
12
13
if
(v.tracks()!=NULL) nTracks=v.tracks()->size();
14
15
ss
<<
"AlgorithmID: "
<<v.algorithmId()
16
<<
"x: "
<<pos.x()
17
<<
" y: "
<<pos.y()
18
<<
" z: "
<<pos.z()
19
<<
" chi2: "
<<v.chi2()
20
<<
" ndof: "
<<v.ndof()
21
<<
" ntracks: "
<<nTracks
22
<<
" mass: "
<<v.mass()
23
<<
" energyFraction: "
<<v.energyFraction()
24
<<
" nTwoTracksSecVtx: "
<<v.nTwoTracksSecVtx();
25
return
ss
.str();
26
27
}
28
29
MsgStream&
operator<<
( MsgStream& m,
const
TrigVertex
& v )
//<! printing helper (wraps above)
30
{
31
m <<
str
(v);
32
return
m;
33
}
34
35
bool
operator==
(
const
TrigVertex
&
a
,
const
TrigVertex
& b )
36
{
37
const
double
epsilon=1e-8;
38
int
nTracksA=0;
39
int
nTracksB=0;
40
41
if
(
a
.tracks()!=NULL) nTracksA=
a
.tracks()->size();
42
if
(b.tracks()!=NULL) nTracksB=b.tracks()->size();
43
const
HepGeom::Point3D<double>& posA =
a
.position();
44
const
HepGeom::Point3D<double>& posB = b.position();
45
46
if
(
a
.algorithmId() != b.algorithmId())
return
false
;
47
if
(nTracksA != nTracksB)
return
false
;
48
if
(
a
.ndof() != b.ndof())
return
false
;
49
if
(fabs(posA.x()-posB.x())>epsilon)
return
false
;
50
if
(fabs(posA.y()-posB.y())>epsilon)
return
false
;
51
if
(fabs(posA.z()-posB.z())>epsilon)
return
false
;
52
if
(fabs(
a
.chi2()-b.chi2())>epsilon)
return
false
;
53
if
(fabs(
a
.mass()-b.mass())>epsilon)
return
false
;
54
return
true
;
55
}
56
64
void
diff
(
const
TrigVertex
&
a
,
const
TrigVertex
& b, std::map<std::string, double>& variableChange )
65
{
66
int
nTracksA=0;
67
int
nTracksB=0;
68
69
if
(
a
.tracks()!=NULL) nTracksA=
a
.tracks()->size();
70
if
(b.tracks()!=NULL) nTracksB=b.tracks()->size();
71
const
HepGeom::Point3D<double>& posA =
a
.position();
72
const
HepGeom::Point3D<double>& posB = b.position();
73
74
variableChange[
"x"
] = posA.x() - posB.x();
75
variableChange[
"y"
] = posA.y() - posB.y();
76
variableChange[
"z"
] = posA.z() - posB.z();
77
variableChange[
"ntracks"
] = (double)(nTracksA - nTracksB);
78
variableChange[
"chi2"
] =
a
.chi2() - b.chi2();
79
variableChange[
"ndof"
] = (double)(
a
.ndof() - b.ndof());
80
variableChange[
"mass"
] =
a
.mass() - b.mass();
81
variableChange[
"energyFraction"
] =
a
.energyFraction() - b.energyFraction();
82
variableChange[
"nTwoTracksSecVtx"
] = (double)(
a
.nTwoTracksSecVtx() - b.nTwoTracksSecVtx());
83
}
a
static Double_t a
Definition
LArPhysWaveHECTool.cxx:38
ss
static Double_t ss
Definition
LArPhysWaveHECTool.cxx:37
operator==
bool operator==(const TrigVertex &a, const TrigVertex &b)
Definition
TrigVertex.cxx:35
diff
void diff(const TrigVertex &a, const TrigVertex &b, std::map< std::string, double > &variableChange)
comparison with feedback Function compares two objects and returns "semi verbose" output in the form ...
Definition
TrigVertex.cxx:64
operator<<
MsgStream & operator<<(MsgStream &m, const TrigVertex &v)
Definition
TrigVertex.cxx:29
TrigVertex.h
TrigVertex
encapsulates LVL2 vertex parameters (in the global reference frame), covariance matrix,...
Definition
TrigVertex.h:29
str
Definition
BTagTrackIpAccessor.cxx:11
Generated on
for ATLAS Offline Software by
1.17.0