#include "T3piCrossPart.h"
#include "TConstant.h"
#include <complex>
#include <iostream>
Go to the source code of this file.
Typedefs | |
typedef std::complex< double > | complex_t |
Functions | |
complex_t | operator+ (const double &x, const complex_t &y) |
complex_t | operator- (const double &x, const complex_t &y) |
double | Gamma (const double Q2, const double M2, const double G) |
complex_t | Rrho (double Q2, bool IsIsospinBreak) |
complex_t | Amp (double s) |
complex_t | AmpOmegaPhi (double s) |
complex_t | F3pi (double s, double Q02, double Qp2, double Qm2) |
typedef std::complex<double> complex_t |
Definition at line 8 of file T3piCrossPart.C.
complex_t Amp | ( | double | s | ) | [inline] |
Definition at line 55 of file T3piCrossPart.C.
References alpha, exp(), rb::Geepsi, rb::Geepsip, rb::Geepsipp, rb::Gpsi, rb::Gpsip, rb::Gpsipp, I, M_PI, rb::Mpsi, rb::Mpsi2, rb::Mpsip, rb::Mpsip2, rb::Mpsipp, and rb::Mpsipp2.
Referenced by EvtSVSCPiso::decay(), F3pi(), FK0K0Eta(), FKcKcEta(), FKcKcP0(), FRhoEta(), and T3piEtaCrossPart::SetJ().
00055 { 00056 const complex_t I(0,1); 00057 const double Apsi = 4*alpha*Gpsi/(3*Geepsi); 00058 const double phipsi = -M_PI/2; 00059 const double Apsip = alpha*Gpsip/(3*Geepsip); 00060 const double phipsip = -M_PI/2; 00061 const double Apsipp = alpha*Gpsipp/(3*Geepsipp); 00062 const double phipsipp = -M_PI/2; 00063 complex_t res = 3*sqrt(s)/alpha* 00064 ( 00065 Geepsi*(1 + Apsi*exp(I*phipsi))/(s - Mpsi2 + I*Mpsi*Gpsi) + 00066 Geepsip*(1 + Apsip*exp(I*phipsip))/(s - Mpsip2 + I*Mpsip*Gpsip) + 00067 Geepsipp*(1 + Apsipp*exp(I*phipsipp))/(s - Mpsipp2 + I*Mpsipp*Gpsipp)); 00068 return res; 00069 }
complex_t AmpOmegaPhi | ( | double | s | ) | [inline] |
Definition at line 71 of file T3piCrossPart.C.
References rb::Gomega, rb::Gphi, rb::Momega, rb::Momega2, rb::Mphi, and rb::Mphi2.
00071 { 00072 // const double eta = 3.4*M_PI/180; 00073 // const double theta = eta + asin(1/sqrt(3)); 00074 // const double comega = sin(theta)*cos(eta); 00075 // const double cphi = -cos(theta)*sin(eta); 00076 const double comega = 6.23657803940740774e-01; 00077 const double cphi = -4.63075347511148622e-02; 00078 complex_t Romega = Momega2/complex_t(s-Momega2,Gomega*Momega); 00079 complex_t Rphi = Mphi2/complex_t(s-Mphi2,Gphi*Mphi); 00080 return (comega*Romega + cphi*Rphi); 00081 }
complex_t F3pi | ( | double | s, | |
double | Q02, | |||
double | Qp2, | |||
double | Qm2 | |||
) |
Definition at line 83 of file T3piCrossPart.C.
References Amp(), H, and Rrho().
Referenced by T3piCrossPart::SetJ().
00083 { 00084 // Rrho has rho-omega mixing otherwise use Rrho 00085 complex_t H = Rrho(Q02,true) + Rrho(Qm2,false) + Rrho(Qp2,false); 00086 return (5e-3*(1/s))*H*(1+Amp(s)); 00087 // const double f_pi3 = 93*93*93;// [MeV^3] 00088 // return complex_t(1000/(s*sqrt(s)),0); 00089 // const double alphaK = 0.5; 00090 // return 2e5/(s*s)*(1+Amp(s))*(1-3*alphaK-alphaK*H); 00091 // return 0.325*1e-9*Amp(s)*H; 00092 // return sqrt(3)/(4*M_PI*M_PI*f_pi3)*(AmpOmegaPhi(s)+Amp(s))*(1-3*alphaK-alphaK*H); 00093 // return sqrt(3)/(4*M_PI*M_PI*f_pi3)*(1)/(s)*(1-3*alphaK-alphaK*H); 00094 }
double Gamma | ( | const double | Q2, | |
const double | M2, | |||
const double | G | |||
) | [inline] |
Definition at line 18 of file T3piCrossPart.C.
References rb::mpi2.
00018 { 00019 double beta2 = (Q2-4*mpi2)/(M2-4*mpi2); 00020 double beta = sqrt(beta2); 00021 return G*M2/Q2*beta2*beta; 00022 }
Definition at line 25 of file T3piCrossPart.C.
References rb::Gamma(), rb::Gomega, rb::Grho, rb::Grhop, rb::Grhopp, rb::Grhoppp, I, rb::Momega, rb::Momega2, rb::mpi2, rb::Mrho2, rb::Mrhop2, rb::Mrhopp2, and rb::Mrhoppp2.
Referenced by F3pi(), FRhoEta(), J5pi(), and T4piCrossPart::SetJ().
00025 { 00026 if(Q2<4*mpi2) return 0; 00027 const complex_t I(0,1); 00028 double Q = sqrt(Q2); 00029 complex_t prop_rho = Mrho2/(Q2 - Mrho2 + I*(Gamma(Q2,Mrho2,Grho)*Q)); 00030 return prop_rho; 00031 complex_t prop_rhop = Mrhop2/(Q2 - Mrhop2 + I*(Gamma(Q2,Mrhop2,Grhop)*Q)); 00032 complex_t prop_rhopp = Mrhopp2/(Q2 - Mrhopp2 + I*(Gamma(Q2,Mrhopp2,Grhopp)*Q)); 00033 complex_t prop_rhoppp = Mrhoppp2/(Q2 - Mrhoppp2 + I*(Gamma(Q2,Mrhoppp2,Grhoppp)*Q)); 00034 // rho(770), rho(1450), rho(1700) in 2-pi inv mass 00035 // beta and gamma from Ph.D. thesis of Fedor Ignatov (ignatov@inp.nsk.su) 00036 00037 // const complex_t beta(0.41*cos(-2.02),0.41*sin(-2.02)); 00038 const complex_t beta(-0.178042,-0.369325); 00039 00040 // const complex_t gamma(0.074*cos(-3.53),0.074*sin(-3.53)); 00041 const complex_t gamma(-0.068488,0.0280249); 00042 00043 const complex_t xi(0.05,0.0); 00044 if(IsIsospinBreak){ 00045 // rho-omega mixing 00046 const complex_t delta(0.002,0); 00047 complex_t prop_omega = Momega2/(Q2 - Momega2 + I*(Gomega*Momega)); 00048 00049 return (prop_rho*(1-delta*Q2/Momega2*prop_omega) + beta*prop_rhop + gamma*prop_rhopp + xi*prop_rhoppp)/(1+beta+gamma+xi); 00050 } else { 00051 return (prop_rho + beta*prop_rhop + gamma*prop_rhopp + xi*prop_rhoppp)/(1+beta+gamma+xi); 00052 } 00053 }