ATLAS Offline Software
Loading...
Searching...
No Matches
InDetPriVxFinder.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/***************************************************************************
6 InDetPriVxFinder.h - Description
7 -------------------
8 begin : 27-01-2004
9 authors : Andreas Wildauer (CERN PH-ATC), Fredrik Akesson (CERN PH-ATC)
10 email : andreas.wildauer@cern.ch, fredrik.akesson@cern.ch
11 changes :
12 2016-04-26 David Shope <david.richard.shope@cern.ch>
13 EDM Migration to xAOD - from Trk::VxCandidate to xAOD::Vertex
14
15 findVertex in m_VertexFinderTool will now always return an xAOD::VertexContainer,
16 even when using a TrackCollection or a TrackParticleBaseCollection
17 as input.
18
19 ***************************************************************************/
20
21#ifndef INDETPRIVXFINDER_INDETPRIVXFINDER_H
22#define INDETPRIVXFINDER_INDETPRIVXFINDER_H
24#include "GaudiKernel/ToolHandle.h"
30
34
40
41namespace InDet
42{
44 {
45 public:
46 InDetPriVxFinder(const std::string &name, ISvcLocator *pSvcLocator);
47
48 virtual ~InDetPriVxFinder() = default;
49
50 // Gaudi algorithm hooks
51 virtual StatusCode initialize() override;
52 virtual StatusCode execute(const EventContext& ctx) const override;
53 virtual StatusCode finalize() override;
54
55 private:
56
57 //Monitoring of the vertex variables
58 void monitor_vertex( const std::string &prefix, const xAOD::Vertex& vertex ) const;
59
60 SG::ReadHandleKey<TrackCollection> m_trkTracksName{this,"TrkTracksName","Tracks","Trk::Track Collection used in Vertexing"};
61 SG::ReadHandleKey<xAOD::TrackParticleContainer> m_tracksName{this,"TracksName","InDetTrackParticles","xAOD::TrackParticle Collection used in Vertexing"};
62 SG::WriteHandleKey<xAOD::VertexContainer> m_vxCandidatesOutputName{this,"VxCandidatesOutputName","PrimaryVertices","Output Vertex Collection"};
63
64 ToolHandle< IVertexFinder > m_VertexFinderTool{this, "VertexFinderTool", "", "Primary vertex finder tool"};
65 ToolHandle<Trk::IVertexMergingTool > m_VertexMergingTool{this, "VertexMergingTool", "", "Vertex merging tool"};
66 ToolHandle<Trk::IVertexCollectionSortingTool > m_VertexCollectionSortingTool{this, "VertexCollectionSortingTool", "", "Vertex collection sorting tool"};
67 ToolHandle<GenericMonitoringTool> m_monTool{this, "PriVxMonTool", "", "Monitoring tool"};
68
69 BooleanProperty m_doVertexMerging{this, "doVertexMerging", false, "Do vertex merging"};
70 BooleanProperty m_doVertexSorting{this, "doVertexSorting", false, "Do vertex sorting"};
71 BooleanProperty m_useTrackParticles{this, "useTrackParticles", true, "Use track particles as input"};
72 };
73}
74#endif
An algorithm that can be simultaneously executed in multiple threads.
virtual StatusCode finalize() override
ToolHandle< Trk::IVertexMergingTool > m_VertexMergingTool
SG::ReadHandleKey< TrackCollection > m_trkTracksName
virtual ~InDetPriVxFinder()=default
ToolHandle< IVertexFinder > m_VertexFinderTool
BooleanProperty m_useTrackParticles
void monitor_vertex(const std::string &prefix, const xAOD::Vertex &vertex) const
virtual StatusCode execute(const EventContext &ctx) const override
InDetPriVxFinder(const std::string &name, ISvcLocator *pSvcLocator)
BooleanProperty m_doVertexSorting
ToolHandle< Trk::IVertexCollectionSortingTool > m_VertexCollectionSortingTool
ToolHandle< GenericMonitoringTool > m_monTool
virtual StatusCode initialize() override
SG::ReadHandleKey< xAOD::TrackParticleContainer > m_tracksName
SG::WriteHandleKey< xAOD::VertexContainer > m_vxCandidatesOutputName
BooleanProperty m_doVertexMerging
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.
Vertex_v1 Vertex
Define the latest version of the vertex class.