FHHiggsProd - compute Higgs production cross-sections #include "FHCouplings.h" integer error double precision sqrts, prodxs(nprodxs) subroutine FHHiggsProd(error, sqrts, prodxs) FHHiggsProd[sqrts] FHHiggsProd computes (approximate) Higgs production cross-sections. FHHiggsProd contains code by F. Maltoni et al. (SM Higgs production cross-sections) http://maltoni.home.cern.ch/maltoni/TeV4LHC T. Plehn et al. (charged Higgs production cross-sections) http://www.ph.ed.ac.uk/~tplehn/charged_higgs R. Harlander et al. (SM bbH production cross-sections) http://arxiv.org/abs/hep-ph/0304035 M. Grazzini et al. (SM ggH prediction) http://theory.fi.infn.it/grazzini/hcalculators.html 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] + ArestLOSM ggh2 = |A|^2/|ASM|^2 gghSM where |A|^2 = (ktopNLO ktopNNLO - kTopBotNLO) |AtopLO|^2 + (kbotNLO - kTopBotNLO) |AbotLO|^2 + (kTopBotNLO - 1) |AtopLO + AbotLO|^2 + |ALO|^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 CTEQ6M.) 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- Para(1)/FHSetSLHA(1). The prodxs array passed to FHHiggsProd should never be accessed di- rectly, 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 (LHC). 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 + X, 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. StSth(h) 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) libFH(1) 21-Nov-2013 FHHIGGSPROD(1)