CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/GeneratorInterface/ExhumeInterface/interface/Higgs.h

Go to the documentation of this file.
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