ATLAS Offline Software
Loading...
Searching...
No Matches
InDetConversionFinderTools.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 InDetConversionFinderTools.h - Description
7 -------------------
8 begin : 28-08-2006
9 authors : Tatjana Lenz
10 email : tatjana.lenz@cern.ch
11 changes :
12***************************************************************************/
13#ifndef INDETCONVERSIONFINDERTOOLS_INDETCONVERSIONFINDERTOOLS_H
14#define INDETCONVERSIONFINDERTOOLS_INDETCONVERSIONFINDERTOOLS_H
15
17
19#include "GaudiKernel/ToolHandle.h"
20
21/* Tools*/
29
31/*xAOD collections */
35
36#include <vector>
37
45
46namespace InDet {
47
49 : public AthAlgTool
50 , virtual public IVertexFinder
51{
52public:
53 InDetConversionFinderTools(const std::string& t,
54 const std::string& n,
55 const IInterface* p);
57
58 virtual StatusCode initialize() override;
59 virtual StatusCode finalize() override;
60
61 BooleanProperty m_removeTrt
62 {this, "RemoveTrtTracks", false, "Remove standalone TRT tracks"};
63 BooleanProperty m_isConversion
64 {this, "IsConversion", true, "Conversions or V0s"};
65 BooleanProperty m_decorateVertices
66 {this, "DecorateVertices", true, "Decorate vertices with values used for vertex selection"};
67
69 virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
70 findVertex(const EventContext& ctx,
71 const TrackCollection* trk_coll) const override;
72
74 virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
75 findVertex(const EventContext& ctx,
76 const xAOD::TrackParticleContainer* trk_coll) const override;
77
78protected:
79
82 ToolHandle<Trk::IVertexFitter> m_iVertexFitter{ this,
83 "VertexFitterTool",
84 "Trk::TrkVKalVrtFitter",
85 "Vertex fitter Tool" };
86
87 ToolHandle<InDet::TrackPairsSelector> m_trackPairsSelector{
88 this,
89 "TrackPairsSelector",
90 "InDet::TrackPairsSelector",
91 "Track Pair Selector Tool"
92 };
93
94 ToolHandle<InDet::VertexPointEstimator> m_vertexEstimator{
95 this,
96 "VertexPointEstimator",
97 "InDet::VertexPointEstimator",
98 "Vertex point estimator"
99 };
100
101 ToolHandle<InDet::ConversionPostSelector> m_postSelector{
102 this,
103 "PostSelector",
104 "InDet::ConversionPostSelector",
105 "Tool for post selection of conversion candidates"
106 };
107
108 ToolHandle<InDet::SingleTrackConversionTool> m_singleTrkConvTool{
109 this,
110 "SingleTrackConversionTool",
111 "InDet::SingleTrackConversionTool",
112 "Tool for single track conversions"
113 };
114
116 ToolHandle<Trk::ITrackSelectorTool> m_trkSelector{
117 this,
118 "TrackSelectorTool",
119 "InDet::TrackSelectorTool",
120 "Tool for track Selection"
121 };
122
124 const xAOD::TrackParticle* track_pos,
125 const xAOD::TrackParticle* track_neg,
126 std::vector<Amg::Vector3D>& trackList,
127 Amg::Vector3D& initPos,
128 int& flag,
129 std::map<std::string, float>& intersectionDecors) const;
130
132 DoubleProperty m_mindR{this, "MinDistVtxHit", -350.,
133 "Minimum allowed radial distance beteeen guess vertex and closest 1st hit of participating track"};
134 DoubleProperty m_maxdR{this, "MaxDistVtxHit", 250.,
135 "Maximum allowed radial distance between guess vertex and closest 1st hit of participating track"};
136 DoubleProperty m_MinInitVtxR{this, "MinInitVtxR", 0.,
137 "Minimum allowed radial position for initial guess vertex. Used only in V0 reconstruction."};
138 DoubleProperty m_MinFlightAngle{this, "MinFlightAngle", 0.,
139 "Minimum allowed angular difference between V0 and children direction. Used only in V0 reconstruction."};
140};
141
142}
143
144#endif // INDETCONVERSIONFINDERTOOLS_INDETCONVERSIONFINDERTOOL_H
DataVector< Trk::Track > TrackCollection
This typedef represents a collection of Trk::Track objects.
AthAlgTool(const std::string &type, const std::string &name, const IInterface *parent)
Constructor with parameters:
ToolHandle< Trk::ITrackSelectorTool > m_trkSelector
Track Selector Tool.
virtual std::pair< xAOD::VertexContainer *, xAOD::VertexAuxContainer * > findVertex(const EventContext &ctx, const TrackCollection *trk_coll) const override
Find vertex from Trk::TrackCollection.
BooleanProperty m_decorateVertices
Conversion candidate reconstruction for Trk::Tracks.
bool passPreSelection(TrackPairsSelector::Cache &cache, const xAOD::TrackParticle *track_pos, const xAOD::TrackParticle *track_neg, std::vector< Amg::Vector3D > &trackList, Amg::Vector3D &initPos, int &flag, std::map< std::string, float > &intersectionDecors) const
ToolHandle< InDet::VertexPointEstimator > m_vertexEstimator
Initial conversion vertex estimator tool.
ToolHandle< InDet::TrackPairsSelector > m_trackPairsSelector
Initial conversion vertex estimator tool.
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Vertex fitter interface.
InDetConversionFinderTools(const std::string &t, const std::string &n, const IInterface *p)
ToolHandle< InDet::ConversionPostSelector > m_postSelector
Conversion post-fit selector tool.
ToolHandle< InDet::SingleTrackConversionTool > m_singleTrkConvTool
Single track conversion tool.
Eigen::Matrix< double, 3, 1 > Vector3D
Primary Vertex Finder.
TrackParticle_v1 TrackParticle
Reference the current persistent version:
TrackParticleContainer_v1 TrackParticleContainer
Definition of the current "TrackParticle container version".