|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef DERIVATIONFRAMEWORK_PVCASCADETOOLS_H
6 #define DERIVATIONFRAMEWORK_PVCASCADETOOLS_H
8 #include "GaudiKernel/ToolHandle.h"
25 class PrimaryVertexRefitter;
29 class ParticleDataTable;
59 const std::vector<const xAOD::Vertex*> &PVlist,
60 const size_t PV_minNTracks=0)
const;
63 const std::vector<const xAOD::Vertex*> &PVlist,
64 const size_t PV_minNTracks=0)
const;
66 template<
size_t NTracks>
69 template<
size_t NTracks>
95 const std::vector<const xAOD::Vertex*> &PVlist,
96 const size_t PV_minNTracks=0)
const;
114 static std::vector<const xAOD::TrackParticle*>
CollectAllChargedTracks(
const std::vector<xAOD::Vertex*> &cascadeVertices);
117 static bool uniqueCollection(
const std::vector<const xAOD::TrackParticle*>&);
118 static bool uniqueCollection(
const std::vector<const xAOD::TrackParticle*>&,
const std::vector<const xAOD::TrackParticle*>&);
121 static double getParticleMass(
const HepPDT::ParticleDataTable* pdt,
int pdg);
128 template<
size_t NTracks>
133 std::array<const xAOD::TrackParticle*, NTracks> a1;
134 std::array<const xAOD::TrackParticle*, NTracks> a2;
135 for(
size_t i=0;
i<NTracks;
i++){
137 a2[
i] =
v2->trackParticle(
i);
139 std::sort(a1.begin(), a1.end());
140 std::sort(a2.begin(), a2.end());
144 template<
size_t NTracks>
147 if(VerticesMatchTracks<NTracks>(
a,
v))
return a;
151 #endif // DERIVATIONFRAMEWORK_PVCASCADETOOLS_H
Eigen::Matrix< double, Eigen::Dynamic, Eigen::Dynamic > MatrixX
Dynamic Matrix - dynamic allocation.
size_t nTrackParticles() const
Get the number of tracks associated with this vertex.
pv_type
: Enum type of the PV
Helper class to provide type-safe access to aux data.
::StatusCode StatusCode
StatusCode definition for legacy code.
: B-physcis xAOD helpers.
Class to provide easy MsgStream access and capabilities.
const TrackParticle * trackParticle(size_t i) const
Get the pointer to a given track that was used in vertex reco.
ElementLink implementation for ROOT usage.
Ensure that the ATLAS eigen extensions are properly loaded.
The namespace of all packages in PhysicsAnalysis/JetTagging.
Eigen::Matrix< double, 3, 1 > Vector3D
Class describing the basic event information.
Class describing a Vertex.