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

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

typedef std::complex<double> complex_t

Definition at line 8 of file T3piCrossPart.C.


Function Documentation

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 }

complex_t operator+ ( const double &  x,
const complex_t y 
) [inline]

Definition at line 10 of file T3piCrossPart.C.

00010                                                                 {
00011   return y + x;
00012 }

complex_t operator- ( const double &  x,
const complex_t y 
) [inline]

Definition at line 14 of file T3piCrossPart.C.

00014                                                                 {
00015   return -(y - x);
00016 }

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

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 }


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