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(fabs(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(fabs(1 - 1/x)) - M_PI*I;
44 double rat = (sqrX + 1)/(sqrX - 1);
45 cS = log(fabs(rat))/sqrX - M_PI*I/sqrX;
48 double sqrX = sqrt(x);
49 if (
int(n) % 2 == 0) {
50 cS = -log(fabs(1 - 1/x));
52 double rat = (sqrX + 1)/(sqrX - 1);
53 cS = log(fabs(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 = settingsPtr->flag(
"ExtraDimensionsG*:SMinBulk");
107 if (eDsmbulk) eDvlvl = settingsPtr->flag(
"ExtraDimensionsG*:VLVL");
108 kappaMG = settingsPtr->parm(
"ExtraDimensionsG*:kappaMG");
109 for (
int i = 0; i < 27; ++i) eDcoupling[i] = 0.;
110 double tmPcoup = settingsPtr->parm(
"ExtraDimensionsG*:Gqq");
111 for (
int i = 1; i <= 4; ++i) eDcoupling[i] = tmPcoup;
112 eDcoupling[5] = settingsPtr->parm(
"ExtraDimensionsG*:Gbb");
113 eDcoupling[6] = settingsPtr->parm(
"ExtraDimensionsG*:Gtt");
114 tmPcoup = settingsPtr->parm(
"ExtraDimensionsG*:Gll");
115 for (
int i = 11; i <= 16; ++i) eDcoupling[i] = tmPcoup;
116 eDcoupling[21] = settingsPtr->parm(
"ExtraDimensionsG*:Ggg");
117 eDcoupling[22] = settingsPtr->parm(
"ExtraDimensionsG*:Ggmgm");
118 eDcoupling[23] = settingsPtr->parm(
"ExtraDimensionsG*:GZZ");
119 eDcoupling[24] = settingsPtr->parm(
"ExtraDimensionsG*:GWW");
120 eDcoupling[25] = settingsPtr->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 = settingsPtr->flag(
"ExtraDimensionsG*:SMinBulk");
256 if (eDsmbulk) eDvlvl = settingsPtr->flag(
"ExtraDimensionsG*:VLVL");
257 kappaMG = settingsPtr->parm(
"ExtraDimensionsG*:kappaMG");
258 for (
int i = 0; i < 27; ++i) eDcoupling[i] = 0.;
259 double tmPcoup = settingsPtr->parm(
"ExtraDimensionsG*:Gqq");
260 for (
int i = 1; i <= 4; ++i) eDcoupling[i] = tmPcoup;
261 eDcoupling[5] = settingsPtr->parm(
"ExtraDimensionsG*:Gbb");
262 eDcoupling[6] = settingsPtr->parm(
"ExtraDimensionsG*:Gtt");
263 tmPcoup = settingsPtr->parm(
"ExtraDimensionsG*:Gll");
264 for (
int i = 11; i <= 16; ++i) eDcoupling[i] = tmPcoup;
265 eDcoupling[21] = settingsPtr->parm(
"ExtraDimensionsG*:Ggg");
266 eDcoupling[22] = settingsPtr->parm(
"ExtraDimensionsG*:Ggmgm");
267 eDcoupling[23] = settingsPtr->parm(
"ExtraDimensionsG*:GZZ");
268 eDcoupling[24] = settingsPtr->parm(
"ExtraDimensionsG*:GWW");
269 eDcoupling[25] = settingsPtr->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 * sH / m2Res;
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 = settingsPtr->parm(
"ExtraDimensionsG*:KKgqL");
415 double tmPgR = settingsPtr->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 = settingsPtr->parm(
"ExtraDimensionsG*:KKgbL");
421 tmPgR = settingsPtr->parm(
"ExtraDimensionsG*:KKgbR");
422 eDgv[5] = 0.5 * (tmPgL + tmPgR); eDga[5] = 0.5 * (tmPgL - tmPgR);
423 tmPgL = settingsPtr->parm(
"ExtraDimensionsG*:KKgtL");
424 tmPgR = settingsPtr->parm(
"ExtraDimensionsG*:KKgtR");
425 eDgv[6] = 0.5 * (tmPgL + tmPgR); eDga[6] = 0.5 * (tmPgL - tmPgR);
426 interfMode = settingsPtr->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 = settingsPtr->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 = settingsPtr->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 = settingsPtr->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 = settingsPtr->mode(
"ExtraDimensionsTEV:gmZmode");
828 nexcitationmax = (int)settingsPtr->parm(
"ExtraDimensionsTEV:nMax");
839 wZ0 = particleDataPtr->mWidth(23);
840 mRes = particleDataPtr->m0(23);
844 mTop = particleDataPtr->m0(6);
849 mStar = (double)settingsPtr->parm(
"ExtraDimensionsTEV:mStar");
852 alphaemfixed = settingsPtr->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 * couplingsPtr->ef(i) * couplingsPtr->ef(i) * 3. );
869 wgmKKFactor += (alphaemfixed / 6.) * 4.
870 * couplingsPtr->ef(i) * couplingsPtr->ef(i);
876 gMinusF = ( couplingsPtr->t3f(idNew) - couplingsPtr->ef(idNew)
877 * couplingsPtr->sin2thetaW() )
878 / sqrt( couplingsPtr->sin2thetaW()*couplingsPtr->cos2thetaW() );
879 gPlusF = -1. * couplingsPtr->ef(idNew) * couplingsPtr->sin2thetaW()
880 / sqrt( couplingsPtr->sin2thetaW() * couplingsPtr->cos2thetaW() );
882 gMinusTop = ( couplingsPtr->t3f(6) - couplingsPtr->ef(6)
883 * couplingsPtr->sin2thetaW() )
884 / sqrt( couplingsPtr->sin2thetaW()*couplingsPtr->cos2thetaW() );
886 gPlusTop = -1. * couplingsPtr->ef(6) * couplingsPtr->sin2thetaW()
887 / sqrt( couplingsPtr->sin2thetaW() * couplingsPtr->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 = settingsPtr->parm(
"PhaseSpace:mHatMin");
917 phaseSpacemHatMax = settingsPtr->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 = ( couplingsPtr->t3f(idAbs) - couplingsPtr->ef(idAbs)
964 * couplingsPtr->sin2thetaW() )
965 / sqrt( couplingsPtr->sin2thetaW()*couplingsPtr->cos2thetaW() );
966 gPlusf = -1. * couplingsPtr->ef(idAbs)*couplingsPtr->sin2thetaW()
967 / sqrt( couplingsPtr->sin2thetaW()*couplingsPtr->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 = couplingsPtr->ef(idAbs)*couplingsPtr->ef(idNew)/sH;
992 resProp = gf*gF/( sH - m2Res + mI*sH*(wZ0/mRes) );
996 gammaProp = couplingsPtr->ef(idAbs)*couplingsPtr->ef(idNew)/sH;
1000 resProp = gf*gF/( sH - m2Res + mI*sH*(wZ0/mRes) );
1004 gammaProp = couplingsPtr->ef(idAbs)*couplingsPtr->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(couplingsPtr->ef(6))*(1.+2.*(m2Top/m2gmKKn));
1026 wgmKKn = wgmKKFactor*mgmKKn+ttbarwgmKKn;
1028 gmPropKK += (2.*couplingsPtr->ef(idAbs)*couplingsPtr->ef(idNew))
1029 / (sH-m2gmKKn+mI*sH*wgmKKn/mgmKKn);
1030 ZPropKK += (2.*gf*gF)/(sH-m2ZKKn+mI*sH*wZKKn/mZKKn );
1035 gammaProp = couplingsPtr->ef(idAbs)*couplingsPtr->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(couplingsPtr->ef(6))
1046 * (1.+2.*(m2Top/m2gmKKn));
1047 wgmKKn = wgmKKFactor*mgmKKn+ttbarwgmKKn;
1048 gmPropKK += (2.*couplingsPtr->ef(idAbs)*couplingsPtr->ef(idNew))
1049 / (sH-m2gmKKn+mI*sH*wgmKKn/mgmKKn);
1054 gammaProp = couplingsPtr->ef(idAbs)*couplingsPtr->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 = (settingsPtr->flag(
"ExtraDimensionsLED:GravScalar")) ? 0 : 2;
1149 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
1150 eDdU = 0.5 * eDnGrav + 1;
1151 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:MD");
1153 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
1154 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
1155 eDcf = settingsPtr->parm(
"ExtraDimensionsLED:c");
1157 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
1158 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
1159 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
1160 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
1161 eDcutoff = settingsPtr->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 = (settingsPtr->flag(
"ExtraDimensionsLED:GravScalar")) ? 0 : 2;
1312 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
1313 eDdU = 0.5 * eDnGrav + 1;
1314 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:MD");
1316 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
1317 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
1318 eDgf = settingsPtr->parm(
"ExtraDimensionsLED:g");
1319 eDcf = settingsPtr->parm(
"ExtraDimensionsLED:c");
1321 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
1322 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
1323 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
1324 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
1325 eDcutoff = settingsPtr->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 = (settingsPtr->flag(
"ExtraDimensionsLED:GravScalar")) ? 0 : 2;
1493 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
1494 eDdU = 0.5 * eDnGrav + 1;
1495 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:MD");
1497 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
1498 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
1499 eDgf = settingsPtr->parm(
"ExtraDimensionsLED:g");
1500 eDcf = settingsPtr->parm(
"ExtraDimensionsLED:c");
1502 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
1503 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
1504 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
1505 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
1506 eDcutoff = settingsPtr->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 = settingsPtr->mode(
"ExtraDimensionsLED:n");
1679 eDdU = 0.5 * eDnGrav + 1;
1680 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:MD");
1682 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
1683 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
1685 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
1686 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
1687 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
1688 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
1691 eDcutoff = settingsPtr->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;
1746 void Sigma2ffbar2LEDUnparticleZ::sigmaKin() {
1765 if ( eDspin == 0 ) {
1768 double T1 = - sH/tH - sH/uH;
1769 double T2 = - (1 - mZS/tH)*(1 - mUS/tH);
1770 double T3 = - (1 - mZS/uH)*(1 - mUS/uH);
1771 double T4 = 2*(1 - mUS/tH)*(1 - mUS/uH);
1773 eDsigma0 = A0 * ( T1 + T2 + T3 + T4);
1775 }
else if ( eDspin == 1 ) {
1778 double T1 = 0.5 * (tH/uH + uH/tH);
1779 double T2 = pow2(mZS + mUS)/(tH * uH);
1780 double T3 = - 0.5 * mUS * (mZS/tHS + mZS/uHS) ;
1781 double T4 = - (mZS+mUS)*(1/tH + 1/uH);
1783 eDsigma0 = A0 * ( T1 + T2 + T3 + T4 );
1785 }
else if ( eDspin == 2 ) {
1787 double A0 = 1 / ( sHS * uHS * tHS * pow2(sH-mZS) );
1788 double F0 = 2*tHS*uHS*( 16*pow(mZS,3) + mUS*(7*tHS + 12*tH*uH + 7*uHS)
1789 - 3*(3*tHC + 11*tHS*uH + 11*tH*uHS + 3*uHC)
1790 + 6*pow(mZS,2)*(7*mUS - 2*tHuH) + mZS*(14*pow(mUS,2)
1791 - 15*tHS - 44*tH*uH - 15*uHS + 2*mUS*tHuH) );
1792 double F2 = 2*tHS*uHS*tHuH*( -8*pow(mZS,2)*tHuH
1793 + 4*mZS*(tHS + 3*tH*uH + uHS)
1794 + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
1795 double F4 = -2*tHS*uHS*pow(tHuH,3)*(tHS + uHS - mZS*tHuH);
1797 double G0 = 4*tH*uH*( 6*pow(mZS,3)*(mUS - tH - uH)*tHuH
1798 + pow(mZS,2)*( 9*tHC + 7*tHS*uH + 7*tH*uHS + 9*uHC
1799 + 15*pow2(mUS)*tHuH - 2*mUS*(12*tHS + 19*tH*uH + 12*uHS) )
1800 + tH*uH*( 6*pow(mUS,3) - 9*pow(mUS,2)*tHuH - mUS*(tHS
1801 + 12*tH*uH + uHS) + 6*(tHC + 6*tHS*uH + 6*tH*uHS + uHC) )
1802 + mZS*(-3*tHQ + 25*tHC*uH + 58*tHS*uHS + 25*tH*uHC
1803 - 3*uHQ + 6*pow(mUS,3)*tHuH
1804 - pow(mUS,2)*(15*tHS + 2*tH*uH + 15*uHS) + 2*mUS*(6*tHC
1805 - 11*tHS*uH - 11*tH*uHS + 6*uHC)) );
1806 double G2 = -4*tHS*uHS*tHuH*( -10*pow2(mZS)*tHuH + 2*mZS*(3*tHS
1807 + 7*tH*uH + 3*uHS) + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
1810 double H0 = 24*pow(mZS,3)*tH*uH*pow2(-mUS + tHuH)
1811 - 6*pow(mZS,2)*tH*uH*( -9*pow(mUS,3) + 24*pow(mUS,2)*tHuH
1812 - mUS*(21*tHS + 38*tH*uH + 21*uHS)
1813 + 2*(3*tHC + 5*tHS*uH + 5*tH*uHS + 3*uHC) )
1814 - mZS*( 3*pow(mUS,4)*(tHS - 12*tH*uH + uHS)
1815 - 2*tH*uH*pow2(tHuH)*(6*tHS - 29*tH*uH + 6*uHS)
1816 - 6*pow(mUS,3)*(tHC - 16*tHS*uH - 16*tH*uHS + uHC)
1817 + 54*mUS*tH*uH*(tHC + tHS*uH + tH*uHS + uHC)
1818 + pow2(mUS)*(3*tHQ - 102*tHC*uH - 166*tHS*uHS
1819 - 102*tH*uHC + 3*uHQ) )
1820 + tH*uH*( 6*pow(mUS,5) - 18*pow(mUS,4)*tHuH
1821 - 12*pow(mUS,2)*pow(tHuH,3)
1822 + 3*pow(mUS,3)*(7*tHS + 12*tH*uH + 7*uHS)
1823 - 18*tH*uH*(tHC + 5*tHS*uH + 5*tH*uHS + uHC)
1824 + mUS*(3*tHQ + 32*tHC*uH + 78*tHS*uHS + 32*tH*uHC + 3*uHQ) );
1825 double H2 = 2*tHS*uHS*pow2(tHuH)*( -12*pow2(mZS) + 8*mZS*tHuH
1826 + 3*(tHS + 4*tH*uH + uHS) );
1829 eDsigma0 = A0*( F0 + 1/mUS*F2 + 1/pow2(mUS)*F4
1830 + eDratio*(G0 + 1/mUS*G2 + 1/pow2(mUS)*G4)
1831 + pow2(eDratio)*(H0 + 1/mUS*H2 + 1/pow2(mUS)*H4) );
1843 double Sigma2ffbar2LEDUnparticleZ::sigmaHat() {
1846 int idAbs = abs(id1);
1848 double facEWS = 4 * M_PI * alpEM
1849 / (couplingsPtr->sin2thetaW() * couplingsPtr->cos2thetaW())
1850 * ( 0.25 * 0.25 * couplingsPtr->vf2af2(idAbs) );
1853 double tmpExp = eDdU - 2;
1854 double facSpect = pow(mUS, tmpExp);
1857 double sigma = eDconstantTerm * facEWS * facSpect * eDsigma0;
1860 if (idAbs < 9) sigma /= 3.;
1868 if (eDcutoff == 1) {
1869 if (sH > pow2(eDLambdaU) ) { sigma *= pow(eDLambdaU,4)/pow2(sH); }
1870 }
else if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
1871 double tmPmu = sqrt(Q2RenSave);
1872 if (eDcutoff == 3) tmPmu = (sH + s4 - s3) / (2 * mH);
1873 double tmPformfact = tmPmu / (eDtff * eDLambdaU);
1874 double tmPexp = double(eDnGrav) + 2;
1875 sigma *= 1 / (1 + pow(tmPformfact, tmPexp));
1884 void Sigma2ffbar2LEDUnparticleZ::setIdColAcol() {
1887 setId( id1, id2, eDidG, 23);
1890 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0);
1891 else setColAcol( 0, 0, 0, 0, 0, 0);
1892 if (id1 < 0) swapColAcol();
1912 const double Sigma2ffbar2LEDUnparticlegamma::FIXRATIO = 1.;
1916 void Sigma2ffbar2LEDUnparticlegamma::initProc() {
1926 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
1927 eDdU = 0.5 * eDnGrav + 1;
1928 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:MD");
1930 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
1931 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
1933 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
1934 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
1935 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
1936 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
1939 eDcutoff = settingsPtr->mode(
"ExtraDimensionsUnpart:CutOffMode");
1943 mZ = particleDataPtr->m0(22);
1950 }
else if (eDgraviton) {
1953 eDlambdaPrime = eDlambda;
1955 eDlambdaPrime = eDratio * eDlambda;
1959 double tmpAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
1960 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
1963 tmpAdU = 2 * M_PI * sqrt( pow(M_PI,
double(eDnGrav)) )
1964 / GammaReal(0.5 * eDnGrav);
1968 double tmpTerm1 = 1/(2 * 16 * pow2(M_PI));
1969 double tmpLS = pow2(eDLambdaU);
1972 double tmpTerm2 = 0;
1973 if ( eDspin == 0 ) {
1974 tmpTerm2 = 2 * pow2(eDlambda);
1975 }
else if (eDspin == 1) {
1976 tmpTerm2 = 4 * pow2(eDlambda);
1977 }
else if (eDspin == 2) {
1978 tmpTerm2 = pow2(eDlambda)/(4 * 3 * tmpLS);
1982 double tmpExp2 = eDdU - 2;
1983 double tmpTerm3 = tmpAdU / (tmpLS * pow(tmpLS, tmpExp2));
1986 eDconstantTerm = tmpTerm1 * tmpTerm2 * tmpTerm3;
1992 void Sigma2ffbar2LEDUnparticlegamma::sigmaKin() {
2011 if ( eDspin == 0 ) {
2014 double T1 = - sH/tH - sH/uH;
2015 double T2 = - (1 - mZS/tH)*(1 - mUS/tH);
2016 double T3 = - (1 - mZS/uH)*(1 - mUS/uH);
2017 double T4 = 2*(1 - mUS/tH)*(1 - mUS/uH);
2019 eDsigma0 = A0 * ( T1 + T2 + T3 + T4);
2021 }
else if ( eDspin == 1 ) {
2024 double T1 = 0.5 * (tH/uH + uH/tH);
2025 double T2 = pow2(mZS + mUS)/(tH * uH);
2026 double T3 = - 0.5 * mUS * (mZS/tHS + mZS/uHS) ;
2027 double T4 = - (mZS+mUS)*(1/tH + 1/uH);
2029 eDsigma0 = A0 * ( T1 + T2 + T3 + T4 );
2031 }
else if ( eDspin == 2 ) {
2033 double A0 = 1 / ( sHS * uHS * tHS * pow2(sH-mZS) );
2034 double F0 = 2*tHS*uHS*( 16*pow(mZS,3) + mUS*(7*tHS + 12*tH*uH + 7*uHS)
2035 - 3*(3*tHC + 11*tHS*uH + 11*tH*uHS + 3*uHC)
2036 + 6*pow(mZS,2)*(7*mUS - 2*tHuH) + mZS*(14*pow(mUS,2)
2037 - 15*tHS - 44*tH*uH - 15*uHS + 2*mUS*tHuH) );
2038 double F2 = 2*tHS*uHS*tHuH*( -8*pow(mZS,2)*tHuH
2039 + 4*mZS*(tHS + 3*tH*uH + uHS)
2040 + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
2041 double F4 = -2*tHS*uHS*pow(tHuH,3)*(tHS + uHS - mZS*tHuH);
2043 double G0 = 4*tH*uH*( 6*pow(mZS,3)*(mUS - tH - uH)*tHuH
2044 + pow(mZS,2)*( 9*tHC + 7*tHS*uH + 7*tH*uHS + 9*uHC
2045 + 15*pow2(mUS)*tHuH - 2*mUS*(12*tHS + 19*tH*uH + 12*uHS) )
2046 + tH*uH*( 6*pow(mUS,3) - 9*pow(mUS,2)*tHuH
2047 - mUS*(tHS + 12*tH*uH + uHS)
2048 + 6*(tHC + 6*tHS*uH + 6*tH*uHS + uHC) )
2049 + mZS*(-3*tHQ + 25*tHC*uH + 58*tHS*uHS + 25*tH*uHC
2050 - 3*uHQ + 6*pow(mUS,3)*tHuH
2051 - pow(mUS,2)*(15*tHS + 2*tH*uH + 15*uHS)
2052 + 2*mUS*(6*tHC - 11*tHS*uH - 11*tH*uHS + 6*uHC)) );
2053 double G2 = -4*tHS*uHS*tHuH*( -10*pow2(mZS)*tHuH
2054 + 2*mZS*(3*tHS + 7*tH*uH + 3*uHS)
2055 + 3*(tHC + 5*tHS*uH + 5*tH*uHS + uHC) );
2058 double H0 = 24*pow(mZS,3)*tH*uH*pow2(-mUS + tHuH)
2059 - 6*pow(mZS,2)*tH*uH*( -9*pow(mUS,3) + 24*pow(mUS,2)*tHuH
2060 - mUS*(21*tHS + 38*tH*uH + 21*uHS)
2061 + 2*(3*tHC + 5*tHS*uH + 5*tH*uHS + 3*uHC) )
2062 - mZS*( 3*pow(mUS,4)*(tHS - 12*tH*uH + uHS)
2063 - 2*tH*uH*pow2(tHuH)*(6*tHS - 29*tH*uH + 6*uHS)
2064 - 6*pow(mUS,3)*(tHC - 16*tHS*uH - 16*tH*uHS + uHC)
2065 + 54*mUS*tH*uH*(tHC + tHS*uH + tH*uHS + uHC)
2066 + pow2(mUS)*(3*tHQ - 102*tHC*uH - 166*tHS*uHS
2067 - 102*tH*uHC + 3*uHQ) )
2068 + tH*uH*( 6*pow(mUS,5) - 18*pow(mUS,4)*tHuH
2069 - 12*pow(mUS,2)*pow(tHuH,3)
2070 + 3*pow(mUS,3)*(7*tHS + 12*tH*uH + 7*uHS)
2071 - 18*tH*uH*(tHC + 5*tHS*uH + 5*tH*uHS + uHC)
2072 + mUS*(3*tHQ + 32*tHC*uH + 78*tHS*uHS + 32*tH*uHC + 3*uHQ) );
2073 double H2 = 2*tHS*uHS*pow2(tHuH)*( -12*pow2(mZS) + 8*mZS*tHuH
2074 + 3*(tHS + 4*tH*uH + uHS) );
2077 eDsigma0 = A0*( F0 + 1/mUS*F2 + 1/pow2(mUS)*F4
2078 + eDratio*(G0 + 1/mUS*G2 + 1/pow2(mUS)*G4)
2079 + pow2(eDratio)*(H0 + 1/mUS*H2 + 1/pow2(mUS)*H4) );
2091 double Sigma2ffbar2LEDUnparticlegamma::sigmaHat() {
2094 int idAbs = abs(id1);
2095 double facEWS = 4 * M_PI * alpEM * couplingsPtr->ef2(idAbs);
2098 double tmpExp = eDdU - 2;
2099 double facSpect = pow(mUS, tmpExp);
2102 double sigma = eDconstantTerm * facEWS * facSpect * eDsigma0;
2105 if (idAbs < 9) sigma /= 3.;
2113 if (eDcutoff == 1) {
2114 if (sH > pow2(eDLambdaU) ) { sigma *= pow(eDLambdaU,4)/pow2(sH); }
2115 }
else if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2116 double tmPmu = sqrt(Q2RenSave);
2117 if (eDcutoff == 3) tmPmu = (sH + s4 - s3) / (2 * mH);
2118 double tmPformfact = tmPmu / (eDtff * eDLambdaU);
2119 double tmPexp = double(eDnGrav) + 2;
2120 sigma *= 1 / (1 + pow(tmPformfact, tmPexp));
2129 void Sigma2ffbar2LEDUnparticlegamma::setIdColAcol() {
2132 setId( id1, id2, eDidG, 22);
2135 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0);
2136 else setColAcol( 0, 0, 0, 0, 0, 0);
2137 if (id1 < 0) swapColAcol();
2149 void Sigma2ffbar2LEDgammagamma::initProc() {
2154 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
2156 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
2158 eDnegInt = settingsPtr->mode(
"ExtraDimensionsLED:NegInt");
2159 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
2160 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
2162 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
2163 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
2164 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
2165 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
2171 eDlambda2chi = 4*M_PI;
2172 if (eDnegInt == 1) eDlambda2chi *= -1.;
2174 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2175 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2176 double tmPdUpi = eDdU * M_PI;
2177 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2182 if ( !(eDspin==0 || eDspin==2) ) {
2184 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDgammagamma::initProc: "
2185 "Incorrect spin value (turn process off)!");
2186 }
else if ( !eDgraviton && (eDdU >= 2)) {
2188 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDgammagamma::initProc: "
2189 "This process requires dU < 2 (turn process off)!");
2196 void Sigma2ffbar2LEDgammagamma::sigmaKin() {
2199 double sHS = pow2(sH);
2200 double sHQ = pow(sH, 4);
2201 double tHS = pow2(tH);
2202 double uHS = pow2(uH);
2205 double tmPeffLambdaU = eDLambdaU;
2206 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2207 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2208 double tmPexp = double(eDnGrav) + 2;
2209 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2210 tmPeffLambdaU *= pow(tmPformfact,0.25);
2216 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2217 double tmPexp = 2 * eDdU - 1;
2218 eDterm1 = pow(tmPsLambda2,tmPexp);
2221 eDterm1 = (uH / tH + tH / uH);
2223 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2224 double tmPexp = eDdU;
2225 eDterm2 = pow(tmPsLambda2,tmPexp) * (uHS + tHS) / sHS;
2228 eDterm3 = pow(tmPsLambda2,tmPexp) * tH * uH * (uHS + tHS) / sHQ;
2236 double Sigma2ffbar2LEDgammagamma::sigmaHat() {
2239 int idAbs = abs(id1);
2246 sigma = pow2(eDlambda2chi) * eDterm1 / 8;
2248 double tmPe2Q2 = 4 * M_PI * alpEM * couplingsPtr->ef2(idAbs);
2249 double tmPdUpi = eDdU * M_PI;
2250 sigma = pow2(tmPe2Q2) * eDterm1
2251 - tmPe2Q2 * eDlambda2chi * cos(tmPdUpi) * eDterm2
2252 + pow2(eDlambda2chi) * eDterm3 / 4;
2259 if (idAbs < 9) sigma /= 3.;
2266 void Sigma2ffbar2LEDgammagamma::setIdColAcol() {
2269 setId( id1, id2, 22, 22);
2272 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0, 0, 0);
2273 else setColAcol( 0, 0, 0, 0, 0, 0, 0, 0);
2274 if (id1 < 0) swapColAcol();
2286 void Sigma2gg2LEDgammagamma::initProc() {
2291 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
2293 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
2295 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
2296 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
2298 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
2299 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
2300 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
2301 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
2306 eDlambda2chi = 4 * M_PI;
2309 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2310 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2311 double tmPdUpi = eDdU * M_PI;
2312 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2316 if ( !(eDspin==0 || eDspin==2) ) {
2318 infoPtr->errorMsg(
"Error in Sigma2gg2LEDgammagamma::initProc: "
2319 "Incorrect spin value (turn process off)!");
2320 }
else if ( !eDgraviton && (eDdU >= 2)) {
2322 infoPtr->errorMsg(
"Error in Sigma2gg2LEDgammagamma::initProc: "
2323 "This process requires dU < 2 (turn process off)!");
2330 void Sigma2gg2LEDgammagamma::sigmaKin() {
2333 double sHS = pow2(sH);
2334 double sHQ = pow(sH, 4);
2335 double tHQ = pow(tH, 4);
2336 double uHQ = pow(uH, 4);
2339 double tmPeffLambdaU = eDLambdaU;
2340 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2341 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2342 double tmPexp = double(eDnGrav) + 2;
2343 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2344 tmPeffLambdaU *= pow(tmPformfact,0.25);
2349 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2350 double tmPexp = 2 * eDdU;
2351 eDsigma0 = pow(tmPsLambda2,tmPexp);
2353 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2354 double tmPexp = 2 * eDdU;
2355 eDsigma0 = pow(tmPsLambda2,tmPexp) * (uHQ + tHQ) / sHQ;
2365 double Sigma2gg2LEDgammagamma::sigmaHat() {
2370 double sigma = eDsigma0;
2372 sigma *= pow2(eDlambda2chi) / 256;
2374 sigma *= pow2(eDlambda2chi) / 32;
2385 void Sigma2gg2LEDgammagamma::setIdColAcol() {
2388 setId( 21, 21, 22, 22);
2391 setColAcol( 1, 2, 2, 1, 0, 0, 0, 0);
2404 void Sigma2ffbar2LEDllbar::initProc() {
2409 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
2411 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
2413 eDnegInt = settingsPtr->mode(
"ExtraDimensionsLED:NegInt");
2414 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
2415 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
2417 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
2418 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
2419 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
2420 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
2421 eDnxx = settingsPtr->mode(
"ExtraDimensionsUnpart:gXX");
2422 eDnxy = settingsPtr->mode(
"ExtraDimensionsUnpart:gXY");
2426 eDmZ = particleDataPtr->m0(23);
2427 eDmZS = eDmZ * eDmZ;
2428 eDGZ = particleDataPtr->mWidth(23);
2429 eDGZS = eDGZ * eDGZ;
2433 eDlambda2chi = 4*M_PI;
2434 if (eDnegInt == 1) eDlambda2chi *= -1.;
2436 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2437 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2438 double tmPdUpi = eDdU * M_PI;
2439 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2444 if ( !(eDspin==1 || eDspin==2) ) {
2446 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDllbar::initProc: "
2447 "Incorrect spin value (turn process off)!");
2448 }
else if ( !eDgraviton && (eDdU >= 2)) {
2450 infoPtr->errorMsg(
"Error in Sigma2ffbar2LEDllbar::initProc: "
2451 "This process requires dU < 2 (turn process off)!");
2458 void Sigma2ffbar2LEDllbar::sigmaKin() {
2461 double tHS = pow2(tH);
2462 double uHS = pow2(uH);
2463 double tHC = pow(tH,3);
2464 double uHC = pow(uH,3);
2465 double tHQ = pow(tH,4);
2466 double uHQ = pow(uH,4);
2469 double tmPeffLambdaU = eDLambdaU;
2470 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2471 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2472 double tmPexp = double(eDnGrav) + 2;
2473 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2474 tmPeffLambdaU *= pow(tmPformfact,0.25);
2478 eDdenomPropZ = pow2(sH - eDmZS) + eDmZS * eDGZS;
2479 eDrePropZ = (sH - eDmZS) / eDdenomPropZ;
2480 eDimPropZ = -eDmZ * eDGZ / eDdenomPropZ;
2481 eDrePropGamma = 1 / sH;
2483 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2484 double tmPexp = eDdU - 2;
2485 eDabsMeU = eDlambda2chi * pow(tmPsLambda2,tmPexp)
2486 / pow2(tmPeffLambdaU);
2488 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2489 double tmPexp = eDdU - 2;
2490 double tmPA = -eDlambda2chi * pow(tmPsLambda2,tmPexp)
2491 / (8 * pow(tmPeffLambdaU,4));
2492 eDabsAS = pow2(tmPA);
2493 eDreA = tmPA * cos(M_PI * eDdU);
2494 eDreABW = tmPA * ((sH - eDmZS) * cos(M_PI * eDdU) + eDmZ * eDGZ
2495 * sin(M_PI * eDdU)) / eDdenomPropZ;
2496 eDpoly1 = tHQ + uHQ - 6*tHC*uH - 6*tH*uHC + 18*tHS*uHS;
2497 double tmPdiffUT = uH - tH;
2498 eDpoly2 = pow(tmPdiffUT,3);
2499 eDpoly3 = tHC - 3*tHS*uH - 3*tH*uHS + uHC;
2506 double Sigma2ffbar2LEDllbar::sigmaHat() {
2509 int idAbs = abs(id1);
2514 double tmPe2QfQl = 4 * M_PI * alpEM * couplingsPtr->ef(idAbs)
2515 * couplingsPtr->ef(11);
2516 double tmPgvq = 0.25 * couplingsPtr->vf(idAbs);
2517 double tmPgaq = 0.25 * couplingsPtr->af(idAbs);
2518 double tmPgLq = tmPgvq + tmPgaq;
2519 double tmPgRq = tmPgvq - tmPgaq;
2520 double tmPgvl = 0.25 * couplingsPtr->vf(11);
2521 double tmPgal = 0.25 * couplingsPtr->af(11);
2522 double tmPgLl = tmPgvl + tmPgal;
2523 double tmPgRl = tmPgvl - tmPgal;
2524 double tmPe2s2c2 = 4 * M_PI * alpEM
2525 / (couplingsPtr->sin2thetaW() * couplingsPtr->cos2thetaW());
2528 vector<double> tmPcoupZ;
2529 tmPcoupZ.push_back(tmPe2s2c2 * tmPgLq * tmPgLl);
2530 tmPcoupZ.push_back(tmPe2s2c2 * tmPgRq * tmPgRl);
2531 tmPcoupZ.push_back(tmPe2s2c2 * tmPgRq * tmPgLl);
2532 tmPcoupZ.push_back(tmPe2s2c2 * tmPgLq * tmPgRl);
2533 vector<double> tmPcoupU;
2536 tmPcoupU.push_back(-1);
2538 tmPcoupU.push_back(-1);
2539 }
else if (eDnxx == 2) {
2541 tmPcoupU.push_back(0);
2543 tmPcoupU.push_back(0);
2546 tmPcoupU.push_back(1);
2548 tmPcoupU.push_back(1);
2552 tmPcoupU.push_back(-1);
2554 tmPcoupU.push_back(-1);
2555 }
else if (eDnxy == 2) {
2557 tmPcoupU.push_back(0);
2559 tmPcoupU.push_back(0);
2562 tmPcoupU.push_back(1);
2564 tmPcoupU.push_back(1);
2571 for (
unsigned int i = 0; i<tmPcoupZ.size(); ++i) {
2572 double tmPMS = pow2(tmPcoupU[i] * eDabsMeU)
2573 + pow2(tmPe2QfQl * eDrePropGamma)
2574 + pow2(tmPcoupZ[i]) / eDdenomPropZ
2575 + 2 * cos(M_PI * eDdU) * tmPcoupU[i] * eDabsMeU
2576 * tmPe2QfQl * eDrePropGamma
2577 + 2 * cos(M_PI * eDdU) * tmPcoupU[i] * eDabsMeU
2578 * tmPcoupZ[i] * eDrePropZ
2579 + 2 * tmPe2QfQl * eDrePropGamma
2580 * tmPcoupZ[i] * eDrePropZ
2581 - 2 * sin(M_PI * eDdU) * tmPcoupU[i] * eDabsMeU
2582 * tmPcoupZ[i] * eDimPropZ;
2584 if (i<2) { tmPMES += 4 * pow2(uH) * tmPMS; }
2585 else if (i<4) { tmPMES += 4 * pow2(tH) * tmPMS; }
2590 for (
unsigned int i = 0; i<tmPcoupZ.size(); ++i) {
2591 double tmPMS = pow2(tmPe2QfQl * eDrePropGamma)
2592 + pow2(tmPcoupZ[i]) / eDdenomPropZ
2593 + 2 * tmPe2QfQl * eDrePropGamma * tmPcoupZ[i] * eDrePropZ;
2595 if (i<2) { tmPMES += 4 * pow2(uH) * tmPMS; }
2596 else if (i<4) { tmPMES += 4 * pow2(tH) * tmPMS; }
2598 tmPMES += 8 * eDabsAS * eDpoly1;
2599 tmPMES += 16 * tmPe2QfQl * eDrePropGamma * eDreA * eDpoly2;
2600 tmPMES += 16 * tmPe2s2c2 * eDreABW * (tmPgaq * tmPgal * eDpoly3
2601 + tmPgvq * tmPgvl * eDpoly2);
2606 double sigma = 0.25 * tmPMES;
2607 sigma /= 16 * M_PI * pow2(sH);
2610 if (idAbs < 9) sigma /= 3.;
2620 void Sigma2ffbar2LEDllbar::setIdColAcol() {
2622 double tmPrand = rndmPtr->flat();
2624 if (tmPrand < 0.33333333) { setId( id1, id2, 11, -11); }
2625 else if (tmPrand < 0.66666667) { setId( id1, id2, 13, -13); }
2626 else { setId( id1, id2, 15, -15); }
2632 if (abs(id1) < 9) setColAcol( 1, 0, 0, 1, 0, 0, 0, 0);
2633 else setColAcol( 0, 0, 0, 0, 0, 0, 0, 0);
2634 if (id1 < 0) swapColAcol();
2646 void Sigma2gg2LEDllbar::initProc() {
2651 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
2653 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
2655 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
2656 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
2658 eDspin = settingsPtr->mode(
"ExtraDimensionsUnpart:spinU");
2659 eDdU = settingsPtr->parm(
"ExtraDimensionsUnpart:dU");
2660 eDLambdaU = settingsPtr->parm(
"ExtraDimensionsUnpart:LambdaU");
2661 eDlambda = settingsPtr->parm(
"ExtraDimensionsUnpart:lambda");
2666 eDlambda2chi = 4 * M_PI;
2669 double tmPAdU = 16 * pow2(M_PI) * sqrt(M_PI) / pow(2. * M_PI, 2. * eDdU)
2670 * GammaReal(eDdU + 0.5) / (GammaReal(eDdU - 1.) * GammaReal(2. * eDdU));
2671 double tmPdUpi = eDdU * M_PI;
2672 eDlambda2chi = pow2(eDlambda) * tmPAdU / (2 * sin(tmPdUpi));
2676 if ( !(eDspin==2) ) {
2678 infoPtr->errorMsg(
"Error in Sigma2gg2LEDllbar::initProc: "
2679 "Incorrect spin value (turn process off)!");
2680 }
else if ( !eDgraviton && (eDdU >= 2)) {
2682 infoPtr->errorMsg(
"Error in Sigma2gg2LEDllbar::initProc: "
2683 "This process requires dU < 2 (turn process off)!");
2690 void Sigma2gg2LEDllbar::sigmaKin() {
2693 double tmPeffLambdaU = eDLambdaU;
2694 if (eDgraviton && ((eDcutoff == 2) || (eDcutoff == 3))) {
2695 double tmPffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaU);
2696 double tmPexp = double(eDnGrav) + 2;
2697 double tmPformfact = 1 + pow(tmPffterm, tmPexp);
2698 tmPeffLambdaU *= pow(tmPformfact,0.25);
2702 double tmPsLambda2 = sH / pow2(tmPeffLambdaU);
2703 double tmPexp = eDdU - 2;
2704 double tmPA = -eDlambda2chi * pow(tmPsLambda2,tmPexp)
2705 / (8 * pow(tmPeffLambdaU,4));
2706 eDsigma0 = 4 * pow2(tmPA) * uH * tH * (pow2(uH) + pow2(tH));
2709 eDsigma0 /= 16 * M_PI * pow2(sH);
2718 void Sigma2gg2LEDllbar::setIdColAcol() {
2720 double tmPrand = rndmPtr->flat();
2722 if (tmPrand < 0.33333333) { setId( 21, 21, 11, -11); }
2723 else if (tmPrand < 0.66666667) { setId( 21, 21, 13, -13); }
2724 else { setId( 21, 21, 15, -15); }
2727 setColAcol( 1, 2, 2, 1, 0, 0, 0, 0);
2740 void Sigma2gg2LEDgg::initProc() {
2743 eDopMode = settingsPtr->mode(
"ExtraDimensionsLED:opMode");
2744 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
2745 eDMD = settingsPtr->parm(
"ExtraDimensionsLED:MD");
2746 eDLambdaT = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
2747 eDnegInt = settingsPtr->mode(
"ExtraDimensionsLED:NegInt");
2748 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
2749 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
2757 void Sigma2gg2LEDgg::sigmaKin() {
2763 if (eDopMode == 0) {
2764 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2765 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2766 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2769 double effLambda = eDLambdaT;
2770 if ((eDcutoff == 2) || (eDcutoff == 3)) {
2771 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
2772 double exp = double(eDnGrav) + 2.;
2773 double formfa = 1. + pow(ffterm, exp);
2774 effLambda *= pow(formfa,0.25);
2776 sS = 4.*M_PI/pow(effLambda,4);
2777 sT = 4.*M_PI/pow(effLambda,4);
2778 sU = 4.*M_PI/pow(effLambda,4);
2779 if (eDnegInt == 1) {
2787 double sH3 = sH*sH2;
2788 double tH3 = tH*tH2;
2789 double uH3 = uH*uH2;
2791 sigTS = (128. * pow2(M_PI) * pow2(alpS)) * (9./4.)
2792 * (tH2 / sH2 + 2. * tH / sH + 3. + 2. * sH / tH + sH2 / tH2)
2793 + 24.*M_PI*alpS*( (sH3/tH + tH2 + 3.*(sH*tH + sH2))*sS.real()
2794 + (tH3/sH + sH2 + 3.*(tH*sH + tH2))*sT.real())
2795 + pow2(uH2)*( 4.*real(sS*conj(sS)) + sS.real()*sT.real()
2796 + sS.imag()*sT.imag() + 4.*real(sT*conj(sT)));
2799 sigUS = (128. * pow2(M_PI) * pow2(alpS)) * (9./4.)
2800 * (uH2 / sH2 + 2. * uH / sH + 3. + 2. * sH / uH + sH2 / uH2)
2801 + 24.*M_PI*alpS*( (sH3/uH + uH2 + 3.*(sH*uH + sH2))*sS.real()
2802 + (uH3/sH + sH2 + 3.*(uH*sH + uH2))*sU.real())
2803 + pow2(tH2)*( 4.*real(sS*conj(sS)) + sS.real()*sU.real()
2804 + sS.imag()*sU.imag() + 4.*real(sU*conj(sU)));
2806 sigTU = (128. * pow2(M_PI) * pow2(alpS)) * (9./4.)
2807 * (tH2 / uH2 + 2. * tH / uH + 3. + 2. * uH / tH + uH2 / tH2)
2808 + 24.*M_PI*alpS*( (tH3/uH + uH2 + 3.*(tH*uH + tH2))*sT.real()
2809 + (uH3/tH + tH2 + 3.*(uH*tH + uH2))*sU.real())
2810 + pow2(sH2)*( 4.*real(sT*conj(sT)) + sT.real()*sU.real()
2811 + sT.imag()*sU.imag() + 4.*real(sU*conj(sU)));
2813 sigSum = sigTS + sigUS + sigTU;
2816 sigma = 0.5 * sigSum / (128. * M_PI * sH2);
2824 void Sigma2gg2LEDgg::setIdColAcol() {
2827 setId( id1, id2, 21, 21);
2830 double sigRand = sigSum * rndmPtr->flat();
2831 if (sigRand < sigTS) setColAcol( 1, 2, 2, 3, 1, 4, 4, 3);
2832 else if (sigRand < sigTS + sigUS)
2833 setColAcol( 1, 2, 3, 1, 3, 4, 4, 2);
2834 else setColAcol( 1, 2, 3, 4, 1, 4, 3, 2);
2835 if (rndmPtr->flat() > 0.5) swapColAcol();
2848 void Sigma2gg2LEDqqbar::initProc() {
2852 nQuarkNew = settingsPtr->mode(
"ExtraDimensionsLED:nQuarkNew");
2853 eDopMode = settingsPtr->mode(
"ExtraDimensionsLED:opMode");
2854 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
2855 eDMD = settingsPtr->parm(
"ExtraDimensionsLED:MD");
2856 eDLambdaT = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
2857 eDnegInt = settingsPtr->mode(
"ExtraDimensionsLED:NegInt");
2858 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
2859 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
2867 void Sigma2gg2LEDqqbar::sigmaKin() {
2873 if (eDopMode == 0) {
2874 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2875 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2876 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2879 double effLambda = eDLambdaT;
2880 if ((eDcutoff == 2) || (eDcutoff == 3)) {
2881 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
2882 double exp = double(eDnGrav) + 2.;
2883 double formfa = 1. + pow(ffterm, exp);
2884 effLambda *= pow(formfa,0.25);
2886 sS = 4.*M_PI/pow(effLambda,4);
2887 sT = 4.*M_PI/pow(effLambda,4);
2888 sU = 4.*M_PI/pow(effLambda,4);
2889 if (eDnegInt == 1) {
2897 idNew = 1 + int( nQuarkNew * rndmPtr->flat() );
2898 mNew = particleDataPtr->m0(idNew);
2904 if (sH > 4. * m2New) {
2905 double tH3 = tH*tH2;
2906 double uH3 = uH*uH2;
2907 sigTS = (16. * pow2(M_PI) * pow2(alpS))
2908 * ((1./6.) * uH / tH - (3./8.) * uH2 / sH2)
2909 - 0.5 * M_PI * alpS * uH2 * sS.real()
2910 + (3./16.) * uH3 * tH * real(sS*conj(sS));
2911 sigUS = (16. * pow2(M_PI) * pow2(alpS))
2912 * ((1./6.) * tH / uH - (3./8.) * tH2 / sH2)
2913 - 0.5 * M_PI * alpS * tH2 * sS.real()
2914 + (3./16.) * tH3 * uH * real(sS*conj(sS));
2916 sigSum = sigTS + sigUS;
2919 sigma = nQuarkNew * sigSum / (16. * M_PI * sH2);
2927 void Sigma2gg2LEDqqbar::setIdColAcol() {
2930 setId( id1, id2, idNew, -idNew);
2933 double sigRand = sigSum * rndmPtr->flat();
2934 if (sigRand < sigTS) setColAcol( 1, 2, 2, 3, 1, 0, 0, 3);
2935 else setColAcol( 1, 2, 3, 1, 3, 0, 0, 2);
2948 void Sigma2qg2LEDqg::initProc() {
2951 eDopMode = settingsPtr->mode(
"ExtraDimensionsLED:opMode");
2952 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
2953 eDMD = settingsPtr->parm(
"ExtraDimensionsLED:MD");
2954 eDLambdaT = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
2955 eDnegInt = settingsPtr->mode(
"ExtraDimensionsLED:NegInt");
2956 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
2957 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
2965 void Sigma2qg2LEDqg::sigmaKin() {
2971 if (eDopMode == 0) {
2972 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2973 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2974 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
2977 double effLambda = eDLambdaT;
2978 if ((eDcutoff == 2) || (eDcutoff == 3)) {
2979 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
2980 double exp = double(eDnGrav) + 2.;
2981 double formfa = 1. + pow(ffterm, exp);
2982 effLambda *= pow(formfa,0.25);
2984 sS = 4.*M_PI/pow(effLambda,4);
2985 sT = 4.*M_PI/pow(effLambda,4);
2986 sU = 4.*M_PI/pow(effLambda,4);
2987 if (eDnegInt == 1) {
2995 double sH3 = sH*sH2;
2996 double uH3 = uH*uH2;
2997 sigTS = (16. * pow2(M_PI) * pow2(alpS))
2998 * (uH2 / tH2 - (4./9.) * uH / sH)
2999 + (4./3.) * M_PI * alpS * uH2 * sT.real()
3000 - 0.5 * uH3 * sH * real(sT*conj(sT));
3001 sigTU = (16. * pow2(M_PI) * pow2(alpS))
3002 * (sH2 / tH2 - (4./9.) * sH / uH)
3003 + (4./3.) * M_PI * alpS * sH2 * sT.real()
3004 - 0.5 * sH3 * uH * real(sT*conj(sT));
3005 sigSum = sigTS + sigTU;
3008 sigma = sigSum / (16. * M_PI * sH2);
3016 void Sigma2qg2LEDqg::setIdColAcol() {
3019 setId( id1, id2, id1, id2);
3022 double sigRand = sigSum * rndmPtr->flat();
3023 if (sigRand < sigTS) setColAcol( 1, 0, 2, 1, 3, 0, 2, 3);
3024 else setColAcol( 1, 0, 2, 3, 2, 0, 1, 3);
3025 if (id1 == 21) swapCol1234();
3026 if (id1 < 0 || id2 < 0) swapColAcol();
3039 void Sigma2qq2LEDqq::initProc() {
3042 eDopMode = settingsPtr->mode(
"ExtraDimensionsLED:opMode");
3043 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
3044 eDMD = settingsPtr->parm(
"ExtraDimensionsLED:MD");
3045 eDLambdaT = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
3046 eDnegInt = settingsPtr->mode(
"ExtraDimensionsLED:NegInt");
3047 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
3048 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
3056 void Sigma2qq2LEDqq::sigmaKin() {
3062 if (eDopMode == 0) {
3063 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3064 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3065 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3068 double effLambda = eDLambdaT;
3069 if ((eDcutoff == 2) || (eDcutoff == 3)) {
3070 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
3071 double exp = double(eDnGrav) + 2.;
3072 double formfa = 1. + pow(ffterm, exp);
3073 effLambda *= pow(formfa,0.25);
3075 sS = 4.*M_PI/pow(effLambda,4);
3076 sT = 4.*M_PI/pow(effLambda,4);
3077 sU = 4.*M_PI/pow(effLambda,4);
3078 if (eDnegInt == 1) {
3086 sigT = (4./9.) * (sH2 + uH2) / tH2;
3087 sigU = (4./9.) * (sH2 + tH2) / uH2;
3088 sigTU = - (8./27.) * sH2 / (tH * uH);
3089 sigST = - (8./27.) * uH2 / (sH * tH);
3091 sigGrT1 = funLedG(tH, uH) * real(sT*conj(sT)) / 8.;
3092 sigGrT2 = funLedG(tH, sH) * real(sT*conj(sT)) / 8.;
3093 sigGrU = funLedG(uH, tH) * real(sU*conj(sU)) / 8.;
3094 sigGrTU = (8./9.) * M_PI * alpS * sH2
3095 * ((4.*uH + tH)*sT.real()/uH + (4.*tH + uH)*sU.real()/tH)
3096 + (sT.real()*sU.real() + sT.imag()*sU.imag())
3097 * (4.*tH + uH)*(4.*uH + tH) * sH2 / 48.;
3098 sigGrST = (8./9.) * M_PI * alpS * uH2
3099 * ((4.*tH + sH)*sS.real()/tH + (4.*sH + tH)*sT.real()/sH)
3100 + (sS.real()*sT.real() + sS.imag()*sT.imag())
3101 * (4.*sH + tH)*(4.*tH + sH) * uH2 / 48.;
3109 double Sigma2qq2LEDqq::sigmaHat() {
3113 sigSum = (16. * pow2(M_PI) * pow2(alpS)) * (sigT + sigU + sigTU)
3114 + sigGrT1 + sigGrU + sigGrTU;
3116 }
else if (id2 == -id1) {
3117 sigSum = (16. * pow2(M_PI) * pow2(alpS)) * (sigT + sigST)
3118 + sigGrT2 + sigGrST;
3120 sigSum = 16. * pow2(M_PI) * pow2(alpS) * sigT + sigGrT1;
3124 return sigSum / (16. * M_PI * sH2);
3132 void Sigma2qq2LEDqq::setIdColAcol() {
3135 setId( id1, id2, id1, id2);
3138 double sigTtot = sigT + sigGrT2;
3139 double sigUtot = sigU + sigGrU;
3140 if (id1 * id2 > 0) setColAcol( 1, 0, 2, 0, 2, 0, 1, 0);
3141 else setColAcol( 1, 0, 0, 1, 2, 0, 0, 2);
3142 if (id2 == id1 && (sigTtot + sigUtot) * rndmPtr->flat() > sigTtot)
3143 setColAcol( 1, 0, 2, 0, 1, 0, 2, 0);
3144 if (id1 < 0) swapColAcol();
3157 void Sigma2qqbar2LEDgg::initProc() {
3160 eDopMode = settingsPtr->mode(
"ExtraDimensionsLED:opMode");
3161 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
3162 eDMD = settingsPtr->parm(
"ExtraDimensionsLED:MD");
3163 eDLambdaT = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
3164 eDnegInt = settingsPtr->mode(
"ExtraDimensionsLED:NegInt");
3165 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
3166 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
3174 void Sigma2qqbar2LEDgg::sigmaKin() {
3180 if (eDopMode == 0) {
3181 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3182 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3183 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3186 double effLambda = eDLambdaT;
3187 if ((eDcutoff == 2) || (eDcutoff == 3)) {
3188 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
3189 double exp = double(eDnGrav) + 2.;
3190 double formfa = 1. + pow(ffterm, exp);
3191 effLambda *= pow(formfa,0.25);
3193 sS = 4.*M_PI/pow(effLambda,4);
3194 sT = 4.*M_PI/pow(effLambda,4);
3195 sU = 4.*M_PI/pow(effLambda,4);
3196 if (eDnegInt == 1) {
3204 double tH3 = tH*tH2;
3205 double uH3 = uH*uH2;
3206 sigTS = (16. * pow2(M_PI) * pow2(alpS))
3207 * ((1./6.) * uH / tH - (3./8.) * uH2 / sH2)
3208 - 0.5 * M_PI * alpS * uH2 * sS.real()
3209 + (3./16.) * uH3 * tH * real(sS*conj(sS));
3210 sigUS = (16. * pow2(M_PI) * pow2(alpS))
3211 * ((1./6.) * tH / uH - (3./8.) * tH2 / sH2)
3212 - 0.5 * M_PI * alpS * tH2 * sS.real()
3213 + (3./16.) * tH3 * uH * real(sS*conj(sS));
3215 sigSum = sigTS + sigUS;
3218 sigma = (64./9.) * 0.5 * sigSum / (16. * M_PI * sH2);
3226 void Sigma2qqbar2LEDgg::setIdColAcol() {
3229 setId( id1, id2, 21, 21);
3232 double sigRand = sigSum * rndmPtr->flat();
3233 if (sigRand < sigTS) setColAcol( 1, 0, 0, 2, 1, 3, 3, 2);
3234 else setColAcol( 1, 0, 0, 2, 3, 2, 1, 3);
3235 if (id1 < 0) swapColAcol();
3248 void Sigma2qqbar2LEDqqbarNew::initProc() {
3252 nQuarkNew = settingsPtr->mode(
"ExtraDimensionsLED:nQuarkNew");
3253 eDopMode = settingsPtr->mode(
"ExtraDimensionsLED:opMode");
3254 eDnGrav = settingsPtr->mode(
"ExtraDimensionsLED:n");
3255 eDMD = settingsPtr->parm(
"ExtraDimensionsLED:MD");
3256 eDLambdaT = settingsPtr->parm(
"ExtraDimensionsLED:LambdaT");
3257 eDcutoff = settingsPtr->mode(
"ExtraDimensionsLED:CutOffMode");
3258 eDtff = settingsPtr->parm(
"ExtraDimensionsLED:t");
3266 void Sigma2qqbar2LEDqqbarNew::sigmaKin() {
3272 if (eDopMode == 0) {
3273 sS = ampLedS( sH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3274 sT = ampLedS( tH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3275 sU = ampLedS( uH/pow2(eDLambdaT), eDnGrav, eDLambdaT, eDMD);
3278 double effLambda = eDLambdaT;
3279 if ((eDcutoff == 2) || (eDcutoff == 3)) {
3280 double ffterm = sqrt(Q2RenSave) / (eDtff * eDLambdaT);
3281 double exp = double(eDnGrav) + 2.;
3282 double formfa = 1. + pow(ffterm, exp);
3283 effLambda *= pow(formfa,0.25);
3285 sS = 4.*M_PI/pow(effLambda,4);
3286 sT = 4.*M_PI/pow(effLambda,4);
3287 sU = 4.*M_PI/pow(effLambda,4);
3291 idNew = 1 + int( nQuarkNew * rndmPtr->flat() );
3292 mNew = particleDataPtr->m0(idNew);
3297 if (sH > 4. * m2New) {
3298 sigS = (16. * pow2(M_PI) * pow2(alpS))
3299 * (4./9.) * (tH2 + uH2) / sH2
3300 + funLedG(sH, tH) * real(sS*conj(sS)) / 8.;
3303 sigma = nQuarkNew * sigS / (16. * M_PI * sH2);
3311 void Sigma2qqbar2LEDqqbarNew::setIdColAcol() {
3314 id3 = (id1 > 0) ? idNew : -idNew;
3315 setId( id1, id2, id3, -id3);
3318 setColAcol( 1, 0, 0, 2, 1, 0, 0, 2);
3319 if (id1 < 0) swapColAcol();