21 double sq(
double x) {
return x*
x; }
36 (
const std::string&
type,
37 const std::string&
name,
58 return StatusCode::SUCCESS;
75 if ( tv->perigeeAtVertex() )
76 perigee =
static_cast<const Trk::Perigee*
> (tv->perigeeAtVertex());
78 perigee =
static_cast<const Trk::Perigee*
> (tv->initialPerigee());
80 *
m_px += perigee->momentum().x();
81 *
m_py += perigee->momentum().y();
82 *
m_pz += perigee->momentum().z();
83 *
m_E += perigee->momentum().mag();
84 *
m_sumPt += hypot(perigee->momentum().x(),perigee->momentum().y());
89 vtxmass = std::sqrt(vtxmass);
96 return StatusCode::SUCCESS;
110 for (
const auto& tplink :
p.trackParticleLinks()) {
112 const Trk::Perigee& perigee = (*tplink)->perigeeParameters();
114 *
m_px += perigee.momentum().x();
115 *
m_py += perigee.momentum().y();
116 *
m_pz += perigee.momentum().z();
117 *
m_E += perigee.momentum().mag();
118 *
m_sumPt += hypot(perigee.momentum().x(),perigee.momentum().y());
123 vtxmass = std::sqrt(vtxmass);
130 return StatusCode::SUCCESS;