64 static EvtIdSet leptons(
"e-",
"mu-",
"tau-" );
98 double tanbeta =
getArg( 1 );
99 double cosbeta = cos( atan( tanbeta ) );
100 double sinbeta = sin( atan( tanbeta ) );
106 double Mass =
getArg( 2 );
108 double mchargino =
getArg( 4 );
110 double tan2phim = 2 * sqrt( 2.0 ) * mw * ( mu * cosbeta + Mass * sinbeta ) /
111 ( Mass * Mass - mu * mu +
112 2 * mw * mw * cos( 2 * atan( tanbeta ) ) );
114 double phim = 0.5 * atan( tan2phim );
121 double tan2phip = 2 * sqrt( 2.0 ) * mw * ( mu * cosbeta + Mass * sinbeta ) /
122 ( Mass * Mass - mu * mu -
123 2 * mw * mw * cos( 2 * atan( tanbeta ) ) );
125 double phip = 0.5 * atan( tan2phip );
132 double theta =
getArg( 0 );
133 double ctheta = cos( theta );
134 double stheta = sin( theta );
137 double mchi1 = mchargino;
138 double mchi2 = mchargino;
143 EvtComplex a1 = mchi1 * ( U11 * ctheta - mb * U12 * stheta /
144 ( sqrt( 2.0 ) * mw * cosbeta ) );
145 EvtComplex a2 = mchi2 * ( U21 * ctheta - mb * U22 * stheta /
146 ( sqrt( 2.0 ) * mw * cosbeta ) );
148 EvtComplex b1 = mc *
conj( V12 ) * ctheta / ( sqrt( 2.0 ) * mw * sinbeta );
149 EvtComplex b2 = mc *
conj( V22 ) * ctheta / ( sqrt( 2.0 ) * mw * sinbeta );
152 ( ( p4b - p4c ).mass2() - mchi1 * mchi1 );
154 ( ( p4b - p4c ).mass2() - mchi1 * mchi2 );
169 for ( il = 0; il < 2; il++ ) {
170 for ( ic = 0; ic < 2; ic++ ) {
174 if ( charge == -1 ) {
177 ( ( pslash * PR ) * lepton->
spParent( il ) );
181 ( ( pslash * PR ) * charmquark.
spParent( ic ) );
188 M[ic][il] = f1 * (
a1 * a + b1 * b ) + f2 * (
a2 * a + b2 * b );
198 double prob =
real( M[0][0] *
conj( M[0][0] ) + M[1][0] *
conj( M[1][0] ) +
199 M[0][1] *
conj( M[0][1] ) + M[1][1] *
conj( M[1][1] ) );
void setProb(double prob)
double getArg(unsigned int j)
static const EvtGammaMatrix & g0()
void decay(EvtParticle *p) override
Evt3Rank3C conj(const Evt3Rank3C &t2)
EvtDiracSpinor spParent(int i) const override
void init(EvtId part_n, const EvtVector4R &p4) override
virtual EvtDiracSpinor spParent(int) const
static const EvtGammaMatrix & g1()
double initializePhaseSpace(unsigned int numdaughter, EvtId *daughters, bool forceResetMasses=false, double poleSize=-1., int whichTwo1=0, int whichTwo2=1)
void checkNArg(int a1, int a2=-1, int a3=-1, int a4=-1)
static EvtId getId(const std::string &name)
const EvtVector4R & getP4() const
static const EvtGammaMatrix & g2()
static const EvtGammaMatrix & g3()
EvtDecayBase * clone() override
EvtParticle * getDaug(int i)
static const EvtGammaMatrix & id()
std::string getName() override
void initProbMax() override
int contains(const EvtId id)
static const EvtGammaMatrix & g5()
double real(const EvtComplex &c)