13#ifndef SiCombinatorialTrackFinder_xk_H
14#define SiCombinatorialTrackFinder_xk_H
29#include "GaudiKernel/ToolHandle.h"
62 public extends<AthAlgTool, ISiCombinatorialTrackFinder>
80 virtual StatusCode
finalize()
override;
88 virtual const std::list<Trk::Track*>&
getTracks(
90 const std::vector<const Trk::SpacePoint*>&,
91 const std::vector<Amg::Vector3D>&,
92 std::vector<const InDetDD::SiDetectorElement*>&,
94 const EventContext& ctx)
const override;
96 virtual const std::list<Trk::Track*>&
getTracks(
98 const std::vector<const Trk::SpacePoint*>&,
99 const std::vector<Amg::Vector3D>&,
100 std::vector<const InDetDD::SiDetectorElement*>&,
101 std::multimap<const Trk::PrepRawData*, const Trk::Track*>&,
102 const EventContext& ctx)
const override;
106 const std::vector<const Trk::SpacePoint*>&,
107 const std::vector<Amg::Vector3D>&,
108 std::vector<const InDetDD::SiDetectorElement*>&,
109 std::multimap<const Trk::PrepRawData*, const Trk::Track*>&,
bool,
110 const EventContext& ctx)
const override;
114 const std::vector<const Trk::SpacePoint*>&,
115 const EventContext&)
const override;
118 const EventContext& ctx,
120 virtual void newEvent(
const EventContext& ctx,
134 MsgStream& out)
const override;
146 "PixelConditionsSummaryTool"};
148 "InDetSCT_ConditionsSummaryTool/SCT_ConditionsSummaryTool",
"Tool to retrieve SCT Conditions summary"};
150 "InDet::InDetBoundaryCheckTool",
"Boundary checking tool for detector sensitivities"};
152 PublicToolHandle<Trk::IPatternParametersPropagator>
m_proptool{
this,
"PropagatorTool",
153 "Trk::RungeKuttaPropagator/InDetPropagator"};
154 PublicToolHandle<Trk::IPatternParametersUpdator>
m_updatortool{
this,
"UpdatorTool",
155 "Trk::KalmanUpdator_xk/InDetPatternUpdator"};
156 PublicToolHandle<Trk::IRIO_OnTrackCreator>
m_riocreator{
this,
"RIOonTrackTool",
157 "Trk::RIO_OnTrackCreator/RIO_OnTrackCreator"};
167 "PixelDetElementBoundaryLinks_xk",
"Key of InDet::SiDetElementBoundaryLinks_xk for Pixel"};
169 "SCT_DetElementBoundaryLinks_xk",
"Key of InDet::SiDetElementBoundaryLinks_xk for SCT"};
178 {
this,
"PixelDetElStatus",
"",
"Key of SiDetectorElementStatus for Pixel"};
184 {
this,
"SCTDetElStatus",
"",
"Key of SiDetectorElementStatus for SCT"};
192 StringProperty
m_fieldmode{
this,
"MagneticFieldMode",
"MapSolenoid",
"Mode of magnetic field"};
193 DoubleProperty
m_qualityCut{
this,
"TrackQualityCut", 9.3,
"Simple track quality cut"};
194 FloatProperty
m_minPtCut{
this,
"MinFinalPtCut", 100,
"Cut on the pt of the final track. Must be >0 to avoid NANs when computing eta."};
196 BooleanProperty
m_writeHolesFromPattern{
this,
"writeHolesFromPattern",
false,
"Flag to activate writing hole info from the pattern recognition"};
223 const std::vector<const Trk::SpacePoint*>&,
224 const std::vector<Amg::Vector3D>&,
225 std::vector<const InDetDD::SiDetectorElement*>&,
226 std::multimap<const Trk::PrepRawData*, const Trk::Track*>&,
227 const EventContext&)
const;
239 const std::vector<const Trk::SpacePoint*>&,
240 std::vector<const InDet::SiCluster*>&,
241 std::optional<std::reference_wrapper<std::vector<const InDetDD::SiDetectorElement*>>> = std::nullopt);
244 std::vector<const InDetDD::SiDetectorElement*>&,
245 std::vector<const InDet::SiDetElementBoundaryLink_xk*>&,
246 const EventContext& ctx)
const;
char data[hepevt_bytes_allocation_ATLAS]
Property holding a SG store/key/clid from which a ReadHandle is made.
InDet::SiCombinatorialTrackFinderData_xk holds event dependent data used by SiCombinatorialTrackFinde...
PublicToolHandle< Trk::IPatternParametersPropagator > m_proptool
Trk::Track * convertToNextTrack(SiCombinatorialTrackFinderData_xk &data) const
ToolHandle< Trk::IBoundaryCheckTool > m_boundaryCheckTool
SG::ReadHandleKey< InDet::SCT_ClusterContainer > m_sctcontainerkey
StringProperty m_fieldmode
static MsgStream & dumpevent(SiCombinatorialTrackFinderData_xk &data, MsgStream &out)
PublicToolHandle< Trk::IPatternParametersUpdator > m_updatortool
static void getTrackQualityCuts(SiCombinatorialTrackFinderData_xk &data, const TrackQualityCuts &)
virtual ~SiCombinatorialTrackFinder_xk()=default
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCondObjInputKey
ToolHandle< IInDetConditionsTool > m_pixelCondSummaryTool
Trk::Track * convertToTrack(SiCombinatorialTrackFinderData_xk &data, const EventContext &ctx) const
virtual StatusCode initialize() override
EStat_t findTrack(SiCombinatorialTrackFinderData_xk &data, const Trk::TrackParameters &, const std::vector< const Trk::SpacePoint * > &, const std::vector< Amg::Vector3D > &, std::vector< const InDetDD::SiDetectorElement * > &, std::multimap< const Trk::PrepRawData *, const Trk::Track * > &, const EventContext &) const
virtual void endEvent(SiCombinatorialTrackFinderData_xk &data) const override
virtual const std::list< Trk::Track * > & getTracks(SiCombinatorialTrackFinderData_xk &data, const Trk::TrackParameters &, const std::vector< const Trk::SpacePoint * > &, const std::vector< Amg::Vector3D > &, std::vector< const InDetDD::SiDetectorElement * > &, const TrackQualityCuts &, const EventContext &ctx) const override
BooleanProperty m_writeHolesFromPattern
SG::ReadHandleKey< InDet::SiDetectorElementStatus > m_sctDetElStatus
Optional read handle to get status data to test whether a SCT detector element is good.
SG::ReadHandleKey< InDet::SiDetectorElementStatus > m_pixelDetElStatus
Optional read handle to get status data to test whether a pixel detector element is good.
Trk::MagneticFieldProperties m_fieldprop
Magnetic field properties.
SG::ReadCondHandleKey< InDet::SiDetElementBoundaryLinks_xk > m_boundaryPixelKey
SG::ReadHandleKey< InDet::PixelClusterContainer > m_pixcontainerkey
void initializeCombinatorialData(const EventContext &ctx, SiCombinatorialTrackFinderData_xk &data) const
MsgStream & dumpconditions(MsgStream &out) const
static bool spacePointsToClusters(const std::vector< const Trk::SpacePoint * > &, std::vector< const InDet::SiCluster * > &, std::optional< std::reference_wrapper< std::vector< const InDetDD::SiDetectorElement * > > >=std::nullopt)
BooleanProperty m_doFastTracking
SiCombinatorialTrackFinder_xk(const std::string &, const std::string &, const IInterface *)
SG::ReadCondHandleKey< InDet::SiDetElementBoundaryLinks_xk > m_boundarySCTKey
PublicToolHandle< Trk::IRIO_OnTrackCreator > m_riocreator
virtual void newEvent(const EventContext &ctx, SiCombinatorialTrackFinderData_xk &data) const override
ToolHandle< IInDetConditionsTool > m_sctCondSummaryTool
DoubleProperty m_qualityCut
virtual const std::list< Trk::Track * > & getTracksWithBrem(SiCombinatorialTrackFinderData_xk &data, const Trk::TrackParameters &, const std::vector< const Trk::SpacePoint * > &, const std::vector< Amg::Vector3D > &, std::vector< const InDetDD::SiDetectorElement * > &, std::multimap< const Trk::PrepRawData *, const Trk::Track * > &, bool, const EventContext &ctx) const override
EStat_t
Array entries for data.statistic counter.
BooleanProperty m_ITkGeometry
void detectorElementLinks(std::vector< const InDetDD::SiDetectorElement * > &, std::vector< const InDet::SiDetElementBoundaryLink_xk * > &, const EventContext &ctx) const
virtual StatusCode finalize() override
friend class SiTrajectory_xk
virtual double pTseed(SiCombinatorialTrackFinderData_xk &data, const Trk::TrackParameters &, const std::vector< const Trk::SpacePoint * > &, const EventContext &) const override
virtual void fillStatistic(SiCombinatorialTrackFinderData_xk &data, std::array< bool, NumberOfStats > &information) const override
Property holding a SG store/key/clid from which a ReadHandle is made.
magnetic field properties to steer the behavior of the extrapolation
Contains information about the 'fitter' of this track.
ParametersBase< TrackParametersDim, Charged > TrackParameters