BOSS 7.0.9
BESIII Offline Software System
Loading...
Searching...
No Matches
angular_boxrho2 Class Reference

Public Member Functions

 angular_boxrho2 (EvtVector4R pd1, EvtVector4R pd2, EvtVector4R pd3, bool type_switch)
 
double lamb (double a, double b, double c)
 
double amps (int xx)
 
 angular_boxrho2 (EvtVector4R pd1, EvtVector4R pd2, EvtVector4R pd3, bool type_switch)
 
double lamb (double a, double b, double c)
 
double amps (int xx)
 

Detailed Description

Constructor & Destructor Documentation

◆ angular_boxrho2() [1/2]

angular_boxrho2::angular_boxrho2 ( EvtVector4R  pd1,
EvtVector4R  pd2,
EvtVector4R  pd3,
bool  type_switch 
)
inline

Definition at line 43 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtAmpsEtap2gpipiB.cc.

43 {
44 _pd[0]=pd1;
45 _pd[1]=pd2;
46 _pd[2]=pd3;
47 ang_on=type_switch;
48 }

◆ angular_boxrho2() [2/2]

angular_boxrho2::angular_boxrho2 ( EvtVector4R  pd1,
EvtVector4R  pd2,
EvtVector4R  pd3,
bool  type_switch 
)
inline

Definition at line 43 of file BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtAmpsEtap2gpipiB.cc.

43 {
44 _pd[0]=pd1;
45 _pd[1]=pd2;
46 _pd[2]=pd3;
47 ang_on=type_switch;
48 }

Member Function Documentation

◆ amps() [1/2]

double angular_boxrho2::amps ( int  xx)

Definition at line 58 of file bak-BesEvtGen-00-04-08/src/EvtGen/EvtGenModels/EvtAmpsEtap2gpipiB.cc.

