23 declareInterface<IVertexSmoother>(
this);
30 StatusCode
sc = AlgTool::initialize();
34 msg(MSG::FATAL)<<
"Could not find extrapolator tool." <<
endmsg;
37 msg(MSG::INFO) <<
"Initialize successful" <<
endmsg;
38 return StatusCode::SUCCESS;
43 msg(MSG::INFO) <<
"Initialize successful" <<
endmsg;
44 return StatusCode::SUCCESS;
60 std::vector<Trk::VxTrackAtVertex>::iterator t_it = tracks.begin();
61 std::vector<Trk::VxTrackAtVertex>::iterator te = tracks.end();
62 for( ;t_it != te;++t_it)
76 if(initPar !=
nullptr)
81 auto extrapolatedPerigee =
82 std::unique_ptr<const Trk::TrackParameters>(
m_extrapolator->extrapolate(Gaudi::Hive::currentContext(),
85 if (extrapolatedPerigee !=
nullptr) {
86 (*t_it).setPerigeeAtVertex(extrapolatedPerigee->clone());
88 msg(MSG::ERROR) <<
" Extrapolation failed; VxTrackAtertex will not be updated" <<
endmsg;
91 msg(MSG::WARNING) <<
" The VxTrackAtVertex passed has no initial Parameters? This track will not be refitted" <<
endmsg;
96 msg(MSG::ERROR) <<
"xAOD::Vertex with empty vector of tracks is passed to the Vertex Smoother" <<
endmsg;
97 msg(MSG::ERROR) <<
"No action taken; Input xAOD::Vertex stays unchanged " <<
endmsg;
101 msg(MSG::ERROR) <<
"Vertex to be smoothed has no vxTrackAtVertices available!" <<
endmsg;
102 msg(MSG::ERROR) <<
"No action taken; Initial xAOD::Vertex returned." <<
endmsg;
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T, V, H > &t)
StatusCode initialize()
Athena default methods.
std::string m_extrapolatorName
std::string m_extrapolatorInstance
void smooth(xAOD::Vertex &vtx) const
Actual smooth method.
Trk::IExtrapolator * m_extrapolator
DummyVertexSmoother(const std::string &t, const std::string &n, const IInterface *p)
Constructor and destructor.
Class describing the Line to which the Perigee refers to.
bool vxTrackAtVertexAvailable() const
Check if VxTrackAtVertices are attached to the object.
std::vector< Trk::VxTrackAtVertex > & vxTrackAtVertex()
Non-const access to the VxTrackAtVertex vector.
const Amg::Vector3D & position() const
Returns the 3-pos.
Ensure that the ATLAS eigen extensions are properly loaded.
ParametersBase< TrackParametersDim, Charged > TrackParameters
Vertex_v1 Vertex
Define the latest version of the vertex class.