bsmart.tools.HiggsTools

Tool to run HiggsTools

Possible settings:

"Codes": {
    "HiggsTools": {
        'Run': "True", #
        'Signal Strengths': "False",  # Compute predicted signal strength ratios
        'Neutral Higgs' : [25, 35, 45, 36, 46],   # list of IDs of neutral Higgs bosons to check
        'Charged Higgs' :  [37],  #  List of IDs of charged Higgs bosons to check
        'Invisible Particles' : [1000022, 1000023]  #  list of BSM invisible particle ids that the Higgs could decay to
        'HiggsBounds Dataset'  : "/path/to/dataset",
        'HiggsSignals Dataset': "/path/to/dataset"
    }

}

If ‘Signal Strengths’ is ‘True’ then the tool will compute ratios of production of the neutral scalars into different channels.

These channels are as defined in HiggsTools in higgstools-main/include/Higgs/predictions/Channels.hpp

I select here production channels are [‘H’,’HZ’,’vbfH’,’HW’,’eeHZ’] (where ‘H’ means single Higgs production via ggH+ bbH + qqH combined) and decay channels [‘bb’,’ZZ’,’WW’,’gamgam’,’gg’,’mumu’,’tautau’] More can easily be added

The outputs are stored in the HiggsTools BLOCK, and will typically look like the following (if Signal Strengths is True):

BLOCK HIGGSTOOLS
1  1  # HB result (0/1)
2  8.06381191e-01  # HB maximum obs ratio
11  1.53742211e+02  # HS chi2
12  159  # HS number of observables
13  6.02821197e-01  # BSMArt Inferred HS pval
25  8.06381191e-01  # ID: 12045, ref: CMS-PAS-HIG-12-045: LHC8 [vbfH,HW,Htt,H,HZ]>[bb,tautau,WW,ZZ,gamgam]
1000  9.87350705e-01  # mueff for  H -> 25 -> bb
1001  9.31152726e-01  # mueff for  H -> 25 -> ZZ
1002  1.02204352e+00  # mueff for  H -> 25 -> WW
1003  1.06359389e+00  # mueff for  H -> 25 -> gamgam
1004  5.47133098e-01  # mueff for  H -> 25 -> gg
1005  1.06115939e+00  # mueff for  H -> 25 -> mumu
1006  1.06280238e+00  # mueff for  H -> 25 -> tautau
1100  9.87338291e-01  # mueff for  HZ -> 25 -> bb
1101  9.31141018e-01  # mueff for  HZ -> 25 -> ZZ
1102  1.02203067e+00  # mueff for  HZ -> 25 -> WW
1103  1.06358052e+00  # mueff for  HZ -> 25 -> gamgam
1104  5.47126218e-01  # mueff for  HZ -> 25 -> gg
1105  1.06114605e+00  # mueff for  HZ -> 25 -> mumu
1106  1.06278902e+00  # mueff for  HZ -> 25 -> tautau
1200  9.87381710e-01  # mueff for  vbfH -> 25 -> bb
1201  9.31181966e-01  # mueff for  vbfH -> 25 -> ZZ
1202  1.02207562e+00  # mueff for  vbfH -> 25 -> WW
1203  1.06362729e+00  # mueff for  vbfH -> 25 -> gamgam
1204  5.47150279e-01  # mueff for  vbfH -> 25 -> gg
1205  1.06119271e+00  # mueff for  vbfH -> 25 -> mumu
1206  1.06283576e+00  # mueff for  vbfH -> 25 -> tautau
1300  9.87396661e-01  # mueff for  HW -> 25 -> bb
1301  9.31196066e-01  # mueff for  HW -> 25 -> ZZ
1302  1.02209109e+00  # mueff for  HW -> 25 -> WW
1303  1.06364339e+00  # mueff for  HW -> 25 -> gamgam
1304  5.47158564e-01  # mueff for  HW -> 25 -> gg
1305  1.06120878e+00  # mueff for  HW -> 25 -> mumu
1306  1.06285185e+00  # mueff for  HW -> 25 -> tautau
1400  9.87340225e-01  # mueff for  eeHZ -> 25 -> bb
1401  9.31142843e-01  # mueff for  eeHZ -> 25 -> ZZ
1402  1.02203267e+00  # mueff for  eeHZ -> 25 -> WW
1403  1.06358260e+00  # mueff for  eeHZ -> 25 -> gamgam
1404  5.47127290e-01  # mueff for  eeHZ -> 25 -> gg
1405  1.06114813e+00  # mueff for  eeHZ -> 25 -> mumu
1406  1.06279110e+00  # mueff for  eeHZ -> 25 -> tautau
2000  0.00000000e+00  # mueff for  H -> 35 -> bb
2001  0.00000000e+00  # mueff for  H -> 35 -> ZZ
2002  0.00000000e+00  # mueff for  H -> 35 -> WW
2003  0.00000000e+00  # mueff for  H -> 35 -> gamgam
2004  0.00000000e+00  # mueff for  H -> 35 -> gg
...

Information

BSMArt Name: HiggsTools

Requires:
  • scipy

  • numpy

  • higgstools

Settings:

  • Invisible Particles: List of invisible particle PIDs

  • HiggsBounds Dataset: Path to HB dataset

  • HiggsSignals Dataset: Path to HS dataset

  • Signal Strengths: True/False (default False): whether to compute signal strength ratios

  • Neutral Higgs: List of neutral Higgs PIDs

  • Charged Higgs: List of charged Higgs PIDs

class bsmart.tools.HiggsTools.NewTool(name, settings, global_settings=None)[source]

Bases: HepTool

overload the init, name and settings are already given in HepTool

run(spc_file, temp_dir, log, data_point)[source]
bsmart.tools.HiggsTools.getCPFromEffC(p: str, data: dict, effCPrefix: str = 'effc', evenCoupSuffix: str = 's', oddCoupSuffix: str = 'p')[source]

Use the fermionic effective couplings of a particle with ID p that are stored in the data dictionary to determine its CP quantum number.

bsmart.tools.HiggsTools.readHB5ZSLHA(slha: SLHA, neutralPDGs: list, chargedPDGs: list, invisibleWidthThreshold: float = 1e-10, invisiblePDGs: list = [])[source]