12 constexpr
float min_warn_pt = 3500;
13 constexpr
float dummy_result = 5.;
37 return StatusCode::SUCCESS;
42 if (!muons.isValid()) {
44 return StatusCode::FAILURE;
47 auto dec_Eta = makeHandle<float>(ctx,
m_extEtaKey, dummy_result);
48 auto dec_Phi = makeHandle<float>(ctx,
m_extPhiKey, dummy_result);
49 auto dec_Decorated = makeHandle<char>(ctx,
m_extStatKey, ExtStatus::NotPresent);
53 std::vector<SelDecorator> selDecors;
55 selDecors.emplace_back(
key, ctx);
63 return StatusCode::FAILURE;
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;
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;