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

#include "TRhoEtaCrossPart.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 FRhoEta (double s, double Q02, double Qp2, double Qm2)


Typedef Documentation

typedef std::complex<double> complex_t

Definition at line 8 of file TRhoEtaCrossPart.C.


Function Documentation

complex_t Amp ( double  s  )  [inline]

Definition at line 54 of file TRhoEtaCrossPart.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.

00054                               {
00055   const complex_t I(0,1);
00056   const double Apsi = 4*alpha*Gpsi/(3*Geepsi);
00057   const double phipsi = -M_PI/2;
00058   const double Apsip = 2*alpha*Gpsip/(3*Geepsip);
00059   const double phipsip = -M_PI/2;
00060   const double Apsipp = alpha*Gpsipp/(3*Geepsipp);
00061   const double phipsipp = -M_PI/2;
00062   complex_t res = 3*sqrt(s)/alpha*
00063     (
00064      Geepsi*(1 + Apsi*exp(I*phipsi))/(s - Mpsi2 + I*Mpsi*Gpsi) +
00065      Geepsip*(1 + Apsip*exp(I*phipsip))/(s - Mpsip2 + I*Mpsip*Gpsip) +
00066      Geepsipp*(1 + Apsipp*exp(I*phipsipp))/(s - Mpsipp2 + I*Mpsipp*Gpsipp));
00067   return res;
00068 }

complex_t FRhoEta ( double  s,
double  Q02,
double  Qp2,
double  Qm2 
)

Definition at line 70 of file TRhoEtaCrossPart.C.

References Amp(), H, and Rrho().

Referenced by TRhoEtaCrossPart::SetJ().

00070                                                                {
00071   // Rrho has rho-omega mixing
00072   complex_t H = Rrho(Q02,true);
00073   return (5e-3*(1/s))*H*(1+Amp(s));
00074 }

double Gamma ( const double  Q2,
const double  M2,
const double  G 
) [inline]

Definition at line 18 of file TRhoEtaCrossPart.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 TRhoEtaCrossPart.C.

00010                                                                 {
00011   return y + x;
00012 }

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

Definition at line 14 of file TRhoEtaCrossPart.C.

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

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

Definition at line 25 of file TRhoEtaCrossPart.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.

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   complex_t prop_rhop = Mrhop2/(Q2 - Mrhop2 + I*(Gamma(Q2,Mrhop2,Grhop)*Q));
00031   complex_t prop_rhopp = Mrhopp2/(Q2 - Mrhopp2 + I*(Gamma(Q2,Mrhopp2,Grhopp)*Q));
00032   complex_t prop_rhoppp = Mrhoppp2/(Q2 - Mrhoppp2 + I*(Gamma(Q2,Mrhoppp2,Grhoppp)*Q));
00033   // rho(770), rho(1450), rho(1700) in 2-pi inv mass
00034   // beta and gamma from Ph.D. thesis of Fedor Ignatov (ignatov@inp.nsk.su)
00035 
00036   //  const complex_t beta(0.41*cos(-2.02),0.41*sin(-2.02));
00037   const complex_t beta(-0.178042,-0.369325);
00038 
00039   //  const complex_t gamma(0.074*cos(-3.53),0.074*sin(-3.53));
00040   const complex_t gamma(-0.068488,0.0280249);
00041 
00042   const complex_t xi(0.05,0.0);
00043   if(IsIsospinBreak){
00044     // rho-omega mixing
00045     const complex_t delta(0.002,0);
00046     complex_t prop_omega = Momega2/(Q2 - Momega2 + I*(Gomega*Momega));
00047 
00048     return (prop_rho*(1-delta*Q2/Momega2*prop_omega) + beta*prop_rhop  + gamma*prop_rhopp + xi*prop_rhoppp)/(1+beta+gamma+xi);
00049   } else {
00050     return (prop_rho + beta*prop_rhop  + gamma*prop_rhopp + xi*prop_rhoppp)/(1+beta+gamma+xi);
00051   }
00052 }


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