ATLAS Offline Software
Loading...
Searching...
No Matches
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
36namespace InDet
37{
38 class ISecVertexFinder;
40
42 {
43 public:
44 InDetSecVtxFinder(const std::string &name, ISvcLocator *pSvcLocator);
45 virtual ~InDetSecVtxFinder() = default;
46 StatusCode initialize();
47 StatusCode execute();
48 StatusCode finalize();
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
68 };
69}
70#endif
Define macros for attributes used to control the static checker.
AthAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters:
BooleanProperty m_useTrackParticles
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_inputTrackParticles
BooleanProperty m_doVertexMerging
ToolHandle< ISecVertexFinder > m_InclusiveVertexFinderTool
SG::ReadHandleKey< TrackCollection > m_inputTrackCollection
unsigned int m_totalNumVerticesWithoutDummy
ToolHandle< InDet::IAdaptiveMultiSecVertexFinder > m_AdaptiveMultiVertexFinderTool
SG::WriteHandleKey< xAOD::VertexContainer > m_outputSecondaryVertices
virtual ~InDetSecVtxFinder()=default
SG::ReadHandleKey< xAOD::VertexContainer > m_inputPrimaryVertices
ToolHandle< Trk::IVertexMergingTool > m_VertexMergingTool
InDetSecVtxFinder(const std::string &name, ISvcLocator *pSvcLocator)
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.
Primary Vertex Finder.