23 double sq(
double x) {
return x*
x; }
38 (
const std::string&
type,
39 const std::string&
name,
60 return StatusCode::SUCCESS;
77 if ( tv->perigeeAtVertex() )
82 *
m_px += perigee->momentum().x();
83 *
m_py += perigee->momentum().y();
84 *
m_pz += perigee->momentum().z();
85 *
m_E += perigee->momentum().mag();
86 *
m_sumPt += hypot(perigee->momentum().x(),perigee->momentum().y());
91 vtxmass = std::sqrt(vtxmass);
98 return StatusCode::SUCCESS;
112 for (
const auto& tplink :
p.trackParticleLinks()) {
114 const Trk::Perigee& perigee = (*tplink)->perigeeParameters();
116 *
m_px += perigee.momentum().x();
117 *
m_py += perigee.momentum().y();
118 *
m_pz += perigee.momentum().z();
119 *
m_E += perigee.momentum().mag();
120 *
m_sumPt += hypot(perigee.momentum().x(),perigee.momentum().y());
125 vtxmass = std::sqrt(vtxmass);
132 return StatusCode::SUCCESS;