ATLAS Offline Software
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 
46 namespace InDet {
47 
49  : public AthAlgTool
50  , virtual public IVertexFinder
51 {
52 public:
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 
78 protected:
79 
82  ToolHandle<Trk::IVertexFitter> m_iVertexFitter{ this,
83  "VertexFitterTool",
84  "Trk::TrkVKalVrtFitter",
85  "Vertex fitter Tool" };
87  ToolHandle<InDet::TrackPairsSelector> m_trackPairsSelector{
88  this,
89  "TrackPairsSelector",
90  "InDet::TrackPairsSelector",
91  "Track Pair Selector Tool"
92  };
94  ToolHandle<InDet::VertexPointEstimator> m_vertexEstimator{
95  this,
96  "VertexPointEstimator",
97  "InDet::VertexPointEstimator",
98  "Vertex point estimator"
99  };
101  ToolHandle<InDet::ConversionPostSelector> m_postSelector{
102  this,
103  "PostSelector",
104  "InDet::ConversionPostSelector",
105  "Tool for post selection of conversion candidates"
106  };
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
InDet::InDetConversionFinderTools
Definition: InDetConversionFinderTools.h:51
InDet::InDetConversionFinderTools::passPreSelection
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
Definition: InDetConversionFinderTools.cxx:348
VertexPointEstimator.h
InDet
Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
ConversionFinderUtils.h
InDet::InDetConversionFinderTools::m_maxdR
DoubleProperty m_maxdR
Definition: InDetConversionFinderTools.h:134
InDet::InDetConversionFinderTools::m_postSelector
ToolHandle< InDet::ConversionPostSelector > m_postSelector
Conversion post-fit selector tool.
Definition: InDetConversionFinderTools.h:101
TrackPairsSelector.h
InDet::InDetConversionFinderTools::m_iVertexFitter
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Vertex fitter interface.
Definition: InDetConversionFinderTools.h:82
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::IVertexFinder
Definition: IVertexFinder.h:70
IVertexFinder.h
InDet::InDetConversionFinderTools::m_vertexEstimator
ToolHandle< InDet::VertexPointEstimator > m_vertexEstimator
Initial conversion vertex estimator tool.
Definition: InDetConversionFinderTools.h:94
InDet::InDetConversionFinderTools::m_mindR
DoubleProperty m_mindR
Cuts.
Definition: InDetConversionFinderTools.h:132
InDet::InDetConversionFinderTools::m_trackPairsSelector
ToolHandle< InDet::TrackPairsSelector > m_trackPairsSelector
Initial conversion vertex estimator tool.
Definition: InDetConversionFinderTools.h:87
InDet::InDetConversionFinderTools::finalize
virtual StatusCode finalize() override
Definition: InDetConversionFinderTools.cxx:95
InDet::InDetConversionFinderTools::m_MinInitVtxR
DoubleProperty m_MinInitVtxR
Definition: InDetConversionFinderTools.h:136
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:209
beamspotman.n
n
Definition: beamspotman.py:729
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
SingleTrackConversionTool.h
InDet::InDetConversionFinderTools::m_singleTrkConvTool
ToolHandle< InDet::SingleTrackConversionTool > m_singleTrkConvTool
Single track conversion tool.
Definition: InDetConversionFinderTools.h:108
master.flag
bool flag
Definition: master.py:29
AthAlgTool.h
TrackCollection.h
DataVector< Trk::Track >
InDet::InDetConversionFinderTools::m_trkSelector
ToolHandle< Trk::ITrackSelectorTool > m_trkSelector
Track Selector Tool.
Definition: InDetConversionFinderTools.h:116
InDet::InDetConversionFinderTools::~InDetConversionFinderTools
~InDetConversionFinderTools()
columnar::final
CM final
Definition: ColumnAccessor.h:106
InDet::InDetConversionFinderTools::m_isConversion
BooleanProperty m_isConversion
Definition: InDetConversionFinderTools.h:64
InDet::InDetConversionFinderTools::initialize
virtual StatusCode initialize() override
Definition: InDetConversionFinderTools.cxx:42
Amg::Vector3D
Eigen::Matrix< double, 3, 1 > Vector3D
Definition: GeoPrimitives.h:47
IVertexFitter.h
InDet::TrackPairsSelector::Cache
Definition: TrackPairsSelector.h:31
TrackParticle.h
VertexContainer.h
InDet::InDetConversionFinderTools::m_decorateVertices
BooleanProperty m_decorateVertices
Conversion candidate reconstruction for Trk::Tracks.
Definition: InDetConversionFinderTools.h:66
InDet::InDetConversionFinderTools::m_MinFlightAngle
DoubleProperty m_MinFlightAngle
Definition: InDetConversionFinderTools.h:138
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
ConversionPostSelector.h
ITrackSelectorTool.h
InDet::InDetConversionFinderTools::m_removeTrt
BooleanProperty m_removeTrt
Definition: InDetConversionFinderTools.h:62
InDet::InDetConversionFinderTools::findVertex
virtual std::pair< xAOD::VertexContainer *, xAOD::VertexAuxContainer * > findVertex(const EventContext &ctx, const TrackCollection *trk_coll) const override
Find vertex from Trk::TrackCollection.
Definition: InDetConversionFinderTools.cxx:102
InDet::InDetConversionFinderTools::InDetConversionFinderTools
InDetConversionFinderTools(const std::string &t, const std::string &n, const IInterface *p)
Definition: InDetConversionFinderTools.cxx:32
TrackParticleContainer.h