ATLAS Offline Software
DivisiveMultiSeedFinder.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 #ifndef InDetMultipleVertexSeedFinder_DivisiveMultiSeedFinder_H
6 #define InDetMultipleVertexSeedFinder_DivisiveMultiSeedFinder_H
7 
9 #include "GaudiKernel/ToolHandle.h"
12 
13 namespace Trk
14 {
15  class Track;
16  class ITrackSelectorTool;
17  class IExtrapolator;
18  class IVertexSeedFinder;
19 }
20 
21 namespace InDet
22 {
23  class InDetTrackZ0SortingTool;
24  class InDetTrackClusterCleaningTool;
25 
26  class DivisiveMultiSeedFinder final : public AthAlgTool, virtual public IMultiPVSeedFinder
27  {
28 
29  public:
30 
31  virtual StatusCode initialize() override;
32 
36  DivisiveMultiSeedFinder(const std::string& t, const std::string& n, const IInterface* p);
37 
39 
43  virtual std::vector<std::vector<const Trk::Track*> > seeds(
44  const std::vector<const Trk::Track*>& tracks) const override;
45 
46  virtual std::vector<std::vector<const Trk::TrackParameters*> > seeds(
47  const std::vector<const xAOD::TrackParticle*>& tracks) const override;
48 
49  private:
50 
51 // tuning parameters
52  double m_sepDistance;
53 
54  unsigned int m_nRemaining;
55 
57 
58  // std::vector<int> m_z0sort(std::vector<const xAOD::TrackParticle*>& perigeeList,xAOD::Vertex * beamVtx) const;
59 
60  // std::pair<std::vector<const Trk::TrackParameters *>,
61  //std::vector<const xAOD::TrackParticle *> > m_clusterAndOutliers(std::vector<const xAOD::TrackParticle *> tracks_to_clean, xAOD::Vertex * beamposition) const;
62 
63 //track filter
64  ToolHandle<Trk::ITrackSelectorTool> m_trkFilter;
65 
66 //sorting tool
67  ToolHandle<InDetTrackZ0SortingTool> m_sortingTool;
68 
69 //cluster cleaning tool
70  ToolHandle<InDetTrackClusterCleaningTool> m_cleaningTool;
71 
72 //beam spot finder
73  SG::ReadCondHandleKey<InDet::BeamSpotData> m_beamSpotKey { this, "BeamSpotKey", "BeamSpotData", "SG key for beam spot" };
74 
75  ToolHandle<Trk::IExtrapolator> m_extrapolator; //<! Extrapolator tool
76 
77  //vertex seed finder
78  ToolHandle<Trk::IVertexSeedFinder> m_vtxSeedFinder;
79 
80  };
81 
82 }//end of namespace definitions
83 
84 #endif
85 
86 
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
InDet
DUMMY Primary Vertex Finder.
Definition: VP1ErrorUtils.h:36
InDet::IMultiPVSeedFinder
Definition: IMultiPVSeedFinder.h:37
InDet::DivisiveMultiSeedFinder::m_beamSpotKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Definition: DivisiveMultiSeedFinder.h:73
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
IMultiPVSeedFinder.h
InDet::DivisiveMultiSeedFinder::~DivisiveMultiSeedFinder
~DivisiveMultiSeedFinder()
InDet::DivisiveMultiSeedFinder::m_sepDistance
double m_sepDistance
Definition: DivisiveMultiSeedFinder.h:52
InDet::DivisiveMultiSeedFinder::m_trkFilter
ToolHandle< Trk::ITrackSelectorTool > m_trkFilter
Definition: DivisiveMultiSeedFinder.h:64
beamspotman.n
n
Definition: beamspotman.py:731
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
InDet::DivisiveMultiSeedFinder::initialize
virtual StatusCode initialize() override
Definition: DivisiveMultiSeedFinder.cxx:19
InDet::DivisiveMultiSeedFinder::m_extrapolator
ToolHandle< Trk::IExtrapolator > m_extrapolator
Definition: DivisiveMultiSeedFinder.h:75
InDet::DivisiveMultiSeedFinder::m_vtxSeedFinder
ToolHandle< Trk::IVertexSeedFinder > m_vtxSeedFinder
Definition: DivisiveMultiSeedFinder.h:78
InDet::DivisiveMultiSeedFinder::m_cleaningTool
ToolHandle< InDetTrackClusterCleaningTool > m_cleaningTool
Definition: DivisiveMultiSeedFinder.h:70
Trk
Ensure that the ATLAS eigen extensions are properly loaded.
Definition: FakeTrackBuilder.h:9
InDet::DivisiveMultiSeedFinder::seeds
virtual std::vector< std::vector< const Trk::Track * > > seeds(const std::vector< const Trk::Track * > &tracks) const override
Clustering method itself.
Definition: DivisiveMultiSeedFinder.cxx:91
SG::ReadCondHandleKey< InDet::BeamSpotData >
InDet::DivisiveMultiSeedFinder::DivisiveMultiSeedFinder
DivisiveMultiSeedFinder(const std::string &t, const std::string &n, const IInterface *p)
Constructor and destructor.
Definition: DivisiveMultiSeedFinder.cxx:58
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
BeamSpotData.h
AthAlgTool
Definition: AthAlgTool.h:26
InDet::DivisiveMultiSeedFinder::m_nRemaining
unsigned int m_nRemaining
Definition: DivisiveMultiSeedFinder.h:54
InDet::DivisiveMultiSeedFinder::m_ignoreBeamSpot
bool m_ignoreBeamSpot
Definition: DivisiveMultiSeedFinder.h:56
InDet::DivisiveMultiSeedFinder
Definition: DivisiveMultiSeedFinder.h:27
InDet::DivisiveMultiSeedFinder::m_sortingTool
ToolHandle< InDetTrackZ0SortingTool > m_sortingTool
Definition: DivisiveMultiSeedFinder.h:67