44 return StatusCode::FAILURE;
53 std::vector<SelDecorator> selDecors;
55 selDecors.emplace_back(key, ctx);
63 return StatusCode::FAILURE;
68 track = probeMuon->
trackParticle(xAOD::Muon::TrackParticleType::MuonSpectrometerTrackParticle);
69 if (!track) { track = probeMuon->
trackParticle(xAOD::Muon::TrackParticleType::Primary); }
71 bool passSelection = muon->pt() >
m_ptMin && (selDecors.empty () ||
72 std::find_if(selDecors.begin(),selDecors.end(),
73 [&muon](
const SelDecorator& dec){
75 }) != selDecors.end());
77 int extr_code = ExtStatus::NotPresent;
78 float eta{dummy_result},
phi{dummy_result};
81 if (passSelection && muon->pt() > min_warn_pt)
82 ATH_MSG_WARNING(
"Warning - Pivot plane extrapolation failed for a track particle with IP pt "
83 << muon->pt() <<
", eta " << muon->eta() <<
", phi " << muon->phi());
84 extr_code = ExtStatus::Failed;
86 eta = pTag->position().eta();
87 phi = pTag->position().phi();
88 extr_code = ExtStatus::Success;
92 dec_Decorated(*muon) = extr_code;
94 return StatusCode::SUCCESS;
100 const Trk::Perigee& perigee = track.perigeeParameters();
105 std::unique_ptr<Trk::CylinderSurface> cylinder =
109 bool boundaryCheck =
true;
111 std::unique_ptr<Trk::TrackParameters> p{
125 const int SignOfEta = track.eta() > 0 ? 1. : -1.;
131 boundaryCheck =
false;
Class providing the definition of the 4-vector interface.