ATLAS Offline Software
TauVertexFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TAURECTOOLS_TAUVERTEXFINDER_H
6 #define TAURECTOOLS_TAUVERTEXFINDER_H
7 
9 #include "GaudiKernel/ToolHandle.h"
10 #include "StoreGate/ReadHandle.h"
15 
17 
30 public:
31  //-------------------------------------------------------------
33  //-------------------------------------------------------------
34  TauVertexFinder(const std::string& name);
37 
38  //-------------------------------------------------------------
40  //-------------------------------------------------------------
41  StatusCode initialize() override;
43  const xAOD::VertexContainer* vertexContainer = nullptr) const override;
44 
45 private:
47  getPV_TJVA(const xAOD::TauJet& tauJet,
48  const xAOD::VertexContainer& vertices,
49  float& maxJVF) const;
50 
51  std::pair<float, float> getVertexScores(const std::vector<const xAOD::TrackParticle*>& tracks, float vx_z) const;
52 
53 private:
54 
55  Gaudi::Property<bool> m_useTJVA {this, "UseTJVA", true};
56  Gaudi::Property<bool> m_useTJVA_Tiebreak {this, "UseTJVA_Tiebreak", false};
57  Gaudi::Property<std::string> m_assocTracksName {this, "AssociatedTracks", ""};
58  Gaudi::Property<float> m_transDistMax {this, "OnlineMaxTransverseDistance", 10e6};
59  Gaudi::Property<float> m_longDistMax {this, "OnlineMaxLongitudinalDistance", 10e6};
60  Gaudi::Property<float> m_maxZ0SinTheta {this, "OnlineMaxZ0SinTheta", 10e6};
61 
62  ToolHandle< InDet::IInDetTrackSelectionTool > m_TrackSelectionToolForTJVA {this, "InDetTrackSelectionToolForTJVA", ""};
63  ToolHandle<CP::ITrackVertexAssociationTool> m_trkVertexAssocTool{this, "TVATool", "Tau track-vertex association tool"};
64 
65  SG::ReadHandleKey<xAOD::VertexContainer> m_vertexInputContainer{this,"Key_vertexInputContainer", "PrimaryVertices", "input vertex container key"};
66  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_trackPartInputContainer{this,"Key_trackPartInputContainer", "InDetTrackParticles", "input track particle container key"};
67 
68 };
69 
70 #endif // TAURECTOOLS_TAUVERTEXFINDER_H
TauVertexFinder::m_useTJVA
Gaudi::Property< bool > m_useTJVA
Definition: TauVertexFinder.h:55
TauVertexFinder::~TauVertexFinder
~TauVertexFinder()
Definition: TauVertexFinder.cxx:24
TauRecToolBase.h
TauRecToolBase
The base class for all tau tools.
Definition: TauRecToolBase.h:21
TauVertexFinder::ASG_TOOL_CLASS2
ASG_TOOL_CLASS2(TauVertexFinder, TauRecToolBase, ITauToolBase)
TauVertexFinder::m_useTJVA_Tiebreak
Gaudi::Property< bool > m_useTJVA_Tiebreak
Definition: TauVertexFinder.h:56
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TauVertexFinder::m_assocTracksName
Gaudi::Property< std::string > m_assocTracksName
Definition: TauVertexFinder.h:57
TauVertexFinder::m_longDistMax
Gaudi::Property< float > m_longDistMax
Definition: TauVertexFinder.h:59
TauVertexFinder::m_TrackSelectionToolForTJVA
ToolHandle< InDet::IInDetTrackSelectionTool > m_TrackSelectionToolForTJVA
Definition: TauVertexFinder.h:62
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::TauJet_v3
Class describing a tau jet.
Definition: TauJet_v3.h:41
TauVertexFinder::m_transDistMax
Gaudi::Property< float > m_transDistMax
Definition: TauVertexFinder.h:58
TauVertexFinder::m_trkVertexAssocTool
ToolHandle< CP::ITrackVertexAssociationTool > m_trkVertexAssocTool
Definition: TauVertexFinder.h:63
TauVertexFinder::getVertexScores
std::pair< float, float > getVertexScores(const std::vector< const xAOD::TrackParticle * > &tracks, float vx_z) const
Definition: TauVertexFinder.cxx:264
TrackVertexAssociation.h
TauVertexFinder::executeVertexFinder
StatusCode executeVertexFinder(xAOD::TauJet &pTau, const xAOD::VertexContainer *vertexContainer=nullptr) const override
Definition: TauVertexFinder.cxx:44
ITrackVertexAssociationTool.h
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
IInDetTrackSelectionTool.h
TauVertexFinder::m_trackPartInputContainer
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_trackPartInputContainer
Definition: TauVertexFinder.h:66
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
TauVertexFinder
Associate a vertex (origin) to the tau candidate.
Definition: TauVertexFinder.h:29
ITauToolBase
The base class for all tau tools.
Definition: ITauToolBase.h:30
VertexContainer.h
ReadHandle.h
Handle class for reading from StoreGate.
TauVertexFinder::getPV_TJVA
ElementLink< xAOD::VertexContainer > getPV_TJVA(const xAOD::TauJet &tauJet, const xAOD::VertexContainer &vertices, float &maxJVF) const
Definition: TauVertexFinder.cxx:127
TauVertexFinder::m_maxZ0SinTheta
Gaudi::Property< float > m_maxZ0SinTheta
Definition: TauVertexFinder.h:60
TauVertexFinder::TauVertexFinder
TauVertexFinder(const std::string &name)
Constructor and Destructor.
Definition: TauVertexFinder.cxx:20
TauVertexFinder::m_vertexInputContainer
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexInputContainer
Definition: TauVertexFinder.h:65
TauVertexFinder::initialize
StatusCode initialize() override
Algorithm functions.
Definition: TauVertexFinder.cxx:28