21#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtParticle.hh"
24#include "EvtGenBase/EvtGenKine.hh"
25#include "EvtGenBase/EvtPDL.hh"
26#include "EvtGenBase/EvtReport.hh"
27#include "EvtGenModels/EvtGoityRoberts.hh"
28#include "EvtGenBase/EvtTensor4C.hh"
29#include "EvtGenBase/EvtDiracSpinor.hh"
31#include "EvtGenBase/EvtVector4C.hh"
37 model_name=
"GOITY_ROBERTS";
83 if (meson==DST0||meson==DSTP||meson==DSTM||meson==DSTB) {
87 if (meson==D0||meson==DP||meson==DM||meson==D0B) {
91 report(
ERROR,
"EvtGen") <<
"Wrong daugther in EvtGoityRoberts!\n";
122 v.set(1.0,0.0,0.0,0.0);
139 double alpha3 = 0.690;
140 double alpha1 = -1.430;
141 double alpha2 = -0.140;
151 double betasp=betas*betas+betap*betap;
152 double betasd=betas*betas+betad*betad;
154 double lambdabar=0.750;
157 double xi =
exp(lambdabar*lambdabar*(1.0-
w*
w)/(4*betas*betas));
158 double xi1= -1.0*sqrt(2.0/3.0)*(
159 lambdabar*lambdabar*(
w*
w-1.0)/(4*betas*betas))*
160 exp(lambdabar*lambdabar*(1.0-
w*
w)/(4*betas*betas));
161 double rho1= sqrt(1.0/2.0)*(lambdabar/betas)*
162 pow((2*betas*betap/(betasp)),2.5)*
163 exp(lambdabar*lambdabar*(1.0-
w*
w)/(2*betasp));
164 double rho2= sqrt(1.0/8.0)*(lambdabar*lambdabar/(betas*betas))*
165 pow((2*betas*betad/(betasd)),3.5)*
166 exp(lambdabar*lambdabar*(1.0-
w*
w)/(2*betasd));
171 EvtComplex f3nr,f4nr,f5nr,f6nr,knr,g1nr,g2nr,g3nr,g4nr,g5nr;
172 EvtComplex h1r,h2r,h3r,f1r,f2r,f3r,f4r,f5r,f6r,kr,g1r,g2r,g3r,g4r,g5r;
173 EvtComplex h1,h2,h3,
f1,f2,f3,f4,f5,f6,k,
g1,g2,g3,g4,g5;
176 h1nr = -g*xi*(p4_pi*
v)/(f0*mb*md*(
EvtComplex(p4_pi*
v,0.0)+dmb));
177 h2nr = -g*xi/(f0*mb*(
EvtComplex(p4_pi*
v,0.0)+dmb));
178 h3nr = -(g*xi/(f0*md))*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmb)
181 f1nr = -(g*xi/(2*f0*mb))*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmb) -
186 f5nr = (g*xi/(2*f0*mb*md))*(
EvtComplex(1.0,0.0)
188 f6nr = (g*xi/(2*f0*mb))*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmb)
191 knr = (g*xi/(2*f0))*((p4_pi*(vp-
w*
v))/(
EvtComplex(p4_pi*
v,0.0)+dmb) +
201 h1r = -alpha1*rho1*(p4_pi*
v)/(f0*mb*md*(
EvtComplex(p4_pi*
v,0.0)+dmt1)) +
202 alpha2*rho2*(p4_pi*(
v+2.0*
w*
v-vp))
204 alpha3*xi1*(p4_pi*
v)/(f0*mb*md*
EvtComplex(p4_pi*
v,0.0)+dmt3);
205 h2r = -alpha2*(1+
w)*rho2/(3*f0*mb*(
EvtComplex(p4_pi*
v,0.0)+dmt2)) -
207 h3r = alpha2*rho2*(1+
w)/(3*f0*md*(
EvtComplex(p4_pi*
v,0.0)+dmt2)) -
210 f1r = -alpha2*rho2*(
w-1.0)/(6*f0*mb*(
EvtComplex(p4_pi*
v,0.0)+dmt2)) -
211 alpha3*xi1/(2*f0*mb*(
EvtComplex(p4_pi*
v,0.0)+dmt3));
215 f5r = alpha1*rho1*(p4_pi*
v)/(2*f0*mb*md*(
EvtComplex(p4_pi*
v,0.0)+dmt1)) +
216 alpha2*rho2*(p4_pi*(vp-
v/3.0-2.0/3.0*
w*
v))/
218 alpha3*xi1*(p4_pi*
v)/(2*f0*mb*md*(
EvtComplex(p4_pi*
v,0.0)+dmt3));
219 f6r = alpha2*rho2*(
w-1.0)/(6*f0*mb*(
EvtComplex(p4_pi*
v,0.0)+dmt2)) +
220 alpha3*xi1/(2*f0*mb*(
EvtComplex(p4_pi*
v,0.0)+dmt3));
222 kr = -alpha1*rho1*(
w-1.0)*(p4_pi*
v)/(2*f0*(
EvtComplex(p4_pi*
v,0.0)+dmt1)) -
223 alpha2*rho2*(
w-1.0)*(p4_pi*(vp-
w*
v))
225 alpha3*xi1*(p4_pi*(vp-
w*
v))/(2*f0*(
EvtComplex(p4_pi*
v,0.0)+dmt3));
230 g4r = 2.0*alpha2*rho2/(3*f0*md*(
EvtComplex(p4_pi*
v,0.0)+dmt2));
254 g_metric.
setdiag(1.0,-1.0,-1.0,-1.0);
256 if (nlep==EM||nlep==MUM){
272 if (nlep==EP||nlep==MUP){
288 report(
DEBUG,
"EvtGen") <<
"42387dfs878w wrong lepton number\n";
332 v.set(1.0,0.0,0.0,0.0);
345 double alpha3 = 0.690;
346 double alpha1 = -1.430;
347 double alpha2 = -0.140;
357 double betasp=betas*betas+betap*betap;
358 double betasd=betas*betas+betad*betad;
360 double lambdabar=0.750;
363 double xi =
exp(lambdabar*lambdabar*(1.0-
w*
w)/(4*betas*betas));
364 double xi1= -1.0*sqrt(2.0/3.0)*(lambdabar*lambdabar*(
w*
w-1.0)/(4*betas*betas))*
365 exp(lambdabar*lambdabar*(1.0-
w*
w)/(4*betas*betas));
366 double rho1= sqrt(1.0/2.0)*(lambdabar/betas)*
367 pow((2*betas*betap/(betasp)),2.5)*
368 exp(lambdabar*lambdabar*(1.0-
w*
w)/(2*betasp));
369 double rho2= sqrt(1.0/8.0)*(lambdabar*lambdabar/(betas*betas))*
370 pow((2*betas*betad/(betasd)),3.5)*
371 exp(lambdabar*lambdabar*(1.0-
w*
w)/(2*betasd));
378 hnr = g*xi*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmb))/(2*f0*mb*md);
379 a1nr= -1.0*g*xi*(1+
w)*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmb))/(2*f0);
380 a2nr= g*xi*((p4_pi*(
v+vp))/(
EvtComplex(p4_pi*
v,0.0)+dmb))/(2*f0*mb);
384 hr = alpha2*rho2*(
w-1)*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmt2))/(6*f0*mb*md) +
385 alpha3*xi1*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmt3))/(2*f0*mb*md);
386 a1r= -1.0*alpha2*rho2*(
w*
w-1)*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmt2))/(6*f0) -
387 alpha3*xi1*(1+
w)*(1.0/(
EvtComplex(p4_pi*
v,0.0)+dmt3))/(2*f0);
388 a2r= alpha1*rho1*((p4_pi*
v)/(
EvtComplex(p4_pi*
v,0.0)+dmt1))/(2*f0*mb) +
389 alpha2*rho2*(0.5*p4_pi*(
w*vp-
v)+p4_pi*(vp-
w*
v))/
391 alpha3*xi1*((p4_pi*(
v+vp))/(
EvtComplex(p4_pi*
v,0.0)+dmt3))/(2*f0*mb);
392 a3r= -1.0*alpha1*rho1*((p4_pi*
v)/(
EvtComplex(p4_pi*
v,0.0)+dmt1))/(2*f0*md) -
393 alpha2*rho2*((p4_pi*(vp-
w*
v))/(
EvtComplex(p4_pi*
v,0.0)+dmt2))/(2*f0*md);
403 if ( nlep==EM|| nlep==MUM ) {
405 a1*p4_pi+a2*mb*
v+a3*md*vp;
412 if ( nlep==EP|| nlep==MUP ) {
414 a1*p4_pi+a2*mb*
v+a3*md*vp;
421 report(
ERROR,
"EvtGen") <<
"42387dfs878w wrong lepton number\n";
**********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
Evt3Rank3C directProd(const EvtVector3C &c1, const EvtVector3C &c2, const EvtVector3C &c3)
EvtComplex exp(const EvtComplex &c)
EvtVector4C EvtLeptonVACurrent(const EvtDiracSpinor &d, const EvtDiracSpinor &dp)
ostream & report(Severity severity, const char *facility)
EvtTensor4C dual(const EvtTensor4C &t2)
void vertex(const EvtComplex &)
void checkSpinDaughter(int d1, EvtSpinType::spintype sp)
void checkSpinParent(EvtSpinType::spintype sp)
void setProbMax(double prbmx)
void checkNDaug(int d1, int d2=-1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
virtual ~EvtGoityRoberts()
void getName(std::string &name)
void decay(EvtParticle *p)
static double getMeanMass(EvtId i)
static EvtId getId(const std::string &name)
virtual EvtVector4C epsParent(int i) const
virtual EvtDiracSpinor spParentNeutrino() const
virtual EvtDiracSpinor spParent(int) const
const EvtVector4R & getP4() const
EvtParticle * getDaug(int i)
double initializePhaseSpace(int numdaughter, EvtId *daughters, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void setdiag(double t00, double t11, double t22, double t33)
EvtVector4C cont2(const EvtVector4C &v4) const
EvtComplex cont(const EvtVector4C &v4) const