58 {
59 EvtVector4R prho=_pd[0]+_pd[1];
60 EvtVector4R mprho(prho.get(0),-1*prho.get(1),-1*prho.get(2),-1*prho.get(3));
61 //cout<<"pos:"<<prho.get(0)<<", "<<prho.get(1)<<", "<<prho.get(2)<<", "<<prho.get(3)<<endl;
62 //cout<<"neg:"<<mprho.get(0)<<", "<<mprho.get(1)<<", "<<mprho.get(2)<<", "<<mprho.get(3)<<endl;
63 double m2=(_pd[0]+_pd[1]).mass2();
64 double m=(_pd[0]+_pd[1]).mass();
65 //*****************angluar part******************
66 EvtVector4R pi_rhocms = boostTo(_pd[0],mprho);
67 EvtVector4R gam_rhocms = boostTo(_pd[2],mprho);
68 EvtVector4R etap_rhocms = boostTo(prho+_pd[2],mprho);
69 double coshel_pi = pi_rhocms.dot(etap_rhocms)/pi_rhocms.d3mag()/etap_rhocms.d3mag();
70 //double coshel_pi2 = pi_rhocms.dot(gam_rhocms)/pi_rhocms.d3mag()/gam_rhocms.d3mag();
71 // cout<<(prho+_pd[2]).get(1)<<", "<<(prho+_pd[2]).get(2)<<", "<<(prho+_pd[2]).get(3)<<", "<<(prho+_pd[2]).get(0)<<endl;
72 //cout<<"hel1:"<<coshel_pi<<endl;
73 //cout<<"hel2:"<<coshel_pi2<<endl;
74 double ang_part = 1-coshel_pi*coshel_pi;
75 //*****************angluar part******************
76 // //VALUE // ERROR
77 //the values of parameters in model=rho0+omega+rho(1405)+box are obtained from fitting to my data
78 double Mrho =7.76565e-01;
79 double Grho =1.50839e-01;
80 double delta =1.60865e-03;
81 double argdelta= 6.71184e-02;
82 double delta2= 4.15936e-01 ;
83 double argdelta2= 2.00844e-02;
84 double Eetap= -2.13798e+01;
85
86 double Momega = 0.78265;
87 double Gomega = 0.00849;
88 double Mrhop = 1.465;
89 double Grhop = 0.400;
90
91 double PI = 3.14159265;
92 double mpi=0.13957018;
93 //double kgamma = (0.95778*0.95778-m2)/(2*0.95778);
94 //double qpim = sqrt(0.25*m2 - pow(0.13957018,2));
95 double kgamma=0;
96 if(m<0.95778) kgamma = (0.95778*0.95778-m*m)/(2*0.95778);
97 double qpim=0;
98 if(m>2*mpi) qpim = sqrt(0.25*m*m - pow(mpi,2));
99
100 double qpimrho = sqrt(0.25*Mrho*Mrho - pow(mpi,2));
101 double qpimrhop = sqrt(0.25*Mrhop*Mrhop - pow(mpi,2));
102
103 double hm = (2./PI)*(qpim/m)*log((m+2*qpim)/(2*mpi));
104
105 double hmrho = (2./PI)*(qpimrho/Mrho)*log((Mrho+2*qpimrho)/(2.*mpi));
106 double hmrhop = (2./PI)*(qpimrhop/Mrhop)*log((Mrhop+2*qpimrhop)/(2.*mpi));
107
108 double d=(3./PI)*(mpi*mpi/pow(qpimrho,2))*log((Mrho+2*qpimrho)/(2*mpi))+(Mrho/(2*PI*qpimrho))-((mpi*mpi*Mrho)/(PI*pow(qpimrho,3)));
109 double drhop=(3./PI)*(mpi*mpi/pow(qpimrhop,2))*log((Mrhop+2*qpimrhop)/(2*mpi))+(Mrhop/(2*PI*qpimrhop))-((mpi*mpi*Mrhop)/(PI*pow(qpimrhop,3)));
110
111 double dhds = hmrho*(pow(8*pow(qpimrho,2),-1)-pow(2*Mrho*Mrho,-1))+pow(2*PI*Mrho*Mrho,-1);
112 double dhdsrhop = hmrhop*(pow(8*pow(qpimrhop,2),-1)-pow(2*Mrhop*Mrhop,-1))+pow(2*PI*Mrhop*Mrhop,-1);
113
114 double fm2 = Grho*(Mrho*Mrho/pow(qpimrho,3))*(qpim*qpim*(hm-hmrho)+(Mrho*Mrho-m*m)*qpimrho*qpimrho*(dhds));
115 double fm2rhop = Grhop*(Mrhop*Mrhop/pow(qpimrhop,3))*(qpim*qpim*(hm-hmrhop)+(Mrhop*Mrhop-m*m)*qpimrhop*qpimrhop*(dhdsrhop));
116
117 double Grhom = Grho*pow((qpim/qpimrho),3)*(Mrho/m);
118 double Grhopm = Grhop*pow((qpim/qpimrhop),3)*(Mrhop/m);
119
120 double coefficient = (1./(48*PI*PI*PI))*pow(kgamma,2)*pow(qpim,2);
121 double coe1= pow((2*sqrt(48*PI*pow(Mrho,-4))),2);
122
123 RooComplex denomGrhom(Mrho*Mrho-m*m+fm2,-1*Mrho*Grhom);
124 RooComplex real(Mrho*Mrho*(1+d*Grho/Mrho),0);
125 RooComplex BWrho= real/denomGrhom;
126
127 RooComplex denomBWomega(Momega*Momega-m*m,-Momega*Gomega);
128 RooComplex real1(Momega*Momega,0);
129 RooComplex BWomega = real1/denomBWomega;
130 RooComplex cdelta(delta*cos(argdelta),delta*sin(argdelta));
131 RooComplex part2=BWrho*cdelta*BWomega*(m*m)/(Momega*Momega);
132
133 RooComplex denomGrhopm(Mrhop*Mrhop-m*m+fm2rhop,-1*Mrhop*Grhopm);
134 RooComplex realpm(Mrhop*Mrhop*(1+drhop*Grhop/Mrhop),0);
135 RooComplex BWrhop = realpm/denomGrhopm;
136 RooComplex cdelta2(delta2*cos(argdelta2),delta2*sin(argdelta2));
137 RooComplex denom(delta2*cos(argdelta2)+1.0,delta2*sin(argdelta2));
138 RooComplex part3=cdelta2*BWrhop;
139
140 RooComplex eof(Eetap,0);
141 RooComplex amp=(( BWrho* (cdelta*BWomega*(m*m)/(Momega*Momega)+1.0) + cdelta2*BWrhop)/(cdelta2+1)*sqrt(coe1)+ eof);
142 double total;
143 if(flag==0)total=coefficient* amp.abs2();
144
145 //DIY for omega in case of rho0-omega-rho'-box
146 else if(flag==2) total=coefficient*coe1* (part2/(cdelta2+1)).abs2();
147
148 //DIY for rho' in case of rho0-omega-rho'-box
149 else if(flag==3) total=coefficient*coe1* (part3/(cdelta2+1)).abs2();
150
151 //DIY for box in case of rho0-omega-rho'-box
152 else if(flag==4) total=coefficient* (eof.abs2());
153
154 double amp2;
155 if(ang_on) amp2 = total*ang_part;
156 else amp2 = total;
157 return amp2;
158}
double sin(const BesAngle a)
Definition: BesAngle.h:210
double cos(const BesAngle a)
Definition: BesAngle.h:213
const double delta
double mass
const double mpi
Definition: Gam4pikp.cxx:47
const double PI
Definition: PipiJpsi.cxx:55
EvtDiracSpinor boostTo(const EvtDiracSpinor &sp, const EvtVector4R p4)
const double Grhop
Definition: TConstant.h:19
const double Momega
Definition: TConstant.h:24
const double Mrhop
Definition: TConstant.h:18
const double Gomega
Definition: TConstant.h:25
const double Mrho
Definition: TConstant.h:11
const double Grho
Definition: TConstant.h:12

Referenced by EvtEtap2gpipiB::AmplitudeSquare(), and EvtEtap2gpipiB::AmplitudeSquare_p().

◆ amps() [2/2]

double angular_boxrho2::amps ( int  xx)

◆ lamb() [1/2]

double angular_boxrho2::lamb ( double  a,
double  b,
double  c 
)

◆ lamb() [2/2]

double angular_boxrho2::lamb ( double  a,
double  b,
double  c 
)

The documentation for this class was generated from the following files: