Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:13:29

0001 //-*-C++-*-
0002 //-*-Higgs.h-*-
0003 //   Written by James Monk and Andrew Pilkington
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       //See hep-ph 9505211
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 }  // namespace Exhume
0052 
0053 #endif