File indexing completed on 2025-01-18 10:06:30
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 #ifndef Pythia8_SigmaHiggs_H
0011 #define Pythia8_SigmaHiggs_H
0012
0013 #include "Pythia8/SigmaProcess.h"
0014
0015 namespace Pythia8 {
0016
0017
0018
0019
0020
0021 class Sigma1ffbar2H : public Sigma1Process {
0022
0023 public:
0024
0025
0026 Sigma1ffbar2H(int higgsTypeIn) : HResPtr(), mRes(), GammaRes(), m2Res(),
0027 GamMRat(), sigBW(), widthOut(), higgsType(higgsTypeIn), codeSave(),
0028 idRes() {}
0029
0030
0031 virtual void initProc();
0032
0033
0034 virtual void sigmaKin();
0035
0036
0037 virtual double sigmaHat();
0038
0039
0040 virtual void setIdColAcol();
0041
0042
0043 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0044
0045
0046 virtual string name() const {return nameSave;}
0047 virtual int code() const {return codeSave;}
0048 virtual string inFlux() const {return "ffbarSame";}
0049 virtual int resonanceA() const {return idRes;}
0050
0051 private:
0052
0053
0054
0055 ParticleDataEntryPtr HResPtr;
0056 double mRes, GammaRes, m2Res, GamMRat, sigBW, widthOut;
0057 int higgsType, codeSave, idRes;
0058 string nameSave;
0059 };
0060
0061
0062
0063
0064
0065 class Sigma1gg2H : public Sigma1Process {
0066
0067 public:
0068
0069
0070 Sigma1gg2H(int higgsTypeIn) : HResPtr(), mRes(), GammaRes(), m2Res(),
0071 GamMRat(), sigma(), higgsType(higgsTypeIn), codeSave(), idRes() {}
0072
0073
0074 virtual void initProc();
0075
0076
0077 virtual void sigmaKin();
0078
0079
0080 virtual double sigmaHat() {return sigma;}
0081
0082
0083 virtual void setIdColAcol();
0084
0085
0086 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0087
0088
0089 virtual string name() const {return nameSave ;}
0090 virtual int code() const {return codeSave;}
0091 virtual string inFlux() const {return "gg";}
0092 virtual int resonanceA() const {return idRes;}
0093
0094 private:
0095
0096
0097
0098 ParticleDataEntryPtr HResPtr;
0099 double mRes, GammaRes, m2Res, GamMRat, sigma;
0100 int higgsType, codeSave, idRes;
0101 string nameSave;
0102 };
0103
0104
0105
0106
0107
0108 class Sigma1gmgm2H : public Sigma1Process {
0109
0110 public:
0111
0112
0113 Sigma1gmgm2H(int higgsTypeIn) : HResPtr(), mRes(), GammaRes(), m2Res(),
0114 GamMRat(), sigma(), higgsType(higgsTypeIn), codeSave(), idRes() {}
0115
0116
0117 virtual void initProc();
0118
0119
0120 virtual void sigmaKin();
0121
0122
0123 virtual double sigmaHat() {return sigma;}
0124
0125
0126 virtual void setIdColAcol();
0127
0128
0129 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0130
0131
0132 virtual string name() const {return nameSave;}
0133 virtual int code() const {return codeSave;}
0134 virtual string inFlux() const {return "gmgm";}
0135 virtual int resonanceA() const {return idRes;}
0136
0137 private:
0138
0139
0140
0141 ParticleDataEntryPtr HResPtr;
0142 double mRes, GammaRes, m2Res, GamMRat, sigma;
0143 int higgsType, codeSave, idRes;
0144 string nameSave;
0145 };
0146
0147
0148
0149
0150
0151 class Sigma2ffbar2HZ : public Sigma2Process {
0152
0153 public:
0154
0155
0156 Sigma2ffbar2HZ(int higgsTypeIn) : mZ(), widZ(), mZS(), mwZS(), thetaWRat(),
0157 sigma0(), openFracPair(), coup2Z(), higgsType(higgsTypeIn), codeSave(),
0158 idRes() {}
0159
0160
0161 virtual void initProc();
0162
0163
0164 virtual void sigmaKin();
0165
0166
0167 virtual double sigmaHat();
0168
0169
0170 virtual void setIdColAcol();
0171
0172
0173 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0174
0175
0176 virtual string name() const {return nameSave;}
0177 virtual int code() const {return codeSave;}
0178 virtual string inFlux() const {return "ffbarSame";}
0179 virtual bool isSChannel() const {return true;}
0180 virtual int id3Mass() const {return idRes;}
0181 virtual int id4Mass() const {return 23;}
0182 virtual int resonanceA() const {return 23;}
0183 virtual int gmZmode() const {return 2;}
0184
0185 private:
0186
0187
0188 double mZ, widZ, mZS, mwZS, thetaWRat, sigma0, openFracPair, coup2Z;
0189 int higgsType, codeSave, idRes;
0190 string nameSave;
0191 };
0192
0193
0194
0195
0196
0197
0198 class Sigma2ffbar2HW : public Sigma2Process {
0199
0200 public:
0201
0202
0203 Sigma2ffbar2HW(int higgsTypeIn) : mW(), widW(), mWS(), mwWS(), thetaWRat(),
0204 sigma0(), openFracPairPos(), openFracPairNeg(), coup2W(),
0205 higgsType(higgsTypeIn), codeSave(), idRes() {}
0206
0207
0208 virtual void initProc();
0209
0210
0211 virtual void sigmaKin();
0212
0213
0214 virtual double sigmaHat();
0215
0216
0217 virtual void setIdColAcol();
0218
0219
0220 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0221
0222
0223 virtual string name() const {return nameSave;}
0224 virtual int code() const {return codeSave;}
0225 virtual string inFlux() const {return "ffbarChg";}
0226 virtual bool isSChannel() const {return true;}
0227 virtual int id3Mass() const {return idRes;}
0228 virtual int id4Mass() const {return 24;}
0229 virtual int resonanceA() const {return 24;}
0230
0231 private:
0232
0233
0234 double mW, widW, mWS, mwWS, thetaWRat, sigma0, openFracPairPos,
0235 openFracPairNeg, coup2W;
0236 int higgsType, codeSave, idRes;
0237 string nameSave;
0238 };
0239
0240
0241
0242
0243
0244
0245 class Sigma3ff2HfftZZ : public Sigma3Process {
0246
0247 public:
0248
0249
0250 Sigma3ff2HfftZZ(int higgsTypeIn) : mZS(), prefac(), sigma1(), sigma2(),
0251 openFrac(), coup2Z(), higgsType(higgsTypeIn), codeSave(), idRes() {}
0252
0253
0254 virtual void initProc();
0255
0256
0257 virtual void sigmaKin();
0258
0259
0260 virtual double sigmaHat();
0261
0262
0263 virtual void setIdColAcol();
0264
0265
0266 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0267
0268
0269 virtual string name() const {return nameSave;}
0270 virtual int code() const {return codeSave;}
0271 virtual string inFlux() const {return "ff";}
0272 virtual int id3Mass() const {return idRes;}
0273
0274
0275 virtual int idTchan1() const {return 23;}
0276 virtual int idTchan2() const {return 23;}
0277 virtual double tChanFracPow1() const {return 0.05;}
0278 virtual double tChanFracPow2() const {return 0.9;}
0279 virtual bool useMirrorWeight() const {return true;}
0280
0281 private:
0282
0283
0284 double mZS, prefac, sigma1, sigma2, openFrac, coup2Z;
0285 int higgsType, codeSave, idRes;
0286 string nameSave;
0287 };
0288
0289
0290
0291
0292
0293
0294 class Sigma3ff2HfftWW : public Sigma3Process {
0295
0296 public:
0297
0298
0299 Sigma3ff2HfftWW(int higgsTypeIn) : mWS(), prefac(), sigma0(), openFrac(),
0300 coup2W(), higgsType(higgsTypeIn), codeSave(), idRes() {}
0301
0302
0303 virtual void initProc();
0304
0305
0306 virtual void sigmaKin();
0307
0308
0309 virtual double sigmaHat();
0310
0311
0312 virtual void setIdColAcol();
0313
0314
0315 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0316
0317
0318 virtual string name() const {return nameSave;}
0319 virtual int code() const {return codeSave;}
0320 virtual string inFlux() const {return "ff";}
0321 virtual int id3Mass() const {return idRes;}
0322
0323
0324 virtual int idTchan1() const {return 24;}
0325 virtual int idTchan2() const {return 24;}
0326 virtual double tChanFracPow1() const {return 0.05;}
0327 virtual double tChanFracPow2() const {return 0.9;}
0328 virtual bool useMirrorWeight() const {return true;}
0329
0330 private:
0331
0332
0333 double mWS, prefac, sigma0, openFrac, coup2W;
0334 int higgsType, codeSave, idRes;
0335 string nameSave;
0336 };
0337
0338
0339
0340
0341
0342
0343 class Sigma3gg2HQQbar : public Sigma3Process {
0344
0345 public:
0346
0347
0348 Sigma3gg2HQQbar(int idIn, int higgsTypeIn) : prefac(), sigma(),
0349 openFracTriplet(), coup2Q(), idNew(idIn), higgsType(higgsTypeIn),
0350 codeSave(), idRes() {}
0351
0352
0353 virtual void initProc();
0354
0355
0356 virtual void sigmaKin();
0357
0358
0359 virtual double sigmaHat() {return sigma;}
0360
0361
0362 virtual void setIdColAcol();
0363
0364
0365 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0366
0367
0368 virtual string name() const {return nameSave;}
0369 virtual int code() const {return codeSave;}
0370 virtual string inFlux() const {return "gg";}
0371 virtual int id3Mass() const {return idRes;}
0372 virtual int id4Mass() const {return idNew;}
0373 virtual int id5Mass() const {return idNew;}
0374
0375
0376 virtual int idTchan1() const {return idNew;}
0377 virtual int idTchan2() const {return idNew;}
0378 virtual double tChanFracPow1() const {return 0.4;}
0379 virtual double tChanFracPow2() const {return 0.2;}
0380 virtual bool useMirrorWeight() const {return false;}
0381
0382 private:
0383
0384
0385 double prefac, sigma, openFracTriplet, coup2Q;
0386 int idNew, higgsType, codeSave, idRes;
0387 string nameSave;
0388
0389 };
0390
0391
0392
0393
0394
0395
0396 class Sigma3qqbar2HQQbar : public Sigma3Process {
0397
0398 public:
0399
0400
0401 Sigma3qqbar2HQQbar(int idIn, int higgsTypeIn) : prefac(), sigma(),
0402 openFracTriplet(), coup2Q(), idNew(idIn), higgsType(higgsTypeIn),
0403 codeSave(), idRes() {}
0404
0405
0406 virtual void initProc();
0407
0408
0409 virtual void sigmaKin();
0410
0411
0412 virtual double sigmaHat() {return sigma;}
0413
0414
0415 virtual void setIdColAcol();
0416
0417
0418 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0419
0420
0421 virtual string name() const {return nameSave;}
0422 virtual int code() const {return codeSave;}
0423 virtual string inFlux() const {return "qqbarSame";}
0424 virtual int id3Mass() const {return idRes;}
0425 virtual int id4Mass() const {return idNew;}
0426 virtual int id5Mass() const {return idNew;}
0427
0428
0429 virtual int idTchan1() const {return idNew;}
0430 virtual int idTchan2() const {return idNew;}
0431 virtual double tChanFracPow1() const {return 0.4;}
0432 virtual double tChanFracPow2() const {return 0.2;}
0433 virtual bool useMirrorWeight() const {return false;}
0434
0435 private:
0436
0437
0438 double prefac, sigma, openFracTriplet, coup2Q;
0439 int idNew, higgsType, codeSave, idRes;
0440 string nameSave;
0441
0442 };
0443
0444
0445
0446
0447
0448
0449 class Sigma2qg2Hq : public Sigma2Process {
0450
0451 public:
0452
0453
0454 Sigma2qg2Hq(int idIn, int higgsTypeIn) : m2W(), thetaWRat(), sigma(),
0455 openFrac(), idNew(idIn), higgsType(higgsTypeIn), codeSave(), idRes() {}
0456
0457
0458 virtual void initProc();
0459
0460
0461 virtual void sigmaKin();
0462
0463
0464 virtual double sigmaHat();
0465
0466
0467 virtual void setIdColAcol();
0468
0469
0470 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0471
0472
0473 virtual string name() const {return nameSave;}
0474 virtual int code() const {return codeSave;}
0475 virtual string inFlux() const {return "qg";}
0476 virtual int id3Mass() const {return idRes;}
0477 virtual int id4Mass() const {return idNew;}
0478
0479 private:
0480
0481
0482 double m2W, thetaWRat, sigma, openFrac;
0483 int idNew, higgsType, codeSave, idRes;
0484 string nameSave;
0485
0486 };
0487
0488
0489
0490
0491
0492
0493 class Sigma2gg2Hglt : public Sigma2Process {
0494
0495 public:
0496
0497
0498 Sigma2gg2Hglt(int higgsTypeIn) : widHgg(), sigma(), openFrac(),
0499 higgsType(higgsTypeIn), codeSave(), idRes() {}
0500
0501
0502 virtual void initProc();
0503
0504
0505 virtual void sigmaKin();
0506
0507
0508 virtual double sigmaHat() {return sigma;}
0509
0510
0511 virtual void setIdColAcol();
0512
0513
0514 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0515
0516
0517 virtual string name() const {return nameSave;}
0518 virtual int code() const {return codeSave;}
0519 virtual string inFlux() const {return "gg";}
0520 virtual int id3Mass() const {return idRes;}
0521
0522 private:
0523
0524
0525 double widHgg, sigma, openFrac;
0526 int higgsType, codeSave, idRes;
0527 string nameSave;
0528 };
0529
0530
0531
0532
0533
0534
0535 class Sigma2qg2Hqlt : public Sigma2Process {
0536
0537 public:
0538
0539
0540 Sigma2qg2Hqlt(int higgsTypeIn) : widHgg(), sigma(), openFrac(),
0541 higgsType(higgsTypeIn), codeSave(), idRes() {}
0542
0543
0544 virtual void initProc();
0545
0546
0547 virtual void sigmaKin();
0548
0549
0550 virtual double sigmaHat() {return sigma;}
0551
0552
0553 virtual void setIdColAcol();
0554
0555
0556 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0557
0558
0559 virtual string name() const {return nameSave;}
0560 virtual int code() const {return codeSave;}
0561 virtual string inFlux() const {return "qg";}
0562 virtual int id3Mass() const {return idRes;}
0563
0564 private:
0565
0566
0567 double widHgg, sigma, openFrac;
0568 int higgsType, codeSave, idRes;
0569 string nameSave;
0570 };
0571
0572
0573
0574
0575
0576
0577 class Sigma2qqbar2Hglt : public Sigma2Process {
0578
0579 public:
0580
0581
0582 Sigma2qqbar2Hglt(int higgsTypeIn) : widHgg(), sigma(), openFrac(),
0583 higgsType(higgsTypeIn), codeSave(), idRes() {}
0584
0585
0586 virtual void initProc();
0587
0588
0589 virtual void sigmaKin();
0590
0591
0592 virtual double sigmaHat() {return sigma;}
0593
0594
0595 virtual void setIdColAcol();
0596
0597
0598 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0599
0600
0601 virtual string name() const {return nameSave;}
0602 virtual int code() const {return codeSave;}
0603 virtual string inFlux() const {return "qqbarSame";}
0604 virtual int id3Mass() const {return idRes;}
0605
0606 private:
0607
0608
0609 double widHgg, sigma, openFrac;
0610 int higgsType, codeSave, idRes;
0611 string nameSave;
0612 };
0613
0614
0615
0616
0617
0618 class Sigma1ffbar2Hchg : public Sigma1Process {
0619
0620 public:
0621
0622
0623 Sigma1ffbar2Hchg() : HResPtr(), mRes(), GammaRes(), m2Res(), GamMRat(),
0624 m2W(), thetaWRat(), tan2Beta(), sigBW(), widthOutPos(), widthOutNeg() {}
0625
0626
0627 virtual void initProc();
0628
0629
0630 virtual void sigmaKin();
0631
0632
0633 virtual double sigmaHat();
0634
0635
0636 virtual void setIdColAcol();
0637
0638
0639 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0640
0641
0642 virtual string name() const {return "f fbar' -> H+-";}
0643 virtual int code() const {return 1061;}
0644 virtual string inFlux() const {return "ffbarChg";}
0645 virtual int resonanceA() const {return 37;}
0646
0647 private:
0648
0649
0650 ParticleDataEntryPtr HResPtr;
0651 double mRes, GammaRes, m2Res, GamMRat, m2W, thetaWRat, tan2Beta, sigBW,
0652 widthOutPos, widthOutNeg;
0653
0654 };
0655
0656
0657
0658
0659
0660 class Sigma2qg2Hchgq : public Sigma2Process {
0661
0662 public:
0663
0664
0665 Sigma2qg2Hchgq(int idIn, int codeIn, string nameIn) : idNew(idIn),
0666 codeSave(codeIn), idOld(), idUp(), idDn(), nameSave(nameIn), m2W(),
0667 thetaWRat(), tan2Beta(), sigma(), openFracPos(), openFracNeg() {}
0668
0669
0670 virtual void initProc();
0671
0672
0673 virtual void sigmaKin();
0674
0675
0676 virtual double sigmaHat();
0677
0678
0679 virtual void setIdColAcol();
0680
0681
0682 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0683
0684
0685 virtual string name() const {return nameSave;}
0686 virtual int code() const {return codeSave;}
0687 virtual string inFlux() const {return "qg";}
0688 virtual int id3Mass() const {return 37;}
0689 virtual int id4Mass() const {return idNew;}
0690
0691 private:
0692
0693
0694 int idNew, codeSave, idOld, idUp, idDn;
0695 string nameSave;
0696 double m2W, thetaWRat, tan2Beta, sigma, openFracPos, openFracNeg;
0697
0698 };
0699
0700
0701
0702
0703
0704 class Sigma2ffbar2A3H12 : public Sigma2Process {
0705
0706 public:
0707
0708
0709 Sigma2ffbar2A3H12(int higgsTypeIn) : higgsType(higgsTypeIn), higgs12(),
0710 codeSave(), coupZA3H12(), m2Z(), mGammaZ(), thetaWRat(), openFrac(),
0711 sigma0() {}
0712
0713
0714 virtual void initProc();
0715
0716
0717 virtual void sigmaKin();
0718
0719
0720 virtual double sigmaHat();
0721
0722
0723 virtual void setIdColAcol();
0724
0725
0726 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0727
0728
0729 virtual string name() const {return nameSave;}
0730 virtual int code() const {return codeSave;}
0731 virtual string inFlux() const {return "ffbarSame";}
0732 virtual int id3Mass() const {return 36;}
0733 virtual int id4Mass() const {return higgs12;}
0734
0735 private:
0736
0737
0738 int higgsType, higgs12, codeSave;
0739 string nameSave;
0740 double coupZA3H12, m2Z, mGammaZ, thetaWRat, openFrac, sigma0;
0741
0742 };
0743
0744
0745
0746
0747
0748 class Sigma2ffbar2HchgH12 : public Sigma2Process {
0749
0750 public:
0751
0752
0753 Sigma2ffbar2HchgH12(int higgsTypeIn) : higgsType(higgsTypeIn), higgs12(),
0754 codeSave(), coupWHchgH12(), m2W(), mGammaW(), thetaWRat(), openFracPos(),
0755 openFracNeg(), sigma0() {}
0756
0757
0758 virtual void initProc();
0759
0760
0761 virtual void sigmaKin();
0762
0763
0764 virtual double sigmaHat();
0765
0766
0767 virtual void setIdColAcol();
0768
0769
0770 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0771
0772
0773 virtual string name() const {return nameSave;}
0774 virtual int code() const {return codeSave;}
0775 virtual string inFlux() const {return "ffbarChg";}
0776 virtual int id3Mass() const {return 37;}
0777 virtual int id4Mass() const {return higgs12;}
0778
0779 private:
0780
0781
0782 int higgsType, higgs12, codeSave;
0783 string nameSave;
0784 double coupWHchgH12, m2W, mGammaW, thetaWRat, openFracPos, openFracNeg,
0785 sigma0;
0786
0787 };
0788
0789
0790
0791
0792
0793 class Sigma2ffbar2HposHneg : public Sigma2Process {
0794
0795 public:
0796
0797
0798 Sigma2ffbar2HposHneg() : m2Z(), mGammaZ(), thetaWRat(), eH(), lH(),
0799 openFrac(), gamSig(), intSig(), resSig() {}
0800
0801
0802 virtual void initProc();
0803
0804
0805 virtual void sigmaKin();
0806
0807
0808 virtual double sigmaHat();
0809
0810
0811 virtual void setIdColAcol();
0812
0813
0814 virtual double weightDecay( Event& process, int iResBeg, int iResEnd);
0815
0816
0817 virtual string name() const {return "f fbar -> H+ H-";}
0818 virtual int code() const {return 1085;}
0819 virtual string inFlux() const {return "ffbarSame";}
0820 virtual int id3Mass() const {return 37;}
0821 virtual int id4Mass() const {return 37;}
0822
0823 private:
0824
0825
0826 double m2Z, mGammaZ, thetaWRat, eH, lH, openFrac, gamSig, intSig, resSig;
0827
0828 };
0829
0830
0831
0832 }
0833
0834 #endif