ATLAS Offline Software
Loading...
Searching...
No Matches
ReVertex.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3*/
4// ****************************************************************************
5// ----------------------------------------------------------------------------
6// ReVertex header file
7//
8// Konstantin Beloborodov <Konstantin.Beloborodov@cern.ch>
9//
10// ----------------------------------------------------------------------------
11// ****************************************************************************
12
13#ifndef DERIVATIONFRAMEWORK_ReVertex_H
14#define DERIVATIONFRAMEWORK_ReVertex_H
15
17#include "GaudiKernel/ToolHandle.h"
19#include "xAODTracking/Vertex.h"
23
26namespace Trk {
27 class IVertexFitter;
30 class V0Tools;
31 class TrkVKalVrtFitter;
32}
33
34namespace Analysis {
36}
37
38namespace InDet { class VertexPointEstimator; }
39
40namespace DerivationFramework {
41
42class ReVertex : public extends<AthAlgTool, IAugmentationTool> {
43public:
44
45 ReVertex(const std::string& t, const std::string& n, const IInterface* p);
46
47 virtual StatusCode initialize() override;
48
49 virtual StatusCode addBranches(const EventContext& ctx) const override;
50
51 void fitAndStore(const EventContext& ctx,
52 xAOD::VertexContainer* vtxContainer,
53 const xAOD::Vertex* v,
54 const xAOD::VertexContainer *InVtxContainer,
55 const std::vector<const xAOD::TrackParticle*> &inputTracks,
56 const xAOD::TrackParticleContainer* importedTrackCollection,
57 const xAOD::VertexContainer* pvContainer) const;
58 std::unique_ptr<xAOD::Vertex> fit(const EventContext& ctx,
59 const std::vector<const xAOD::TrackParticle*> &inputTracks,
60 const xAOD::TrackParticleContainer* importedTrackCollection,
61 const xAOD::Vertex* pv) const;
62private:
63 std::vector<int> m_TrackIndices;
64 ToolHandle < InDet::VertexPointEstimator > m_vertexEstimator;
65 ToolHandle < Trk::IVertexFitter > m_iVertexFitter;
73
74 std::vector<double> m_trkMasses;
75 std::vector<int> m_indices;
76 double m_massConst{};
78 std::vector<std::string> m_hypoNames;
79
80 PublicToolHandle<Trk::V0Tools> m_v0Tools;
81 PublicToolHandle<Analysis::PrimaryVertexRefitter> m_pvRefitter;
82 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
83 int m_PV_max{};
86 bool m_do3d{};
88 bool m_refitPV{};
91
93
94 double m_BMassUpper{};
95 double m_BMassLower{};
96 double m_chi2cut{}; // chi2/Ndof of the final veretx
97 double m_trkDeltaZ{}; // DeltaZ between the JPsi vertex and hadronic tracks Z0
98
100
102 SG::ReadHandleKeyArray<xAOD::TrackParticleContainer> m_RelinkContainers{this, "RelinkTracks", {}, "Track Containers if they need to be relinked through indirect use" };
103
104};
105}
106
107#endif
Trk::TrkVKalVrtFitter * m_VKVFitter
Definition ReVertex.h:66
PublicToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition ReVertex.h:81
SG::ReadHandleKey< xAOD::VertexContainer > m_defaultPVContainerName
Definition ReVertex.h:72
std::vector< int > m_indices
Definition ReVertex.h:75
virtual StatusCode initialize() override
Definition ReVertex.cxx:85
ToolHandle< InDet::VertexPointEstimator > m_vertexEstimator
Definition ReVertex.h:64
std::vector< std::string > m_hypoNames
Definition ReVertex.h:78
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition ReVertex.h:82
PublicToolHandle< Trk::V0Tools > m_v0Tools
Definition ReVertex.h:80
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainer
Definition ReVertex.h:69
ReVertex(const std::string &t, const std::string &n, const IInterface *p)
Definition ReVertex.cxx:27
void fitAndStore(const EventContext &ctx, xAOD::VertexContainer *vtxContainer, const xAOD::Vertex *v, const xAOD::VertexContainer *InVtxContainer, const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::VertexContainer *pvContainer) const
Definition ReVertex.cxx:222
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Definition ReVertex.h:65
SG::ReadHandleKeyArray< xAOD::VertexContainer > m_CollectionsToCheck
Definition ReVertex.h:101
std::vector< double > m_trkMasses
Definition ReVertex.h:74
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
Definition ReVertex.h:102
std::unique_ptr< xAOD::Vertex > fit(const EventContext &ctx, const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::Vertex *pv) const
Definition ReVertex.cxx:283
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition ReVertex.h:70
std::vector< int > m_TrackIndices
Definition ReVertex.h:63
SG::WriteHandleKey< xAOD::VertexContainer > m_OutputContainerName
Definition ReVertex.h:67
SG::ReadHandleKey< xAOD::VertexContainer > m_pvContainerName
Definition ReVertex.h:71
SG::ReadHandleKey< xAOD::VertexContainer > m_inputContainerName
Definition ReVertex.h:68
virtual StatusCode addBranches(const EventContext &ctx) const override
Definition ReVertex.cxx:110
Some helper tools like: hits counter.
Property holding a SG store/key/clid from which a ReadHandle is made.
Property holding a SG store/key/clid from which a WriteHandle is made.
The abstract interface base class for track selector tools.
Interface class for vertex fitting AlgTools, for more detailed information, take a look at the header...
This class implements a vertex fitting algorithm optimised for V0 finding.
The namespace of all packages in PhysicsAnalysis/JetTagging.
THE reconstruction tool.
Primary Vertex Finder.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
Ensure that the ATLAS eigen extensions are properly loaded.
VertexContainer_v1 VertexContainer
Definition of the current "Vertex container version".
Vertex_v1 Vertex
Define the latest version of the vertex class.
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".