1 #ifndef EICD_HELPERS_HH
2 #define EICD_HELPERS_HH
12 #include <Math/Vector4D.h>
27 std::vector<ROOT::Math::PxPyPzMVector> momenta{tracks.size()};
29 std::transform(tracks.begin(), tracks.end(), momenta.begin(), [mass](
const auto& track) {
31 if (fabs(track.qOverP) < 1e-9) {
32 return ROOT::Math::PxPyPzMVector{};
34 const double p = fabs(1. / track.qOverP);
35 const double px = p * cos(track.direction.phi) * sin(track.direction.theta);
36 const double py = p * sin(track.direction.phi) * sin(track.direction.theta);
37 const double pz = p * cos(track.direction.theta);
38 return ROOT::Math::PxPyPzMVector{px, py, pz, mass};