9 #ifndef Pythia8_SigmaEW_H
10 #define Pythia8_SigmaEW_H
12 #include "PythiaComplex.h"
13 #include "SigmaProcess.h"
31 virtual void sigmaKin();
34 virtual double sigmaHat();
37 virtual void setIdColAcol();
40 virtual string name()
const {
return "q g -> q gamma (udscb)";}
41 virtual int code()
const {
return 201;}
42 virtual string inFlux()
const {
return "qg";}
47 double mNew, m2New, sigUS, sigma0;
63 virtual void sigmaKin();
66 virtual double sigmaHat();
69 virtual void setIdColAcol();
72 virtual string name()
const {
return "q qbar -> g gamma";}
73 virtual int code()
const {
return 202;}
74 virtual string inFlux()
const {
return "qqbarSame";}
95 virtual void initProc();
98 virtual void sigmaKin();
101 virtual double sigmaHat() {
return sigma;}
104 virtual void setIdColAcol();
107 virtual string name()
const {
return "g g -> g gamma";}
108 virtual int code()
const {
return 203;}
109 virtual string inFlux()
const {
return "gg";}
114 double chargeSum, sigma;
130 virtual void sigmaKin();
133 virtual double sigmaHat();
136 virtual void setIdColAcol();
139 virtual string name()
const {
return "f fbar -> gamma gamma";}
140 virtual int code()
const {
return 204;}
141 virtual string inFlux()
const {
return "ffbarSame";}
146 double sigTU, sigma0;
162 virtual void initProc();
165 virtual void sigmaKin();
168 virtual double sigmaHat() {
return sigma;}
171 virtual void setIdColAcol();
174 virtual string name()
const {
return "g g -> gamma gamma";}
175 virtual int code()
const {
return 205;}
176 virtual string inFlux()
const {
return "gg";}
180 double charge2Sum, sigma;
196 virtual void initProc();
199 virtual void sigmaKin();
202 virtual double sigmaHat();
205 virtual void setIdColAcol();
208 virtual string name()
const {
return "f f' -> f f' (t-channel gamma*/Z0)";}
209 virtual int code()
const {
return 211;}
210 virtual string inFlux()
const {
return "ff";}
216 double mZ, mZS, thetaWRat, sigmagmgm, sigmagmZ, sigmaZZ;
232 virtual void initProc();
235 virtual void sigmaKin();
238 virtual double sigmaHat();
241 virtual void setIdColAcol();
244 virtual string name()
const {
return "f_1 f_2 -> f_3 f_4 (t-channel W+-)";}
245 virtual int code()
const {
return 212;}
246 virtual string inFlux()
const {
return "ff";}
251 double mW, mWS, thetaWRat, sigma0;
265 Sigma2qq2QqtW(
int idIn,
int codeIn) : idNew(idIn), codeSave(codeIn) {}
268 virtual void initProc();
271 virtual void sigmaKin();
274 virtual double sigmaHat();
277 virtual void setIdColAcol();
280 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
283 virtual string name()
const {
return nameSave;}
284 virtual int code()
const {
return codeSave;}
285 virtual string inFlux()
const {
return "ff";}
286 virtual int id3Mass()
const {
return idNew;}
293 double mW, mWS, thetaWRat, sigma0, openFracPos, openFracNeg;
309 virtual void initProc();
312 virtual void sigmaKin();
315 virtual double sigmaHat();
318 virtual void setIdColAcol();
321 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
324 virtual string name()
const {
return "f fbar -> gamma*/Z0";}
325 virtual int code()
const {
return 221;}
326 virtual string inFlux()
const {
return "ffbarSame";}
327 virtual int resonanceA()
const {
return 23;}
333 double mRes, GammaRes, m2Res, GamMRat, thetaWRat,
334 gamSum, intSum, resSum, gamProp, intProp, resProp;
353 virtual void initProc();
356 virtual void sigmaKin();
359 virtual double sigmaHat();
362 virtual void setIdColAcol();
365 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
368 virtual string name()
const {
return "f fbar' -> W+-";}
369 virtual int code()
const {
return 222;}
370 virtual string inFlux()
const {
return "ffbarChg";}
371 virtual int resonanceA()
const {
return 24;}
376 double mRes, GammaRes, m2Res, GamMRat, thetaWRat, sigma0Pos, sigma0Neg;
396 virtual void sigmaKin();
399 virtual double sigmaHat();
402 virtual void setIdColAcol();
405 virtual string name()
const {
406 return "f fbar -> f' fbar' (s-channel gamma*)";}
407 virtual int code()
const {
return 223;}
408 virtual string inFlux()
const {
return "ffbarSame";}
409 virtual bool isSChannel()
const {
return true;}
433 virtual void initProc();
436 virtual void sigmaKin();
439 virtual double sigmaHat();
442 virtual void setIdColAcol();
445 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
448 virtual string name()
const {
return nameSave;}
449 virtual int code()
const {
return codeSave;}
450 virtual string inFlux()
const {
return "ffbarSame";}
451 virtual bool isSChannel()
const {
return true;}
452 virtual int id3Mass()
const {
return idNew;}
453 virtual int id4Mass()
const {
return idNew;}
454 virtual int resonanceA()
const {
return 23;}
459 int idNew, codeSave, gmZmode;
462 double ef, vf, af, mRes, GammaRes, m2Res, GamMRat, thetaWRat,
463 mr, betaf, cosThe, gamProp, intProp, resProp, openFracPair;
478 idNew2(idIn2), codeSave(codeIn) {}
481 virtual void initProc();
484 virtual void sigmaKin();
487 virtual double sigmaHat();
490 virtual void setIdColAcol();
493 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
496 virtual string name()
const {
return nameSave;}
497 virtual int code()
const {
return codeSave;}
498 virtual string inFlux()
const {
return "ffbarChg";}
499 virtual bool isSChannel()
const {
return true;}
500 virtual int id3Mass()
const {
return idNew;}
501 virtual int id4Mass()
const {
return idPartner;}
502 virtual int resonanceA()
const {
return 24;}
507 int idNew, idNew2, codeSave, idPartner;
510 double V2New, mRes, GammaRes, m2Res, GamMRat, thetaWRat, sigma0,
511 openFracPos, openFracNeg;
534 void setupProd(
Event& process,
int i1,
int i2,
int i3,
int i4,
538 complex fGK(
int i1,
int i2,
int i3,
int i4,
int i5,
int i6);
541 double xiGK(
double tHnow,
double uHnow);
544 double xjGK(
double tHnow,
double uHnow);
562 virtual void initProc();
565 virtual void sigmaKin();
568 virtual double sigmaHat();
571 virtual void setIdColAcol();
574 virtual double weightDecayFlav(
Event& process);
577 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
580 virtual string name()
const {
return "f fbar -> gamma*/Z0 gamma*/Z0";}
581 virtual int code()
const {
return 231;}
582 virtual string inFlux()
const {
return "ffbarSame";}
583 virtual int id3Mass()
const {
return 23;}
584 virtual int id4Mass()
const {
return 23;}
589 int gmZmode, i1, i2, i3, i4, i5, i6;
590 double mRes, GammaRes, m2Res, GamMRat, thetaWRat, sigma0,
591 gamSum3, intSum3, resSum3, gamProp3, intProp3, resProp3,
592 gamSum4, intSum4, resSum4, gamProp4, intProp4, resProp4,
593 c3LL, c3LR, c3RL, c3RR, c4LL, c4LR, c4RL, c4RR, flavWt;
612 virtual void initProc();
615 virtual void sigmaKin();
618 virtual double sigmaHat();
621 virtual void setIdColAcol();
624 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
627 virtual string name()
const {
return "f fbar' -> Z0 W+- (no gamma*!)";}
628 virtual int code()
const {
return 232;}
629 virtual string inFlux()
const {
return "ffbarChg";}
630 virtual int id3Mass()
const {
return 23;}
631 virtual int id4Mass()
const {
return 24;}
632 virtual int resonanceA()
const {
return 24;}
637 double mW, widW, mWS, mwWS, sin2thetaW, cos2thetaW, thetaWRat, cotT,
638 thetaWpt, thetaWmm, lun, lde, sigma0, openFracPos, openFracNeg;
654 virtual void initProc();
657 virtual void sigmaKin();
660 virtual double sigmaHat();
663 virtual void setIdColAcol();
666 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
669 virtual string name()
const {
return "f fbar -> W+ W-";}
670 virtual int code()
const {
return 233;}
671 virtual string inFlux()
const {
return "ffbarSame";}
672 virtual int id3Mass()
const {
return 24;}
673 virtual int id4Mass()
const {
return -24;}
674 virtual int resonanceA()
const {
return 23;}
679 double mZ, widZ, mZS, mwZS, thetaWRat, sigma0, cgg, cgZ, cZZ, cfg,
680 cfZ, cff, gSS, gTT, gST, gUU, gSU, openFracPair;
696 virtual void initProc();
699 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
705 double mRes, GammaRes, m2Res, GamMRat, thetaWRat,
706 gamSum, intSum, resSum, gamProp, intProp, resProp;
733 virtual void sigmaKin();
736 virtual double sigmaHat();
739 virtual void setIdColAcol();
742 virtual string name()
const {
return "q qbar -> gamma*/Z0 g";}
743 virtual int code()
const {
return 241;}
744 virtual string inFlux()
const {
return "qqbarSame";}
745 virtual int id3Mass()
const {
return 23;}
766 virtual void sigmaKin();
769 virtual double sigmaHat();
772 virtual void setIdColAcol();
775 virtual string name()
const {
return "q g-> gamma*/Z0 q";}
776 virtual int code()
const {
return 242;}
777 virtual string inFlux()
const {
return "qg";}
778 virtual int id3Mass()
const {
return 23;}
799 virtual void sigmaKin();
802 virtual double sigmaHat();
805 virtual void setIdColAcol();
808 virtual string name()
const {
return "f fbar -> gamma*/Z0 gamma";}
809 virtual int code()
const {
return 243;}
810 virtual string inFlux()
const {
return "ffbarSame";}
811 virtual int id3Mass()
const {
return 23;}
832 virtual void sigmaKin();
835 virtual double sigmaHat();
838 virtual void setIdColAcol();
841 virtual string name()
const {
return "f gamma -> gamma*/Z0 f";}
842 virtual int code()
const {
return 244;}
843 virtual string inFlux()
const {
return "fgm";}
844 virtual int id3Mass()
const {
return 23;}
865 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
883 virtual void initProc();
886 virtual void sigmaKin();
889 virtual double sigmaHat();
892 virtual void setIdColAcol();
895 virtual string name()
const {
return "q qbar' -> W+- g";}
896 virtual int code()
const {
return 251;}
897 virtual string inFlux()
const {
return "ffbarChg";}
898 virtual int id3Mass()
const {
return 24;}
903 double sigma0, openFracPos, openFracNeg;
919 virtual void initProc();
922 virtual void sigmaKin();
925 virtual double sigmaHat();
928 virtual void setIdColAcol();
931 virtual string name()
const {
return "q g-> W+- q'";}
932 virtual int code()
const {
return 252;}
933 virtual string inFlux()
const {
return "qg";}
934 virtual int id3Mass()
const {
return 24;}
939 double sigma0, openFracPos, openFracNeg;
955 virtual void initProc();
958 virtual void sigmaKin();
961 virtual double sigmaHat();
964 virtual void setIdColAcol();
967 virtual string name()
const {
return "f fbar' -> W+- gamma";}
968 virtual int code()
const {
return 253;}
969 virtual string inFlux()
const {
return "ffbarChg";}
970 virtual int id3Mass()
const {
return 24;}
975 double sigma0, openFracPos, openFracNeg;
991 virtual void initProc();
994 virtual void sigmaKin();
997 virtual double sigmaHat();
1000 virtual void setIdColAcol();
1003 virtual string name()
const {
return "f gamma -> W+- f'";}
1004 virtual int code()
const {
return 254;}
1005 virtual string inFlux()
const {
return "fgm";}
1006 virtual int id3Mass()
const {
return 24;}
1011 double sigma0, openFracPos, openFracNeg;
1026 virtual void initProc();
1029 virtual void sigmaKin();
1032 virtual double sigmaHat() {
return sigma;}
1035 virtual void setIdColAcol();
1038 virtual string name()
const {
return nameSave;}
1039 virtual int code()
const {
return codeSave;}
1040 virtual string inFlux()
const {
return "gmgm";}
1041 virtual int id3Mass()
const {
return idMass;}
1042 virtual int id4Mass()
const {
return idMass;}
1047 int idNew, codeSave, idMass, idNow;
1049 double ef4, s34Avg, sigTU, sigma, openFracPair;
1057 #endif // Pythia8_SigmaEW_H