def printHplusCrossSections(tanbetas=[10, 20, 30, 40], mu=defaultMu, energy="7"): ttCrossSection = backgroundCrossSections.crossSection("TTJets", energy) tCrossSection = sum([backgroundCrossSections.crossSection("T_"+channel, energy) for channel in ["s-channel", "t-channel", "tW-channel"]]) tCrossSection += sum([backgroundCrossSections.crossSection("Tbar_"+channel, energy) for channel in ["s-channel", "t-channel", "tW-channel"]]) print "ttbar cross section %.1f pb" % ttCrossSection print "single top cross section %.1f pb" % tCrossSection print "mu %.1f" % mu print for tanbeta in [10, 20, 30, 40]: print "="*98 print "tan(beta) = %d" % tanbeta print "H+ M (GeV) | BR(t->bH+) | BR(H+->taunu) | sigma(tt->tbH+->tbtaunu) | sigma(tt->bbH+H-->bbtautau) | sigma(t->bH+->btau) |" for mass in [90, 100, 120, 140, 150, 155, 160]: br_tH = br.getBR_top2bHp(mass, tanbeta, mu) br_Htaunu = br.getBR_Hp2tau(mass, tanbeta, mu) xsec_wh = lightCrossSectionMSSM(whTauNuCrossSection, mass, tanbeta, mu, energy)[0] xsec_hh = lightCrossSectionMSSM(hhTauNuCrossSection, mass, tanbeta, mu, energy)[0] xsec_h = sum([lightCrossSectionMSSM(lambda br1, br2, en: hTauNuCrossSection(br1, br2, en, channel), mass, tanbeta, mu, energy)[0] for channel in ["s-channel", "t-channel", "tW-channel"]]) print "%10d | %10f | %13f | %24f | %27f | %19f |" % (mass, br_tH, br_Htaunu, xsec_wh, xsec_hh, xsec_h)
def lightCrossSectionMSSM(function, mass, tanbeta, mu, energy): br_tH = br.getBR_top2bHp(mass, tanbeta, mu) br_Htaunu = br.getBR_Hp2tau(mass, tanbeta, mu) return function(br_tH, br_Htaunu, energy)