FHHiggsProd - compute Higgs production cross-sections

       #include "FHCouplings.h"

       integer error
       double precision sqrts, prodxs(nprodxs)

       subroutine FHHiggsProd(error, sqrts, prodxs)


       FHHiggsProd  computes  (approximate)  Higgs  production cross-sections.
       FHHiggsProd contains code by
         F. Maltoni et al. (SM Higgs production cross-sections)
         T. Plehn et al. (charged Higgs production cross-sections)
         R. Harlander et al. (SM bbH production cross-sections)
         M. Grazzini et al. (SM ggH prediction)

       The SM cross-sections are multiplied with the appropriate MSSM/SM ratio
       of the couplings involved.  Specifically,

       {bbh, btagbh} = Gamma(hbb)/GammaSM(hbb) {bbhSM, btagbhSM},

       tth = (|lc|^2 + |rc|^2)/2 tthSM,
         where [lr]c = [LR]Coupling(htt)/[LR]CouplingSM(htt)

       ggh = |A|^2/|ASM|^2 gghSM
         where A = ctopNLO ctopNNLO AtopLO +
                   cbotReNLO Re[AbotLO] + cbotImNLO Im[AbotLO] +
                   csfNLO AsfLO + ArestLO,
             ASM = ctopNLO AtopLOSM +
                   cbotReNLO Re[AbotLOSM] + cbotImNLO Im[AbotLOSM] +

       ggh2 = |A|^2/|ASM|^2 gghSM
         where |A|^2 = (ktopNLO ktopNNLO - kTopBotNLO) |AtopLO|^2 +
                       (kbotNLO - kTopBotNLO) |AbotLO|^2 +
                       (kTopBotNLO - 1) |AtopLO + AbotLO|^2 +
             |ASM|^2 = (ktopNLO - kTopBotNLO) |AtopLOSM|^2 +
                       (kbotNLO - kTopBotNLO) |AbotLOSM|^2 +
                       (kTopBotNLO) |AtopLO + AbotLOSM|^2 +

       {qqh, Wh} = |Coupling(hWW)|^2/|CouplingSM(hWW)|^2 {qqhSM, WhSM}

       Zh = |Coupling(hZZ)|^2/|CouplingSM(hZZ)|^2 ZhSM

       All production cross-sections are 4 pi cross-sections, with {btagbhTeV,
       btagbhLHC} being the only exceptions.   Here  p_T(jet)  >  15  GeV  and
       |eta(jet)|  < 2.5 has been used.  (The PDFs for these two processes are
       FHHiggsProd uses the Higgs masses and  couplings  computed  during  the
       last  invocation  of  FHHiggsCorr(1) and FHCouplings(1).  The flags and
       parameters must have been set  before  with  FHSetFlags(1)  and  FHSet-

       The  prodxs  array  passed  to  FHHiggsProd  should  never  be accessed
       directly, but only through the preprocessor macros  defined  in  FHCou-
       plings.h, which needs to be included once per file.

       error (output)
              zero  if  successful,  otherwise  the line number in HiggsProd.F
              from which the error message was emitted

       sqrts (input)
              the collider energy at which the cross-sections are to  be  com-
              puted.   Note  that  not all cross-sections are currently imple-
              mented for energies other than  2  TeV  (Tevatron)  and  14  TeV

       prodxs(i) (output)
              the Higgs production cross-sections.  This array is indexed with
              preprocessor macros (see below).

       All cross-sections are fully inclusive  and  given  in  fb.   They  are
       available for the three neutral Higgs bosons:
       h = 1..3  Higgs: h0, HH, A0

       bbh(h), bbhSM(h)
              the MSSM and SM bottom-fusion cross-sections, bb -> h + X,

       btagbh(h), btagbhSM(h)
              the  MSSM and SM bottom-fusion cross-sections with one tagged b,
              tagged-b b -> h + X,

       ggh(h), gghSM(h)
              the MSSM and SM gluon-fusion cross-sections, gg -> h + X,  using
              the c-factor (amplitude) method,

       ggh2(h), ggh2SM(h)
              the  MSSM and SM gluon-fusion cross-sections, gg -> h + X, using
              the k-factor (squared-amplitude) method,

       qqh(h), qqhSM(h)
              the MSSM and SM vector-boson-fusion cross-sections, qq -> qqh  +

       tth(h), tthSM(h)
              the  MSSM  and SM associated top-pair production cross-sections,
              qq,gg -> tth + X,

       Wh(h), WhSM(h)
              the MSSM and SM associated W production cross-sections, qq -> Wh
              + X,

       Zh(h), ZhSM(h)
              the MSSM and SM associated Z production cross-sections, qq -> Zh
              + X.

              the MSSM production cross-section pp -> Stop_1 Stop_1 h (only  h
              = 1).

       tHm    the MSSM production cross-section gb -> tH^-.

       tHm2, tHm2lo, tHm2hi
              the MSSM production cross-section gb -> tH^- (alternative compu-
              tation, central value + error bounds).

       Mathematica and Fortran share the same names  for  the  cross-sections,
       but due to the structure of the Mathematica output, the results have to
       be accessed in a slightly different way.

       To access the qqh mode, for example, one would use

         {qqh0, qqHH, qqA0} = qqh /. FHHiggsProd[14]

       in Mathematica, while in Fortran the same is done with

         call FHHiggsProd(error, 14D0, prodxs)
         qqh0 = qqh(1)
         qqHH = qqh(2)
         qqA0 = qqh(3)


                                  21-Nov-2013                   FHHIGGSPROD(1)