#include <list>
#include "CLHEP/Geometry/Point3D.h"
#include "TrigInDetEvent/TrigInDetTrack.h"
#include <math.h>
#include <map>
#include <ostream>
#include "GaudiKernel/MsgStream.h"
Go to the source code of this file.
|
| class | TrigVertex |
| | encapsulates LVL2 vertex parameters (in the global reference frame), covariance matrix, and some auxilliary information about the vertex. More...
|
◆ TrackInVertexList
◆ 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 of map where there are varaibel names and differences between two obejcts
- Parameters
-
| variableChange | - map to record the differences In case of collections (or objects when the size may be different) that information can also be returned in variableChange |
comparison with feedback Function compares two objects and returns "semi verbose" output in the form of map where there are varaibel names and differences between two obejcts
- Parameters
-
| variableChange | - map to record the differences In case of collections (or objects when the size may be different) that information can also be returned in variableChange |
Definition at line 64 of file TrigVertex.cxx.
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}
◆ operator!=()
◆ operator<<()
| MsgStream & operator<< |
( |
MsgStream & | m, |
|
|
const TrigVertex & | v ) |
◆ operator==()
Definition at line 35 of file TrigVertex.cxx.
36{
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}
◆ str()
Definition at line 7 of file TrigVertex.cxx.
8{
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()
21 <<" ntracks: "<<nTracks
23 <<
" energyFraction: "<<
v.energyFraction()
24 <<
" nTwoTracksSecVtx: "<<
v.nTwoTracksSecVtx();
26
27}