8 #include "TLorentzVector.h" 13 ,
const TLorentzVector& p1
14 ,
const TLorentzVector& p2
15 ,
const TLorentzVector& p3){
18 TMatrixT<double>
m(4, 4);
19 for(
int i=0; i < 4; i++){
27 return m.Determinant();
31 ,
const TLorentzVector& p1
34 for(
int a=0; a<4; a++){
35 for(
int b=0; b<4; b++){
37 for(
int c=0; c<4; c++){
38 if(a==c || b==c)
continue;
39 for(
int d=0; d<4; d++){
40 if(a==d || b==d || c==d)
continue;
44 * M[ (c + 3)%4 ][ (d + 3)%4 ]
54 inline TLorentzVector
LeviCivita(
const TLorentzVector& a,
const TLorentzVector& b,
const TLorentzVector& c){
58 v.SetT( -1.* a.X() * ( b.Y() * c.Z() - b.Z() * c.Y() )
59 - a.Y() * ( b.Z() * c.X() - b.X() * c.Z() )
60 - a.Z() * ( b.X() * c.Y() - b.Y() * c.X() ) );
62 v.SetZ( a.X() * ( b.T() * c.Y() - b.Y() * c.T() )
63 + a.Y() * ( b.X() * c.T() - b.T() * c.X() )
64 + a.T() * ( b.Y() * c.X() - b.X() * c.Y() ) );
66 v.SetY( a.X() * ( b.Z() * c.T() - b.T() * c.Z() )
67 + a.Z() * ( b.T() * c.X() - b.X() * c.T() )
68 + a.T() * ( b.X() * c.Z() - b.Z() * c.X() ) );
70 v.SetX( a.Y() * ( b.T() * c.Z() - b.Z() * c.T() )
71 + a.Z() * ( b.Y() * c.T() - b.T() * c.Y() )
72 + a.T() * ( b.Z() * c.Y() - b.Y() * c.Z() ) );
int LeviCita(int a, int b)
double LeviCivita(const TLorentzVector &p0, const TLorentzVector &p1, const TLorentzVector &p2, const TLorentzVector &p3)