 |
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef ACTSTRKFINDING_TRACKTOTRACKPARTICLECNVALG_H
6 #define ACTSTRKFINDING_TRACKTOTRACKPARTICLECNVALG_H 1
10 #include "Gaudi/Property.h"
31 #include "Acts/Surfaces/PerigeeSurface.hpp"
32 #include "Acts/EventData/TrackParameters.hpp"
33 #include "Acts/Definitions/PdgParticle.hpp"
39 #include "Acts/Surfaces/CylinderSurface.hpp"
41 #include "Acts/Propagator/EigenStepper.hpp"
42 #include "Acts/Propagator/Propagator.hpp"
43 #include "Acts/Propagator/Navigator.hpp"
55 ISvcLocator *pSvcLocator);
69 const typename ActsTrk::TrackContainer::ConstTrackProxy &
track,
70 const Acts::PerigeeSurface &perigee_surface)
const;
73 {
this,
"ExtrapolationTool",
""};
75 PublicToolHandle<ActsTrk::ITrackingGeometryTool>
m_trackingGeometryTool{
this,
"TrackingGeometryTool",
"ActsTrackingGeometryTool"};
79 {
this,
"ACTSTracksLocation", {},
"Track collection (ActsTrk variant)"};
81 {
this,
"BeamSpotKey",
"BeamSpotData",
"SG key for beam spot or empty." };
83 {
this,
"AtlasFieldCacheCondObj",
"fieldCondObj",
"Name of the Magnetic Field conditions object key" };
86 {
this,
"SiDetectorElementCollections", {},
"Pixel and strip element collections to get geometry information about measurements."};
88 {
this,
"SiDetEleCollToMeasurementType",{},
"One value per si detector collection: Pixel = 1, Strip = 2"};
91 {
this,
"VertexContainerKey",
"",
"Name of the Primary Vertex Container"};
93 {
this,
"TrackParticlesOutKey",
"",
"Name of the produced track particle collection" };
96 {
this,
"ActsTrackLink",
"actsTrack"};
101 {
this,
"FirstAndLastParameterOnly",
true,
"Only convert the first and the last parameter." };
103 {
this,
"ComputeExpectedLayerPattern",
true,
"Compute the expected layer pattern. CPU expensive" };
105 {
this,
"expectIfPixelContribution",
true,
"Only expect pixel hits if there are pixel hits on track." };
108 {
this,
"PixelExpectLayerPathLimitInMM",1000,
109 "PathLimit for extrapolating to get the expected pixel layer pattern in mm." };
118 static std::vector<std::pair<Acts::PdgParticle, xAOD::ParticleHypothesis> > s_actsHypothesisToxAOD
ATLAS_THREAD_SAFE;
126 std::vector<std::pair<Acts::PdgParticle, xAOD::ParticleHypothesis> >::const_iterator
127 iter = std::find_if(s_actsHypothesisToxAOD.begin(),
128 s_actsHypothesisToxAOD.end(),
129 [abs_pdg_id](
const std::pair<Acts::PdgParticle, xAOD::ParticleHypothesis> &elm) {
130 return abs_pdg_id == elm.first;
Property holding a SG store/key/clid from which a ReadHandle is made.
static std::shared_ptr< Acts::PerigeeSurface > makePerigeeSurface(const InDet::BeamSpotData *beamspotptr)
Gaudi::Property< bool > m_expectIfPixelContributes
virtual StatusCode initialize() override
virtual StatusCode execute(const EventContext &ctx) const override
Acts::Navigator Navigator
PublicToolHandle< ActsTrk::ITrackingGeometryTool > m_trackingGeometryTool
Gaudi::Property< bool > m_firstAndLastParamOnly
expressionStrategy m_expression_strategy
Acts::BoundTrackParameters parametersAtPerigee(const EventContext &ctx, const typename ActsTrk::TrackContainer::ConstTrackProxy &track, const Acts::PerigeeSurface &perigee_surface) const
Property holding a SG store/key/clid from which a ReadHandle is made.
@ noHypothesis
For material collection.
An algorithm that can be simultaneously executed in multiple threads.
Acts::Propagator< Stepper, Navigator > Propagator
Acts::Navigator Navigator
Property holding a SG store/key/clid/attr name from which a WriteDecorHandle is made.
static void initParticleHypothesisMap()
::StatusCode StatusCode
StatusCode definition for legacy code.
SG::WriteDecorHandleKey< xAOD::TrackParticleContainer > m_decorator_actsTracks
Handle class for adding a decoration to an object.
Gaudi::Property< bool > m_computeExpectedLayerPattern
Include the GeoPrimitives which need to be put first.
SG::WriteHandleKey< xAOD::TrackParticleContainer > m_trackParticlesOutKey
Property holding a SG store/key/clid from which a WriteHandle is made.
SG::ReadCondHandleKey< AtlasFieldCacheCondObj > m_fieldCacheCondObjInputKey
SG::ReadCondHandleKey< InDet::BeamSpotData > m_beamSpotKey
Acts::EigenStepper<> Stepper
Class describing a Vertex.
Gaudi::Property< std::string > m_perigeeExpression
Gaudi::Property< double > m_pixelExpectLayerPathLimitInMM
std::unique_ptr< Propagator > m_propagator
The AlignStoreProviderAlg loads the rigid alignment corrections and pipes them through the readout ge...
SG::ReadHandleKeyArray< ActsTrk::TrackContainer > m_tracksContainerKey
Gaudi::Property< double > m_paramExtrapolationParLimit
ToolHandle< IActsExtrapolationTool > m_extrapolationTool
SG::ReadHandleKey< xAOD::VertexContainer > m_vertexHandle
Gaudi::Property< std::vector< unsigned int > > m_siDetEleCollToMeasurementType
static std::vector< std::pair< Acts::PdgParticle, xAOD::ParticleHypothesis > > s_actsHypothesisToxAOD ATLAS_THREAD_SAFE
SG::ReadCondHandleKeyArray< InDetDD::SiDetectorElementCollection > m_siDetEleCollKey
static xAOD::ParticleHypothesis convertParticleHypothesis(Acts::PdgParticle abs_pdg_id)
TrackToTrackParticleCnvAlg(const std::string &name, ISvcLocator *pSvcLocator)