#include <iostream>
#include "T5piCrossPart.h"
#include "TConstant.h"
#include "TUtil.h"
#include <complex>
Go to the source code of this file.
Typedefs | |
typedef std::complex< double > | complex_t |
Functions | |
complex_t | Rrho (double s, bool IsIsospinBreak) |
complex_t | bw_om (double s) |
complex_t | bw_b1 (double s) |
TLorentzVectorC | J5pi (const TLorentzVector &q1, const TLorentzVector &q2, const TLorentzVector &q3, const TLorentzVector &q4, const TLorentzVector &q5) |
typedef std::complex<double> complex_t |
Definition at line 8 of file T5piCrossPart.C.
complex_t bw_b1 | ( | double | s | ) | [inline] |
complex_t bw_om | ( | double | s | ) | [inline] |
Definition at line 18 of file T5piCrossPart.C.
References rb::Gomega, rb::Momega, and rb::Momega2.
00018 { 00019 complex_t Domega = complex_t(Momega2-s,-Momega*Gomega); 00020 complex_t bw = Momega2/Domega; 00021 return bw; 00022 }
TLorentzVectorC J5pi | ( | const TLorentzVector & | q1, | |
const TLorentzVector & | q2, | |||
const TLorentzVector & | q3, | |||
const TLorentzVector & | q4, | |||
const TLorentzVector & | q5 | |||
) |
Definition at line 80 of file T5piCrossPart.C.
References bw_b1(), bw_om(), rb::PseudoScalars3(), and Rrho().
Referenced by T5piCrossPart::SetJ().
00084 { 00085 TLorentzVector qom = q3 + q4 + q5; 00086 TLorentzVector qp = q3 + q5; 00087 TLorentzVector qm = q4 + q5; 00088 TLorentzVector q0 = q3 + q4; 00089 TLorentzVector qb1_0 = qom + q2; 00090 TLorentzVector qb1_1 = qom + q1; 00091 complex_t pom = bw_om(qom.M2()); 00092 pom *= Rrho(qp.M2(),false) + Rrho(qm.M2(),false) + Rrho(q0.M2(),true); 00093 00094 TLorentzVector tom = PseudoScalars3(q3,q4,q5); 00095 00096 complex_t pb1_0 = bw_b1(qb1_0.M2()); 00097 complex_t pb1_1 = bw_b1(qb1_1.M2()); 00098 00099 complex_t prop_0 = pom*pb1_0; 00100 complex_t prop_1 = pom*pb1_1; 00101 double q1q2 = q1*q2; 00102 double q1tom = q1*tom; 00103 double qb1_0qom = qb1_0*qom; 00104 double qb1_0tom = qb1_0*tom; 00105 double qb1_0q2 = qb1_0*q2; 00106 double q1qom = q1*qom; 00107 TLorentzVector res0 00108 = qom*(( q1q2 )*(qb1_0tom) - (qb1_0q2 )*( q1tom)) 00109 + q2*((qb1_0qom)*( q1tom) - ( q1qom)*(qb1_0tom)) 00110 + tom*(( q1qom)*(qb1_0q2 ) - (qb1_0qom)*( q1q2 )); 00111 00112 double q2tom = q2*tom; 00113 double qb1_1qom = qb1_1*qom; 00114 double qb1_1tom = qb1_1*tom; 00115 double qb1_1q1 = qb1_1*q1; 00116 double q2qom = q2*qom; 00117 TLorentzVector res1 00118 = qom*(( q1q2 )*(qb1_1tom) - (qb1_1q1 )*( q2tom)) 00119 + q1*((qb1_1qom)*( q2tom) - ( q2qom)*(qb1_1tom)) 00120 + tom*(( q2qom)*(qb1_1q1 ) - (qb1_1qom)*( q1q2 )); 00121 00122 return TLorentzVectorC(res0.X()*prop_0 + res1.X()*prop_1, 00123 res0.Y()*prop_0 + res1.Y()*prop_1, 00124 res0.Z()*prop_0 + res1.Z()*prop_1, 00125 res0.T()*prop_0 + res1.T()*prop_1); 00126 }