10 #ifndef Pythia8_SigmaExtraDim_H
11 #define Pythia8_SigmaExtraDim_H
13 #include "Pythia8/SigmaProcess.h"
21 class Sigma1gg2GravitonStar :
public Sigma1Process {
26 Sigma1gg2GravitonStar() {}
29 virtual void initProc();
32 virtual void sigmaKin();
35 virtual double sigmaHat() {
return sigma;}
38 virtual void setIdColAcol();
41 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
44 virtual string name()
const {
return "g g -> G*";}
45 virtual int code()
const {
return 5001;}
46 virtual string inFlux()
const {
return "gg";}
47 virtual int resonanceA()
const {
return idGstar;}
52 bool eDsmbulk, eDvlvl;
54 double mRes, GammaRes, m2Res, GamMRat, kappaMG, sigma;
57 double eDcoupling[27];
60 ParticleDataEntry* gStarPtr;
68 class Sigma1ffbar2GravitonStar :
public Sigma1Process {
73 Sigma1ffbar2GravitonStar() {}
76 virtual void initProc();
79 virtual void sigmaKin();
82 virtual double sigmaHat();
85 virtual void setIdColAcol();
88 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
91 virtual string name()
const {
return "f fbar -> G*";}
92 virtual int code()
const {
return 5002;}
93 virtual string inFlux()
const {
return "ffbarSame";}
94 virtual int resonanceA()
const {
return idGstar;}
99 bool eDsmbulk, eDvlvl;
101 double mRes, GammaRes, m2Res, GamMRat, kappaMG, sigma0;
104 double eDcoupling[27];
107 ParticleDataEntry* gStarPtr;
115 class Sigma1qqbar2KKgluonStar :
public Sigma1Process {
120 Sigma1qqbar2KKgluonStar() {}
123 virtual void initProc();
126 virtual void sigmaKin();
129 virtual double sigmaHat();
132 virtual void setIdColAcol();
135 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
138 virtual string name()
const {
return "q qbar -> g*/KK-gluon*";}
139 virtual int code()
const {
return 5006;}
140 virtual string inFlux()
const {
return "qqbarSame";}
141 virtual int resonanceA()
const {
return idKKgluon;}
147 double mRes, GammaRes, m2Res, GamMRat;
148 double sumSM, sumInt, sumKK, sigSM, sigInt, sigKK;
153 double eDgv[10], eDga[10];
160 ParticleDataEntry* gStarPtr;
168 class Sigma2gg2GravitonStarg :
public Sigma2Process {
173 Sigma2gg2GravitonStarg() {}
176 virtual void initProc();
179 virtual void sigmaKin();
182 virtual double sigmaHat() {
return sigma;}
185 virtual void setIdColAcol();
188 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
191 virtual string name()
const {
return "g g -> G* g";}
192 virtual int code()
const {
return 5003;}
193 virtual string inFlux()
const {
return "gg";}
194 virtual int id3Mass()
const {
return idGstar;}
200 double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
208 class Sigma2qg2GravitonStarq :
public Sigma2Process {
213 Sigma2qg2GravitonStarq() {}
216 virtual void initProc();
219 virtual void sigmaKin();
222 virtual double sigmaHat() {
return sigma;}
225 virtual void setIdColAcol();
228 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
231 virtual string name()
const {
return "q g -> G* q";}
232 virtual int code()
const {
return 5004;}
233 virtual string inFlux()
const {
return "qg";}
234 virtual int id3Mass()
const {
return idGstar;}
240 double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
248 class Sigma2qqbar2GravitonStarg :
public Sigma2Process {
253 Sigma2qqbar2GravitonStarg() {}
256 virtual void initProc();
259 virtual void sigmaKin();
262 virtual double sigmaHat() {
return sigma;}
265 virtual void setIdColAcol();
268 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
271 virtual string name()
const {
return "q qbar -> G* g";}
272 virtual int code()
const {
return 5005;}
273 virtual string inFlux()
const {
return "qqbarSame";}
274 virtual int id3Mass()
const {
return idGstar;}
280 double mRes, GammaRes, m2Res, GamMRat, kappaMG, openFrac, sigma;
290 class Sigma2ffbar2TEVffbar :
public Sigma2Process {
295 Sigma2ffbar2TEVffbar(
int idIn,
int codeIn) : idNew(idIn), codeSave(codeIn) {}
298 virtual void initProc();
301 virtual void sigmaKin();
304 virtual double sigmaHat();
307 virtual void setIdColAcol();
310 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
313 virtual string name()
const {
return nameSave;}
314 virtual int code()
const {
return codeSave;}
315 virtual string inFlux()
const {
return "ffbarSame";}
316 virtual bool isSChannel()
const {
return true;}
317 virtual int idSChannel()
const {
return 5000023;}
318 virtual int resonanceA()
const {
return 23;}
319 virtual int resonanceB()
const {
return 5000023;}
320 virtual int id3Mass()
const {
return idNew;}
321 virtual int id4Mass()
const {
return idNew;}
323 virtual int resonanceA();
324 virtual int resonanceB();
330 int idNew, gmZmode, codeSave, nexcitationmax;
332 double gPlusf, gMinusf, gPlusF, gMinusF, gPlusTop, gMinusTop, gf, gF;
333 double mRes, m2Res, mStar, mTop, m2Top, mZKKn, m2ZKKn, m2gmKKn, mgmKKn,
335 double helicityME2, coefTot, coefAngular;
336 double mr, betaf, cosThe, openFracPair;
337 double wgmKKFactor, wgmKKn, wZKKn,
338 wZ0, ttbarwZKKn, ttbarwgmKKn,
339 ttbarwFactorA, ttbarwFactorB;
340 double phaseSpacemHatMin, phaseSpacemHatMax;
341 complex gammaProp, resProp, gmPropKK, ZPropKK, totalProp;
350 class Sigma2gg2LEDUnparticleg :
public Sigma2Process {
355 Sigma2gg2LEDUnparticleg(
bool Graviton ) : eDgraviton(Graviton) {}
358 virtual void initProc();
362 virtual void sigmaKin();
365 virtual double sigmaHat();
368 virtual void setIdColAcol();
371 virtual string name()
const {
return
372 (eDgraviton ?
"g g -> G g" :
"g g -> U g") ;}
373 virtual int code()
const {
return (eDgraviton ? 5021 : 5045);}
374 virtual string inFlux()
const {
return "gg";}
375 virtual int id3Mass()
const {
return 5000039;}
376 virtual int id4Mass()
const {
return 21;}
381 int eDspin, eDnGrav, eDidG, eDcutoff;
382 double mG, mGS, eDsigma0, eDdU, eDLambdaU, eDlambda, eDconstantTerm,
392 class Sigma2qg2LEDUnparticleq :
public Sigma2Process {
397 Sigma2qg2LEDUnparticleq(
bool Graviton) : eDgraviton(Graviton) {}
400 virtual void initProc();
404 virtual void sigmaKin();
407 virtual double sigmaHat();
410 virtual void setIdColAcol();
413 virtual string name()
const {
return
414 (eDgraviton ?
"q g -> G q" :
"q g -> U q") ;}
415 virtual int code()
const {
return (eDgraviton ? 5022 : 5046);}
416 virtual string inFlux()
const {
return "qg";}
417 virtual int id3Mass()
const {
return 5000039;}
422 int eDspin, eDnGrav, eDidG, eDcutoff;
423 double mG, mGS, eDsigma0, eDdU, eDLambdaU, eDlambda, eDconstantTerm,
433 class Sigma2qqbar2LEDUnparticleg :
public Sigma2Process {
438 Sigma2qqbar2LEDUnparticleg(
bool Graviton) : eDgraviton(Graviton) {}
441 virtual void initProc();
445 virtual void sigmaKin();
448 virtual double sigmaHat();
451 virtual void setIdColAcol();
454 virtual string name()
const {
return
455 (eDgraviton ?
"q qbar -> G g" :
"q qbar -> U g") ;}
456 virtual int code()
const {
return (eDgraviton ? 5023 : 5047);}
457 virtual string inFlux()
const {
return "qqbarSame";}
458 virtual int id3Mass()
const {
return 5000039;}
459 virtual int id4Mass()
const {
return 21;}
464 int eDspin, eDnGrav, eDidG, eDcutoff;
465 double mG, mGS, eDsigma0, eDdU, eDLambdaU, eDlambda, eDconstantTerm,
475 class Sigma2ffbar2LEDUnparticleZ :
public Sigma2Process {
480 Sigma2ffbar2LEDUnparticleZ(
bool Graviton) : eDgraviton(Graviton) {}
483 virtual void initProc();
487 virtual void sigmaKin();
490 virtual double sigmaHat();
493 virtual void setIdColAcol();
496 virtual string name()
const {
return
497 (eDgraviton ?
"f fbar -> G Z" :
"f fbar -> U Z") ;}
498 virtual int code()
const {
return (eDgraviton ? 5024 : 5041);}
499 virtual string inFlux()
const {
return "ffbarSame";}
500 virtual int id3Mass()
const {
return 5000039;}
501 virtual int id4Mass()
const {
return 23;}
502 virtual int resonanceA()
const {
return 23;}
503 virtual int gmZmode()
const {
return 2;}
508 static const double FIXRATIO;
510 int eDspin, eDnGrav, eDcutoff, eDidG;
512 double eDdU, eDLambdaU, eDlambda, eDratio, eDlambdaPrime,
513 eDtff, eDconstantTerm;
514 double sHS, tHS, uHS, tHC, uHC, tHQ, uHQ, tHuH, mU, mUS, mZ, widZ,
524 class Sigma2ffbar2LEDUnparticlegamma :
public Sigma2Process {
529 Sigma2ffbar2LEDUnparticlegamma(
bool Graviton) : eDgraviton(Graviton) {}
532 virtual void initProc();
536 virtual void sigmaKin();
539 virtual double sigmaHat();
542 virtual void setIdColAcol();
545 virtual string name()
const {
return
546 (eDgraviton ?
"f fbar -> G gamma" :
"f fbar -> U gamma") ;}
547 virtual int code()
const {
return (eDgraviton ? 5025 : 5042);}
548 virtual string inFlux()
const {
return "ffbarSame";}
549 virtual int id3Mass()
const {
return 5000039;}
550 virtual int id4Mass()
const {
return 22;}
555 static const double FIXRATIO;
557 int eDspin, eDnGrav, eDcutoff, eDidG;
559 double eDdU, eDLambdaU, eDlambda, eDratio, eDlambdaPrime,
560 eDtff, eDconstantTerm;
561 double sHS, tHS, uHS, tHC, uHC, tHQ, uHQ, tHuH, mU, mUS, mZ,
571 class Sigma2ffbar2LEDgammagamma :
public Sigma2Process {
576 Sigma2ffbar2LEDgammagamma(
bool Graviton) : eDgraviton(Graviton) {}
579 virtual void initProc();
583 virtual void sigmaKin();
586 virtual double sigmaHat();
589 virtual void setIdColAcol();
592 virtual string name()
const {
return
593 (eDgraviton ?
"f fbar -> (LED G*) -> gamma gamma"
594 :
"f fbar -> (U*) -> gamma gamma") ;}
595 virtual int code()
const {
return (eDgraviton ? 5026 : 5043);}
596 virtual string inFlux()
const {
return "ffbarSame";}
600 int eDspin, eDcutoff, eDnGrav, eDnegInt;
602 double eDdU, eDLambdaU, eDlambda, eDlambda2chi,
603 eDterm1, eDterm2, eDterm3, eDtff;
612 class Sigma2gg2LEDgammagamma :
public Sigma2Process {
617 Sigma2gg2LEDgammagamma(
bool Graviton) : eDgraviton(Graviton) {}
620 virtual void initProc();
624 virtual void sigmaKin();
627 virtual double sigmaHat();
630 virtual void setIdColAcol();
633 virtual string name()
const {
return (eDgraviton
634 ?
"g g -> (LED G*) -> gamma gamma" :
"g g -> (U*) -> gamma gamma") ;}
635 virtual int code()
const {
return (eDgraviton ? 5027 : 5044);}
636 virtual string inFlux()
const {
return "gg";}
640 int eDspin, eDcutoff, eDnGrav;
642 double eDdU, eDLambdaU, eDlambda, eDlambda2chi, eDsigma0, eDtff;
652 class Sigma2ffbar2LEDllbar :
public Sigma2Process {
657 Sigma2ffbar2LEDllbar(
bool Graviton) : eDgraviton(Graviton) {}
660 virtual void initProc();
664 virtual void sigmaKin();
667 virtual double sigmaHat();
670 virtual void setIdColAcol();
673 virtual string name()
const {
return
674 (eDgraviton ?
"f fbar -> (LED G*) -> l l" :
"f fbar -> (U*) -> l l") ;}
675 virtual int code()
const {
return (eDgraviton ? 5028 : 5048);}
676 virtual string inFlux()
const {
return "ffbarSame";}
677 virtual bool isSChannel()
const {
return true;}
681 int eDspin, eDcutoff, eDnGrav,eDnxx, eDnxy, eDnegInt;
683 double eDdU, eDLambdaU, eDlambda, eDlambda2chi, eDtff,
684 eDmZ, eDmZS, eDGZ, eDGZS, eDabsMeU, eDdenomPropZ, eDrePropGamma,
685 eDrePropZ, eDimPropZ, eDabsAS, eDreA, eDreABW, eDpoly1, eDpoly2,
695 class Sigma2gg2LEDllbar :
public Sigma2Process {
700 Sigma2gg2LEDllbar(
bool Graviton) : eDgraviton(Graviton) {}
704 virtual void initProc();
708 virtual void sigmaKin();
711 virtual double sigmaHat() {
return eDsigma0;}
714 virtual void setIdColAcol();
717 virtual string name()
const {
return
718 (eDgraviton ?
"g g -> (LED G*) -> l l" :
"g g -> (U*) -> l l") ;}
719 virtual int code()
const {
return (eDgraviton ? 5029 : 5049);}
720 virtual string inFlux()
const {
return "gg";}
724 int eDspin, eDcutoff, eDnGrav;
726 double eDdU, eDLambdaU, eDlambda, eDlambda2chi, eDsigma0, eDtff;
734 class Sigma2gg2LEDgg :
public Sigma2Process {
742 virtual void initProc();
745 virtual void sigmaKin();
748 virtual double sigmaHat() {
return sigma;}
751 virtual void setIdColAcol();
754 virtual string name()
const {
return "g g -> (LED G*) -> g g";}
755 virtual int code()
const {
return 5030;}
756 virtual string inFlux()
const {
return "gg";}
761 double sigTS, sigUS, sigTU, sigSum, sigma;
764 int eDopMode, eDnGrav, eDcutoff, eDnegInt;
765 double eDMD, eDLambdaT, eDtff;
773 class Sigma2gg2LEDqqbar :
public Sigma2Process {
778 Sigma2gg2LEDqqbar() {}
781 virtual void initProc();
784 virtual void sigmaKin();
787 virtual double sigmaHat() {
return sigma;}
790 virtual void setIdColAcol();
793 virtual string name()
const {
return "g g -> (LED G*) -> q qbar (uds)";}
794 virtual int code()
const {
return 5031;}
795 virtual string inFlux()
const {
return "gg";}
804 double mNew, m2New, sigTS, sigUS, sigSum, sigma;
807 int eDopMode, eDnGrav, eDcutoff, eDnegInt;
808 double eDMD, eDLambdaT, eDtff;
817 class Sigma2qg2LEDqg :
public Sigma2Process {
825 virtual void initProc();
828 virtual void sigmaKin();
831 virtual double sigmaHat() {
return sigma;}
834 virtual void setIdColAcol();
837 virtual string name()
const {
return "q g -> (LED G*) -> q g";}
838 virtual int code()
const {
return 5032;}
839 virtual string inFlux()
const {
return "qg";}
844 double sigTS, sigTU, sigSum, sigma;
847 int eDopMode, eDnGrav, eDcutoff, eDnegInt;
848 double eDMD, eDLambdaT, eDtff;
856 class Sigma2qq2LEDqq :
public Sigma2Process {
864 virtual void initProc();
867 virtual void sigmaKin();
870 virtual double sigmaHat();
873 virtual void setIdColAcol();
876 virtual string name()
const {
return "q q(bar)' -> (LED G*) -> q q(bar)'";}
877 virtual int code()
const {
return 5033;}
878 virtual string inFlux()
const {
return "qq";}
883 double sigT, sigU, sigTU, sigST, sigSum;
884 double sigGrT1, sigGrT2, sigGrU, sigGrTU, sigGrST;
887 int eDopMode, eDnGrav, eDcutoff, eDnegInt;
888 double eDMD, eDLambdaT, eDtff;
896 class Sigma2qqbar2LEDgg :
public Sigma2Process {
901 Sigma2qqbar2LEDgg() {}
904 virtual void initProc();
907 virtual void sigmaKin();
910 virtual double sigmaHat() {
return sigma;}
913 virtual void setIdColAcol();
916 virtual string name()
const {
return "q qbar -> (LED G*) -> g g";}
917 virtual int code()
const {
return 5034;}
918 virtual string inFlux()
const {
return "qqbarSame";}
923 double sigTS, sigUS, sigSum, sigma;
926 int eDopMode, eDnGrav, eDcutoff, eDnegInt;
927 double eDMD, eDLambdaT, eDtff;
935 class Sigma2qqbar2LEDqqbarNew :
public Sigma2Process {
940 Sigma2qqbar2LEDqqbarNew() {}
943 virtual void initProc();
946 virtual void sigmaKin();
949 virtual double sigmaHat() {
return sigma;}
952 virtual void setIdColAcol();
955 virtual string name()
const {
return "q qbar -> (LED G*) -> q' qbar' (uds)";}
956 virtual int code()
const {
return 5035;}
957 virtual string inFlux()
const {
return "qqbarSame";}
966 double mNew, m2New, sigS, sigma;
969 int eDopMode, eDnGrav, eDcutoff;
970 double eDMD, eDLambdaT, eDtff;
978 #endif // Pythia8_SigmaExtraDim_H