File indexing completed on 2024-04-06 12:13:29
0001
0002
0003
0004
0005
0006 #ifndef HIGGS_HH
0007 #define HIGGS_HH
0008
0009 #include "GeneratorInterface/ExhumeInterface/interface/CrossSection.h"
0010
0011 namespace Exhume {
0012
0013 class Higgs : public CrossSection {
0014 public:
0015 Higgs(const edm::ParameterSet &);
0016
0017 double SubProcess() override;
0018 void SetPartons() override;
0019 void SetSubParameters() override;
0020 double SubParameterWeight() override;
0021 void MaximiseSubParameters() override;
0022 double SubParameterRange() override;
0023 void SetHiggsMass(const double &);
0024 inline double GetC() { return (C); };
0025 inline std::complex<double> GetPropagator() { return (Propagator()); };
0026
0027 void SetHiggsDecay(const int &);
0028
0029 private:
0030 double HiggsWidth_();
0031
0032 void SetC();
0033
0034 inline std::complex<double> Propagator() {
0035
0036
0037 return (I * (1.0 + I * HiggsWidth / HiggsMass) / (sHat - HiggsMass2 + I * HiggsWidth * sHat / HiggsMass));
0038 };
0039
0040 inline std::complex<double> GluGlu2HiggsAmp() {
0041 return (GGHConst * sHat * AlphaS_ * (Fsf(sHat * FsfTop) + Fsf(sHat * FsfBottom)));
0042 };
0043
0044 std::complex<double> GGHConst;
0045 double AlphaS_, FsfTop, FsfBottom, NLOConst;
0046 double HiggsMass2, HiggsWidth, TotWidth;
0047 double C, One;
0048 double *BR;
0049 };
0050
0051 }
0052
0053 #endif