PYTHIA
8.312
|
#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 back-to-back 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.