10 #include <analysis/ContinuumSuppression/HarmonicMoments.h> 
   22     double cTheta = p.Dot(
m_axis) / pMag;
 
   28     double cTheta2 = cTheta * cTheta;
 
   29     double cTheta3 = cTheta2 * cTheta;
 
   30     double cTheta4 = cTheta2 * cTheta2;
 
   34     m_moment[2] += pMag * 0.5 * (3.*cTheta2 - 1);
 
   35     m_moment[3] += pMag * 0.5 * (5.*cTheta3 - 3.*cTheta);
 
   36     m_moment[4] += pMag * 0.125 * (35.*cTheta4 - 30.*cTheta2 + 3.);
 
   48     double cTheta = p.Dot(
m_axis) / pMag;
 
   54     double cTheta2 = cTheta * cTheta;
 
   55     double cTheta3 = cTheta2 * cTheta;
 
   56     double cTheta4 = cTheta2 * cTheta2;
 
   57     double cTheta5 = cTheta4 * cTheta;
 
   58     double cTheta6 = cTheta3 * cTheta3;
 
   59     double cTheta7 = cTheta6 * cTheta;
 
   60     double cTheta8 = cTheta4 * cTheta4;
 
   64     m_moment[2] += pMag * 0.5 * (3.*cTheta2 - 1);
 
   65     m_moment[3] += pMag * 0.5 * (5.*cTheta3 - 3.*cTheta);
 
   66     m_moment[4] += pMag * 0.125 * (35.*cTheta4 - 30.*cTheta2 + 3.);
 
   67     m_moment[5] += pMag * 0.125 * (63.*cTheta5 - 70 * cTheta3 + 15.*cTheta);
 
   68     m_moment[6] += pMag * 0.0625 * (231.*cTheta6 - 315 * cTheta4 + 105 * cTheta2 - 5.);
 
   69     m_moment[7] += pMag * 0.0625 * (429.*cTheta7 - 693.*cTheta5 + 315.*cTheta3 - 35.*cTheta);
 
   70     m_moment[8] += pMag * 0.0078125 * (6435.*cTheta8 - 12012.*cTheta6 + 6930.*cTheta4 - 1260.*cTheta2 + 35.);
 
double m_moment[9]
The harmonic moments.
std::vector< ROOT::Math::XYZVector > m_momenta
The list of particles.
ROOT::Math::XYZVector m_axis
The reference axis.
void calculateAllMoments()
Calculates the moments up to order 8.
void calculateBasicMoments()
Calculates the moments up to order 4.
Abstract base class for different kinds of events.