00001 //-*-C++-*- 00002 //-*-Higgs.h-*- 00003 // Written by James Monk and Andrew Pilkington 00005 00006 #ifndef HIGGS_HH 00007 #define HIGGS_HH 00008 00009 #include "GeneratorInterface/ExhumeInterface/interface/CrossSection.h" 00010 00011 namespace Exhume{ 00012 00013 class Higgs : public CrossSection{ 00014 00015 public: 00016 00017 Higgs(const edm::ParameterSet&); 00018 00019 double SubProcess(); 00020 void SetPartons(); 00021 void SetSubParameters(); 00022 double SubParameterWeight(); 00023 void MaximiseSubParameters(); 00024 double SubParameterRange(); 00025 void SetHiggsMass(const double&); 00026 inline double GetC(){ 00027 return(C); 00028 }; 00029 inline std::complex<double> GetPropagator(){ 00030 return(Propagator()); 00031 }; 00032 00033 void SetHiggsDecay(const int&); 00034 00035 private: 00036 00037 double HiggsWidth_(); 00038 00039 void SetC(); 00040 00041 inline std::complex<double> Propagator(){ 00042 //See hep-ph 9505211 00043 00044 return(I * (1.0 + I * HiggsWidth/HiggsMass)/ 00045 (sHat - HiggsMass2 + I * HiggsWidth * sHat/HiggsMass)); 00046 }; 00047 00048 inline std::complex<double> GluGlu2HiggsAmp(){ 00049 return(GGHConst * sHat * AlphaS_ * 00050 (Fsf(sHat * FsfTop) + Fsf(sHat * FsfBottom))); 00051 }; 00052 00053 std::complex<double> GGHConst; 00054 double AlphaS_, FsfTop, FsfBottom, NLOConst; 00055 double HiggsMass2, HiggsWidth, TotWidth; 00056 double C, One; 00057 double *BR; 00058 00059 00060 }; 00061 00062 } 00063 00064 #endif