1#ifndef AMPGEN_KINEMATICS_H 
    2#define AMPGEN_KINEMATICS_H 
    8#include <TLorentzVector.h> 
   26      HelicityCosine(
const std::vector<unsigned>& p1, 
const std::vector<unsigned>& p2,
 
   27          const std::vector<unsigned>& pR);
 
   29      HelicityCosine(
const unsigned& i, 
const unsigned& j, 
const std::vector<unsigned>& pR);
 
   31      double operator()( std::vector<Event>::iterator evt ) 
const;
 
   34      std::vector<unsigned> _i, _j, _pR;
 
 
   42      MomentumTransfer( 
const std::vector<unsigned>& _p1, 
const std::vector<unsigned>& _p2 );
 
   45      double Q2( 
const double& s, 
const double& s1, 
const double& s2 ) 
const;
 
   46      std::vector<unsigned> p1;
 
   47      std::vector<unsigned> p2;
 
   48      std::vector<unsigned> s;
 
 
   62  double phi( 
const Event& evt, 
int i, 
int j, 
int k, 
int w );
 
   64  std::vector<double> 
rotate( 
const std::vector<double>& input, 
const std::vector<double>& n, 
const double& v );
 
   65  void boost( 
Event& evt, 
const std::tuple<double, double, double>& n, 
const double& v );
 
   66  void rotate( 
Event& evt, 
const std::tuple<double, double, double>& n, 
const double& v );
 
   68  void rotateBasis( 
Event& evt, 
const TVector3& p1, 
const TVector3& p2, 
const TVector3& p3 );
 
   77  double dotProduct( 
const TLorentzVector& p1, 
const TLorentzVector& p2, 
const TLorentzVector& pX );
 
Encapsulates the final state particles of a single event.
double operator()(const Event &evt) const
double operator()(std::vector< Event >::iterator evt) const
HelicityCosine(const std::vector< unsigned > &p1, const std::vector< unsigned > &p2, const std::vector< unsigned > &pR)
HelicityCosine(const unsigned &i, const unsigned &j, const std::vector< unsigned > &pR)
MomentumTransfer(const std::vector< unsigned > &_p1, const std::vector< unsigned > &_p2)
double operator()(const Event &evt) const
TLorentzVector pFromEvent(const Event &evt, const unsigned &ref)
Helper function to extract a TLorentzVector of the ith decay product from an AmpGen::Event.
double acoplanarity(const Event &evt)
The extent to which a four body decay occurs within a single decay frame.
double dotProduct(const TLorentzVector &p1, const TLorentzVector &p2, const TLorentzVector &pX)
Helper function to calculate the (space-like) dot product between vectors p1 and p2 in the rest frame...
void boost(Event &evt, const std::tuple< double, double, double > &n, const double &v)
double phi(const Event &evt, int i, int j, int k, int w)
void rotateBasis(Event &evt, const TVector3 &p1, const TVector3 &p2, const TVector3 &p3)
double PHI(const Event &evt)
std::vector< double > rotate(const std::vector< double > &input, const std::vector< double > &n, const double &v)