ATLAS Offline Software
InDetSecVtxFinder.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 /***************************************************************************
6  InDetSecVtxFinder.h - Description
7  -------------------
8  begin : Nov 10 2016
9  authors : Lianyou SHAN ( IHEP-Beijing )
10  Base : InDetPriVxFinder, only an interface for reconstructed PriVtx to a SecVtxTool
11  authors : Andreas Wildauer (CERN PH-ATC), Fredrik Akesson (CERN PH-ATC)
12  author of most recent changes : Neža Ribarič (Lancaster University, UK)
13  changes : Added functionality to call multiple Finder Tools
14  ***************************************************************************/
16 
17 #ifndef INDETSECVXFINDER_INDETSECVXFINDER_H
18 #define INDETSECVXFINDER_INDETSECVXFINDER_H
20 #include "GaudiKernel/ToolHandle.h"
21 #include "GaudiKernel/EventContext.h"
26 
27 
32 
33 /* Forward declarations */
34 
35 
36 namespace InDet
37 {
38  class ISecVertexFinder;
39  class IAdaptiveMultiSecVertexFinder;
40 
41  class InDetSecVtxFinder : public AthAlgorithm
42  {
43  public:
44  InDetSecVtxFinder(const std::string &name, ISvcLocator *pSvcLocator);
45  virtual ~InDetSecVtxFinder() = default;
49  private:
50 
51  SG::ReadHandleKey<TrackCollection> m_inputTrackCollection{this,"inputTrackCollection","Tracks","Trk::Track Collection used in Vertexing"};
52  SG::ReadHandleKey<xAOD::TrackParticleContainer> m_inputTrackParticles{this,"inputTrackParticles","InDetTrackParticles","xAOD::TrackParticle Container used in Vertexing"};
53  SG::WriteHandleKey<xAOD::VertexContainer> m_outputSecondaryVertices{this,"outputSecondaryVertices","AdaptiveMultiSecVtx","Output Secondary Vertex Container"};
54  SG::ReadHandleKey<xAOD::VertexContainer> m_inputPrimaryVertices{this,"inputPrimaryVertices","PrimaryVertices","Input Primary Vertex Container"};
55 
56  ToolHandle< ISecVertexFinder > m_InclusiveVertexFinderTool{this, "InclusiveVertexFinderTool", "InDet::InDetIterativeSecVtxFinderTool", "inclusive secondary vertex finder tool"};
57  ToolHandle<InDet::IAdaptiveMultiSecVertexFinder> m_AdaptiveMultiVertexFinderTool{this, "AdaptiveMultiVertexFinderTool", "InDet::InDetAdaptiveMultiSecVtxFinderTool", "adaptive multi secondary vertex finder tool"};
58  ToolHandle<Trk::IVertexMergingTool > m_VertexMergingTool{this, "VertexMergingTool", "Trk::SecVertexMergingTool", "vertex merging tool"};
59 
60  BooleanProperty m_doVertexMerging{this, "doVertexMerging", false, "Do vertex merging"};
61  BooleanProperty m_useTrackParticles{this, "useTrackParticles", false, "use TrackParticles"};
62  StringProperty m_FinderTool{ this, "FinderTool", "AMVF","vertexing tool to use: AMVF, ISV" };
63 
64 
65  // for summary output at the end
66  unsigned int m_numEventsProcessed;
68  };
69 }
70 #endif
IInDetAdaptiveMultiSecVtxFinderTool.h
InDet::InDetSecVtxFinder::~InDetSecVtxFinder
virtual ~InDetSecVtxFinder()=default
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::InDetSecVtxFinder::initialize
StatusCode initialize()
Definition: InDetSecVtxFinder.cxx:46
InDet::InDetSecVtxFinder::m_totalNumVerticesWithoutDummy
unsigned int m_totalNumVerticesWithoutDummy
Definition: InDetSecVtxFinder.h:76
InDet::InDetSecVtxFinder::m_doVertexMerging
BooleanProperty m_doVertexMerging
Definition: InDetSecVtxFinder.h:69
InDet::InDetSecVtxFinder::m_useTrackParticles
BooleanProperty m_useTrackParticles
Definition: InDetSecVtxFinder.h:70
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
InDet::InDetSecVtxFinder::m_AdaptiveMultiVertexFinderTool
ToolHandle< InDet::IAdaptiveMultiSecVertexFinder > m_AdaptiveMultiVertexFinderTool
Definition: InDetSecVtxFinder.h:66
IVertexFinder.h
InDet::InDetSecVtxFinder::m_inputTrackParticles
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTrackParticles
Definition: InDetSecVtxFinder.h:61
InDet::InDetSecVtxFinder::m_inputTrackCollection
SG::ReadHandleKey< TrackCollection > m_inputTrackCollection
Definition: InDetSecVtxFinder.h:60
AthAlgorithm.h
SG::WriteHandleKey
Property holding a SG store/key/clid from which a WriteHandle is made.
Definition: StoreGate/StoreGate/WriteHandleKey.h:40
InDet::InDetSecVtxFinder::execute
StatusCode execute()
Definition: InDetSecVtxFinder.cxx:79
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TrackCollection.h
InDet::InDetSecVtxFinder::InDetSecVtxFinder
InDetSecVtxFinder(const std::string &name, ISvcLocator *pSvcLocator)
Definition: InDetSecVtxFinder.cxx:35
InDet::InDetSecVtxFinder::m_numEventsProcessed
unsigned int m_numEventsProcessed
Definition: InDetSecVtxFinder.h:75
InDet::InDetSecVtxFinder::m_FinderTool
StringProperty m_FinderTool
Definition: InDetSecVtxFinder.h:71
AthAlgorithm
Definition: AthAlgorithm.h:47
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
VertexContainer.h
InDet::InDetSecVtxFinder::finalize
StatusCode finalize()
Definition: InDetSecVtxFinder.cxx:204
InDet::InDetSecVtxFinder::m_inputPrimaryVertices
SG::ReadHandleKey< xAOD::VertexContainer > m_inputPrimaryVertices
Definition: InDetSecVtxFinder.h:63
IVertexMergingTool.h
IInDetIterativeSecVtxFinderTool.h
checker_macros.h
Define macros for attributes used to control the static checker.
InDet::InDetSecVtxFinder::m_outputSecondaryVertices
SG::WriteHandleKey< xAOD::VertexContainer > m_outputSecondaryVertices
Definition: InDetSecVtxFinder.h:62
InDet::InDetSecVtxFinder::m_VertexMergingTool
ToolHandle< Trk::IVertexMergingTool > m_VertexMergingTool
Definition: InDetSecVtxFinder.h:67
TrackParticleContainer.h
VertexAuxContainer.h
InDet::InDetSecVtxFinder::m_InclusiveVertexFinderTool
ToolHandle< ISecVertexFinder > m_InclusiveVertexFinderTool
Definition: InDetSecVtxFinder.h:65