10 #ifndef Pythia8_SigmaSUSY_H
11 #define Pythia8_SigmaSUSY_H
13 #include "PhaseSpace.h"
14 #include "PythiaComplex.h"
15 #include "SigmaProcess.h"
16 #include "SusyCouplings.h"
17 #include "SusyLesHouches.h"
43 if (id3chi == 2) id3 = 1000023;
44 if (id3chi == 3) id3 = 1000025;
45 if (id3chi == 4) id3 = 1000035;
46 if (id3chi == 5) id3 = 1000045;
48 if (id4chi == 2) id4 = 1000023;
49 if (id4chi == 3) id4 = 1000025;
50 if (id4chi == 4) id4 = 1000035;
51 if (id4chi == 5) id4 = 1000045;
56 virtual void initProc();
59 virtual void sigmaKin();
62 virtual double sigmaHat();
65 virtual void setIdColAcol();
68 virtual string name()
const {
return nameSave;}
69 virtual int code()
const {
return codeSave;}
70 virtual string inFlux()
const {
return "qq";}
71 virtual int id3Mass()
const {
return abs(id3);}
72 virtual int id4Mass()
const {
return abs(id4);}
73 virtual int resonanceA()
const {
return 23;}
74 virtual bool isSUSY()
const {
return true;}
79 int id3chi, id4chi, codeSave;
83 double sigma0, ui, uj, ti, tj, openFracPair;
107 id3 = (abs(id3chi) == 2) ? 1000037 : 1000024;
108 if (id3chi < 0) id3 = -id3;
111 if (id4chi == 2) id4 = 1000023;
112 if (id4chi == 3) id4 = 1000025;
113 if (id4chi == 4) id4 = 1000035;
114 if (id4chi == 5) id4 = 1000045;
119 virtual void sigmaKin();
122 virtual double sigmaHat();
124 virtual int resonanceA()
const {
return 24;}
149 id3 = (abs(id3chi) == 2) ? 1000037 : 1000024;
150 id4 = (abs(id4chi) == 2) ? -1000037 : -1000024;
155 virtual void sigmaKin();
158 virtual double sigmaHat();
183 if (id3chi == 2) id3 = 1000023;
184 if (id3chi == 3) id3 = 1000025;
185 if (id3chi == 4) id3 = 1000035;
186 if (id3chi == 5) id3 = 1000045;
187 id4 = 1000001 + (isUp ? 1 : 0);
188 if (id4sq == 2) id4 = 1000003 + (isUp ? 1 : 0);
189 if (id4sq == 3) id4 = 1000005 + (isUp ? 1 : 0);
190 if (id4sq == 4) id4 = 2000001 + (isUp ? 1 : 0);
191 if (id4sq == 5) id4 = 2000003 + (isUp ? 1 : 0);
192 if (id4sq == 6) id4 = 2000005 + (isUp ? 1 : 0);
197 virtual void initProc();
200 virtual void sigmaKin();
203 virtual double sigmaHat();
206 virtual void setIdColAcol();
209 virtual string name()
const {
return nameSave;}
210 virtual int code()
const {
return codeSave;}
211 virtual string inFlux()
const {
return "qg";}
212 virtual int id3Mass()
const {
return abs(id3);}
213 virtual int id4Mass()
const {
return abs(id4);}
214 virtual bool isSUSY()
const {
return true;}
219 int id3chi, id4sq, codeSave;
223 double sigma0, ui, uj, ti, tj, openFracPair;
248 if (abs(id3chi) == 2) id3Sav = 1000037;
249 if (isUp) id3Sav = -id3Sav;
250 id4Sav = 1000001 + (isUp ? 1 : 0);
251 if (id4sq == 2) id4Sav = 1000003 + (isUp ? 1 : 0);
252 if (id4sq == 3) id4Sav = 1000005 + (isUp ? 1 : 0);
253 if (id4sq == 4) id4Sav = 2000001 + (isUp ? 1 : 0);
254 if (id4sq == 5) id4Sav = 2000003 + (isUp ? 1 : 0);
255 if (id4sq == 6) id4Sav = 2000005 + (isUp ? 1 : 0);
264 virtual void initProc();
267 virtual double sigmaHat();
270 virtual void setIdColAcol();
304 virtual void initProc();
307 virtual void sigmaKin();
310 virtual double sigmaHat();
313 virtual void setIdColAcol();
316 virtual string name()
const {
return nameSave;}
317 virtual int code()
const {
return codeSave;}
318 virtual string inFlux()
const {
return "qq";}
319 virtual int id3Mass()
const {
return abs(id3Sav);}
320 virtual int id4Mass()
const {
return abs(id4Sav);}
321 virtual bool isSUSY()
const {
return true;}
326 int id3Sav, id4Sav, codeSave, iGen3, iGen4, nNeut;
332 vector<double> m2Neut, m2Char;
335 double sigmaChar, sigmaNeut, sigmaGlu;
336 double sigmaCharNeut, sigmaCharGlu, sigmaNeutGlu;
341 vector<double> tNeut, uNeut, tChar, uChar;
342 double sumCt, sumCu, sumNt, sumNu, sumGt, sumGu, sumInterference;
365 id4Sav = -abs(id4In);
374 virtual void initProc();
377 virtual void sigmaKin();
380 virtual double sigmaHat();
383 virtual void setIdColAcol();
386 virtual string name()
const {
return nameSave;}
387 virtual int code()
const {
return codeSave;}
388 virtual string inFlux()
const {
return "qq";}
389 virtual int id3Mass()
const {
return abs(id3Sav);}
390 virtual int id4Mass()
const {
return abs(id4Sav);}
391 virtual bool isSUSY()
const {
return true;}
396 int id3Sav, id4Sav, codeSave, iGen3, iGen4, nNeut;
402 vector<double> m2Neut;
407 double sigmaEW, sigmaGlu, sigmaEWG;
411 vector<double> tNeut, uNeut;
413 double sumColS, sumColT, sumColSCC, sumColTCC, sumInterference;
437 id3Sav = abs(id34In);
438 id4Sav = -abs(id34In);
447 virtual void initProc();
450 virtual void sigmaKin();
453 virtual double sigmaHat() {
return sigma;}
456 virtual void setIdColAcol();
459 virtual string name()
const {
return nameSave;}
460 virtual int code()
const {
return codeSave;}
461 virtual string inFlux()
const {
return "gg";}
462 virtual int id3Mass()
const {
return abs(id3Sav);}
463 virtual int id4Mass()
const {
return abs(id4Sav);}
464 virtual bool isSUSY()
const {
return true;}
469 int id3Sav, id4Sav, codeSave;
471 double sigma, m2Sq, openFracPair;
474 double sumColT, sumColU, sumInterference;
505 virtual void initProc();
508 virtual void sigmaKin();
511 virtual double sigmaHat();
514 virtual void setIdColAcol();
517 virtual string name()
const {
return nameSave;}
518 virtual int code()
const {
return codeSave;}
519 virtual string inFlux()
const {
return "qg";}
520 virtual int id3Mass()
const {
return abs(id3Sav);}
521 virtual int id4Mass()
const {
return 1000021;}
522 virtual bool isSUSY()
const {
return true;}
527 int id3Sav, codeSave;
529 double sigmaA, sigmaB, comFacHat, m2Glu, m2Sq, openFracPair;
549 virtual void initProc();
552 virtual void sigmaKin();
555 virtual double sigmaHat() {
return sigma;}
558 virtual void setIdColAcol();
561 virtual string name()
const {
return "g g -> gluino gluino";}
562 virtual int code()
const {
return 1201;}
563 virtual string inFlux()
const {
return "gg";}
564 virtual int id3Mass()
const {
return 1000021;}
565 virtual int id4Mass()
const {
return 1000021;}
566 virtual bool isSUSY()
const {
return true;}
571 double sigTS, sigUS, sigTU, sigSum, sigma, openFracPair;
592 virtual void initProc();
595 virtual void sigmaKin();
598 virtual double sigmaHat();
601 virtual void setIdColAcol();
604 virtual string name()
const {
return "q qbar -> gluino gluino";}
605 virtual int code()
const {
return 1202;}
606 virtual string inFlux()
const {
return "qqbarSame";}
607 virtual int id3Mass()
const {
return 1000021;}
608 virtual int id4Mass()
const {
return 1000021;}
609 virtual bool isSUSY()
const {
return true;}
614 double openFracPair, s34Avg, sigS, tHG, uHG, tHG2, uHG2;
637 virtual void initProc();
640 virtual void sigmaKin();
643 virtual double sigmaHat();
646 virtual void setIdColAcol();
649 virtual string name()
const {
return nameSave;}
650 virtual int code()
const {
return codeSave;}
651 virtual string inFlux()
const {
return "qq";}
652 virtual bool isSUSY()
const {
return true;}
653 virtual bool isRPV()
const {
return true;}
654 virtual int resonanceA()
const {
return idRes;}
659 double mRes, GammaRes, m2Res, GamMRat, sigBW, widthOut;
660 int squarkType, codeSave, idRes;
678 #endif // Pythia8_SigmaSUSY_H