Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 
26 namespace Trk {
27  class IVertexFitter;
28  class TrkV0VertexFitter;
29  class ITrackSelectorTool;
30  class V0Tools;
31  class TrkVKalVrtFitter;
32 }
33 
34 namespace Analysis {
35  class PrimaryVertexRefitter;
36 }
37 
38 namespace InDet { class VertexPointEstimator; }
39 
40 namespace DerivationFramework {
41 
42 class ReVertex : public AthAlgTool, public IAugmentationTool {
43 public:
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 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;
60 private:
61  std::vector<int> m_TrackIndices;
62  ToolHandle < InDet::VertexPointEstimator > m_vertexEstimator;
63  ToolHandle < Trk::IVertexFitter > m_iVertexFitter;
70 
71 
72  std::vector<double> m_trkMasses;
73  std::vector<int> m_indices;
74  double m_massConst{};
75  double m_totalMassConst{};
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{};
83  size_t m_PV_minNTracks{};
84  bool m_do3d{};
85  bool m_AddPVData{};
86  bool m_refitPV{};
87  bool m_doMassConst{};
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
ReadHandleKeyArray.h
DerivationFramework::ReVertex::m_refPVContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_refPVContainerName
Definition: ReVertex.h:68
DerivationFramework::ReVertex::m_TrackIndices
std::vector< int > m_TrackIndices
Definition: ReVertex.h:61
DerivationFramework::ReVertex::m_OutputContainerName
SG::WriteHandleKey< xAOD::VertexContainer > m_OutputContainerName
Definition: ReVertex.h:65
DerivationFramework::ReVertex::fit
xAOD::Vertex * fit(const std::vector< const xAOD::TrackParticle * > &inputTracks, const xAOD::TrackParticleContainer *importedTrackCollection, const xAOD::Vertex *pv) const
Definition: ReVertex.cxx:274
DerivationFramework::ReVertex::m_massConst
double m_massConst
Definition: ReVertex.h:74
DerivationFramework::ReVertex::addBranches
virtual StatusCode addBranches() const override
Pass the thinning service
Definition: ReVertex.cxx:109
DerivationFramework::ReVertex::m_PV_minNTracks
size_t m_PV_minNTracks
Definition: ReVertex.h:83
DerivationFramework::ReVertex::m_vertexFittingWithPV
bool m_vertexFittingWithPV
Definition: ReVertex.h:90
DerivationFramework::ReVertex::m_useAdditionalTrack
bool m_useAdditionalTrack
Definition: ReVertex.h:97
IAugmentationTool.h
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
DerivationFramework::ReVertex::m_eventInfo_key
SG::ReadHandleKey< xAOD::EventInfo > m_eventInfo_key
Definition: ReVertex.h:80
DerivationFramework::ReVertex::m_chi2cut
double m_chi2cut
Definition: ReVertex.h:94
DerivationFramework::ReVertex::m_hypoNames
std::vector< std::string > m_hypoNames
Definition: ReVertex.h:76
DerivationFramework::ReVertex::m_inputContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_inputContainerName
Definition: ReVertex.h:66
SG::HandleKeyArray
Definition: StoreGate/StoreGate/HandleKeyArray.h:38
DerivationFramework::ReVertex::m_VKVFitter
Trk::TrkVKalVrtFitter * m_VKVFitter
Definition: ReVertex.h:64
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
DerivationFramework::IAugmentationTool
Definition: IAugmentationTool.h:24
DerivationFramework::ReVertex::m_vertexEstimator
ToolHandle< InDet::VertexPointEstimator > m_vertexEstimator
Definition: ReVertex.h:62
DerivationFramework::ReVertex::m_trackContainer
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackContainer
Definition: ReVertex.h:67
DerivationFramework::ReVertex::m_refitPV
bool m_refitPV
Definition: ReVertex.h:86
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
DerivationFramework::ReVertex::m_pvRefitter
ToolHandle< Analysis::PrimaryVertexRefitter > m_pvRefitter
Definition: ReVertex.h:79
DerivationFramework::ReVertex::m_BMassUpper
double m_BMassUpper
Definition: ReVertex.h:92
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
python.TrigInDetConfig.inputTracks
inputTracks
Definition: TrigInDetConfig.py:190
DerivationFramework::ReVertex::m_RelinkContainers
SG::ReadHandleKeyArray< xAOD::TrackParticleContainer > m_RelinkContainers
Definition: ReVertex.h:100
DerivationFramework::ReVertex::m_trkMasses
std::vector< double > m_trkMasses
Definition: ReVertex.h:72
beamspotman.n
n
Definition: beamspotman.py:731
DerivationFramework::ReVertex::m_indices
std::vector< int > m_indices
Definition: ReVertex.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
DerivationFramework::ReVertex::initialize
virtual StatusCode initialize() override
Definition: ReVertex.cxx:85
AthAlgTool.h
DerivationFramework::ReVertex::m_DoVertexType
int m_DoVertexType
Definition: ReVertex.h:82
DerivationFramework::ReVertex::m_do3d
bool m_do3d
Definition: ReVertex.h:84
DerivationFramework::ReVertex::m_v0Tools
ToolHandle< Trk::V0Tools > m_v0Tools
Definition: ReVertex.h:78
DerivationFramework::ReVertex::ReVertex
ReVertex(const std::string &t, const std::string &n, const IInterface *p)
Definition: ReVertex.cxx:27
DerivationFramework
THE reconstruction tool.
Definition: ParticleSortingAlg.h:24
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
Vertex.h
DerivationFramework::ReVertex::m_PV_max
int m_PV_max
Definition: ReVertex.h:81
DerivationFramework::ReVertex::m_AddPVData
bool m_AddPVData
Definition: ReVertex.h:85
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
Analysis
The namespace of all packages in PhysicsAnalysis/JetTagging.
Definition: BTaggingCnvAlg.h:20
V0Tools
DerivationFramework::ReVertex::m_BMassLower
double m_BMassLower
Definition: ReVertex.h:93
EventInfo.h
python.PyAthena.v
v
Definition: PyAthena.py:154
DerivationFramework::ReVertex::m_totalMassConst
double m_totalMassConst
Definition: ReVertex.h:75
xAOD::Vertex_v1
Class describing a Vertex.
Definition: Vertex_v1.h:42
DerivationFramework::ReVertex::m_doMassConst
bool m_doMassConst
Definition: ReVertex.h:87
DerivationFramework::ReVertex
Definition: ReVertex.h:42
DerivationFramework::ReVertex::m_startingpoint0
bool m_startingpoint0
Definition: ReVertex.h:88
python.changerun.pv
pv
Definition: changerun.py:81
DerivationFramework::ReVertex::m_pvContainerName
SG::ReadHandleKey< xAOD::VertexContainer > m_pvContainerName
Definition: ReVertex.h:69
DerivationFramework::ReVertex::fitAndStore
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:214
AthAlgTool
Definition: AthAlgTool.h:26
DerivationFramework::ReVertex::m_iVertexFitter
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Definition: ReVertex.h:63
DerivationFramework::ReVertex::m_CollectionsToCheck
SG::ReadHandleKeyArray< xAOD::VertexContainer > m_CollectionsToCheck
Definition: ReVertex.h:99
DerivationFramework::ReVertex::m_trkDeltaZ
double m_trkDeltaZ
Definition: ReVertex.h:95
TrackParticleContainerFwd.h
Trk::TrkVKalVrtFitter
Definition: TrkVKalVrtFitter.h:67