ATLAS Offline Software
InDetConversionFinderTools.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 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 
62  bool m_removeTrt{};
67 
70  virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
71  findVertex(const EventContext& ctx,
72  const TrackCollection* trk_coll) const override;
73 
75  virtual std::pair<xAOD::VertexContainer*, xAOD::VertexAuxContainer*>
76  findVertex(const EventContext& ctx,
77  const xAOD::TrackParticleContainer* trk_coll) const override;
78 
79 protected:
80 
83  ToolHandle<Trk::IVertexFitter> m_iVertexFitter{ this,
84  "VertexFitterTool",
85  "Trk::TrkVKalVrtFitter",
86  "Vertex fitter Tool" };
88  ToolHandle<InDet::TrackPairsSelector> m_trackPairsSelector{
89  this,
90  "TrackPairsSelector",
91  "InDet::TrackPairsSelector",
92  "Track Pair Selector Tool"
93  };
95  ToolHandle<InDet::VertexPointEstimator> m_vertexEstimator{
96  this,
97  "VertexPointEstimator",
98  "InDet::VertexPointEstimator",
99  "Vertex point estimator"
100  };
102  ToolHandle<InDet::ConversionPostSelector> m_postSelector{
103  this,
104  "PostSelector",
105  "InDet::ConversionPostSelector",
106  "Tool for post selection of conversion candidates"
107  };
109  ToolHandle<InDet::SingleTrackConversionTool> m_singleTrkConvTool{
110  this,
111  "SingleTrackConversionTool",
112  "InDet::SingleTrackConversionTool",
113  "Tool for single track conversions"
114  };
115 
117  ToolHandle<Trk::ITrackSelectorTool> m_trkSelector{
118  this,
119  "TrackSelectorTool",
120  "InDet::TrackSelectorTool",
121  "Tool for track Selection"
122  };
123 
125  const xAOD::TrackParticle* track_pos,
126  const xAOD::TrackParticle* track_neg,
127  std::vector<Amg::Vector3D>& trackList,
128  Amg::Vector3D& initPos,
129  int& flag,
130  std::map<std::string, float>& intersectionDecors) const;
131 
133  double m_mindR;
138  double m_maxdR;
145 };
146 
147 }
148 
149 #endif // INDETCONVERSIONFINDERTOOLS_INDETCONVERSIONFINDERTOOL_H
InDet::InDetConversionFinderTools::m_removeTrt
bool m_removeTrt
Conversions or V0s.
Definition: InDetConversionFinderTools.h:62
InDet::InDetConversionFinderTools::m_isConversion
bool m_isConversion
Decorate vertices with values used for vertex selection.
Definition: InDetConversionFinderTools.h:64
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:362
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
InDet::IVertexFinder::findVertex
virtual std::pair< xAOD::VertexContainer *, xAOD::VertexAuxContainer * > findVertex(const EventContext &ctx, const TrackCollection *trackTES) const =0
Find vertex from Trk::TrackCollection.
VertexPointEstimator.h
InDet::InDetConversionFinderTools::m_decorateVertices
bool m_decorateVertices
Definition: InDetConversionFinderTools.h:66
InDet::InDetConversionFinderTools::m_MinFlightAngle
double m_MinFlightAngle
Definition: InDetConversionFinderTools.h:144
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
ConversionFinderUtils.h
InDet::InDetConversionFinderTools::m_postSelector
ToolHandle< InDet::ConversionPostSelector > m_postSelector
Conversion post-fit selector tool.
Definition: InDetConversionFinderTools.h:102
TrackPairsSelector.h
InDet::InDetConversionFinderTools::m_iVertexFitter
ToolHandle< Trk::IVertexFitter > m_iVertexFitter
Vertex fitter interface.
Definition: InDetConversionFinderTools.h:83
InDet::InDetConversionFinderTools::m_mindR
double m_mindR
Cuts.
Definition: InDetConversionFinderTools.h:135
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
InDet::InDetConversionFinderTools::m_MinInitVtxR
double m_MinInitVtxR
Minimum allowed angular difference between V0 and children direction.
Definition: InDetConversionFinderTools.h:141
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:95
InDet::InDetConversionFinderTools::m_trackPairsSelector
ToolHandle< InDet::TrackPairsSelector > m_trackPairsSelector
Initial conversion vertex estimator tool.
Definition: InDetConversionFinderTools.h:88
InDet::InDetConversionFinderTools::finalize
virtual StatusCode finalize() override
Remove standalone TRT tracks.
Definition: InDetConversionFinderTools.cxx:109
InDet::InDetConversionFinderTools::m_maxdR
double m_maxdR
Minimum allowed radial position for initial guess vertex.
Definition: InDetConversionFinderTools.h:138
beamspotman.n
n
Definition: beamspotman.py:731
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:109
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:117
InDet::InDetConversionFinderTools::~InDetConversionFinderTools
~InDetConversionFinderTools()
InDet::InDetConversionFinderTools::initialize
virtual StatusCode initialize() override
Definition: InDetConversionFinderTools.cxx:56
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
xAOD::TrackParticle_v1
Class describing a TrackParticle.
Definition: TrackParticle_v1.h:43
AthAlgTool
Definition: AthAlgTool.h:26
ConversionPostSelector.h
ITrackSelectorTool.h
InDet::InDetConversionFinderTools::findVertex
virtual std::pair< xAOD::VertexContainer *, xAOD::VertexAuxContainer * > findVertex(const EventContext &ctx, const TrackCollection *trk_coll) const override
< Conversion candidate reconstruction for Trk::Tracks.
Definition: InDetConversionFinderTools.cxx:116
InDet::InDetConversionFinderTools::InDetConversionFinderTools
InDetConversionFinderTools(const std::string &t, const std::string &n, const IInterface *p)
Definition: InDetConversionFinderTools.cxx:32
TrackParticleContainer.h