22#include "EvtGenBase/EvtPatches.hh"
23#include "EvtGenBase/EvtPatches.hh"
26#include "EvtGenBase/EvtParticle.hh"
27#include "EvtGenBase/EvtDiracParticle.hh"
28#include "EvtGenBase/EvtPDL.hh"
29#include "EvtGenBase/EvtIdSet.hh"
30#include "EvtGenBase/EvtGenKine.hh"
31#include "EvtGenModels/EvtBsquark.hh"
32#include "EvtGenBase/EvtDiracSpinor.hh"
33#include "EvtGenBase/EvtGammaMatrix.hh"
34#include "EvtGenBase/EvtReport.hh"
70 static EvtIdSet leptons(
"e-",
"mu-",
"tau-");
79 if (leptons.contains(lepton->
getId())){
108 double cosbeta=
cos(atan(tanbeta));
109 double sinbeta=
sin(atan(tanbeta));
117 double mchargino=
getArg(4);
120 double tan2phim=2*sqrt(2.0)*mw*(mu*cosbeta+Mass*sinbeta)/
121 (Mass*Mass-mu*mu+2*mw*mw*
cos(2*atan(tanbeta)));
123 double phim=0.5*atan(tan2phim);
130 double tan2phip=2*sqrt(2.0)*mw*(mu*cosbeta+Mass*sinbeta)/
131 (Mass*Mass-mu*mu-2*mw*mw*
cos(2*atan(tanbeta)));
133 double phip=0.5*atan(tan2phip);
142 double ctheta=
cos(theta);
143 double stheta=
sin(theta);
146 double mchi1=mchargino;
147 double mchi2=mchargino;
152 EvtComplex a1=mchi1*(U11*ctheta-mb*U12*stheta/(sqrt(2.0)*mw*cosbeta));
153 EvtComplex a2=mchi2*(U21*ctheta-mb*U22*stheta/(sqrt(2.0)*mw*cosbeta));
158 EvtComplex f1=-(g*g*V11*vcsb)/((p4b-p4c).mass2()-mchi1*mchi1);
159 EvtComplex f2=-(g*g*V21*vcsb)/((p4b-p4c).mass2()-mchi1*mchi2);
195 M[ic][il]=
f1*(a1*a+b1*
b)+f2*(a2*a+b2*
b);
206 double prob=
real(M[0][0]*
conj(M[0][0])+
207 M[1][0]*
conj(M[1][0])+
208 M[0][1]*
conj(M[0][1])+
209 M[1][1]*
conj(M[1][1]));
double sin(const BesAngle a)
double cos(const BesAngle a)
Evt3Rank3C conj(const Evt3Rank3C &t2)
void decay(EvtParticle *p)
void getName(std::string &name)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
void setProb(double prob)
void init(EvtId part_n, const EvtVector4R &p4)
EvtDiracSpinor spParent(int i) const
static const EvtGammaMatrix & id()
static const EvtGammaMatrix & g0()
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g1()
static const EvtGammaMatrix & g3()
static const EvtGammaMatrix & g5()
static EvtId getId(const std::string &name)
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)