ATLAS Offline Software
Loading...
Searching...
No Matches
InDetAmbiTrackSelectionTool.h
Go to the documentation of this file.
1// -*- C++ -*-
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5*/
6
8// InDetAmbiTrackSelectionTool.h, (c) ATLAS Detector software
9// Markus Elsing
11
12#ifndef INDETINDETAMBITRACKSELECTIONTOOL_H
13#define INDETINDETAMBITRACKSELECTIONTOOL_H
14
17
21
22#include "GaudiKernel/ToolHandle.h"
23
24#include <map>
25#include <vector>
26
27class SiliconID;
28class Identifier;
29namespace Trk {
30 class Track;
31}
32
33namespace InDet
34{
35
45
46 class InDetAmbiTrackSelectionTool : public extends<AthAlgTool, Trk::IAmbiTrackSelectionTool>
47 {
48 public:
49 InDetAmbiTrackSelectionTool(const std::string&,const std::string&,const IInterface*);
50
52 virtual ~InDetAmbiTrackSelectionTool () = default;
53
55 virtual StatusCode initialize() override;
57 virtual StatusCode finalize() override;
58
59 virtual std::tuple<Trk::Track*,bool> getCleanedOutTrack(const Trk::Track *track,
60 const Trk::TrackScore score,
61 Trk::ClusterSplitProbabilityContainer &splitProbContainer,
62 Trk::PRDtoTrackMap &prd_to_track_map,
63 int trackId = -1, int subtrackId = -1) const override;
64
65 private:
66
68 Trk::Track* createSubTrack( const std::vector<const Trk::TrackStateOnSurface*>& tsos, const Trk::Track* track ) const ;
69
71 PublicToolHandle<ITrtDriftCircleCutTool> m_selectortool
72 {this, "DriftCircleCutTool", "InDet::InDetTrtDriftCircleCutTool"};
73
74 ToolHandle<Trk::IPRDtoTrackMapTool> m_assoTool
75 {this, "AssociationTool", "Trk::PRDtoTrackMapTool" };
76
78 const SiliconID* m_detID{nullptr};
79
81 IntegerProperty m_minHits{this, "minHits", 5};
82 IntegerProperty m_minTRT_Hits{this, "minTRTHits", 0};
84 IntegerProperty m_maxSharedModules{this, "maxShared", 1};
85 IntegerProperty m_maxTracksPerPRD{this, "maxTracksPerSharedPRD", 2};
86 IntegerProperty m_minNotShared{this, "minNotShared", 6};
87 FloatProperty m_minScoreShareTracks{this, "minScoreShareTracks", 0.0};
88 BooleanProperty m_cosmics{this, "Cosmics", false};
89 BooleanProperty m_parameterization{this, "UseParameterization", true}; // Use table of min number DCs
90 BooleanProperty m_doPixelClusterSplitting{this, "doPixelSplitting", false};
91 FloatProperty m_sharedProbCut{this, "sharedProbCut", 0.02};
92 IntegerProperty m_maxSplitSize{this, "MaximalSplitSize", 49, "A.S.: remove that when solved properly by updating the SplitProb info with isExcluded. A.S.: to be removed once EDM is updated"};
93 };
94} // end of namespace
95
96
97#endif
virtual std::tuple< Trk::Track *, bool > getCleanedOutTrack(const Trk::Track *track, const Trk::TrackScore score, Trk::ClusterSplitProbabilityContainer &splitProbContainer, Trk::PRDtoTrackMap &prd_to_track_map, int trackId=-1, int subtrackId=-1) const override
virtual StatusCode initialize() override
standard Athena-Algorithm method
Trk::Track * createSubTrack(const std::vector< const Trk::TrackStateOnSurface * > &tsos, const Trk::Track *track) const
method to create a new track from a vector of TSOS's
ToolHandle< Trk::IPRDtoTrackMapTool > m_assoTool
PublicToolHandle< ITrtDriftCircleCutTool > m_selectortool
TRT minimum number of drift circles tool- returns allowed minimum number of TRT drift circles.
const SiliconID * m_detID
atlas id helper
virtual ~InDetAmbiTrackSelectionTool()=default
default destructor
virtual StatusCode finalize() override
standard Athena-Algorithm method
InDetAmbiTrackSelectionTool(const std::string &, const std::string &, const IInterface *)
This is an Identifier helper class for both the Pixel and SCT subdetectors.
Definition SiliconID.h:42
Container to associate Cluster with cluster splitting probabilities.
Primary Vertex Finder.
Ensure that the ATLAS eigen extensions are properly loaded.
float TrackScore
Definition TrackScore.h:10