ATLAS Offline Software
VxClusteringTable.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  VxClusteringTable.h - Description
7  -------------------
8  begin : Februar 2007
9  authors : Giacinto Piacquadio (University of Freiburg)
10  Christian Weiser (University of Freiburg)
11  e-mails: giacinto.piacquadio@physik.uni-freiburg.de)
12  christian.weiser@cern.ch
13 
14  (c) Atlas Collaboration 2007
15 
16  (1) November 6, 2016
17  adding support for differentiating between pair of probabilities with PV or without
18  Giacinto Piacquadio (Stony Brook University)
19  giacinto.piacquadio@stonybrook.edu
20 
21  This class stores the information about the compatiblity of the vertices fitted
22  on the Jet Axis among themselves and with the Primary Vertex.
23 
24  This class essentially contains a map between the pairs of VxVertexOnJetAxis and
25  the probability (the key of the map) to form a common vertex under the constraint of having this common vertex
26  on the JetAxis. This helps to reject light-quark jet random lifetime tracks when applying the
27  JetFitter algorithm to B-Tagging. (refer to the new JetFitter algorithm for more details)
28 
29 
30  ***************************************************************************/
31 
32 #ifndef VXJETVERTEX_VxClusteringTable_H
33 #define VXJETVERTEX_VxClusteringTable_H
34 
35 #include "GaudiKernel/MsgStream.h"
38 #include <map>
39 
40 
41 namespace Trk {
42 
43  class VxVertexOnJetAxis;
44 
45  class VxClusteringTable
46  {
47  public:
48 
54 
56 
57  VxClusteringTable(const VxClusteringTable& ) = default;
59 
64  void setCompatibilityOfTo(const PairOfVxVertexOnJetAxis&,float);
65 
71 
76  const std::map<float,PairOfVxVertexOnJetAxis> &
78 
84 
85 
86 
90  MsgStream& dump(MsgStream& sl) const;
91 
96  std::ostream& dump(std::ostream& sl) const;
97 
98  private:
99  std::map<float,PairOfVxVertexOnJetAxis> m_compatibilityPairOfVertices;
100 
101 
102  };
103 
104 
105  MsgStream& operator << ( MsgStream& sl, const VxClusteringTable& sf);
106  std::ostream& operator << ( std::ostream& sl, const VxClusteringTable& sf) ;
107 
108 
109 
110 } // end of namespace
111 #endif
112 
Trk::VxClusteringTable::VxClusteringTable
VxClusteringTable()
Default constructor, if called initializes a VxClusteringTable with all data members set to 0.
Trk::PairOfVxVertexOnJetAxis
Definition: PairOfVxVertexOnJetAxis.h:53
Trk::VxClusteringTable::dump
MsgStream & dump(MsgStream &sl) const
Output Method for MsgStream, to be overloaded by child classes.
Definition: VxClusteringTable.cxx:46
Trk::VxClusteringTable::~VxClusteringTable
~VxClusteringTable()
PairOfVxVertexOnJetAxis.h
Trk::VxClusteringTable
Definition: VxClusteringTable.h:71
Trk::VxClusteringTable::m_compatibilityPairOfVertices
std::map< float, PairOfVxVertexOnJetAxis > m_compatibilityPairOfVertices
Definition: VxClusteringTable.h:124
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Trk::VxClusteringTable::getCompatibilityPairOfVertices
const std::map< float, PairOfVxVertexOnJetAxis > & getCompatibilityPairOfVertices(void) const
Get back full compatibility info (only for reading)
Definition: VxClusteringTable.cxx:101
mapkey::sf
@ sf
Definition: TElectronEfficiencyCorrectionTool.cxx:38
Trk::operator<<
MsgStream & operator<<(MsgStream &sl, const AlignModule &alignModule)
overload of << operator for MsgStream for debug output
Definition: AlignModule.cxx:204
Trk::VxClusteringTable::setCompatibilityOfTo
void setCompatibilityOfTo(const PairOfVxVertexOnJetAxis &, float)
Set compatibility of a new pair of tracks.
Definition: VxClusteringTable.cxx:106
Trk::VxClusteringTable::getMostCompatibleVerticesExcludingPrimary
PairOfVxVertexOnJetAxis getMostCompatibleVerticesExcludingPrimary(float &probability) const
Get pair of vertices with highest compatibility, removing cases with primary.
Definition: VxClusteringTable.cxx:134
FitQuality.h
Trk::VxClusteringTable::operator=
VxClusteringTable & operator=(const VxClusteringTable &)=default
Trk::VxClusteringTable::getMostCompatibleVertices
PairOfVxVertexOnJetAxis getMostCompatibleVertices(float &probability) const
Get pair of tracks with highest compatibility.
Definition: VxClusteringTable.cxx:117