10 #include "Pythia8/SigmaExtraDim.h"
19 complex ampLedS(
double x,
double n,
double L,
double M) {
22 if (n <= 0)
return cS;
27 double rC = sqrt(pow(M_PI,n)) * pow(L,exp1)
28 / (GammaReal(n/2.) * pow(M,exp2));
33 double sqrX = sqrt(-x);
34 if (
int(n) % 2 == 0) {
35 cS = -log(abs(1 - 1/x));
37 cS = (2.*atan(sqrX) - M_PI)/sqrX;
39 }
else if ((x > 0) && (x < 1)) {
40 double sqrX = sqrt(x);
41 if (
int(n) % 2 == 0) {
42 cS = -log(abs(1 - 1/x)) - M_PI*I;
44 double rat = (sqrX + 1)/(sqrX - 1);
45 cS = log(abs(rat))/sqrX - M_PI*I/sqrX;
48 double sqrX = sqrt(x);
49 if (
int(n) % 2 == 0) {
50 cS = -log(abs(1 - 1/x));
52 double rat = (sqrX + 1)/(sqrX - 1);
53 cS = log(abs(rat))/sqrX;
60 if (
int(n) % 2 == 0) {
67 for (
int i=1; i<nL; ++i) {
79 double funLedG(
double x,
double y) {
80 double ret = pow(x,4) + 10. * pow(x,3) * y + 42. * pow2(x) * pow2(y)
81 + 64. * x * pow(y,3) + 32. * pow(y,4);
94 void Sigma1gg2GravitonStar::initProc() {
98 mRes = particleDataPtr->m0(idGstar);
99 GammaRes = particleDataPtr->mWidth(idGstar);
101 GamMRat = GammaRes / mRes;
105 eDsmbulk = flag(
"ExtraDimensionsG*:SMinBulk");
107 if (eDsmbulk) eDvlvl = flag(
"ExtraDimensionsG*:VLVL");
108 kappaMG = parm(
"ExtraDimensionsG*:kappaMG");
109 for (
int i = 0; i < 27; ++i) eDcoupling[i] = 0.;
110 double tmPcoup = parm(
"ExtraDimensionsG*:Gqq");
111 for (
int i = 1; i <= 4; ++i) eDcoupling[i] = tmPcoup;
112 eDcoupling[5] = parm(
"ExtraDimensionsG*:Gbb");
113 eDcoupling[6] = parm(
"ExtraDimensionsG*:Gtt");
114 tmPcoup = parm(
"ExtraDimensionsG*:Gll");
115 for (
int i = 11; i <= 16; ++i) eDcoupling[i] = tmPcoup;
116 eDcoupling[21] = parm(
"ExtraDimensionsG*:Ggg");
117 eDcoupling[22] = parm(
"ExtraDimensionsG*:Ggmgm");
118 eDcoupling[23] = parm(
"ExtraDimensionsG*:GZZ");
119 eDcoupling[24] = parm(
"ExtraDimensionsG*:GWW");
120 eDcoupling[25] = parm(
"ExtraDimensionsG*:Ghh");
123 gStarPtr = particleDataPtr->particleDataEntryPtr(idGstar);
131 void Sigma1gg2GravitonStar::sigmaKin() {
134 double widthIn = mH / (160. * M_PI);
137 if (eDsmbulk) widthIn *= 2. * pow2(eDcoupling[21] * mH);
138 else widthIn *= pow2(kappaMG * mH / mRes);
141 double sigBW = 5. * M_PI/ ( pow2(sH - m2Res) + pow2(sH * GamMRat) );
142 double widthOut = gStarPtr->resWidthOpen(idGstar, mH);
145 sigma = widthIn * sigBW * widthOut;
153 void Sigma1gg2GravitonStar::setIdColAcol() {
156 setId( 21, 21, idGstar);
159 setColAcol( 1, 2, 2, 1, 0, 0);
169 double Sigma1gg2GravitonStar::weightDecay(
Event& process,
int iResBeg,
173 int idMother = process[process[iResBeg].mother1()].idAbs();
177 return weightTopDecay( process, iResBeg, iResEnd);
180 if (iResBeg != 5 || iResEnd != 5)
return 1.;
183 double mr1 = pow2(process[6].m()) / sH;
184 double mr2 = pow2(process[7].m()) / sH;
185 double betaf = sqrtpos( pow2(1. - mr1 - mr2) - 4. * mr1 * mr2);
186 double cosThe = (process[3].p() - process[4].p())
187 * (process[7].p() - process[6].p()) / (sH * betaf);
193 if (process[6].idAbs() < 19) {
194 wt = 1. - pow4(cosThe);
197 }
else if (process[6].
id() == 21 || process[6].
id() == 22) {
198 wt = (1. + 6. * pow2(cosThe) + pow4(cosThe)) / 8.;
201 }
else if (process[6].
id() == 23 || process[6].id() == 24) {
202 double beta2 = pow2(betaf);
203 double cost2 = pow2(cosThe);
204 double cost4 = pow2(cost2);
205 wt = pow2(beta2 - 2.)*(1. - 2.*cost2 + cost4);
211 double beta4 = pow2(beta2);
212 double beta8 = pow2(beta4);
213 wt += 2.*pow2(beta4 - 1.)*beta4*cost4;
214 wt += 2.*pow2(beta2 - 1.)*(1. - 2.*beta4*cost2 + beta8*cost4);
215 wt += 2.*(1. + 6.*beta4*cost2 + beta8*cost4);
216 wt += 8.*(1. - beta2)*(1. - cost4);
221 }
else if (process[6].
id() == 25) {
222 double beta2 = pow2(betaf);
223 double cost2 = pow2(cosThe);
224 double cost4 = pow2(cost2);
225 wt = pow2(beta2 - 2.)*(1. - 2.*cost2 + cost4);
243 void Sigma1ffbar2GravitonStar::initProc() {
247 mRes = particleDataPtr->m0(idGstar);
248 GammaRes = particleDataPtr->mWidth(idGstar);
250 GamMRat = GammaRes / mRes;
254 eDsmbulk = flag(
"ExtraDimensionsG*:SMinBulk");
256 if (eDsmbulk) eDvlvl = flag(
"ExtraDimensionsG*:VLVL");
257 kappaMG = parm(
"ExtraDimensionsG*:kappaMG");
258 for (
int i = 0; i < 27; ++i) eDcoupling[i] = 0.;
259 double tmPcoup = parm(
"ExtraDimensionsG*:Gqq");
260 for (
int i = 1; i <= 4; ++i) eDcoupling[i] = tmPcoup;
261 eDcoupling[5] = parm(
"ExtraDimensionsG*:Gbb");
262 eDcoupling[6] = parm(
"ExtraDimensionsG*:Gtt");
263 tmPcoup = parm(
"ExtraDimensionsG*:Gll");
264 for (
int i = 11; i <= 16; ++i) eDcoupling[i] = tmPcoup;
265 eDcoupling[21] = parm(
"ExtraDimensionsG*:Ggg");
266 eDcoupling[22] = parm(
"ExtraDimensionsG*:Ggmgm");
267 eDcoupling[23] = parm(
"ExtraDimensionsG*:GZZ");
268 eDcoupling[24] = parm(
"ExtraDimensionsG*:GWW");
269 eDcoupling[25] = parm(
"ExtraDimensionsG*:Ghh");
272 gStarPtr = particleDataPtr->particleDataEntryPtr(idGstar);
280 void Sigma1ffbar2GravitonStar::sigmaKin() {
283 double widthIn = mH / (80. * M_PI);
286 double sigBW = 5. * M_PI/ ( pow2(sH - m2Res) + pow2(sH * GamMRat) );
287 double widthOut = gStarPtr->resWidthOpen(idGstar, mH);
290 sigma0 = widthIn * sigBW * widthOut;
297 double Sigma1ffbar2GravitonStar::sigmaHat() {
299 double sigma = sigma0;
302 if (eDsmbulk) sigma *= 2. * pow2(eDcoupling[min( abs(id1), 26)] * mH);
303 else sigma *= pow2(kappaMG * mH / mRes);
306 if (abs(id1) < 9) sigma /= 3.;
315 void Sigma1ffbar2GravitonStar::setIdColAcol() {
318 setId( id1, id2, idGstar);
321 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0);
322 else setColAcol( 0, 0, 0, 0, 0, 0);
323 if (id1 < 0) swapColAcol();
333 double Sigma1ffbar2GravitonStar::weightDecay(
Event& process,
int iResBeg,
337 int idMother = process[process[iResBeg].mother1()].idAbs();
341 return weightTopDecay( process, iResBeg, iResEnd);
344 if (iResBeg != 5 || iResEnd != 5)
return 1.;
347 double mr1 = pow2(process[6].m()) / sH;
348 double mr2 = pow2(process[7].m()) / sH;
349 double betaf = sqrtpos( pow2(1. - mr1 - mr2) - 4. * mr1 * mr2);
350 double cosThe = (process[3].p() - process[4].p())
351 * (process[7].p() - process[6].p()) / (sH * betaf);
357 if (process[6].idAbs() < 19) {
358 wt = (1. - 3. * pow2(cosThe) + 4. * pow4(cosThe)) / 2.;
361 }
else if (process[6].
id() == 21 || process[6].id() == 22) {
362 wt = 1. - pow4(cosThe);
365 }
else if (process[6].
id() == 23 || process[6].
id() == 24) {
366 double beta2 = pow2(betaf);
367 double cost2 = pow2(cosThe);
368 double cost4 = pow2(cost2);
369 wt = pow2(beta2 - 2.)*cost2*(1. - cost2);
375 wt += pow2(beta2 - 1.)*cost2*(1. - cost2);
376 wt += 2.*(1. - cost4);
377 wt += (1. - beta2)*(1. - 3.*cost2 + 4.*cost4);
382 }
else if (process[6].
id() == 25) {
383 double beta2 = pow2(betaf);
384 double cost2 = pow2(cosThe);
385 wt = pow2(beta2 - 2.)*cost2*(1. - cost2);
403 void Sigma1qqbar2KKgluonStar::initProc() {
407 mRes = particleDataPtr->m0(idKKgluon);
408 GammaRes = particleDataPtr->mWidth(idKKgluon);
410 GamMRat = GammaRes / mRes;
413 for (
int i = 0; i < 10; ++i) { eDgv[i] = 0.; eDga[i] = 0.; }
414 double tmPgL = parm(
"ExtraDimensionsG*:KKgqL");
415 double tmPgR = parm(
"ExtraDimensionsG*:KKgqR");
416 for (
int i = 1; i <= 4; ++i) {
417 eDgv[i] = 0.5 * (tmPgL + tmPgR);
418 eDga[i] = 0.5 * (tmPgL - tmPgR);
420 tmPgL = parm(
"ExtraDimensionsG*:KKgbL");
421 tmPgR = parm(
"ExtraDimensionsG*:KKgbR");
422 eDgv[5] = 0.5 * (tmPgL + tmPgR); eDga[5] = 0.5 * (tmPgL - tmPgR);
423 tmPgL = parm(
"ExtraDimensionsG*:KKgtL");
424 tmPgR = parm(
"ExtraDimensionsG*:KKgtR");
425 eDgv[6] = 0.5 * (tmPgL + tmPgR); eDga[6] = 0.5 * (tmPgL - tmPgR);
426 interfMode = mode(
"ExtraDimensionsG*:KKintMode");
429 gStarPtr = particleDataPtr->particleDataEntryPtr(idKKgluon);
437 void Sigma1qqbar2KKgluonStar::sigmaKin() {
440 double widthIn = alpS * mH * 4 / 27;
441 double widthOut = alpS * mH / 6;
448 for (
int i = 0; i < gStarPtr->sizeChannels(); ++i) {
449 int idAbs = abs( gStarPtr->channel(i).product(0) );
452 if ( idAbs > 0 && idAbs <= 6 ) {
453 double mf = particleDataPtr->m0(idAbs);
456 if (mH > 2. * mf + MASSMARGIN) {
457 double mr = pow2(mf / mH);
458 double beta = sqrtpos(1. - 4. * mr);
461 int onMode = gStarPtr->channel(i).onMode();
462 if (onMode == 1 || onMode == 2) {
463 sumSM += beta * (1. + 2. * mr);
464 sumInt += beta * eDgv[min(idAbs, 9)] * (1. + 2. * mr);
465 sumKK += beta * (pow2(eDgv[min(idAbs, 9)]) * (1. + 2.*mr)
466 + pow2(eDga[min(idAbs, 9)]) * (1. - 4.*mr));
473 sigSM = widthIn * 12. * M_PI * widthOut / sH2;
474 sigInt = 2. * sigSM * sH * (sH - m2Res)
475 / ( pow2(sH - m2Res) + pow2(sH * GamMRat) );
476 sigKK = sigSM * sH2 / ( pow2(sH - m2Res) + pow2(sH * GamMRat) );
479 if (interfMode == 1) {sigInt = 0.; sigKK = 0.;}
480 if (interfMode == 2) {sigSM = 0.; sigInt = 0.;}
488 double Sigma1qqbar2KKgluonStar::sigmaHat() {
491 double sigma = sigSM * sumSM
492 + eDgv[min(abs(id1), 9)] * sigInt * sumInt
493 + ( pow2(eDgv[min(abs(id1), 9)])
494 + pow2(eDga[min(abs(id1), 9)]) ) * sigKK * sumKK;
503 void Sigma1qqbar2KKgluonStar::setIdColAcol() {
506 setId( id1, id2, idKKgluon);
509 setColAcol( 1, 0, 0, 2, 1, 2);
510 if (id1 < 0) swapColAcol();
518 double Sigma1qqbar2KKgluonStar::weightDecay(
Event& process,
int iResBeg,
522 int idMother = process[process[iResBeg].mother1()].idAbs();
526 return weightTopDecay( process, iResBeg, iResEnd);
529 if (iResBeg != 5 || iResEnd != 5)
return 1.;
532 int idInAbs = process[3].idAbs();
533 double vi = eDgv[min(idInAbs, 9)];
534 double ai = eDga[min(idInAbs, 9)];
535 int idOutAbs = process[6].idAbs();
536 double vf = eDgv[min(idOutAbs, 9)];
537 double af = eDga[min(idOutAbs, 9)];
540 double mf = process[6].m();
541 double mr = mf*mf / sH;
542 double betaf = sqrtpos(1. - 4. * mr);
545 double coefTran = sigSM + vi * sigInt * vf
546 + (vi*vi + ai*ai) * sigKK * (vf*vf + pow2(betaf) * af*af);
547 double coefLong = 4. * mr * ( sigSM + vi * sigInt * vf
548 + (vi*vi + ai*ai) * sigKK * vf*vf );
549 double coefAsym = betaf * ( ai * sigInt * af
550 + 4. * vi * ai * sigKK * vf * af );
553 if (process[3].
id() * process[6].id() < 0) coefAsym = -coefAsym;
556 double cosThe = (process[3].p() - process[4].p())
557 * (process[7].p() - process[6].p()) / (sH * betaf);
558 double wtMax = 2. * (coefTran + abs(coefAsym));
559 double wt = coefTran * (1. + pow2(cosThe))
560 + coefLong * (1. - pow2(cosThe)) + 2. * coefAsym * cosThe;
575 void Sigma2gg2GravitonStarg::initProc() {
579 mRes = particleDataPtr->m0(idGstar);
580 GammaRes = particleDataPtr->mWidth(idGstar);
582 GamMRat = GammaRes / mRes;
585 kappaMG = parm(
"ExtraDimensionsG*:kappaMG");
588 openFrac = particleDataPtr->resOpenFrac(idGstar);
596 void Sigma2gg2GravitonStarg::sigmaKin() {
599 sigma = (3. * pow2(kappaMG) * alpS) / (32. * sH * m2Res)
600 * ( pow2(tH2 + tH * uH + uH2) / (sH2 * tH * uH)
601 + 2. * (tH2 / uH + uH2 / tH) / sH + 3. * (tH / uH + uH / tH)
602 + 2. * (sH / uH + sH/tH) + sH2 / (tH * uH) );
611 void Sigma2gg2GravitonStarg::setIdColAcol() {
614 setId( 21, 21, idGstar, 21);
617 if (rndmPtr->flat() < 0.5) setColAcol( 1, 2, 2, 3, 0, 0, 1, 3);
618 else setColAcol( 1, 2, 3, 1, 0, 0, 3, 2);
626 double Sigma2gg2GravitonStarg::weightDecay(
Event& process,
int iResBeg,
630 int idMother = process[process[iResBeg].mother1()].idAbs();
634 return weightTopDecay( process, iResBeg, iResEnd);
650 void Sigma2qg2GravitonStarq::initProc() {
654 mRes = particleDataPtr->m0(idGstar);
655 GammaRes = particleDataPtr->mWidth(idGstar);
657 GamMRat = GammaRes / mRes;
660 kappaMG = parm(
"ExtraDimensionsG*:kappaMG");
663 openFrac = particleDataPtr->resOpenFrac(idGstar);
671 void Sigma2qg2GravitonStarq::sigmaKin() {
674 sigma = -(pow2(kappaMG) * alpS) / (192. * sH * m2Res )
675 * ( 4. * (sH2 + uH2) / (tH * sH) + 9. * (sH + uH) / sH + sH / uH
676 + uH2 / sH2 + 3. * tH * (4. + sH / uH + uH / sH) / sH
677 + 4. * tH2 * (1. / uH + 1. / sH) / sH + 2. * tH2 * tH / (uH * sH2) );
686 void Sigma2qg2GravitonStarq::setIdColAcol() {
689 int idq = (id2 == 21) ? id1 : id2;
690 setId( id1, id2, idGstar, idq);
693 swapTU = (id2 == 21);
696 if (id2 == 21) setColAcol( 1, 0, 2, 1, 0, 0, 2, 0);
697 else setColAcol( 2, 1, 1, 0, 0, 0, 2, 0);
698 if (idq < 0) swapColAcol();
706 double Sigma2qg2GravitonStarq::weightDecay(
Event& process,
int iResBeg,
710 int idMother = process[process[iResBeg].mother1()].idAbs();
714 return weightTopDecay( process, iResBeg, iResEnd);
730 void Sigma2qqbar2GravitonStarg::initProc() {
734 mRes = particleDataPtr->m0(idGstar);
735 GammaRes = particleDataPtr->mWidth(idGstar);
737 GamMRat = GammaRes / mRes;
740 kappaMG = parm(
"ExtraDimensionsG*:kappaMG");
743 openFrac = particleDataPtr->resOpenFrac(idGstar);
751 void Sigma2qqbar2GravitonStarg::sigmaKin() {
754 sigma = (pow2(kappaMG) * alpS) / (72. * sH * m2Res)
755 * ( 4. * (tH2 + uH2) / sH2 + 9. * (tH + uH) / sH
756 + (tH2 / uH + uH2 / tH) / sH + 3. * (4. + tH / uH + uH/ tH)
757 + 4. * (sH / uH + sH / tH) + 2. * sH2 / (tH * uH) );
766 void Sigma2qqbar2GravitonStarg::setIdColAcol() {
769 setId( id1, id2, idGstar, 21);
772 setColAcol( 1, 0, 0, 2, 0, 0, 1, 2);
773 if (id1 < 0) swapColAcol();
781 double Sigma2qqbar2GravitonStarg::weightDecay(
Event& process,
int iResBeg,
785 int idMother = process[process[iResBeg].mother1()].idAbs();
789 return weightTopDecay( process, iResBeg, iResEnd);
806 void Sigma2ffbar2TEVffbar::initProc() {
809 if (idNew == 1) nameSave =
"f fbar -> d dbar (s-channel gamma_KK/Z_KK)";
810 if (idNew == 2) nameSave =
"f fbar -> u ubar (s-channel gamma_KK/Z_KK)";
811 if (idNew == 3) nameSave =
"f fbar -> s sbar (s-channel gamma_KK/Z_KK)";
812 if (idNew == 4) nameSave =
"f fbar -> c cbar (s-channel gamma_KK/Z_KK)";
813 if (idNew == 5) nameSave =
"f fbar -> b bbar (s-channel gamma_KK/Z_KK)";
814 if (idNew == 6) nameSave =
"f fbar -> t tbar (s-channel gamma_KK/Z_KK)";
815 if (idNew == 11) nameSave =
"f fbar -> e+ e- (s-channel gamma_KK/Z_KK)";
816 if (idNew == 12) nameSave =
"f fbar -> nue nuebar (s-channel gamma_KK/Z_KK)";
817 if (idNew == 13) nameSave =
"f fbar -> mu+ mu- (s-channel gamma_KK/Z_KK)";
818 if (idNew == 14) nameSave
819 =
"f fbar -> numu numubar (s-channel gamma_KK/Z_KK)";
820 if (idNew == 15) nameSave =
"f fbar -> tau+ tau- (s-channel gamma_KK/Z_KK)";
821 if (idNew == 16) nameSave
822 =
"f fbar -> nutau nutaubar (s-channel gamma_KK/Z_KK)";
825 gmZmode = mode(
"ExtraDimensionsTEV:gmZmode");
828 nexcitationmax = mode(
"ExtraDimensionsTEV:nMax");
839 wZ0 = particleDataPtr->mWidth(23);
840 mRes = particleDataPtr->m0(23);
844 mTop = particleDataPtr->m0(6);
849 mStar = (double)parm(
"ExtraDimensionsTEV:mStar");
852 alphaemfixed = parm(
"StandardModel:alphaEM0");
859 if (gmZmode>=0 && gmZmode<=5) {
860 for (
int i=1 ; i<17 ; i++) {
863 if (i==6) {
continue; }
865 wgmKKFactor += ( (alphaemfixed / 6.) * 4.
866 * coupSMPtr->ef(i) * coupSMPtr->ef(i) * 3. );
869 wgmKKFactor += (alphaemfixed / 6.) * 4.
870 * coupSMPtr->ef(i) * coupSMPtr->ef(i);
876 gMinusF = ( coupSMPtr->t3f(idNew) - coupSMPtr->ef(idNew)
877 * coupSMPtr->sin2thetaW() )
878 / sqrt( coupSMPtr->sin2thetaW()*coupSMPtr->cos2thetaW() );
879 gPlusF = -1. * coupSMPtr->ef(idNew) * coupSMPtr->sin2thetaW()
880 / sqrt( coupSMPtr->sin2thetaW() * coupSMPtr->cos2thetaW() );
882 gMinusTop = ( coupSMPtr->t3f(6) - coupSMPtr->ef(6)
883 * coupSMPtr->sin2thetaW() )
884 / sqrt( coupSMPtr->sin2thetaW()*coupSMPtr->cos2thetaW() );
886 gPlusTop = -1. * coupSMPtr->ef(6) * coupSMPtr->sin2thetaW()
887 / sqrt( coupSMPtr->sin2thetaW() * coupSMPtr->cos2thetaW() );
889 ttbarwFactorA = pow2(gMinusTop) + pow2(gPlusTop);
890 ttbarwFactorB = 6.*gMinusTop*gPlusTop - pow2(gMinusTop) - pow2(gPlusTop);
894 if ((idNew >=6 && idNew <=8) || idNew == 17 || idNew == 18)
895 openFracPair = particleDataPtr->resOpenFrac(idNew, -idNew);
903 int Sigma2ffbar2TEVffbar::resonanceB() {
913 int Sigma2ffbar2TEVffbar::resonanceA() {
916 phaseSpacemHatMin = parm(
"PhaseSpace:mHatMin");
917 phaseSpacemHatMax = parm(
"PhaseSpace:mHatMax");
918 double mResFirstKKMode = sqrt(pow2(particleDataPtr->m0(23)) + pow2(mStar));
919 if (mResFirstKKMode/2. <= phaseSpacemHatMax
920 || 3*mResFirstKKMode/2. >= phaseSpacemHatMin) {
return 5000023; }
923 }
else {
return 23; }
931 void Sigma2ffbar2TEVffbar::sigmaKin() {
935 if (mH < m3 + m4 + MASSMARGIN) {
941 double s34Avg = 0.5 * (s3 + s4) - 0.25 * pow2(s3 - s4) / sH;
943 betaf = sqrtpos(1. - 4. * mr);
946 cosThe = (tH - uH) / (betaf * sH);
954 double Sigma2ffbar2TEVffbar::sigmaHat() {
957 if (!isPhysical)
return 0.;
960 int idAbs = abs(id1);
963 gMinusf = ( coupSMPtr->t3f(idAbs) - coupSMPtr->ef(idAbs)
964 * coupSMPtr->sin2thetaW() )
965 / sqrt( coupSMPtr->sin2thetaW()*coupSMPtr->cos2thetaW() );
966 gPlusf = -1. * coupSMPtr->ef(idAbs)*coupSMPtr->sin2thetaW()
967 / sqrt( coupSMPtr->sin2thetaW()*coupSMPtr->cos2thetaW() );
974 gammaProp = complex(0.,0.);
975 resProp = complex(0.,0.);
976 gmPropKK = complex(0.,0.);
977 ZPropKK = complex(0.,0.);
978 totalProp = complex(0.,0.);
982 for (
double helicityf=-0.5 ; helicityf<=0.5 ; helicityf++) {
983 for (
double helicityF=-0.5 ; helicityF<=0.5 ; helicityF++) {
985 gF = (helicityF == +0.5) ? gMinusF : gPlusF;
986 gf = (helicityf == +0.5) ? gMinusf : gPlusf;
991 gammaProp = coupSMPtr->ef(idAbs)*coupSMPtr->ef(idNew)/sH;
992 resProp = gf*gF/( sH - m2Res + mI*sH*(wZ0/mRes) );
996 gammaProp = coupSMPtr->ef(idAbs)*coupSMPtr->ef(idNew)/sH;
1000 resProp = gf*gF/( sH - m2Res + mI*sH*(wZ0/mRes) );
1004 gammaProp = coupSMPtr->ef(idAbs)*coupSMPtr->ef(idNew)/sH;
1005 resProp = gf*gF/( sH - m2Res + mI*sH*(wZ0/mRes) );
1006 ZPropKK = complex(0.,0.);
1007 gmPropKK = complex(0.,0.);
1009 for(
int nexcitation = 1; nexcitation <= nexcitationmax;
1011 mZKKn = sqrt(m2Res + pow2(mStar * nexcitation));
1012 m2ZKKn = m2Res + pow2(mStar * nexcitation);
1013 mgmKKn = mStar * nexcitation;
1014 m2gmKKn = (mStar*nexcitation)*(mStar*nexcitation);
1017 ttbarwZKKn = 2.*(alphaemfixed*3./6.)*mZKKn
1018 * sqrt(1.-4.*m2Top/m2ZKKn)
1019 * (ttbarwFactorA+(m2Top/m2ZKKn)*ttbarwFactorB);
1020 wZKKn = 2.*wZ0*mZKKn/mRes+ttbarwZKKn;
1023 ttbarwgmKKn = 2.*(alphaemfixed*3./6.)*mgmKKn
1024 * sqrt(1.-4.*m2Top/m2gmKKn)
1025 * 2.*pow2(coupSMPtr->ef(6))*(1.+2.*(m2Top/m2gmKKn));
1026 wgmKKn = wgmKKFactor*mgmKKn+ttbarwgmKKn;
1028 gmPropKK += (2.*coupSMPtr->ef(idAbs)*coupSMPtr->ef(idNew))
1029 / (sH-m2gmKKn+mI*sH*wgmKKn/mgmKKn);
1030 ZPropKK += (2.*gf*gF)/(sH-m2ZKKn+mI*sH*wZKKn/mZKKn );
1035 gammaProp = coupSMPtr->ef(idAbs)*coupSMPtr->ef(idNew)/sH;
1036 resProp = gf*gF/( sH - m2Res + mI*sH*(wZ0/mRes) );
1037 gmPropKK = complex(0.,0.);
1038 for (
int nexcitation = 1; nexcitation <= nexcitationmax;
1040 mgmKKn = mStar * nexcitation;
1041 m2gmKKn = (mStar*nexcitation)*(mStar*nexcitation);
1043 ttbarwgmKKn = 2.*(alphaemfixed*3./6.)*mgmKKn
1044 * sqrt(1.-4.*m2Top/m2gmKKn)
1045 * 2.*pow2(coupSMPtr->ef(6))
1046 * (1.+2.*(m2Top/m2gmKKn));
1047 wgmKKn = wgmKKFactor*mgmKKn+ttbarwgmKKn;
1048 gmPropKK += (2.*coupSMPtr->ef(idAbs)*coupSMPtr->ef(idNew))
1049 / (sH-m2gmKKn+mI*sH*wgmKKn/mgmKKn);
1054 gammaProp = coupSMPtr->ef(idAbs)*coupSMPtr->ef(idNew)/sH;
1055 resProp = gf*gF/( sH - m2Res + mI*sH*(wZ0/mRes) );
1056 ZPropKK = complex(0.,0.);
1057 for (
int nexcitation = 1; nexcitation <= nexcitationmax;
1059 mZKKn = sqrt(m2Res + pow2(mStar * nexcitation));
1060 m2ZKKn = m2Res + pow2(mStar * nexcitation);
1062 ttbarwZKKn = 2.*(alphaemfixed*3./6.)*mZKKn
1063 * sqrt(1.-4.*m2Top/m2ZKKn)
1064 * (ttbarwFactorA+(m2Top/m2ZKKn)*ttbarwFactorB);
1065 wZKKn = 2.*wZ0*mZKKn/mRes+ttbarwZKKn;
1066 ZPropKK += (2.*gf*gF)/(sH-m2ZKKn+mI*sH*wZKKn/mZKKn );
1074 totalProp = gammaProp + resProp + ZPropKK + gmPropKK;
1077 coefAngular = 1. + 4. * helicityF * helicityf * cosThe;
1080 helicityME2 += real(totalProp*conj(totalProp))*pow2(coefAngular);
1085 coefTot = (2./sH) * 2*M_PI * pow2(alpEM)/(4.*sH) * pow2(sH)/4.;
1088 double sigma = helicityME2 * coefTot;
1091 sigma *= openFracPair;
1094 if (idAbs < 9) sigma /= 3.;
1097 if (idNew < 9) sigma *= 3.*(1.+alpS/M_PI);
1106 void Sigma2ffbar2TEVffbar::setIdColAcol() {
1109 id3 = (id1 > 0) ? idNew : -idNew;
1110 setId( id1, id2, id3, -id3);
1113 if (abs(id1) < 9 && idNew < 9) setColAcol( 1, 0, 0, 1, 2, 0, 0, 2);
1114 else if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0, 0, 0);
1115 else if (idNew < 9) setColAcol( 0, 0, 0, 0, 1, 0, 0, 1);
1116 else setColAcol( 0, 0, 0, 0, 0, 0, 0, 0);
1117 if (id1 < 0) swapColAcol();
1125 double Sigma2ffbar2TEVffbar::weightDecay(
Event& process,
int iResBeg,
1129 if (idNew == 6 && process[process[iResBeg].mother1()].idAbs() == 6)
1130 return weightTopDecay( process, iResBeg, iResEnd);
1143 void Sigma2gg2LEDUnparticleg::initProc() {
1148 eDspin = (flag(
"ExtraDimensionsLED:GravScalar")) ? 0 : 2;
1149 eDnGrav = mode(
"ExtraDimensionsLED:n");
1150 eDdU = 0.5 * eDnGrav + 1;
1151 eDLambdaU = parm(
"ExtraDimensionsLED:MD");
1153 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
1154 eDtff = parm(
"ExtraDimensionsLED:t");
1155 eDcf = parm(
"ExtraDimensionsLED:c");
1157 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
1158 eDdU = parm(
"ExtraDimensionsUnpart:dU");
1159 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
1160 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
1161 eDcutoff = mode(
"ExtraDimensionsUnpart:CutOffMode");
1167 tmpAdU = 2 * M_PI * sqrt( pow(M_PI,
double(eDnGrav)) )
1168 / GammaReal(0.5 * eDnGrav);
1170 tmpAdU *= sqrt( pow(2.,
double(eDnGrav)) );
1174 tmpAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
1175 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
1180 double tmpExp = eDdU - 2;
1181 double tmpLS = pow2(eDLambdaU);
1182 eDconstantTerm = tmpAdU / (2 * 16 * pow2(M_PI) * tmpLS * pow(tmpLS,tmpExp));
1184 eDconstantTerm /= tmpLS;
1185 }
else if (eDspin == 0) {
1186 eDconstantTerm *= pow2(eDlambda) / tmpLS;
1189 infoPtr->errorMsg(
"Error in Sigma2gg2LEDUnparticleg::initProc: "
1190 "Incorrect spin value (turn process off)!");
1197 void Sigma2gg2LEDUnparticleg::sigmaKin() {
1208 double tmpTerm1 = uH + tH;
1209 double tmpTerm2 = uH + sH;
1210 double tmpTerm3 = tH + sH;
1211 double T0 = pow(tmpTerm1,4) + pow(tmpTerm2,4) + pow(tmpTerm3,4)
1212 + 12. * sH * tH * uH * mGS;
1213 eDsigma0 = eDcf * A0 * T0 / (sH2 * tH * uH);
1217 double xHS = pow2(xH);
1218 double yHS = pow2(yH);
1219 double xHC = pow(xH,3);
1220 double yHC = pow(yH,3);
1221 double xHQ = pow(xH,4);
1222 double yHQ = pow(yH,4);
1224 double T0 = 1/(xH*(yH-1-xH));
1225 double T1 = 1 + 2*xH + 3*xHS + 2*xHC + xHQ;
1226 double T2 = -2*yH*(1 + xHC);
1227 double T3 = 3*yHS*(1 + xHS);
1228 double T4 = -2*yHC*(1 + xH);
1231 eDsigma0 = A0 * T0 *( T1 + T2 + T3 + T4 + T5 );
1234 }
else if (eDspin == 0) {
1236 double A0 = 1/pow2(sH);
1237 double sHQ = pow(sH,4);
1238 double tHQ = pow(tH,4);
1239 double uHQ = pow(uH,4);
1241 eDsigma0 = A0 * (pow(mGS,4) + sHQ + tHQ + uHQ) / (sH * tH * uH);
1246 double tmpExp = eDdU - 2;
1247 eDsigma0 *= pow(mGS, tmpExp);
1250 eDsigma0 *= eDconstantTerm;
1256 double Sigma2gg2LEDUnparticleg::sigmaHat() {
1259 double sigma = eDsigma0 / runBW3;
1263 sigma *= 16 * M_PI * alpS * 3 / 16;
1264 }
else if (eDspin == 0) {
1265 sigma *= 6 * M_PI * alpS;
1271 if (eDcutoff == 1) {
1272 if (sH > pow2(eDLambdaU) ) { sigma *= pow(eDLambdaU,4)/pow2(sH); }
1273 }
else if ( (eDgraviton && (eDspin == 2))
1274 && ((eDcutoff == 2) || (eDcutoff == 3)) ) {
1275 double tmPmu = sqrt(Q2RenSave);
1276 if (eDcutoff == 3) tmPmu = (sH + s4 - s3) / (2 * mH);
1277 double tmPformfact = tmPmu / (eDtff * eDLambdaU);
1278 double tmPexp = double(eDnGrav) + 2;
1279 sigma *= 1 / (1 + pow(tmPformfact, tmPexp));
1287 void Sigma2gg2LEDUnparticleg::setIdColAcol() {
1290 setId( 21, 21, eDidG, 21);
1293 if (rndmPtr->flat() < 0.5) setColAcol( 1, 2, 2, 3, 0, 0, 1, 3);
1294 else setColAcol( 1, 2, 3, 1, 0, 0, 3, 2);
1306 void Sigma2qg2LEDUnparticleq::initProc() {
1311 eDspin = (flag(
"ExtraDimensionsLED:GravScalar")) ? 0 : 2;
1312 eDnGrav = mode(
"ExtraDimensionsLED:n");
1313 eDdU = 0.5 * eDnGrav + 1;
1314 eDLambdaU = parm(
"ExtraDimensionsLED:MD");
1316 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
1317 eDtff = parm(
"ExtraDimensionsLED:t");
1318 eDgf = parm(
"ExtraDimensionsLED:g");
1319 eDcf = parm(
"ExtraDimensionsLED:c");
1321 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
1322 eDdU = parm(
"ExtraDimensionsUnpart:dU");
1323 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
1324 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
1325 eDcutoff = mode(
"ExtraDimensionsUnpart:CutOffMode");
1331 tmpAdU = 2 * M_PI * sqrt( pow(M_PI,
double(eDnGrav)) )
1332 / GammaReal(0.5 * eDnGrav);
1335 tmpAdU *= 2. * sqrt( pow(2.,
double(eDnGrav)) );
1336 eDcf *= 4. * eDcf / pow2(eDLambdaU);
1337 double tmpExp = 2. * double(eDnGrav) / (double(eDnGrav) + 2.);
1338 eDgf *= eDgf / pow(2. * M_PI, tmpExp);
1341 tmpAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
1342 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
1347 double tmpExp = eDdU - 2;
1348 double tmpLS = pow2(eDLambdaU);
1349 eDconstantTerm = tmpAdU / (2 * 16 * pow2(M_PI) * tmpLS * pow(tmpLS,tmpExp));
1350 if (eDgraviton && (eDspin == 2)) {
1351 eDconstantTerm /= tmpLS;
1352 }
else if (eDspin == 1) {
1353 eDconstantTerm *= pow2(eDlambda);
1354 }
else if (eDspin == 0) {
1355 eDconstantTerm *= pow2(eDlambda);
1358 infoPtr->errorMsg(
"Error in Sigma2qg2LEDUnparticleq::initProc: "
1359 "Incorrect spin value (turn process off)!");
1367 void Sigma2qg2LEDUnparticleq::sigmaKin() {
1380 double T0 = -(uH2 + pow2(mGS)) / (sH * tH);
1381 double T1 = -(tH2 + sH2)/ uH;
1382 eDsigma0 = A0 * (eDgf * T0 + eDcf * T1);
1386 double x2H = xH/(yH - 1 - xH);
1387 double y2H = yH/(yH - 1 - xH);
1388 double x2HS = pow2(x2H);
1389 double y2HS = pow2(y2H);
1390 double x2HC = pow(x2H,3);
1391 double y2HC = pow(y2H,3);
1393 double T0 = -(yH - 1 - xH);
1394 double T20 = 1/(x2H*(y2H-1-x2H));
1395 double T21 = -4*x2H*(1 + x2H)*(1 + 2*x2H + 2*x2HS);
1396 double T22 = y2H*(1 + 6*x2H + 18*x2HS + 16*x2HC);
1397 double T23 = -6*y2HS*x2H*(1+2*x2H);
1398 double T24 = y2HC*(1 + 4*x2H);
1400 eDsigma0 = A0 * T0 * T20 * ( T21 + T22 + T23 + T24 );
1403 }
else if (eDspin == 1) {
1405 double A0 = 1/pow2(sH);
1406 double tmpTerm1 = tH - mGS;
1407 double tmpTerm2 = sH - mGS;
1409 eDsigma0 = A0 * (pow2(tmpTerm1) + pow2(tmpTerm2)) / (sH*tH);
1411 }
else if (eDspin == 0) {
1413 double A0 = 1/pow2(sH);
1415 eDsigma0 = A0 * (pow2(tH) + pow2(mGS)) / (sH*uH);
1420 double tmpExp = eDdU - 2;
1421 eDsigma0 *= pow(mGS, tmpExp);
1424 eDsigma0 *= eDconstantTerm;
1430 double Sigma2qg2LEDUnparticleq::sigmaHat() {
1433 double sigma = eDsigma0 /runBW3;
1437 sigma *= 16 * M_PI * alpS / 96;
1438 }
else if (eDspin == 1) {
1439 sigma *= - 4 * M_PI * alpS / 3;
1440 }
else if (eDspin == 0) {
1441 sigma *= - 2 * M_PI * alpS / 3;
1447 if (eDcutoff == 1) {
1448 if (sH > pow2(eDLambdaU) ) { sigma *= pow(eDLambdaU,4)/pow2(sH); }
1449 }
else if ( (eDgraviton && (eDspin == 2))
1450 && ((eDcutoff == 2) || (eDcutoff == 3)) ) {
1451 double tmPmu = sqrt(Q2RenSave);
1452 if (eDcutoff == 3) tmPmu = (sH + s4 - s3) / (2 * mH);
1453 double tmPformfact = tmPmu / (eDtff * eDLambdaU);
1454 double tmPexp = double(eDnGrav) + 2;
1455 sigma *= 1 / (1 + pow(tmPformfact, tmPexp));
1463 void Sigma2qg2LEDUnparticleq::setIdColAcol() {
1466 int idq = (id2 == 21) ? id1 : id2;
1467 setId( id1, id2, eDidG, idq);
1470 swapTU = (id2 == 21);
1473 if (id2 == 21) setColAcol( 1, 0, 2, 1, 0, 0, 2, 0);
1474 else setColAcol( 2, 1, 1, 0, 0, 0, 2, 0);
1475 if (idq < 0) swapColAcol();
1487 void Sigma2qqbar2LEDUnparticleg::initProc() {
1492 eDspin = (flag(
"ExtraDimensionsLED:GravScalar")) ? 0 : 2;
1493 eDnGrav = mode(
"ExtraDimensionsLED:n");
1494 eDdU = 0.5 * eDnGrav + 1;
1495 eDLambdaU = parm(
"ExtraDimensionsLED:MD");
1497 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
1498 eDtff = parm(
"ExtraDimensionsLED:t");
1499 eDgf = parm(
"ExtraDimensionsLED:g");
1500 eDcf = parm(
"ExtraDimensionsLED:c");
1502 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
1503 eDdU = parm(
"ExtraDimensionsUnpart:dU");
1504 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
1505 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
1506 eDcutoff = mode(
"ExtraDimensionsUnpart:CutOffMode");
1512 tmpAdU = 2 * M_PI * sqrt( pow(M_PI,
double(eDnGrav)) )
1513 / GammaReal(0.5 * eDnGrav);
1516 tmpAdU *= 2. * sqrt( pow(2.,
double(eDnGrav)) );
1517 eDcf *= 4. * eDcf / pow2(eDLambdaU);
1518 double tmpExp = 2. * double(eDnGrav) / (double(eDnGrav) + 2.);
1519 eDgf *= eDgf / pow(2. * M_PI, tmpExp);
1522 tmpAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
1523 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
1528 double tmpExp = eDdU - 2;
1529 double tmpLS = pow2(eDLambdaU);
1530 eDconstantTerm = tmpAdU / (2 * 16 * pow2(M_PI) * tmpLS * pow(tmpLS,tmpExp));
1531 if (eDgraviton && (eDspin == 2)) {
1532 eDconstantTerm /= tmpLS;
1533 }
else if (eDspin == 1) {
1534 eDconstantTerm *= pow2(eDlambda);
1535 }
else if (eDspin == 0) {
1536 eDconstantTerm *= pow2(eDlambda);
1539 infoPtr->errorMsg(
"Error in Sigma2qqbar2LEDUnparticleg::initProc: "
1540 "Incorrect spin value (turn process off)!");
1547 void Sigma2qqbar2LEDUnparticleg::sigmaKin() {
1560 double tmpTerm1 = uH + tH;
1561 double T0 = (2. * mGS * sH + pow2(tmpTerm1)) / (uH * tH);
1562 double T1 = (tH2 + uH2) / sH;
1563 eDsigma0 = A0 * (eDgf * T0 + eDcf * T1);
1567 double xHS = pow2(xH);
1568 double yHS = pow2(yH);
1569 double xHC = pow(xH,3);
1570 double yHC = pow(yH,3);
1572 double T0 = 1/(xH*(yH-1-xH));
1573 double T1 = -4*xH*(1 + xH)*(1 + 2*xH + 2*xHS);
1574 double T2 = yH*(1 + 6*xH + 18*xHS + 16*xHC);
1575 double T3 = -6*yHS*xH*(1+2*xH);
1576 double T4 = yHC*(1 + 4*xH);
1578 eDsigma0 = A0 * T0 *( T1 + T2 + T3 + T4 );
1581 }
else if (eDspin == 1) {
1583 double A0 = 1/pow2(sH);
1584 double tmpTerm1 = tH - mGS;
1585 double tmpTerm2 = uH - mGS;
1587 eDsigma0 = A0 * (pow2(tmpTerm1) + pow2(tmpTerm2)) / (tH * uH);
1589 }
else if (eDspin == 0) {
1591 double A0 = 1/pow2(sH);
1593 eDsigma0 = A0 * (pow2(sH) - pow2(mGS)) / (tH * uH);
1598 double tmpExp = eDdU - 2;
1599 eDsigma0 *= pow(mGS, tmpExp);
1602 eDsigma0 *= eDconstantTerm;
1608 double Sigma2qqbar2LEDUnparticleg::sigmaHat() {
1611 double sigma = eDsigma0 /runBW3;
1615 sigma *= 16 * M_PI * alpS / 36;
1616 }
else if (eDspin == 1) {
1617 sigma *= 4 * M_PI * 8 * alpS / 9;
1618 }
else if (eDspin == 0) {
1619 sigma *= 4 * M_PI * 4 * alpS / 9;
1625 if (eDcutoff == 1) {
1626 if (sH > pow2(eDLambdaU) ) { sigma *= pow(eDLambdaU,4)/pow2(sH); }
1627 }
else if ( (eDgraviton && (eDspin == 2))
1628 && ((eDcutoff == 2) || (eDcutoff == 3)) ) {
1629 double tmPmu = sqrt(Q2RenSave);
1630 if (eDcutoff == 3) tmPmu = (sH + s4 - s3) / (2 * mH);
1631 double tmPformfact = tmPmu / (eDtff * eDLambdaU);
1632 double tmPexp = double(eDnGrav) + 2;
1633 sigma *= 1 / (1 + pow(tmPformfact, tmPexp));
1641 void Sigma2qqbar2LEDUnparticleg::setIdColAcol() {
1644 setId( id1, id2, eDidG, 21);
1647 if (abs(id1) < 9) setColAcol( 1, 0, 0, 2, 0, 0, 1, 2);
1648 if (id1 < 0) swapColAcol();
1668 const double Sigma2ffbar2LEDUnparticleZ::FIXRATIO = 1.;
1672 void Sigma2ffbar2LEDUnparticleZ::initProc() {
1678 eDnGrav = mode(
"ExtraDimensionsLED:n");
1679 eDdU = 0.5 * eDnGrav + 1;
1680 eDLambdaU = parm(
"ExtraDimensionsLED:MD");
1682 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
1683 eDtff = parm(
"ExtraDimensionsLED:t");
1685 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
1686 eDdU = parm(
"ExtraDimensionsUnpart:dU");
1687 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
1688 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
1691 eDcutoff = mode(
"ExtraDimensionsUnpart:CutOffMode");
1695 mZ = particleDataPtr->m0(23);
1696 widZ = particleDataPtr->mWidth(23);
1698 mwZS = pow2(mZ * widZ);
1704 }
else if (eDgraviton) {
1707 eDlambdaPrime = eDlambda;
1709 eDlambdaPrime = eDratio * eDlambda;
1713 double tmpAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
1714 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
1717 tmpAdU = 2 * M_PI * sqrt( pow(M_PI,
double(eDnGrav)) )
1718 / GammaReal(0.5 * eDnGrav);
1722 double tmpTerm1 = 1/(2 * 16 * pow2(M_PI));
1723 double tmpLS = pow2(eDLambdaU);
1726 double tmpTerm2 = 0;
1727 if ( eDspin == 0 ) {
1728 tmpTerm2 = 2 * pow2(eDlambda);
1729 }
else if (eDspin == 1) {
1730 tmpTerm2 = 4 * pow2(eDlambda);
1731 }
else if (eDspin == 2) {
1732 tmpTerm2 = pow2(eDlambda)/(4 * 3 * tmpLS);
1736 double tmpExp2 = eDdU - 2;
1737 double tmpTerm3 = tmpAdU / (tmpLS * pow(tmpLS, tmpExp2));
1740 eDconstantTerm = tmpTerm1 * tmpTerm2 * tmpTerm3;
1743 openFrac = particleDataPtr->resOpenFrac(23);
1749 void Sigma2ffbar2LEDUnparticleZ::sigmaKin() {
1768 if ( eDspin == 0 ) {
1771 double T1 = - sH/tH - sH/uH;
1772 double T2 = - (1 - mZS/tH)*(1 - mUS/tH);
1773 double T3 = - (1 - mZS/uH)*(1 - mUS/uH);
1774 double T4 = 2*(1 - mUS/tH)*(1 - mUS/uH);
1776 eDsigma0 = A0 * ( T1 + T2 + T3 + T4);
1778 }
else if ( eDspin == 1 ) {
1781 double T1 = 0.5 * (tH/uH + uH/tH);
1782 double T2 = pow2(mZS + mUS)/(tH * uH);
1783 double T3 = - 0.5 * mUS * (mZS/tHS + mZS/uHS) ;
1784 double T4 = - (mZS+mUS)*(1/tH + 1/uH);
1786 eDsigma0 = A0 * ( T1 + T2 + T3 + T4 );
1788 }
else if ( eDspin == 2 ) {
1790 double A0 = 1 / ( sHS * uHS * tHS * pow2(sH-mZS) );
1791 double F0 = 2*tHS*uHS*( 16*pow(mZS,3) + mUS*(7*tHS + 12*tH*uH + 7*uHS)
1792 - 3*(3*tHC + 11*tHS*uH + 11*tH*uHS + 3*uHC)
1793 + 6*pow(mZS,2)*(7*mUS - 2*tHuH) + mZS*(14*pow(mUS,2)
1794 - 15*tHS - 44*tH*uH - 15*uHS + 2*mUS*tHuH) );
1795 double F2 = 2*tHS*uHS*tHuH*( -8*pow(mZS,2)*tHuH
1796 + 4*mZS*(tHS + 3*tH*uH + uHS)
1797 + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
1798 double F4 = -2*tHS*uHS*pow(tHuH,3)*(tHS + uHS - mZS*tHuH);
1800 double G0 = 4*tH*uH*( 6*pow(mZS,3)*(mUS - tH - uH)*tHuH
1801 + pow(mZS,2)*( 9*tHC + 7*tHS*uH + 7*tH*uHS + 9*uHC
1802 + 15*pow2(mUS)*tHuH - 2*mUS*(12*tHS + 19*tH*uH + 12*uHS) )
1803 + tH*uH*( 6*pow(mUS,3) - 9*pow(mUS,2)*tHuH - mUS*(tHS
1804 + 12*tH*uH + uHS) + 6*(tHC + 6*tHS*uH + 6*tH*uHS + uHC) )
1805 + mZS*(-3*tHQ + 25*tHC*uH + 58*tHS*uHS + 25*tH*uHC
1806 - 3*uHQ + 6*pow(mUS,3)*tHuH
1807 - pow(mUS,2)*(15*tHS + 2*tH*uH + 15*uHS) + 2*mUS*(6*tHC
1808 - 11*tHS*uH - 11*tH*uHS + 6*uHC)) );
1809 double G2 = -4*tHS*uHS*tHuH*( -10*pow2(mZS)*tHuH + 2*mZS*(3*tHS
1810 + 7*tH*uH + 3*uHS) + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
1813 double H0 = 24*pow(mZS,3)*tH*uH*pow2(-mUS + tHuH)
1814 - 6*pow(mZS,2)*tH*uH*( -9*pow(mUS,3) + 24*pow(mUS,2)*tHuH
1815 - mUS*(21*tHS + 38*tH*uH + 21*uHS)
1816 + 2*(3*tHC + 5*tHS*uH + 5*tH*uHS + 3*uHC) )
1817 - mZS*( 3*pow(mUS,4)*(tHS - 12*tH*uH + uHS)
1818 - 2*tH*uH*pow2(tHuH)*(6*tHS - 29*tH*uH + 6*uHS)
1819 - 6*pow(mUS,3)*(tHC - 16*tHS*uH - 16*tH*uHS + uHC)
1820 + 54*mUS*tH*uH*(tHC + tHS*uH + tH*uHS + uHC)
1821 + pow2(mUS)*(3*tHQ - 102*tHC*uH - 166*tHS*uHS
1822 - 102*tH*uHC + 3*uHQ) )
1823 + tH*uH*( 6*pow(mUS,5) - 18*pow(mUS,4)*tHuH
1824 - 12*pow(mUS,2)*pow(tHuH,3)
1825 + 3*pow(mUS,3)*(7*tHS + 12*tH*uH + 7*uHS)
1826 - 18*tH*uH*(tHC + 5*tHS*uH + 5*tH*uHS + uHC)
1827 + mUS*(3*tHQ + 32*tHC*uH + 78*tHS*uHS + 32*tH*uHC + 3*uHQ) );
1828 double H2 = 2*tHS*uHS*pow2(tHuH)*( -12*pow2(mZS) + 8*mZS*tHuH
1829 + 3*(tHS + 4*tH*uH + uHS) );
1832 eDsigma0 = A0*( F0 + 1/mUS*F2 + 1/pow2(mUS)*F4
1833 + eDratio*(G0 + 1/mUS*G2 + 1/pow2(mUS)*G4)
1834 + pow2(eDratio)*(H0 + 1/mUS*H2 + 1/pow2(mUS)*H4) );
1846 double Sigma2ffbar2LEDUnparticleZ::sigmaHat() {
1849 int idAbs = abs(id1);
1851 double facEWS = 4 * M_PI * alpEM
1852 / (coupSMPtr->sin2thetaW() * coupSMPtr->cos2thetaW())
1853 * ( 0.25 * 0.25 * coupSMPtr->vf2af2(idAbs) );
1856 double tmpExp = eDdU - 2;
1857 double facSpect = pow(mUS, tmpExp);
1860 double sigma = eDconstantTerm * facEWS * facSpect * eDsigma0;
1866 if (idAbs < 9) sigma /= 3.;
1874 if (eDcutoff == 1) {
1875 if (sH > pow2(eDLambdaU) ) { sigma *= pow(eDLambdaU,4)/pow2(sH); }
1876 }
else if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
1877 double tmPmu = sqrt(Q2RenSave);
1878 if (eDcutoff == 3) tmPmu = (sH + s4 - s3) / (2 * mH);
1879 double tmPformfact = tmPmu / (eDtff * eDLambdaU);
1880 double tmPexp = double(eDnGrav) + 2;
1881 sigma *= 1 / (1 + pow(tmPformfact, tmPexp));
1890 void Sigma2ffbar2LEDUnparticleZ::setIdColAcol() {
1893 setId( id1, id2, eDidG, 23);
1896 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0);
1897 else setColAcol( 0, 0, 0, 0, 0, 0);
1898 if (id1 < 0) swapColAcol();
1918 const double Sigma2ffbar2LEDUnparticlegamma::FIXRATIO = 1.;
1922 void Sigma2ffbar2LEDUnparticlegamma::initProc() {
1932 eDnGrav = mode(
"ExtraDimensionsLED:n");
1933 eDdU = 0.5 * eDnGrav + 1;
1934 eDLambdaU = parm(
"ExtraDimensionsLED:MD");
1936 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
1937 eDtff = parm(
"ExtraDimensionsLED:t");
1939 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
1940 eDdU = parm(
"ExtraDimensionsUnpart:dU");
1941 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
1942 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
1945 eDcutoff = mode(
"ExtraDimensionsUnpart:CutOffMode");
1949 mZ = particleDataPtr->m0(22);
1956 }
else if (eDgraviton) {
1959 eDlambdaPrime = eDlambda;
1961 eDlambdaPrime = eDratio * eDlambda;
1965 double tmpAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
1966 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
1969 tmpAdU = 2 * M_PI * sqrt( pow(M_PI,
double(eDnGrav)) )
1970 / GammaReal(0.5 * eDnGrav);
1974 double tmpTerm1 = 1/(2 * 16 * pow2(M_PI));
1975 double tmpLS = pow2(eDLambdaU);
1978 double tmpTerm2 = 0;
1979 if ( eDspin == 0 ) {
1980 tmpTerm2 = 2 * pow2(eDlambda);
1981 }
else if (eDspin == 1) {
1982 tmpTerm2 = 4 * pow2(eDlambda);
1983 }
else if (eDspin == 2) {
1984 tmpTerm2 = pow2(eDlambda)/(4 * 3 * tmpLS);
1988 double tmpExp2 = eDdU - 2;
1989 double tmpTerm3 = tmpAdU / (tmpLS * pow(tmpLS, tmpExp2));
1992 eDconstantTerm = tmpTerm1 * tmpTerm2 * tmpTerm3;
1998 void Sigma2ffbar2LEDUnparticlegamma::sigmaKin() {
2017 if ( eDspin == 0 ) {
2020 double T1 = - sH/tH - sH/uH;
2021 double T2 = - (1 - mZS/tH)*(1 - mUS/tH);
2022 double T3 = - (1 - mZS/uH)*(1 - mUS/uH);
2023 double T4 = 2*(1 - mUS/tH)*(1 - mUS/uH);
2025 eDsigma0 = A0 * ( T1 + T2 + T3 + T4);
2027 }
else if ( eDspin == 1 ) {
2030 double T1 = 0.5 * (tH/uH + uH/tH);
2031 double T2 = pow2(mZS + mUS)/(tH * uH);
2032 double T3 = - 0.5 * mUS * (mZS/tHS + mZS/uHS) ;
2033 double T4 = - (mZS+mUS)*(1/tH + 1/uH);
2035 eDsigma0 = A0 * ( T1 + T2 + T3 + T4 );
2037 }
else if ( eDspin == 2 ) {
2039 double A0 = 1 / ( sHS * uHS * tHS * pow2(sH-mZS) );
2040 double F0 = 2*tHS*uHS*( 16*pow(mZS,3) + mUS*(7*tHS + 12*tH*uH + 7*uHS)
2041 - 3*(3*tHC + 11*tHS*uH + 11*tH*uHS + 3*uHC)
2042 + 6*pow(mZS,2)*(7*mUS - 2*tHuH) + mZS*(14*pow(mUS,2)
2043 - 15*tHS - 44*tH*uH - 15*uHS + 2*mUS*tHuH) );
2044 double F2 = 2*tHS*uHS*tHuH*( -8*pow(mZS,2)*tHuH
2045 + 4*mZS*(tHS + 3*tH*uH + uHS)
2046 + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
2047 double F4 = -2*tHS*uHS*pow(tHuH,3)*(tHS + uHS - mZS*tHuH);
2049 double G0 = 4*tH*uH*( 6*pow(mZS,3)*(mUS - tH - uH)*tHuH
2050 + pow(mZS,2)*( 9*tHC + 7*tHS*uH + 7*tH*uHS + 9*uHC
2051 + 15*pow2(mUS)*tHuH - 2*mUS*(12*tHS + 19*tH*uH + 12*uHS) )
2052 + tH*uH*( 6*pow(mUS,3) - 9*pow(mUS,2)*tHuH
2053 - mUS*(tHS + 12*tH*uH + uHS)
2054 + 6*(tHC + 6*tHS*uH + 6*tH*uHS + uHC) )
2055 + mZS*(-3*tHQ + 25*tHC*uH + 58*tHS*uHS + 25*tH*uHC
2056 - 3*uHQ + 6*pow(mUS,3)*tHuH
2057 - pow(mUS,2)*(15*tHS + 2*tH*uH + 15*uHS)
2058 + 2*mUS*(6*tHC - 11*tHS*uH - 11*tH*uHS + 6*uHC)) );
2059 double G2 = -4*tHS*uHS*tHuH*( -10*pow2(mZS)*tHuH
2060 + 2*mZS*(3*tHS + 7*tH*uH + 3*uHS)
2061 + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
2064 double H0 = 24*pow(mZS,3)*tH*uH*pow2(-mUS + tHuH)
2065 - 6*pow(mZS,2)*tH*uH*( -9*pow(mUS,3) + 24*pow(mUS,2)*tHuH
2066 - mUS*(21*tHS + 38*tH*uH + 21*uHS)
2067 + 2*(3*tHC + 5*tHS*uH + 5*tH*uHS + 3*uHC) )
2068 - mZS*( 3*pow(mUS,4)*(tHS - 12*tH*uH + uHS)
2069 - 2*tH*uH*pow2(tHuH)*(6*tHS - 29*tH*uH + 6*uHS)
2070 - 6*pow(mUS,3)*(tHC - 16*tHS*uH - 16*tH*uHS + uHC)
2071 + 54*mUS*tH*uH*(tHC + tHS*uH + tH*uHS + uHC)
2072 + pow2(mUS)*(3*tHQ - 102*tHC*uH - 166*tHS*uHS
2073 - 102*tH*uHC + 3*uHQ) )
2074 + tH*uH*( 6*pow(mUS,5) - 18*pow(mUS,4)*tHuH
2075 - 12*pow(mUS,2)*pow(tHuH,3)
2076 + 3*pow(mUS,3)*(7*tHS + 12*tH*uH + 7*uHS)
2077 - 18*tH*uH*(tHC + 5*tHS*uH + 5*tH*uHS + uHC)
2078 + mUS*(3*tHQ + 32*tHC*uH + 78*tHS*uHS + 32*tH*uHC + 3*uHQ) );
2079 double H2 = 2*tHS*uHS*pow2(tHuH)*( -12*pow2(mZS) + 8*mZS*tHuH
2080 + 3*(tHS + 4*tH*uH + uHS) );
2083 eDsigma0 = A0*( F0 + 1/mUS*F2 + 1/pow2(mUS)*F4
2084 + eDratio*(G0 + 1/mUS*G2 + 1/pow2(mUS)*G4)
2085 + pow2(eDratio)*(H0 + 1/mUS*H2 + 1/pow2(mUS)*H4) );
2097 double Sigma2ffbar2LEDUnparticlegamma::sigmaHat() {
2100 int idAbs = abs(id1);
2101 double facEWS = 4 * M_PI * alpEM * coupSMPtr->ef2(idAbs);
2104 double tmpExp = eDdU - 2;
2105 double facSpect = pow(mUS, tmpExp);
2108 double sigma = eDconstantTerm * facEWS * facSpect * eDsigma0;
2111 if (idAbs < 9) sigma /= 3.;
2119 if (eDcutoff == 1) {
2120 if (sH > pow2(eDLambdaU) ) { sigma *= pow(eDLambdaU,4)/pow2(sH); }
2121 }
else if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2122 double tmPmu = sqrt(Q2RenSave);
2123 if (eDcutoff == 3) tmPmu = (sH + s4 - s3) / (2 * mH);
2124 double tmPformfact = tmPmu / (eDtff * eDLambdaU);
2125 double tmPexp = double(eDnGrav) + 2;
2126 sigma *= 1 / (1 + pow(tmPformfact, tmPexp));
2135 void Sigma2ffbar2LEDUnparticlegamma::setIdColAcol() {
2138 setId( id1, id2, eDidG, 22);
2141 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0);
2142 else setColAcol( 0, 0, 0, 0, 0, 0);
2143 if (id1 < 0) swapColAcol();
2155 void Sigma2ffbar2LEDgammagamma::initProc() {
2160 eDnGrav = mode(
"ExtraDimensionsLED:n");
2162 eDLambdaU = parm(
"ExtraDimensionsLED:LambdaT");
2164 eDnegInt = mode(
"ExtraDimensionsLED:NegInt");
2165 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
2166 eDtff = parm(
"ExtraDimensionsLED:t");
2168 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
2169 eDdU = parm(
"ExtraDimensionsUnpart:dU");
2170 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
2171 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
2177 eDlambda2chi = 4*M_PI;
2178 if (eDnegInt == 1) eDlambda2chi *= -1.;
2180 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2181 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2182 double tmPdUpi = eDdU * M_PI;
2183 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2188 if ( !(eDspin==0 || eDspin==2) ) {
2190 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDgammagamma::initProc: "
2191 "Incorrect spin value (turn process off)!");
2192 }
else if ( !eDgraviton && (eDdU >= 2)) {
2194 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDgammagamma::initProc: "
2195 "This process requires dU < 2 (turn process off)!");
2202 void Sigma2ffbar2LEDgammagamma::sigmaKin() {
2205 double sHS = pow2(sH);
2206 double sHQ = pow(sH, 4);
2207 double tHS = pow2(tH);
2208 double uHS = pow2(uH);
2211 double tmPeffLambdaU = eDLambdaU;
2212 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2213 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2214 double tmPexp = double(eDnGrav) + 2;
2215 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2216 tmPeffLambdaU *= pow(tmPformfact,0.25);
2222 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2223 double tmPexp = 2 * eDdU - 1;
2224 eDterm1 = pow(tmPsLambda2,tmPexp);
2227 eDterm1 = (uH / tH + tH / uH);
2229 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2230 double tmPexp = eDdU;
2231 eDterm2 = pow(tmPsLambda2,tmPexp) * (uHS + tHS) / sHS;
2234 eDterm3 = pow(tmPsLambda2,tmPexp) * tH * uH * (uHS + tHS) / sHQ;
2242 double Sigma2ffbar2LEDgammagamma::sigmaHat() {
2245 int idAbs = abs(id1);
2252 sigma = pow2(eDlambda2chi) * eDterm1 / 8;
2254 double tmPe2Q2 = 4 * M_PI * alpEM * coupSMPtr->ef2(idAbs);
2255 double tmPdUpi = eDdU * M_PI;
2256 sigma = pow2(tmPe2Q2) * eDterm1
2257 - tmPe2Q2 * eDlambda2chi * cos(tmPdUpi) * eDterm2
2258 + pow2(eDlambda2chi) * eDterm3 / 4;
2265 if (idAbs < 9) sigma /= 3.;
2272 void Sigma2ffbar2LEDgammagamma::setIdColAcol() {
2275 setId( id1, id2, 22, 22);
2278 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0, 0, 0);
2279 else setColAcol( 0, 0, 0, 0, 0, 0, 0, 0);
2280 if (id1 < 0) swapColAcol();
2292 void Sigma2gg2LEDgammagamma::initProc() {
2297 eDnGrav = mode(
"ExtraDimensionsLED:n");
2299 eDLambdaU = parm(
"ExtraDimensionsLED:LambdaT");
2301 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
2302 eDtff = parm(
"ExtraDimensionsLED:t");
2304 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
2305 eDdU = parm(
"ExtraDimensionsUnpart:dU");
2306 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
2307 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
2312 eDlambda2chi = 4 * M_PI;
2315 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2316 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2317 double tmPdUpi = eDdU * M_PI;
2318 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2322 if ( !(eDspin==0 || eDspin==2) ) {
2324 infoPtr->errorMsg(
"Error in Sigma2gg2LEDgammagamma::initProc: "
2325 "Incorrect spin value (turn process off)!");
2326 }
else if ( !eDgraviton && (eDdU >= 2)) {
2328 infoPtr->errorMsg(
"Error in Sigma2gg2LEDgammagamma::initProc: "
2329 "This process requires dU < 2 (turn process off)!");
2336 void Sigma2gg2LEDgammagamma::sigmaKin() {
2339 double sHS = pow2(sH);
2340 double sHQ = pow(sH, 4);
2341 double tHQ = pow(tH, 4);
2342 double uHQ = pow(uH, 4);
2345 double tmPeffLambdaU = eDLambdaU;
2346 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2347 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2348 double tmPexp = double(eDnGrav) + 2;
2349 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2350 tmPeffLambdaU *= pow(tmPformfact,0.25);
2355 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2356 double tmPexp = 2 * eDdU;
2357 eDsigma0 = pow(tmPsLambda2,tmPexp);
2359 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2360 double tmPexp = 2 * eDdU;
2361 eDsigma0 = pow(tmPsLambda2,tmPexp) * (uHQ + tHQ) / sHQ;
2371 double Sigma2gg2LEDgammagamma::sigmaHat() {
2376 double sigma = eDsigma0;
2378 sigma *= pow2(eDlambda2chi) / 256;
2380 sigma *= pow2(eDlambda2chi) / 32;
2391 void Sigma2gg2LEDgammagamma::setIdColAcol() {
2394 setId( 21, 21, 22, 22);
2397 setColAcol( 1, 2, 2, 1, 0, 0, 0, 0);
2410 void Sigma2ffbar2LEDllbar::initProc() {
2415 eDnGrav = mode(
"ExtraDimensionsLED:n");
2417 eDLambdaU = parm(
"ExtraDimensionsLED:LambdaT");
2419 eDnegInt = mode(
"ExtraDimensionsLED:NegInt");
2420 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
2421 eDtff = parm(
"ExtraDimensionsLED:t");
2423 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
2424 eDdU = parm(
"ExtraDimensionsUnpart:dU");
2425 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
2426 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
2427 eDnxx = mode(
"ExtraDimensionsUnpart:gXX");
2428 eDnxy = mode(
"ExtraDimensionsUnpart:gXY");
2432 eDmZ = particleDataPtr->m0(23);
2433 eDmZS = eDmZ * eDmZ;
2434 eDGZ = particleDataPtr->mWidth(23);
2435 eDGZS = eDGZ * eDGZ;
2439 eDlambda2chi = 4*M_PI;
2440 if (eDnegInt == 1) eDlambda2chi *= -1.;
2442 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2443 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2444 double tmPdUpi = eDdU * M_PI;
2445 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2450 if ( !(eDspin==1 || eDspin==2) ) {
2452 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDllbar::initProc: "
2453 "Incorrect spin value (turn process off)!");
2454 }
else if ( !eDgraviton && (eDdU >= 2)) {
2456 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDllbar::initProc: "
2457 "This process requires dU < 2 (turn process off)!");
2464 void Sigma2ffbar2LEDllbar::sigmaKin() {
2467 double tHS = pow2(tH);
2468 double uHS = pow2(uH);
2469 double tHC = pow(tH,3);
2470 double uHC = pow(uH,3);
2471 double tHQ = pow(tH,4);
2472 double uHQ = pow(uH,4);
2475 double tmPeffLambdaU = eDLambdaU;
2476 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2477 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2478 double tmPexp = double(eDnGrav) + 2;
2479 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2480 tmPeffLambdaU *= pow(tmPformfact,0.25);
2484 eDdenomPropZ = pow2(sH - eDmZS) + eDmZS * eDGZS;
2485 eDrePropZ = (sH - eDmZS) / eDdenomPropZ;
2486 eDimPropZ = -eDmZ * eDGZ / eDdenomPropZ;
2487 eDrePropGamma = 1 / sH;
2489 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2490 double tmPexp = eDdU - 2;
2491 eDabsMeU = eDlambda2chi * pow(tmPsLambda2,tmPexp)
2492 / pow2(tmPeffLambdaU);
2494 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2495 double tmPexp = eDdU - 2;
2496 double tmPA = -eDlambda2chi * pow(tmPsLambda2,tmPexp)
2497 / (8 * pow(tmPeffLambdaU,4));
2498 eDabsAS = pow2(tmPA);
2499 eDreA = tmPA * cos(M_PI * eDdU);
2500 eDreABW = tmPA * ((sH - eDmZS) * cos(M_PI * eDdU) + eDmZ * eDGZ
2501 * sin(M_PI * eDdU)) / eDdenomPropZ;
2502 eDpoly1 = tHQ + uHQ - 6*tHC*uH - 6*tH*uHC + 18*tHS*uHS;
2503 double tmPdiffUT = uH - tH;
2504 eDpoly2 = pow(tmPdiffUT,3);
2505 eDpoly3 = tHC - 3*tHS*uH - 3*tH*uHS + uHC;
2512 double Sigma2ffbar2LEDllbar::sigmaHat() {
2515 int idAbs = abs(id1);
2520 double tmPe2QfQl = 4 * M_PI * alpEM * coupSMPtr->ef(idAbs)
2521 * coupSMPtr->ef(11);
2522 double tmPgvq = 0.25 * coupSMPtr->vf(idAbs);
2523 double tmPgaq = 0.25 * coupSMPtr->af(idAbs);
2524 double tmPgLq = tmPgvq + tmPgaq;
2525 double tmPgRq = tmPgvq - tmPgaq;
2526 double tmPgvl = 0.25 * coupSMPtr->vf(11);
2527 double tmPgal = 0.25 * coupSMPtr->af(11);
2528 double tmPgLl = tmPgvl + tmPgal;
2529 double tmPgRl = tmPgvl - tmPgal;
2530 double tmPe2s2c2 = 4 * M_PI * alpEM
2531 / (coupSMPtr->sin2thetaW() * coupSMPtr->cos2thetaW());
2534 vector<double> tmPcoupZ;
2535 tmPcoupZ.push_back(tmPe2s2c2 * tmPgLq * tmPgLl);
2536 tmPcoupZ.push_back(tmPe2s2c2 * tmPgRq * tmPgRl);
2537 tmPcoupZ.push_back(tmPe2s2c2 * tmPgRq * tmPgLl);
2538 tmPcoupZ.push_back(tmPe2s2c2 * tmPgLq * tmPgRl);
2539 vector<double> tmPcoupU;
2542 tmPcoupU.push_back(-1);
2544 tmPcoupU.push_back(-1);
2545 }
else if (eDnxx == 2) {
2547 tmPcoupU.push_back(0);
2549 tmPcoupU.push_back(0);
2552 tmPcoupU.push_back(1);
2554 tmPcoupU.push_back(1);
2558 tmPcoupU.push_back(-1);
2560 tmPcoupU.push_back(-1);
2561 }
else if (eDnxy == 2) {
2563 tmPcoupU.push_back(0);
2565 tmPcoupU.push_back(0);
2568 tmPcoupU.push_back(1);
2570 tmPcoupU.push_back(1);
2577 for (
unsigned int i = 0; i<tmPcoupZ.size(); ++i) {
2578 double tmPMS = pow2(tmPcoupU[i] * eDabsMeU)
2579 + pow2(tmPe2QfQl * eDrePropGamma)
2580 + pow2(tmPcoupZ[i]) / eDdenomPropZ
2581 + 2 * cos(M_PI * eDdU) * tmPcoupU[i] * eDabsMeU
2582 * tmPe2QfQl * eDrePropGamma
2583 + 2 * cos(M_PI * eDdU) * tmPcoupU[i] * eDabsMeU
2584 * tmPcoupZ[i] * eDrePropZ
2585 + 2 * tmPe2QfQl * eDrePropGamma
2586 * tmPcoupZ[i] * eDrePropZ
2587 - 2 * sin(M_PI * eDdU) * tmPcoupU[i] * eDabsMeU
2588 * tmPcoupZ[i] * eDimPropZ;
2590 if (i<2) { tmPMES += 4 * pow2(uH) * tmPMS; }
2591 else if (i<4) { tmPMES += 4 * pow2(tH) * tmPMS; }
2596 for (
unsigned int i = 0; i<tmPcoupZ.size(); ++i) {
2597 double tmPMS = pow2(tmPe2QfQl * eDrePropGamma)
2598 + pow2(tmPcoupZ[i]) / eDdenomPropZ
2599 + 2 * tmPe2QfQl * eDrePropGamma * tmPcoupZ[i] * eDrePropZ;
2601 if (i<2) { tmPMES += 4 * pow2(uH) * tmPMS; }
2602 else if (i<4) { tmPMES += 4 * pow2(tH) * tmPMS; }
2604 tmPMES += 8 * eDabsAS * eDpoly1;
2605 tmPMES += 16 * tmPe2QfQl * eDrePropGamma * eDreA * eDpoly2;
2606 tmPMES += 16 * tmPe2s2c2 * eDreABW * (tmPgaq * tmPgal * eDpoly3
2607 + tmPgvq * tmPgvl * eDpoly2);
2612 double sigma = 0.25 * tmPMES;
2613 sigma /= 16 * M_PI * pow2(sH);
2616 if (idAbs < 9) sigma /= 3.;
2626 void Sigma2ffbar2LEDllbar::setIdColAcol() {
2628 double tmPrand = rndmPtr->flat();
2630 if (tmPrand < 0.33333333) { setId( id1, id2, 11, -11); }
2631 else if (tmPrand < 0.66666667) { setId( id1, id2, 13, -13); }
2632 else { setId( id1, id2, 15, -15); }
2638 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0, 0, 0);
2639 else setColAcol( 0, 0, 0, 0, 0, 0, 0, 0);
2640 if (id1 < 0) swapColAcol();
2652 void Sigma2gg2LEDllbar::initProc() {
2657 eDnGrav = mode(
"ExtraDimensionsLED:n");
2659 eDLambdaU = parm(
"ExtraDimensionsLED:LambdaT");
2661 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
2662 eDtff = parm(
"ExtraDimensionsLED:t");
2664 eDspin = mode(
"ExtraDimensionsUnpart:spinU");
2665 eDdU = parm(
"ExtraDimensionsUnpart:dU");
2666 eDLambdaU = parm(
"ExtraDimensionsUnpart:LambdaU");
2667 eDlambda = parm(
"ExtraDimensionsUnpart:lambda");
2672 eDlambda2chi = 4 * M_PI;
2675 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2676 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2677 double tmPdUpi = eDdU * M_PI;
2678 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2682 if ( !(eDspin==2) ) {
2684 infoPtr->errorMsg(
"Error in Sigma2gg2LEDllbar::initProc: "
2685 "Incorrect spin value (turn process off)!");
2686 }
else if ( !eDgraviton && (eDdU >= 2)) {
2688 infoPtr->errorMsg(
"Error in Sigma2gg2LEDllbar::initProc: "
2689 "This process requires dU < 2 (turn process off)!");
2696 void Sigma2gg2LEDllbar::sigmaKin() {
2699 double tmPeffLambdaU = eDLambdaU;
2700 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2701 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2702 double tmPexp = double(eDnGrav) + 2;
2703 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2704 tmPeffLambdaU *= pow(tmPformfact,0.25);
2708 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2709 double tmPexp = eDdU - 2;
2710 double tmPA = -eDlambda2chi * pow(tmPsLambda2,tmPexp)
2711 / (8 * pow(tmPeffLambdaU,4));
2712 eDsigma0 = 4 * pow2(tmPA) * uH * tH * (pow2(uH) + pow2(tH));
2715 eDsigma0 /= 16 * M_PI * pow2(sH);
2724 void Sigma2gg2LEDllbar::setIdColAcol() {
2726 double tmPrand = rndmPtr->flat();
2728 if (tmPrand < 0.33333333) { setId( 21, 21, 11, -11); }
2729 else if (tmPrand < 0.66666667) { setId( 21, 21, 13, -13); }
2730 else { setId( 21, 21, 15, -15); }
2733 setColAcol( 1, 2, 2, 1, 0, 0, 0, 0);
2746 void Sigma2gg2LEDgg::initProc() {
2749 eDopMode = mode(
"ExtraDimensionsLED:opMode");
2750 eDnGrav = mode(
"ExtraDimensionsLED:n");
2751 eDMD = parm(
"ExtraDimensionsLED:MD");
2752 eDLambdaT = parm(
"ExtraDimensionsLED:LambdaT");
2753 eDnegInt = mode(
"ExtraDimensionsLED:NegInt");
2754 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
2755 eDtff = parm(
"ExtraDimensionsLED:t");
2763 void Sigma2gg2LEDgg::sigmaKin() {
2769 if (eDopMode == 0) {
2770 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2771 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2772 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2775 double effLambda = eDLambdaT;
2776 if ((eDcutoff == 2) || (eDcutoff == 3)) {
2777 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
2778 double exp = double(eDnGrav) + 2.;
2779 double formfa = 1. + pow(ffterm, exp);
2780 effLambda *= pow(formfa,0.25);
2782 sS = 4.*M_PI/pow(effLambda,4);
2783 sT = 4.*M_PI/pow(effLambda,4);
2784 sU = 4.*M_PI/pow(effLambda,4);
2785 if (eDnegInt == 1) {
2793 double sH3 = sH*sH2;
2794 double tH3 = tH*tH2;
2795 double uH3 = uH*uH2;
2797 sigTS = (128. * pow2(M_PI) * pow2(alpS)) * (9./4.)
2798 * (tH2 / sH2 + 2. * tH / sH + 3. + 2. * sH / tH + sH2 / tH2)
2799 + 24.*M_PI*alpS*( (sH3/tH + tH2 + 3.*(sH*tH + sH2))*sS.real()
2800 + (tH3/sH + sH2 + 3.*(tH*sH + tH2))*sT.real())
2801 + pow2(uH2)*( 4.*real(sS*conj(sS)) + sS.real()*sT.real()
2802 + sS.imag()*sT.imag() + 4.*real(sT*conj(sT)));
2805 sigUS = (128. * pow2(M_PI) * pow2(alpS)) * (9./4.)
2806 * (uH2 / sH2 + 2. * uH / sH + 3. + 2. * sH / uH + sH2 / uH2)
2807 + 24.*M_PI*alpS*( (sH3/uH + uH2 + 3.*(sH*uH + sH2))*sS.real()
2808 + (uH3/sH + sH2 + 3.*(uH*sH + uH2))*sU.real())
2809 + pow2(tH2)*( 4.*real(sS*conj(sS)) + sS.real()*sU.real()
2810 + sS.imag()*sU.imag() + 4.*real(sU*conj(sU)));
2812 sigTU = (128. * pow2(M_PI) * pow2(alpS)) * (9./4.)
2813 * (tH2 / uH2 + 2. * tH / uH + 3. + 2. * uH / tH + uH2 / tH2)
2814 + 24.*M_PI*alpS*( (tH3/uH + uH2 + 3.*(tH*uH + tH2))*sT.real()
2815 + (uH3/tH + tH2 + 3.*(uH*tH + uH2))*sU.real())
2816 + pow2(sH2)*( 4.*real(sT*conj(sT)) + sT.real()*sU.real()
2817 + sT.imag()*sU.imag() + 4.*real(sU*conj(sU)));
2819 sigSum = sigTS + sigUS + sigTU;
2822 sigma = 0.5 * sigSum / (128. * M_PI * sH2);
2830 void Sigma2gg2LEDgg::setIdColAcol() {
2833 setId( id1, id2, 21, 21);
2836 double sigRand = sigSum * rndmPtr->flat();
2837 if (sigRand < sigTS) setColAcol( 1, 2, 2, 3, 1, 4, 4, 3);
2838 else if (sigRand < sigTS + sigUS)
2839 setColAcol( 1, 2, 3, 1, 3, 4, 4, 2);
2840 else setColAcol( 1, 2, 3, 4, 1, 4, 3, 2);
2841 if (rndmPtr->flat() > 0.5) swapColAcol();
2854 void Sigma2gg2LEDqqbar::initProc() {
2858 nQuarkNew = mode(
"ExtraDimensionsLED:nQuarkNew");
2859 eDopMode = mode(
"ExtraDimensionsLED:opMode");
2860 eDnGrav = mode(
"ExtraDimensionsLED:n");
2861 eDMD = parm(
"ExtraDimensionsLED:MD");
2862 eDLambdaT = parm(
"ExtraDimensionsLED:LambdaT");
2863 eDnegInt = mode(
"ExtraDimensionsLED:NegInt");
2864 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
2865 eDtff = parm(
"ExtraDimensionsLED:t");
2873 void Sigma2gg2LEDqqbar::sigmaKin() {
2879 if (eDopMode == 0) {
2880 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2881 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2882 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2885 double effLambda = eDLambdaT;
2886 if ((eDcutoff == 2) || (eDcutoff == 3)) {
2887 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
2888 double exp = double(eDnGrav) + 2.;
2889 double formfa = 1. + pow(ffterm, exp);
2890 effLambda *= pow(formfa,0.25);
2892 sS = 4.*M_PI/pow(effLambda,4);
2893 sT = 4.*M_PI/pow(effLambda,4);
2894 sU = 4.*M_PI/pow(effLambda,4);
2895 if (eDnegInt == 1) {
2903 idNew = 1 + int( nQuarkNew * rndmPtr->flat() );
2904 mNew = particleDataPtr->m0(idNew);
2910 if (sH > 4. * m2New) {
2911 double tH3 = tH*tH2;
2912 double uH3 = uH*uH2;
2913 sigTS = (16. * pow2(M_PI) * pow2(alpS))
2914 * ((1./6.) * uH / tH - (3./8.) * uH2 / sH2)
2915 - 0.5 * M_PI * alpS * uH2 * sS.real()
2916 + (3./16.) * uH3 * tH * real(sS*conj(sS));
2917 sigUS = (16. * pow2(M_PI) * pow2(alpS))
2918 * ((1./6.) * tH / uH - (3./8.) * tH2 / sH2)
2919 - 0.5 * M_PI * alpS * tH2 * sS.real()
2920 + (3./16.) * tH3 * uH * real(sS*conj(sS));
2922 sigSum = sigTS + sigUS;
2925 sigma = nQuarkNew * sigSum / (16. * M_PI * sH2);
2933 void Sigma2gg2LEDqqbar::setIdColAcol() {
2936 setId( id1, id2, idNew, -idNew);
2939 double sigRand = sigSum * rndmPtr->flat();
2940 if (sigRand < sigTS) setColAcol( 1, 2, 2, 3, 1, 0, 0, 3);
2941 else setColAcol( 1, 2, 3, 1, 3, 0, 0, 2);
2954 void Sigma2qg2LEDqg::initProc() {
2957 eDopMode = mode(
"ExtraDimensionsLED:opMode");
2958 eDnGrav = mode(
"ExtraDimensionsLED:n");
2959 eDMD = parm(
"ExtraDimensionsLED:MD");
2960 eDLambdaT = parm(
"ExtraDimensionsLED:LambdaT");
2961 eDnegInt = mode(
"ExtraDimensionsLED:NegInt");
2962 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
2963 eDtff = parm(
"ExtraDimensionsLED:t");
2971 void Sigma2qg2LEDqg::sigmaKin() {
2977 if (eDopMode == 0) {
2978 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2979 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2980 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2983 double effLambda = eDLambdaT;
2984 if ((eDcutoff == 2) || (eDcutoff == 3)) {
2985 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
2986 double exp = double(eDnGrav) + 2.;
2987 double formfa = 1. + pow(ffterm, exp);
2988 effLambda *= pow(formfa,0.25);
2990 sS = 4.*M_PI/pow(effLambda,4);
2991 sT = 4.*M_PI/pow(effLambda,4);
2992 sU = 4.*M_PI/pow(effLambda,4);
2993 if (eDnegInt == 1) {
3001 double sH3 = sH*sH2;
3002 double uH3 = uH*uH2;
3003 sigTS = (16. * pow2(M_PI) * pow2(alpS))
3004 * (uH2 / tH2 - (4./9.) * uH / sH)
3005 + (4./3.) * M_PI * alpS * uH2 * sT.real()
3006 - 0.5 * uH3 * sH * real(sT*conj(sT));
3007 sigTU = (16. * pow2(M_PI) * pow2(alpS))
3008 * (sH2 / tH2 - (4./9.) * sH / uH)
3009 + (4./3.) * M_PI * alpS * sH2 * sT.real()
3010 - 0.5 * sH3 * uH * real(sT*conj(sT));
3011 sigSum = sigTS + sigTU;
3014 sigma = sigSum / (16. * M_PI * sH2);
3022 void Sigma2qg2LEDqg::setIdColAcol() {
3025 setId( id1, id2, id1, id2);
3028 double sigRand = sigSum * rndmPtr->flat();
3029 if (sigRand < sigTS) setColAcol( 1, 0, 2, 1, 3, 0, 2, 3);
3030 else setColAcol( 1, 0, 2, 3, 2, 0, 1, 3);
3031 if (id1 == 21) swapCol1234();
3032 if (id1 < 0 || id2 < 0) swapColAcol();
3045 void Sigma2qq2LEDqq::initProc() {
3048 eDopMode = mode(
"ExtraDimensionsLED:opMode");
3049 eDnGrav = mode(
"ExtraDimensionsLED:n");
3050 eDMD = parm(
"ExtraDimensionsLED:MD");
3051 eDLambdaT = parm(
"ExtraDimensionsLED:LambdaT");
3052 eDnegInt = mode(
"ExtraDimensionsLED:NegInt");
3053 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
3054 eDtff = parm(
"ExtraDimensionsLED:t");
3062 void Sigma2qq2LEDqq::sigmaKin() {
3068 if (eDopMode == 0) {
3069 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3070 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3071 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3074 double effLambda = eDLambdaT;
3075 if ((eDcutoff == 2) || (eDcutoff == 3)) {
3076 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
3077 double exp = double(eDnGrav) + 2.;
3078 double formfa = 1. + pow(ffterm, exp);
3079 effLambda *= pow(formfa,0.25);
3081 sS = 4.*M_PI/pow(effLambda,4);
3082 sT = 4.*M_PI/pow(effLambda,4);
3083 sU = 4.*M_PI/pow(effLambda,4);
3084 if (eDnegInt == 1) {
3092 sigT = (4./9.) * (sH2 + uH2) / tH2;
3093 sigU = (4./9.) * (sH2 + tH2) / uH2;
3094 sigTU = - (8./27.) * sH2 / (tH * uH);
3095 sigST = - (8./27.) * uH2 / (sH * tH);
3097 sigGrT1 = funLedG(tH, uH) * real(sT*conj(sT)) / 8.;
3098 sigGrT2 = funLedG(tH, sH) * real(sT*conj(sT)) / 8.;
3099 sigGrU = funLedG(uH, tH) * real(sU*conj(sU)) / 8.;
3100 sigGrTU = (8./9.) * M_PI * alpS * sH2
3101 * ((4.*uH + tH)*sT.real()/uH + (4.*tH + uH)*sU.real()/tH)
3102 + (sT.real()*sU.real() + sT.imag()*sU.imag())
3103 * (4.*tH + uH)*(4.*uH + tH) * sH2 / 48.;
3104 sigGrST = (8./9.) * M_PI * alpS * uH2
3105 * ((4.*tH + sH)*sS.real()/tH + (4.*sH + tH)*sT.real()/sH)
3106 + (sS.real()*sT.real() + sS.imag()*sT.imag())
3107 * (4.*sH + tH)*(4.*tH + sH) * uH2 / 48.;
3115 double Sigma2qq2LEDqq::sigmaHat() {
3119 sigSum = (16. * pow2(M_PI) * pow2(alpS)) * (sigT + sigU + sigTU)
3120 + sigGrT1 + sigGrU + sigGrTU;
3122 }
else if (id2 == -id1) {
3123 sigSum = (16. * pow2(M_PI) * pow2(alpS)) * (sigT + sigST)
3124 + sigGrT2 + sigGrST;
3126 sigSum = 16. * pow2(M_PI) * pow2(alpS) * sigT + sigGrT1;
3130 return sigSum / (16. * M_PI * sH2);
3138 void Sigma2qq2LEDqq::setIdColAcol() {
3141 setId( id1, id2, id1, id2);
3144 double sigTtot = sigT + sigGrT2;
3145 double sigUtot = sigU + sigGrU;
3146 if (id1 * id2 > 0) setColAcol( 1, 0, 2, 0, 2, 0, 1, 0);
3147 else setColAcol( 1, 0, 0, 1, 2, 0, 0, 2);
3148 if (id2 == id1 && (sigTtot + sigUtot) * rndmPtr->flat() > sigTtot)
3149 setColAcol( 1, 0, 2, 0, 1, 0, 2, 0);
3150 if (id1 < 0) swapColAcol();
3163 void Sigma2qqbar2LEDgg::initProc() {
3166 eDopMode = mode(
"ExtraDimensionsLED:opMode");
3167 eDnGrav = mode(
"ExtraDimensionsLED:n");
3168 eDMD = parm(
"ExtraDimensionsLED:MD");
3169 eDLambdaT = parm(
"ExtraDimensionsLED:LambdaT");
3170 eDnegInt = mode(
"ExtraDimensionsLED:NegInt");
3171 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
3172 eDtff = parm(
"ExtraDimensionsLED:t");
3180 void Sigma2qqbar2LEDgg::sigmaKin() {
3186 if (eDopMode == 0) {
3187 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3188 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3189 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3192 double effLambda = eDLambdaT;
3193 if ((eDcutoff == 2) || (eDcutoff == 3)) {
3194 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
3195 double exp = double(eDnGrav) + 2.;
3196 double formfa = 1. + pow(ffterm, exp);
3197 effLambda *= pow(formfa,0.25);
3199 sS = 4.*M_PI/pow(effLambda,4);
3200 sT = 4.*M_PI/pow(effLambda,4);
3201 sU = 4.*M_PI/pow(effLambda,4);
3202 if (eDnegInt == 1) {
3210 double tH3 = tH*tH2;
3211 double uH3 = uH*uH2;
3212 sigTS = (16. * pow2(M_PI) * pow2(alpS))
3213 * ((1./6.) * uH / tH - (3./8.) * uH2 / sH2)
3214 - 0.5 * M_PI * alpS * uH2 * sS.real()
3215 + (3./16.) * uH3 * tH * real(sS*conj(sS));
3216 sigUS = (16. * pow2(M_PI) * pow2(alpS))
3217 * ((1./6.) * tH / uH - (3./8.) * tH2 / sH2)
3218 - 0.5 * M_PI * alpS * tH2 * sS.real()
3219 + (3./16.) * tH3 * uH * real(sS*conj(sS));
3221 sigSum = sigTS + sigUS;
3224 sigma = (64./9.) * 0.5 * sigSum / (16. * M_PI * sH2);
3232 void Sigma2qqbar2LEDgg::setIdColAcol() {
3235 setId( id1, id2, 21, 21);
3238 double sigRand = sigSum * rndmPtr->flat();
3239 if (sigRand < sigTS) setColAcol( 1, 0, 0, 2, 1, 3, 3, 2);
3240 else setColAcol( 1, 0, 0, 2, 3, 2, 1, 3);
3241 if (id1 < 0) swapColAcol();
3254 void Sigma2qqbar2LEDqqbarNew::initProc() {
3258 nQuarkNew = mode(
"ExtraDimensionsLED:nQuarkNew");
3259 eDopMode = mode(
"ExtraDimensionsLED:opMode");
3260 eDnGrav = mode(
"ExtraDimensionsLED:n");
3261 eDMD = parm(
"ExtraDimensionsLED:MD");
3262 eDLambdaT = parm(
"ExtraDimensionsLED:LambdaT");
3263 eDcutoff = mode(
"ExtraDimensionsLED:CutOffMode");
3264 eDtff = parm(
"ExtraDimensionsLED:t");
3272 void Sigma2qqbar2LEDqqbarNew::sigmaKin() {
3278 if (eDopMode == 0) {
3279 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3280 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3281 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3284 double effLambda = eDLambdaT;
3285 if ((eDcutoff == 2) || (eDcutoff == 3)) {
3286 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
3287 double exp = double(eDnGrav) + 2.;
3288 double formfa = 1. + pow(ffterm, exp);
3289 effLambda *= pow(formfa,0.25);
3291 sS = 4.*M_PI/pow(effLambda,4);
3292 sT = 4.*M_PI/pow(effLambda,4);
3293 sU = 4.*M_PI/pow(effLambda,4);
3297 idNew = 1 + int( nQuarkNew * rndmPtr->flat() );
3298 mNew = particleDataPtr->m0(idNew);
3303 if (sH > 4. * m2New) {
3304 sigS = (16. * pow2(M_PI) * pow2(alpS))
3305 * (4./9.) * (tH2 + uH2) / sH2
3306 + funLedG(sH, tH) * real(sS*conj(sS)) / 8.;
3309 sigma = nQuarkNew * sigS / (16. * M_PI * sH2);
3317 void Sigma2qqbar2LEDqqbarNew::setIdColAcol() {
3320 id3 = (id1 > 0) ? idNew : -idNew;
3321 setId( id1, id2, id3, -id3);
3324 setColAcol( 1, 0, 0, 2, 1, 0, 0, 2);
3325 if (id1 < 0) swapColAcol();