ATLAS Offline Software
Functions
TrigVertex.cxx File Reference
#include "TrigInDetEvent/TrigVertex.h"
Include dependency graph for TrigVertex.cxx:

Go to the source code of this file.

Functions

std::string str (const TrigVertex &v)
 
MsgStream & operator<< (MsgStream &m, const TrigVertex &v)
 
bool operator== (const TrigVertex &a, const TrigVertex &b)
 
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 variable names and differences between two objects More...
 

Function Documentation

◆ 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 variable names and differences between two objects

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<<()

MsgStream& operator<< ( MsgStream &  m,
const TrigVertex v 
)

Definition at line 29 of file TrigVertex.cxx.

30 {
31  m << str(v);
32  return m;
33 }

◆ operator==()

bool operator== ( const TrigVertex a,
const TrigVertex b 
)

Definition at line 35 of file TrigVertex.cxx.

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 }

◆ str()

std::string str ( const TrigVertex v)

Definition at line 7 of file TrigVertex.cxx.

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 }
AllowedVariables::e
e
Definition: AsgElectronSelectorTool.cxx:37
python.SystemOfUnits.m
int m
Definition: SystemOfUnits.py:91
PowhegControl_ttHplus_NLO.ss
ss
Definition: PowhegControl_ttHplus_NLO.py:83
xAOD::double
double
Definition: CompositeParticle_v1.cxx:159
plotBeamSpotMon.b
b
Definition: plotBeamSpotMon.py:77
python.LumiBlobConversion.pos
pos
Definition: LumiBlobConversion.py:18
python.PyAthena.v
v
Definition: PyAthena.py:154
a
TList * a
Definition: liststreamerinfos.cxx:10
str
std::string str(const TrigVertex &v)
Definition: TrigVertex.cxx:7