10 #ifndef Pythia8_SigmaHiggs_H
11 #define Pythia8_SigmaHiggs_H
13 #include "Pythia8/SigmaProcess.h"
21 class Sigma1ffbar2H :
public Sigma1Process {
26 Sigma1ffbar2H(
int higgsTypeIn) : HResPtr(), mRes(), GammaRes(), m2Res(),
27 GamMRat(), sigBW(), widthOut(), higgsType(higgsTypeIn), codeSave(),
31 virtual void initProc();
34 virtual void sigmaKin();
37 virtual double sigmaHat();
40 virtual void setIdColAcol();
43 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
46 virtual string name()
const {
return nameSave;}
47 virtual int code()
const {
return codeSave;}
48 virtual string inFlux()
const {
return "ffbarSame";}
49 virtual int resonanceA()
const {
return idRes;}
55 ParticleDataEntry* HResPtr;
56 double mRes, GammaRes, m2Res, GamMRat, sigBW, widthOut;
57 int higgsType, codeSave, idRes;
65 class Sigma1gg2H :
public Sigma1Process {
70 Sigma1gg2H(
int higgsTypeIn) : HResPtr(), mRes(), GammaRes(), m2Res(),
71 GamMRat(), sigma(), higgsType(higgsTypeIn), codeSave(), idRes() {}
74 virtual void initProc();
77 virtual void sigmaKin();
80 virtual double sigmaHat() {
return sigma;}
83 virtual void setIdColAcol();
86 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
89 virtual string name()
const {
return nameSave ;}
90 virtual int code()
const {
return codeSave;}
91 virtual string inFlux()
const {
return "gg";}
92 virtual int resonanceA()
const {
return idRes;}
98 ParticleDataEntry* HResPtr;
99 double mRes, GammaRes, m2Res, GamMRat, sigma;
100 int higgsType, codeSave, idRes;
108 class Sigma1gmgm2H :
public Sigma1Process {
113 Sigma1gmgm2H(
int higgsTypeIn) : HResPtr(), mRes(), GammaRes(), m2Res(),
114 GamMRat(), sigma(), higgsType(higgsTypeIn), codeSave(), idRes() {}
117 virtual void initProc();
120 virtual void sigmaKin();
123 virtual double sigmaHat() {
return sigma;}
126 virtual void setIdColAcol();
129 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
132 virtual string name()
const {
return nameSave;}
133 virtual int code()
const {
return codeSave;}
134 virtual string inFlux()
const {
return "gmgm";}
135 virtual int resonanceA()
const {
return idRes;}
141 ParticleDataEntry* HResPtr;
142 double mRes, GammaRes, m2Res, GamMRat, sigma;
143 int higgsType, codeSave, idRes;
151 class Sigma2ffbar2HZ :
public Sigma2Process {
156 Sigma2ffbar2HZ(
int higgsTypeIn) : mZ(), widZ(), mZS(), mwZS(), thetaWRat(),
157 sigma0(), openFracPair(), coup2Z(), higgsType(higgsTypeIn), codeSave(),
161 virtual void initProc();
164 virtual void sigmaKin();
167 virtual double sigmaHat();
170 virtual void setIdColAcol();
173 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
176 virtual string name()
const {
return nameSave;}
177 virtual int code()
const {
return codeSave;}
178 virtual string inFlux()
const {
return "ffbarSame";}
179 virtual bool isSChannel()
const {
return true;}
180 virtual int id3Mass()
const {
return idRes;}
181 virtual int id4Mass()
const {
return 23;}
182 virtual int resonanceA()
const {
return 23;}
183 virtual int gmZmode()
const {
return 2;}
188 double mZ, widZ, mZS, mwZS, thetaWRat, sigma0, openFracPair, coup2Z;
189 int higgsType, codeSave, idRes;
198 class Sigma2ffbar2HW :
public Sigma2Process {
203 Sigma2ffbar2HW(
int higgsTypeIn) : mW(), widW(), mWS(), mwWS(), thetaWRat(),
204 sigma0(), openFracPairPos(), openFracPairNeg(), coup2W(),
205 higgsType(higgsTypeIn), codeSave(), idRes() {}
208 virtual void initProc();
211 virtual void sigmaKin();
214 virtual double sigmaHat();
217 virtual void setIdColAcol();
220 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
223 virtual string name()
const {
return nameSave;}
224 virtual int code()
const {
return codeSave;}
225 virtual string inFlux()
const {
return "ffbarChg";}
226 virtual bool isSChannel()
const {
return true;}
227 virtual int id3Mass()
const {
return idRes;}
228 virtual int id4Mass()
const {
return 24;}
229 virtual int resonanceA()
const {
return 24;}
234 double mW, widW, mWS, mwWS, thetaWRat, sigma0, openFracPairPos,
235 openFracPairNeg, coup2W;
236 int higgsType, codeSave, idRes;
245 class Sigma3ff2HfftZZ :
public Sigma3Process {
250 Sigma3ff2HfftZZ(
int higgsTypeIn) : mZS(), prefac(), sigma1(), sigma2(),
251 openFrac(), coup2Z(), higgsType(higgsTypeIn), codeSave(), idRes() {}
254 virtual void initProc();
257 virtual void sigmaKin();
260 virtual double sigmaHat();
263 virtual void setIdColAcol();
266 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
269 virtual string name()
const {
return nameSave;}
270 virtual int code()
const {
return codeSave;}
271 virtual string inFlux()
const {
return "ff";}
272 virtual int id3Mass()
const {
return idRes;}
275 virtual int idTchan1()
const {
return 23;}
276 virtual int idTchan2()
const {
return 23;}
277 virtual double tChanFracPow1()
const {
return 0.05;}
278 virtual double tChanFracPow2()
const {
return 0.9;}
279 virtual bool useMirrorWeight()
const {
return true;}
284 double mZS, prefac, sigma1, sigma2, openFrac, coup2Z;
285 int higgsType, codeSave, idRes;
294 class Sigma3ff2HfftWW :
public Sigma3Process {
299 Sigma3ff2HfftWW(
int higgsTypeIn) : mWS(), prefac(), sigma0(), openFrac(),
300 coup2W(), higgsType(higgsTypeIn), codeSave(), idRes() {}
303 virtual void initProc();
306 virtual void sigmaKin();
309 virtual double sigmaHat();
312 virtual void setIdColAcol();
315 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
318 virtual string name()
const {
return nameSave;}
319 virtual int code()
const {
return codeSave;}
320 virtual string inFlux()
const {
return "ff";}
321 virtual int id3Mass()
const {
return idRes;}
324 virtual int idTchan1()
const {
return 24;}
325 virtual int idTchan2()
const {
return 24;}
326 virtual double tChanFracPow1()
const {
return 0.05;}
327 virtual double tChanFracPow2()
const {
return 0.9;}
328 virtual bool useMirrorWeight()
const {
return true;}
333 double mWS, prefac, sigma0, openFrac, coup2W;
334 int higgsType, codeSave, idRes;
343 class Sigma3gg2HQQbar :
public Sigma3Process {
348 Sigma3gg2HQQbar(
int idIn,
int higgsTypeIn) : prefac(), sigma(),
349 openFracTriplet(), coup2Q(), idNew(idIn), higgsType(higgsTypeIn),
350 codeSave(), idRes() {}
353 virtual void initProc();
356 virtual void sigmaKin();
359 virtual double sigmaHat() {
return sigma;}
362 virtual void setIdColAcol();
365 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
368 virtual string name()
const {
return nameSave;}
369 virtual int code()
const {
return codeSave;}
370 virtual string inFlux()
const {
return "gg";}
371 virtual int id3Mass()
const {
return idRes;}
372 virtual int id4Mass()
const {
return idNew;}
373 virtual int id5Mass()
const {
return idNew;}
376 virtual int idTchan1()
const {
return idNew;}
377 virtual int idTchan2()
const {
return idNew;}
378 virtual double tChanFracPow1()
const {
return 0.4;}
379 virtual double tChanFracPow2()
const {
return 0.2;}
380 virtual bool useMirrorWeight()
const {
return false;}
385 double prefac, sigma, openFracTriplet, coup2Q;
386 int idNew, higgsType, codeSave, idRes;
396 class Sigma3qqbar2HQQbar :
public Sigma3Process {
401 Sigma3qqbar2HQQbar(
int idIn,
int higgsTypeIn) : prefac(), sigma(),
402 openFracTriplet(), coup2Q(), idNew(idIn), higgsType(higgsTypeIn),
403 codeSave(), idRes() {}
406 virtual void initProc();
409 virtual void sigmaKin();
412 virtual double sigmaHat() {
return sigma;}
415 virtual void setIdColAcol();
418 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
421 virtual string name()
const {
return nameSave;}
422 virtual int code()
const {
return codeSave;}
423 virtual string inFlux()
const {
return "qqbarSame";}
424 virtual int id3Mass()
const {
return idRes;}
425 virtual int id4Mass()
const {
return idNew;}
426 virtual int id5Mass()
const {
return idNew;}
429 virtual int idTchan1()
const {
return idNew;}
430 virtual int idTchan2()
const {
return idNew;}
431 virtual double tChanFracPow1()
const {
return 0.4;}
432 virtual double tChanFracPow2()
const {
return 0.2;}
433 virtual bool useMirrorWeight()
const {
return false;}
438 double prefac, sigma, openFracTriplet, coup2Q;
439 int idNew, higgsType, codeSave, idRes;
449 class Sigma2qg2Hq :
public Sigma2Process {
454 Sigma2qg2Hq(
int idIn,
int higgsTypeIn) : m2W(), thetaWRat(), sigma(),
455 openFrac(), idNew(idIn), higgsType(higgsTypeIn), codeSave(), idRes() {}
458 virtual void initProc();
461 virtual void sigmaKin();
464 virtual double sigmaHat();
467 virtual void setIdColAcol();
470 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
473 virtual string name()
const {
return nameSave;}
474 virtual int code()
const {
return codeSave;}
475 virtual string inFlux()
const {
return "qg";}
476 virtual int id3Mass()
const {
return idRes;}
477 virtual int id4Mass()
const {
return idNew;}
482 double m2W, thetaWRat, sigma, openFrac;
483 int idNew, higgsType, codeSave, idRes;
493 class Sigma2gg2Hglt :
public Sigma2Process {
498 Sigma2gg2Hglt(
int higgsTypeIn) : widHgg(), sigma(), openFrac(),
499 higgsType(higgsTypeIn), codeSave(), idRes() {}
502 virtual void initProc();
505 virtual void sigmaKin();
508 virtual double sigmaHat() {
return sigma;}
511 virtual void setIdColAcol();
514 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
517 virtual string name()
const {
return nameSave;}
518 virtual int code()
const {
return codeSave;}
519 virtual string inFlux()
const {
return "gg";}
520 virtual int id3Mass()
const {
return idRes;}
525 double widHgg, sigma, openFrac;
526 int higgsType, codeSave, idRes;
535 class Sigma2qg2Hqlt :
public Sigma2Process {
540 Sigma2qg2Hqlt(
int higgsTypeIn) : widHgg(), sigma(), openFrac(),
541 higgsType(higgsTypeIn), codeSave(), idRes() {}
544 virtual void initProc();
547 virtual void sigmaKin();
550 virtual double sigmaHat() {
return sigma;}
553 virtual void setIdColAcol();
556 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
559 virtual string name()
const {
return nameSave;}
560 virtual int code()
const {
return codeSave;}
561 virtual string inFlux()
const {
return "qg";}
562 virtual int id3Mass()
const {
return idRes;}
567 double widHgg, sigma, openFrac;
568 int higgsType, codeSave, idRes;
577 class Sigma2qqbar2Hglt :
public Sigma2Process {
582 Sigma2qqbar2Hglt(
int higgsTypeIn) : widHgg(), sigma(), openFrac(),
583 higgsType(higgsTypeIn), codeSave(), idRes() {}
586 virtual void initProc();
589 virtual void sigmaKin();
592 virtual double sigmaHat() {
return sigma;}
595 virtual void setIdColAcol();
598 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
601 virtual string name()
const {
return nameSave;}
602 virtual int code()
const {
return codeSave;}
603 virtual string inFlux()
const {
return "qqbarSame";}
604 virtual int id3Mass()
const {
return idRes;}
609 double widHgg, sigma, openFrac;
610 int higgsType, codeSave, idRes;
618 class Sigma1ffbar2Hchg :
public Sigma1Process {
623 Sigma1ffbar2Hchg() : HResPtr(), mRes(), GammaRes(), m2Res(), GamMRat(),
624 m2W(), thetaWRat(), tan2Beta(), sigBW(), widthOutPos(), widthOutNeg() {}
627 virtual void initProc();
630 virtual void sigmaKin();
633 virtual double sigmaHat();
636 virtual void setIdColAcol();
639 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
642 virtual string name()
const {
return "f fbar' -> H+-";}
643 virtual int code()
const {
return 1061;}
644 virtual string inFlux()
const {
return "ffbarChg";}
645 virtual int resonanceA()
const {
return 37;}
650 ParticleDataEntry* HResPtr;
651 double mRes, GammaRes, m2Res, GamMRat, m2W, thetaWRat, tan2Beta, sigBW,
652 widthOutPos, widthOutNeg;
660 class Sigma2qg2Hchgq :
public Sigma2Process {
665 Sigma2qg2Hchgq(
int idIn,
int codeIn,
string nameIn) : idNew(idIn),
666 codeSave(codeIn), idOld(), idUp(), idDn(), nameSave(nameIn), m2W(),
667 thetaWRat(), tan2Beta(), sigma(), openFracPos(), openFracNeg() {}
670 virtual void initProc();
673 virtual void sigmaKin();
676 virtual double sigmaHat();
679 virtual void setIdColAcol();
682 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
685 virtual string name()
const {
return nameSave;}
686 virtual int code()
const {
return codeSave;}
687 virtual string inFlux()
const {
return "qg";}
688 virtual int id3Mass()
const {
return 37;}
689 virtual int id4Mass()
const {
return idNew;}
694 int idNew, codeSave, idOld, idUp, idDn;
696 double m2W, thetaWRat, tan2Beta, sigma, openFracPos, openFracNeg;
704 class Sigma2ffbar2A3H12 :
public Sigma2Process {
709 Sigma2ffbar2A3H12(
int higgsTypeIn) : higgsType(higgsTypeIn), higgs12(),
710 codeSave(), coupZA3H12(), m2Z(), mGammaZ(), thetaWRat(), openFrac(),
714 virtual void initProc();
717 virtual void sigmaKin();
720 virtual double sigmaHat();
723 virtual void setIdColAcol();
726 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
729 virtual string name()
const {
return nameSave;}
730 virtual int code()
const {
return codeSave;}
731 virtual string inFlux()
const {
return "ffbarSame";}
732 virtual int id3Mass()
const {
return 36;}
733 virtual int id4Mass()
const {
return higgs12;}
738 int higgsType, higgs12, codeSave;
740 double coupZA3H12, m2Z, mGammaZ, thetaWRat, openFrac, sigma0;
748 class Sigma2ffbar2HchgH12 :
public Sigma2Process {
753 Sigma2ffbar2HchgH12(
int higgsTypeIn) : higgsType(higgsTypeIn), higgs12(),
754 codeSave(), coupWHchgH12(), m2W(), mGammaW(), thetaWRat(), openFracPos(),
755 openFracNeg(), sigma0() {}
758 virtual void initProc();
761 virtual void sigmaKin();
764 virtual double sigmaHat();
767 virtual void setIdColAcol();
770 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
773 virtual string name()
const {
return nameSave;}
774 virtual int code()
const {
return codeSave;}
775 virtual string inFlux()
const {
return "ffbarChg";}
776 virtual int id3Mass()
const {
return 37;}
777 virtual int id4Mass()
const {
return higgs12;}
782 int higgsType, higgs12, codeSave;
784 double coupWHchgH12, m2W, mGammaW, thetaWRat, openFracPos, openFracNeg,
793 class Sigma2ffbar2HposHneg :
public Sigma2Process {
798 Sigma2ffbar2HposHneg() : m2Z(), mGammaZ(), thetaWRat(), eH(), lH(),
799 openFrac(), gamSig(), intSig(), resSig() {}
802 virtual void initProc();
805 virtual void sigmaKin();
808 virtual double sigmaHat();
811 virtual void setIdColAcol();
814 virtual double weightDecay(
Event& process,
int iResBeg,
int iResEnd);
817 virtual string name()
const {
return "f fbar -> H+ H-";}
818 virtual int code()
const {
return 1085;}
819 virtual string inFlux()
const {
return "ffbarSame";}
820 virtual int id3Mass()
const {
return 37;}
821 virtual int id4Mass()
const {
return 37;}
826 double m2Z, mGammaZ, thetaWRat, eH, lH, openFrac, gamSig, intSig, resSig;
834 #endif // Pythia8_SigmaHiggs_H