ATLAS Offline Software
Loading...
Searching...
No Matches
ReVertex.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 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(xAOD::VertexContainer* vtxContainer,
52 const xAOD::Vertex* v,
53 const xAOD::VertexContainer *InVtxContainer,
54 const std::vector<const xAOD::TrackParticle*> &inputTracks,
55 const xAOD::TrackParticleContainer* importedTrackCollection,
56 const xAOD::VertexContainer* pvContainer) const;
57 xAOD::Vertex* fit(const std::vector<const xAOD::TrackParticle*> &inputTracks,
58 const xAOD::TrackParticleContainer* importedTrackCollection,
59 const xAOD::Vertex* pv) const;
60private:
61 std::vector<int> m_TrackIndices;
62 ToolHandle < InDet::VertexPointEstimator > m_vertexEstimator;
63 ToolHandle < Trk::IVertexFitter > m_iVertexFitter;
71
72 std::vector<double> m_trkMasses;
73 std::vector<int> m_indices;
74 double m_massConst{};
76 std::vector<std::string> m_hypoNames;
77
78 ToolHandle<Trk::V0Tools> m_v0Tools;
79 ToolHandle<Analysis::PrimaryVertexRefitter> m_pvRefitter;
80 SG::ReadHandleKey<xAOD::EventInfo> m_eventInfo_key{this, "EventInfo", "EventInfo", "Input event information"};
81 int m_PV_max{};
84 bool m_do3d{};
86 bool m_refitPV{};
89
91
92 double m_BMassUpper{};
93 double m_BMassLower{};
94 double m_chi2cut{}; // chi2/Ndof of the final veretx
95 double m_trkDeltaZ{}; // DeltaZ between the JPsi vertex and hadronic tracks Z0
96
98
100 SG::ReadHandleKeyArray<xAOD::TrackParticleContainer> m_RelinkContainers{this, "RelinkTracks", {}, "Track Containers if they need to be relinked through indirect use" };
101
102};
103}
104
105#endif
Trk::TrkVKalVrtFitter * m_VKVFitter
Definition ReVertex.h:64
xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::Vertex *pv) const
Definition ReVertex.cxx:282
SG::ReadHandleKey< xAOD::VertexContainer > m_defaultPVContainerName
Definition ReVertex.h:70
std::vector< int > m_indices
Definition ReVertex.h:73
virtual StatusCode initialize() override
Definition ReVertex.cxx:85
void fitAndStore(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< InDet::VertexPointEstimator > m_vertexEstimator
Definition ReVertex.h:62
std::vector< std::string > m_hypoNames
Definition ReVertex.h:76
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition ReVertex.h:80
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainer
Definition ReVertex.h:67
ReVertex(const std::string &t, const std::string &n, const IInterface *p)
Definition ReVertex.cxx:27
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Definition ReVertex.h:63
SG::ReadHandleKeyArray< xAOD::VertexContainer > m_CollectionsToCheck
Definition ReVertex.h:99
ToolHandle< Trk::V0Tools > m_v0Tools
Definition ReVertex.h:78
std::vector< double > m_trkMasses
Definition ReVertex.h:72
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
Definition ReVertex.h:100
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition ReVertex.h:68
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition ReVertex.h:79
std::vector< int > m_TrackIndices
Definition ReVertex.h:61
SG::WriteHandleKey< xAOD::VertexContainer > m_OutputContainerName
Definition ReVertex.h:65
SG::ReadHandleKey< xAOD::VertexContainer > m_pvContainerName
Definition ReVertex.h:69
SG::ReadHandleKey< xAOD::VertexContainer > m_inputContainerName
Definition ReVertex.h:66
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".