22       const IInterface* 
p) :
 
   30       ATH_MSG_ERROR(
"No decoration prefix name provided for the output of TracktoVertexWrapper!");
 
   31       return StatusCode::FAILURE;
 
   34       ATH_MSG_ERROR(
"No TrackParticle collection provided for TracktoVertexWrapper!");
 
   35       return StatusCode::FAILURE;
 
   41       std::vector<std::string> 
names;
 
   63     return StatusCode::SUCCESS;
 
   68     return StatusCode::SUCCESS;
 
   78       return StatusCode::FAILURE;
 
   81     if ( !vertices.isValid() )
 
   84       return StatusCode::FAILURE;
 
   87     std::vector<SG::WriteDecorHandle<xAOD::TrackParticleContainer,float> >
 
   90     for (
const auto *trItr : *tracks) {
 
   91       std::unique_ptr<Trk::ImpactParametersAndSigma> iPandSigma;
 
   92       std::unique_ptr<Trk::ImpactParametersAndSigma> iPandSigmaBiased;
 
   94       for (
const auto *
const vx : *vertices) {
 
   95         for (
const auto& tpLink : vx->trackParticleLinks()) {
 
   96           if (*tpLink == trItr) {
 
  101         if (foundVertex) 
break;
 
  104         iPandSigma= 
m_tool->estimate(trItr,foundVertex,
true);
 
  105         iPandSigmaBiased = 
m_tool->estimate(trItr,foundVertex,
false);
 
  106         if( !iPandSigma )       
ATH_MSG_WARNING (
"trackToVertexIPEstimator failed !");
 
  107         if( !iPandSigmaBiased ) 
ATH_MSG_WARNING (
"trackToVertexIPEstimator biased IP failed !");
 
  110         ATH_MSG_DEBUG(
"No vertex associated to the track. Skipping it.");
 
  137       if (iPandSigmaBiased) {
 
  161     return StatusCode::SUCCESS;