23#include "EvtGenBase/EvtPatches.hh"
25#include "EvtGenBase/EvtParticle.hh"
26#include "EvtGenBase/EvtGenKine.hh"
27#include "EvtGenBase/EvtPDL.hh"
28#include "EvtGenBase/EvtVector4C.hh"
29#include "EvtGenBase/EvtVector4R.hh"
30#include "EvtGenBase/EvtTensor4C.hh"
31#include "EvtGenBase/EvtReport.hh"
32#include "EvtGenBase/EvtHelSys.hh"
34#include "EvtGenBase/EvtdFunctionSingle.hh"
35#include "EvtGenBase/EvtRaritaSchwinger.hh"
36#include "EvtGenBase/EvtRaritaSchwingerParticle.hh"
88 double theta =angles.getHelAng(1);
89 double phi =angles.getHelAng(2);
97 double M2=pow(m_M,2.0);
double b2_p=pow((m_b0+
m_b1),2.0);
98 double b2_m=pow((
m_b1-m_b0),2.0);
100 if(M2-b2_p<=0)
goto loop;
102 double P_c=sqrt((M2-b2_p)*(M2-b2_m)/(4.0*M2));
104 double F1=-0.54/(m_b0*b2_p);
105 double F2=-0.54*(
m_b1-m_b0)/(m_b0*(m_b0+
m_b1));
106 double F3=-0.89/m_b0;
116 H1=-1.15*P_c*m_M*(-M2*Q*F1-Q*F2+(M2-m_b0*(m_b0+
m_b1))*F3)/(sqrt(Q)*
m_b1);
117 H0=-0.82*P_c*M2*(-(
m_b1-m_b0)*Q*F1/
m_b1-Q*F2/(
m_b1*(
m_b1-m_b0))+2.0*F3)/sqrt(Q);
118 Hm1=2*P_c*m_M*(m_b0+
m_b1)*F3/sqrt(Q);
119 alpha=(H1*H1+Hm1*Hm1-2*H0*H0)/(H1*H1+Hm1*Hm1+2*H0*H0);
124 vertex(0,0,0,
Djmn(1, 1, 0,phi,theta,gamma)*H0);
125 vertex(0,0,1,
Djmn(1, 1,-1,phi,theta,gamma)*Hm1);
127 vertex(0,0,3,
Djmn(1, 1, 1,phi,theta,gamma)*H1);
128 vertex(0,1,0,
Djmn(1, 1,-1,phi,theta,gamma)*H1);
130 vertex(0,1,2,
Djmn(1, 1, 1,phi,theta,gamma)*Hm1);
131 vertex(0,1,3,
Djmn(1, 1, 0,phi,theta,gamma)*H0);
133 vertex(1,0,0,
Djmn(1,-1, 0,phi,theta,gamma)*H0);
134 vertex(1,0,1,
Djmn(1,-1,-1,phi,theta,gamma)*Hm1);
136 vertex(1,0,3,
Djmn(1,-1, 1,phi,theta,gamma)*H1);
137 vertex(1,1,0,
Djmn(1,-1,-1,phi,theta,gamma)*H1);
139 vertex(1,1,2,
Djmn(1,-1, 1,phi,theta,gamma)*Hm1);
140 vertex(1,1,3,
Djmn(1,-1, 0,phi,theta,gamma)*H0);
143 vertex(2,0,0,
Djmn(1, 0, 0,phi,theta,gamma)*H0);
144 vertex(2,0,1,
Djmn(1, 0,-1,phi,theta,gamma)*Hm1);
146 vertex(2,0,3,
Djmn(1, 0, 1,phi,theta,gamma)*H1);
147 vertex(2,1,0,
Djmn(1, 0,-1,phi,theta,gamma)*H1);
149 vertex(2,1,2,
Djmn(1, 0, 1,phi,theta,gamma)*Hm1);
150 vertex(2,1,3,
Djmn(1, 0, 0,phi,theta,gamma)*H0);
*********DOUBLE PRECISION m_pi INTEGER m_lenwt !max no of aux weights INTEGER m_phmax !maximum photon multiplicity ISR FSR *DOUBLE COMPLEX m_Pauli4 DOUBLE COMPLEX m_AmpBorn DOUBLE COMPLEX m_AmpBoxy DOUBLE COMPLEX m_AmpBorn1 DOUBLE COMPLEX m_AmpBorn2 DOUBLE COMPLEX m_AmpExpo2p DOUBLE COMPLEX m_Rmat DOUBLE COMPLEX m_BoxGZut !DOUBLE COMPLEX m_F1finPair2 !DOUBLE PRECISION m_Vcut DOUBLE PRECISION m_Alfinv DOUBLE PRECISION m_Lorin1 DOUBLE PRECISION m_Lorin2 DOUBLE PRECISION m_b1
**********Class see also m_nmax DOUBLE PRECISION m_amel DOUBLE PRECISION m_x2 DOUBLE PRECISION m_alfinv DOUBLE PRECISION m_Xenph INTEGER m_KeyWtm INTEGER m_idyfs DOUBLE PRECISION m_zini DOUBLE PRECISION m_q2 DOUBLE PRECISION m_Wt_KF DOUBLE PRECISION m_WtCut INTEGER m_KFfin *COMMON c_KarLud $ !Input CMS energy[GeV] $ !CMS energy after beam spread beam strahlung[GeV] $ !Beam energy spread[GeV] $ !z boost due to beam spread $ !electron beam mass *ff pair spectrum $ !minimum v
EvtComplex Djmn(int j, int m, int n, double phi, double theta, double gamma)
void vertex(const EvtComplex &)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void checkNDaug(int d1, int d2=-1)
void decay(EvtParticle *p)
void getName(std::string &name)
static double getMass(EvtId i)
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)