PYTHIA
8.303

#include <Analysis.h>
Public Member Functions  
Sphericity (double powerIn=2., int selectIn=2)  
Constructor.  
bool  analyze (const Event &event) 
Analyze event. More...  
double  sphericity () const 
Return info on results of analysis.  
double  aplanarity () const 
double  eigenValue (int i) const 
Vec4  eventAxis (int i) const 
void  list () const 
Provide a listing of the info. More...  
int  nError () const 
Tell how many events could not be analyzed.  
Sphericity class. This class performs (optionally modified) sphericity analysis on an event.
bool analyze  (  const Event &  event  ) 
Analyze event.
Initial values, tensor and counters zero.
Loop over desired particles in the event.
Calculate matrix to be diagonalized. Special cases for speed.
Very low multiplicities (0 or 1) not considered.
Normalize tensor to trace = 1.
Find eigenvalues to matrix (third degree equation).
Begin find first and last eigenvector.
If all particles are backtoback then simpleminded third axis.
Set up matrix to diagonalize.
Find largest = pivotal element in matrix.
Subtract one row from the other two; find new largest element.
Construct eigenvector. Normalize to unit length; sign irrelevant.
Store eigenvectors.
Middle eigenvector is orthogonal to the other two; sign irrelevant.
Done.
void list  (  )  const 
Provide a listing of the info.
Header.
The three eigenvalues and eigenvectors.
Listing finished.