5#ifndef ACTSTRKFINDING_TRACKTOTRACKPARTICLECNVTOOL_H
6#define ACTSTRKFINDING_TRACKTOTRACKPARTICLECNVTOOL_H 1
20#include "Acts/Propagator/EigenStepper.hpp"
21#include "Acts/Propagator/Propagator.hpp"
22#include "Acts/Propagator/Navigator.hpp"
23#include "Acts/Definitions/PdgParticle.hpp"
26#include "Gaudi/Property.h"
34 const std::string& name,
35 const IInterface* parent);
41 const EventContext& ctx,
42 const ActsTrk::TrackContainer::ConstTrackProxy& track,
43 const Acts::PerigeeSurface* perigeeSurface =
nullptr,
52 const ActsTrk::TrackContainer::ConstTrackProxy& track,
53 const Acts::PerigeeSurface& perigee_surface)
const;
58 {
this,
"ExtrapolationTool",
""};
61 {
this,
"TrackingGeometryTool",
"ActsTrackingGeometryTool"};
64 {
this,
"AtlasFieldCacheCondObj",
"fieldCondObj",
65 "Name of the Magnetic Field conditions object key"};
68 {
this,
"SiDetectorElementCollections", {},
69 "Pixel and strip element collections to get geometry information about measurements."};
72 {
this,
"SiDetEleCollToMeasurementType", {},
73 "One value per si detector collection: Pixel = 1, Strip = 2"};
76 {
this,
"ExtrapolationPathLimit", std::numeric_limits<double>::max(),
77 "PathLimit for extrapolating track parameters."};
80 {
this,
"FirstAndLastParameterOnly",
true,
81 "Only convert the first and the last parameter."};
84 {
this,
"ComputeExpectedLayerPattern",
true,
85 "Compute the expected layer pattern. CPU expensive"};
88 {
this,
"expectIfPixelContribution",
true,
89 "Only expect pixel hits if there are pixel hits on track."};
92 {
this,
"PixelExpectLayerPathLimitInMM", 1000,
93 "PathLimit for extrapolating to get the expected pixel layer pattern in mm."};
97 "Pattern recognition info bitmask to store on converted track particles."};
101 "Track fitter identifier to store on converted track particles."};
Gaudi::Property< double > m_paramExtrapolationParLimit
ToolHandle< ActsTrk::IExtrapolationTool > m_extrapolationTool
TrackToTrackParticleCnvTool(const std::string &type, const std::string &name, const IInterface *parent)
Acts::BoundTrackParameters parametersAtPerigee(const EventContext &ctx, const ActsTrk::TrackContainer::ConstTrackProxy &track, const Acts::PerigeeSurface &perigee_surface) const
Gaudi::Property< bool > m_firstAndLastParamOnly
Gaudi::Property< bool > m_expectIfPixelContributes
std::unique_ptr< Propagator > m_propagator
Gaudi::Property< double > m_pixelExpectLayerPathLimitInMM
Acts::Propagator< Stepper, Navigator > Propagator
Acts::EigenStepper<> Stepper
Gaudi::Property< int > m_trackFitter
SG::ReadCondHandleKeyArray< InDetDD::SiDetectorElementCollection > m_siDetEleCollKey
Gaudi::Property< unsigned long > m_patternRecognitionInfo
virtual StatusCode initialize() override
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
Gaudi::Property< std::vector< unsigned int > > m_siDetEleCollToMeasurementType
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
static xAOD::ParticleHypothesis convertParticleHypothesis(Acts::PdgParticle abs_pdg_id)
Acts::Navigator Navigator
virtual StatusCode convert(xAOD::TrackParticle &trackParticle, const EventContext &ctx, const ActsTrk::TrackContainer::ConstTrackProxy &track, const Acts::PerigeeSurface *perigeeSurface=nullptr, const InDet::BeamSpotData *beamspotData=nullptr) const override
Gaudi::Property< bool > m_computeExpectedLayerPattern
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
HandleKeyArray< ReadCondHandle< T >, CondHandleDefault::Key< ReadCondHandleKey< T > >, Gaudi::DataHandle::Reader > ReadCondHandleKeyArray
@ KalmanFitter
tracks produced by the Kalman Fitter
TrackParticle_v1 TrackParticle
Reference the current persistent version:
@ SiSPSeededFinder
Tracks from SiSPSeedFinder.