/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/Mcgpj/Mcgpj-00-01-04/src/code3pi/src/T5piCrossPart.C File Reference

#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 Documentation

typedef std::complex<double> complex_t

Definition at line 8 of file T5piCrossPart.C.


Function Documentation

complex_t bw_b1 ( double  s  )  [inline]

Definition at line 24 of file T5piCrossPart.C.

References rb::Gb1, rb::Mb1, and rb::Mb12.

Referenced by J5pi().

00024                                 {
00025   complex_t Db1 = complex_t(Mb12-s,-Mb1*Gb1);
00026   complex_t bw = Mb12/Db1;
00027   return bw;
00028 }

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 }

complex_t Rrho ( double  s,
bool  IsIsospinBreak 
) [inline]

Definition at line 12 of file T5piCrossPart.C.

References rb::Grho, rb::Mrho, and rb::Mrho2.

00012                                                     {
00013   complex_t Drho = complex_t(Mrho2-s, -Mrho*Grho);
00014   complex_t prop_rho = Mrho2/Drho;
00015   return prop_rho;
00016 }


Generated on Tue Nov 29 23:16:41 2016 for BOSS_7.0.2 by  doxygen 1.4.7