52 for(
int i = 0; i < n_neutral_higgses; i++)
54 result.CS_bg_hjb_ratio[i] = couplings.
C_bb2[i];
55 result.CS_bb_hj_ratio[i] = couplings.
C_bb2[i];
56 result.CS_lep_bbhj_ratio[i] = couplings.
C_bb2[i];
58 result.CS_lep_tautauhj_ratio[i] = couplings.
C_tautau2[i];
60 result.CS_lep_hjZ_ratio[i] = couplings.
C_ZZ2[i];
61 result.CS_gg_hjZ_ratio[i] = 0.;
62 result.CS_dd_hjZ_ratio[i] = couplings.
C_ZZ2[i];
63 result.CS_uu_hjZ_ratio[i] = couplings.
C_ZZ2[i];
64 result.CS_ss_hjZ_ratio[i] = couplings.
C_ZZ2[i];
65 result.CS_cc_hjZ_ratio[i] = couplings.
C_ZZ2[i];
66 result.CS_bb_hjZ_ratio[i] = couplings.
C_ZZ2[i];
68 result.CS_ud_hjWp_ratio[i] = couplings.
C_WW2[i];
69 result.CS_cs_hjWp_ratio[i] = couplings.
C_WW2[i];
70 result.CS_ud_hjWm_ratio[i] = couplings.
C_WW2[i];
71 result.CS_cs_hjWm_ratio[i] = couplings.
C_WW2[i];
73 result.CS_tev_vbf_ratio[i] = couplings.
C_WW2[i];
74 result.CS_lhc7_vbf_ratio[i] = couplings.
C_WW2[i];
75 result.CS_lhc8_vbf_ratio[i] = couplings.
C_WW2[i];
77 result.CS_gg_hj_ratio[i] = couplings.
C_gg2[i];
79 result.CS_tev_tthj_ratio[i] = couplings.
C_tt2[i];
80 result.CS_lhc7_tthj_ratio[i] = couplings.
C_tt2[i];
81 result.CS_lhc8_tthj_ratio[i] = couplings.
C_tt2[i];
83 for(
int j = 0; j < n_neutral_higgses; j++)
85 result.CS_lep_hjhi_ratio[i][j] = couplings.
C_hiZ2[i][j];
89 result.CS_lep_HpjHmi_ratio[0] = 1.;
99 result.CP[0] = couplings.
CP[0];
105 if (has_high_err and has_low_err)
109 result.deltaMh[0] = result.Mh[0] * std::max(upper,lower);
113 result.deltaMh[0] = 0.;
120 result.BR_hjss[0] = decays.
BF(
"s",
"sbar");
121 result.BR_hjcc[0] = decays.
BF(
"c",
"cbar");
122 result.BR_hjbb[0] = decays.
BF(
"b",
"bbar");
123 result.BR_hjmumu[0] = decays.
BF(
"mu+",
"mu-");
124 result.BR_hjtautau[0] = decays.
BF(
"tau+",
"tau-");
125 result.BR_hjWW[0] = decays.
BF(
"W+",
"W-");
126 result.BR_hjZZ[0] = decays.
BF(
"Z0",
"Z0");
127 result.BR_hjZga[0] = decays.
BF(
"gamma",
"Z0");
128 result.BR_hjgaga[0] = decays.
BF(
"gamma",
"gamma");
129 result.BR_hjgg[0] = decays.
BF(
"g",
"g");
132 result.BR_hjinvisible[0] = 0.;
135 result.BR_hjinvisible[0] += decays.
BF(*it, *it);
139 set_CS(result, couplings, 1);
142 for(
int i = 1; i < 3; i++)
145 result.deltaMh[i] = 0.;
146 result.hGammaTot[i] = 0.;
148 result.BR_hjss[i] = 0.;
149 result.BR_hjcc[i] = 0.;
150 result.BR_hjbb[i] = 0.;
151 result.BR_hjmumu[i] = 0.;
152 result.BR_hjtautau[i] = 0.;
153 result.BR_hjWW[i] = 0.;
154 result.BR_hjZZ[i] = 0.;
155 result.BR_hjZga[i] = 0.;
156 result.BR_hjgaga[i] = 0.;
157 result.BR_hjgg[i] = 0.;
158 result.BR_hjinvisible[i] = 0.;
159 result.CS_lep_hjZ_ratio[i] = 0.;
160 result.CS_lep_bbhj_ratio[i] = 0.;
161 result.CS_lep_tautauhj_ratio[i] = 0.;
162 result.CS_gg_hj_ratio[i] = 0.;
163 result.CS_bb_hj_ratio[i] = 0.;
164 result.CS_bg_hjb_ratio[i] = 0.;
165 result.CS_ud_hjWp_ratio[i] = 0.;
166 result.CS_cs_hjWp_ratio[i] = 0.;
167 result.CS_ud_hjWm_ratio[i] = 0.;
168 result.CS_cs_hjWm_ratio[i] = 0.;
169 result.CS_gg_hjZ_ratio[i] = 0.;
170 result.CS_dd_hjZ_ratio[i] = 0.;
171 result.CS_uu_hjZ_ratio[i] = 0.;
172 result.CS_ss_hjZ_ratio[i] = 0.;
173 result.CS_cc_hjZ_ratio[i] = 0.;
174 result.CS_bb_hjZ_ratio[i] = 0.;
175 result.CS_tev_vbf_ratio[i] = 0.;
176 result.CS_tev_tthj_ratio[i] = 0.;
177 result.CS_lhc7_vbf_ratio[i] = 0.;
178 result.CS_lhc7_tthj_ratio[i] = 0.;
179 result.CS_lhc8_vbf_ratio[i] = 0.;
180 result.CS_lhc8_tthj_ratio[i] = 0.;
181 for(
int j = 0; j < 3; j++) result.BR_hjhihi[i][j] = 0.;
182 for(
int j = 0; j < 3; j++) result.CS_lep_hjhi_ratio[i][j] = 0.;
186 result.MHplus[0] = 0.;
187 result.deltaMHplus[0] = 0.;
188 result.HpGammaTot[0] = 0.;
190 result.BR_tHpjb[0] = 0.;
191 result.BR_Hpjcs[0] = 0.;
192 result.BR_Hpjcb[0] = 0.;
193 result.BR_Hptaunu[0] = 0.;
194 result.CS_lep_HpjHmi_ratio[0] = 0.;
211 else ColliderBit_error().raise(
LOCAL_INFO,
"No valid model for SMLikeHiggs_ModelParameters.");
212 const SubSpectrum& spec = (*spectrum_dependency)->get_HE();
222 static const std::vector<str> sHneut = initVector<str>(
"h0_1",
"h0_2",
"A0");
225 for (
int i = 0; i < 3; i++) result.CP[i] = Dep::Higgs_Couplings->CP[i];
229 const DecayTable::Entry& H_plus_widths = Dep::Higgs_Couplings->get_charged_decays(0);
237 for(
int i = 0; i < 3; i++)
242 result.deltaMh[i] = result.Mh[i] * std::max(upper,lower);
246 for(
int i = 0; i < 3; i++)
248 result.hGammaTot[i] = h0_widths[i]->width_in_GeV;
249 result.BR_hjss[i] = h0_widths[i]->BF(
"s",
"sbar");
250 result.BR_hjcc[i] = h0_widths[i]->BF(
"c",
"cbar");
251 result.BR_hjbb[i] = h0_widths[i]->BF(
"b",
"bbar");
252 result.BR_hjmumu[i] = h0_widths[i]->BF(
"mu+",
"mu-");
253 result.BR_hjtautau[i] = h0_widths[i]->BF(
"tau+",
"tau-");
254 result.BR_hjWW[i] = h0_widths[i]->BF(
"W+",
"W-");
255 result.BR_hjZZ[i] = h0_widths[i]->BF(
"Z0",
"Z0");
256 result.BR_hjZga[i] = h0_widths[i]->BF(
"gamma",
"Z0");
257 result.BR_hjgaga[i] = h0_widths[i]->BF(
"gamma",
"gamma");
258 result.BR_hjgg[i] = h0_widths[i]->BF(
"g",
"g");
260 result.BR_hjinvisible[i] = 0.;
261 for (
auto it = Dep::Higgs_Couplings->invisibles.begin(); it != Dep::Higgs_Couplings->invisibles.end(); ++it)
263 result.BR_hjinvisible[i] += h0_widths[i]->BF(*it, *it);
266 for (
int j = 0; j < 3; j++)
268 if (2.*result.Mh[j] < result.Mh[i] and h0_widths[i]->has_channel(sHneut[j],sHneut[j]))
270 result.BR_hjhihi[i][j] = h0_widths[i]->BF(sHneut[j],sHneut[j]);
274 result.BR_hjhihi[i][j] = 0.;
283 result.deltaMHplus[0] = result.MHplus[0] * std::max(upper,lower);
287 result.BR_Hpjcs[0] = H_plus_widths.
BF(
"c",
"sbar");
288 result.BR_Hpjcb[0] = H_plus_widths.
BF(
"c",
"bbar");
289 result.BR_Hptaunu[0] = H_plus_widths.
BF(
"tau+",
"nu_tau");
292 result.BR_tWpb = t_widths.
BF(
"W+",
"b");
293 result.BR_tHpjb[0] = t_widths.
has_channel(
"H+",
"b") ? t_widths.
BF(
"H+",
"b") : 0.0;
296 set_CS(result, *Dep::Higgs_Couplings, 3);
305 hb_ModelParameters ModelParam = *Dep::HB_ModelParameters;
309 for(
int i = 0; i < 3; i++)
for(
int j = 0; j < 3; j++)
311 CS_lep_hjhi_ratio(i+1,j+1) = ModelParam.CS_lep_hjhi_ratio[i][j];
312 BR_hjhihi(i+1,j+1) = ModelParam.BR_hjhihi[i][j];
315 BEreq::HiggsBounds_neutral_input_part(&ModelParam.Mh[0], &ModelParam.hGammaTot[0], &ModelParam.CP[0],
316 &ModelParam.CS_lep_hjZ_ratio[0], &ModelParam.CS_lep_bbhj_ratio[0],
317 &ModelParam.CS_lep_tautauhj_ratio[0], CS_lep_hjhi_ratio,
318 &ModelParam.CS_gg_hj_ratio[0], &ModelParam.CS_bb_hj_ratio[0],
319 &ModelParam.CS_bg_hjb_ratio[0], &ModelParam.CS_ud_hjWp_ratio[0],
320 &ModelParam.CS_cs_hjWp_ratio[0], &ModelParam.CS_ud_hjWm_ratio[0],
321 &ModelParam.CS_cs_hjWm_ratio[0], &ModelParam.CS_gg_hjZ_ratio[0],
322 &ModelParam.CS_dd_hjZ_ratio[0], &ModelParam.CS_uu_hjZ_ratio[0],
323 &ModelParam.CS_ss_hjZ_ratio[0], &ModelParam.CS_cc_hjZ_ratio[0],
324 &ModelParam.CS_bb_hjZ_ratio[0], &ModelParam.CS_tev_vbf_ratio[0],
325 &ModelParam.CS_tev_tthj_ratio[0], &ModelParam.CS_lhc7_vbf_ratio[0],
326 &ModelParam.CS_lhc7_tthj_ratio[0], &ModelParam.CS_lhc8_vbf_ratio[0],
327 &ModelParam.CS_lhc8_tthj_ratio[0], &ModelParam.BR_hjss[0],
328 &ModelParam.BR_hjcc[0], &ModelParam.BR_hjbb[0],
329 &ModelParam.BR_hjmumu[0], &ModelParam.BR_hjtautau[0],
330 &ModelParam.BR_hjWW[0], &ModelParam.BR_hjZZ[0],
331 &ModelParam.BR_hjZga[0], &ModelParam.BR_hjgaga[0],
332 &ModelParam.BR_hjgg[0], &ModelParam.BR_hjinvisible[0], BR_hjhihi);
334 BEreq::HiggsBounds_charged_input(&ModelParam.MHplus[0], &ModelParam.HpGammaTot[0], &ModelParam.CS_lep_HpjHmi_ratio[0],
335 &ModelParam.BR_tWpb, &ModelParam.BR_tHpjb[0], &ModelParam.BR_Hpjcs[0],
336 &ModelParam.BR_Hpjcb[0], &ModelParam.BR_Hptaunu[0]);
338 BEreq::HiggsBounds_set_mass_uncertainties(&ModelParam.deltaMh[0],&ModelParam.deltaMHplus[0]);
342 int HBresult, chan, ncombined;
343 BEreq::run_HiggsBounds_classic(HBresult,chan,obsratio,ncombined);
346 double chisq_withouttheory,chisq_withtheory;
348 double theor_unc = 1.5;
349 BEreq::HB_calc_stats(theor_unc,chisq_withouttheory,chisq_withtheory,chan2);
352 if( fabs(chisq_withouttheory - (-999.)) < 1e-6)
354 ColliderBit_warning().raise(
LOCAL_INFO,
"Got chisq=-999 from HB_calc_stats in HiggsBounds, indicating a cross-section outside tabulated range. Will use chisq=0.");
355 chisq_withouttheory = 0.0;
358 result = -0.5*chisq_withouttheory;
366 hb_ModelParameters ModelParam = *Dep::HB_ModelParameters;
370 for(
int i = 0; i < 3; i++)
for(
int j = 0; j < 3; j++)
372 CS_lep_hjhi_ratio(i+1,j+1) = ModelParam.CS_lep_hjhi_ratio[i][j];
373 BR_hjhihi(i+1,j+1) = ModelParam.BR_hjhihi[i][j];
376 BEreq::HiggsBounds_neutral_input_part_HS(&ModelParam.Mh[0], &ModelParam.hGammaTot[0], &ModelParam.CP[0],
377 &ModelParam.CS_lep_hjZ_ratio[0], &ModelParam.CS_lep_bbhj_ratio[0],
378 &ModelParam.CS_lep_tautauhj_ratio[0], CS_lep_hjhi_ratio,
379 &ModelParam.CS_gg_hj_ratio[0], &ModelParam.CS_bb_hj_ratio[0],
380 &ModelParam.CS_bg_hjb_ratio[0], &ModelParam.CS_ud_hjWp_ratio[0],
381 &ModelParam.CS_cs_hjWp_ratio[0], &ModelParam.CS_ud_hjWm_ratio[0],
382 &ModelParam.CS_cs_hjWm_ratio[0], &ModelParam.CS_gg_hjZ_ratio[0],
383 &ModelParam.CS_dd_hjZ_ratio[0], &ModelParam.CS_uu_hjZ_ratio[0],
384 &ModelParam.CS_ss_hjZ_ratio[0], &ModelParam.CS_cc_hjZ_ratio[0],
385 &ModelParam.CS_bb_hjZ_ratio[0], &ModelParam.CS_tev_vbf_ratio[0],
386 &ModelParam.CS_tev_tthj_ratio[0], &ModelParam.CS_lhc7_vbf_ratio[0],
387 &ModelParam.CS_lhc7_tthj_ratio[0], &ModelParam.CS_lhc8_vbf_ratio[0],
388 &ModelParam.CS_lhc8_tthj_ratio[0], &ModelParam.BR_hjss[0],
389 &ModelParam.BR_hjcc[0], &ModelParam.BR_hjbb[0],
390 &ModelParam.BR_hjmumu[0], &ModelParam.BR_hjtautau[0],
391 &ModelParam.BR_hjWW[0], &ModelParam.BR_hjZZ[0],
392 &ModelParam.BR_hjZga[0], &ModelParam.BR_hjgaga[0],
393 &ModelParam.BR_hjgg[0], &ModelParam.BR_hjinvisible[0], BR_hjhihi);
395 BEreq::HiggsBounds_charged_input_HS(&ModelParam.MHplus[0], &ModelParam.HpGammaTot[0], &ModelParam.CS_lep_HpjHmi_ratio[0],
396 &ModelParam.BR_tWpb, &ModelParam.BR_tHpjb[0], &ModelParam.BR_Hpjcs[0],
397 &ModelParam.BR_Hpjcb[0], &ModelParam.BR_Hptaunu[0]);
399 BEreq::HiggsSignals_neutral_input_MassUncertainty(&ModelParam.deltaMh[0]);
408 double csqmu, csqmh, csqtot, Pvalue;
410 BEreq::run_HiggsSignals(mode, csqmu, csqmh, csqtot, nobs, Pvalue);
412 result = -0.5*csqtot;
414 #ifdef COLLIDERBIT_DEBUG 416 f.open (
"HB_ModelParameters_contents.dat");
417 f<<
"LHC log-likleihood";
418 for (
int i = 0; i < 3; i++) f<<
422 " "<<i<<
":hGammaTot"<<
423 " "<<i<<
":CS_lep_hjZ_ratio"<<
424 " "<<i<<
":CS_tev_vbf_ratio"<<
425 " "<<i<<
":CS_lep_bbhj_ratio"<<
426 " "<<i<<
":CS_lep_tautauhj_ratio"<<
427 " "<<i<<
":CS_gg_hj_ratio"<<
428 " "<<i<<
":CS_tev_tthj_ratio"<<
429 " "<<i<<
":CS_lhc7_tthj_ratio"<<
430 " "<<i<<
":CS_lhc8_tthj_ratio"<<
431 " "<<i<<
":CS_lep_hjhi_ratio[0]"<<
432 " "<<i<<
":CS_lep_hjhi_ratio[1]"<<
433 " "<<i<<
":CS_lep_hjhi_ratio[2]"<<
438 " "<<i<<
":BR_tautau"<<
442 " "<<i<<
":BR_gamgam"<<
444 " "<<i<<
":BR_invisible"<<
445 " "<<i<<
":BR_hihi[0]"<<
446 " "<<i<<
":BR_hihi[1]"<<
447 " "<<i<<
":BR_hihi[2]";
451 " "<<4<<
":HpGammaTot"<<
452 " "<<4<<
":CS_lep_HpjHmi_ratio"<<
453 " "<<4<<
":BR_H+->cs"<<
454 " "<<4<<
":BR_H+->cb"<<
455 " "<<4<<
":BR_H+->taunu"<<
456 " "<<4<<
":BR_t->W+b"<<
457 " "<<4<<
":BR_t->H+b";
458 f << endl << std::setw(18) << result;
460 for (
int i = 0; i < 3; i++)
462 f << std::setw(w) << i << std::setw(w) <<
463 ModelParam.CP[i] << std::setw(w) <<
464 ModelParam.Mh[i] << std::setw(w) <<
465 ModelParam.hGammaTot[i] << std::setw(w) <<
466 ModelParam.CS_lep_hjZ_ratio[i] << std::setw(w) <<
467 ModelParam.CS_tev_vbf_ratio[i] << std::setw(w) <<
468 ModelParam.CS_lep_bbhj_ratio[i] << std::setw(w) <<
469 ModelParam.CS_lep_tautauhj_ratio[i] << std::setw(w) <<
470 ModelParam.CS_gg_hj_ratio[i] << std::setw(w) <<
471 ModelParam.CS_tev_tthj_ratio[i] << std::setw(w) <<
472 ModelParam.CS_lhc7_tthj_ratio[i] << std::setw(w) <<
473 ModelParam.CS_lhc8_tthj_ratio[i];
474 for (
int j = 0; j < 3; j++) f << std::setw(w) << ModelParam.CS_lep_hjhi_ratio[i][j];
476 ModelParam.BR_hjss[i] << std::setw(w) <<
477 ModelParam.BR_hjcc[i] << std::setw(w) <<
478 ModelParam.BR_hjbb[i] << std::setw(w) <<
479 ModelParam.BR_hjmumu[i] << std::setw(w) <<
480 ModelParam.BR_hjtautau[i] << std::setw(w) <<
481 ModelParam.BR_hjWW[i] << std::setw(w) <<
482 ModelParam.BR_hjZZ[i] << std::setw(w) <<
483 ModelParam.BR_hjZga[i] << std::setw(w) <<
484 ModelParam.BR_hjgaga[i] << std::setw(w) <<
485 ModelParam.BR_hjgg[i] << std::setw(w) <<
486 ModelParam.BR_hjinvisible[i];
487 for (
int j = 0; j < 3; j++) f << std::setw(w) << ModelParam.BR_hjhihi[i][j];
489 f << std::setw(w) << 4 << std::setw(w) <<
490 ModelParam.MHplus[0] << std::setw(w) <<
491 ModelParam.HpGammaTot[0] << std::setw(w) <<
492 ModelParam.CS_lep_HpjHmi_ratio[0] << std::setw(w) <<
493 ModelParam.BR_Hpjcs[0] << std::setw(w) <<
494 ModelParam.BR_Hpjcb[0] << std::setw(w) <<
495 ModelParam.BR_Hptaunu[0] << std::setw(w) <<
496 ModelParam.BR_tWpb << std::setw(w) <<
497 ModelParam.BR_tHpjb[0];
510 fh_HiggsProd HiggsProd;
517 BEreq::FHHiggsProd(error, sqrts, prodxs);
520 std::ostringstream
err;
521 err <<
"BEreq::FHHiggsProd raised error flag for Tevatron: " << error <<
".";
524 for(
int i = 0; i < 52; i++) HiggsProd.prodxs_Tev[i] = prodxs(i+1);
528 BEreq::FHHiggsProd(error, sqrts, prodxs);
531 std::ostringstream
err;
532 err <<
"BEreq::FHHiggsProd raised error flag for LHC7: " << error <<
".";
535 for(
int i = 0; i < 52; i++) HiggsProd.prodxs_LHC7[i] = prodxs(i+1);
539 BEreq::FHHiggsProd(error, sqrts, prodxs);
542 std::ostringstream
err;
543 err <<
"BEreq::FHHiggsProd raised error flag for LHC8: " << error <<
".";
546 for(
int i = 0; i < 52; i++) HiggsProd.prodxs_LHC8[i] = prodxs(i+1);
Rollcall header for ColliderBit module.
Array class that matches the memory structure and functionality of arrays in Fortran codes Syntax: Fa...
DecayTable entry class. Holds the info on all decays of a given particle.
double C_ZZ2[max_neutral_higgses]
double BF(const std::vector< std::pair< int, int > > &) const
Retrieve branching fraction for decay to a given final state.
std::vector< str > invisibles
Particles that higgses can decay invisibly to.
double C_tt2[max_neutral_higgses]
void MSSMHiggs_ModelParameters(hb_ModelParameters &result)
MSSM Higgs model parameters.
double CP[max_neutral_higgses]
CP of neutral higgses.
double C_WW2[max_neutral_higgses]
Effective couplings for neutral higgses.
const DecayTable::Entry & get_neutral_decays(int) const
Retrieve decays of a specific neutral Higgs, by index.
void set_CS(hb_ModelParameters &result, const HiggsCouplingsTable &couplings, int n_neutral_higgses)
Helper function to set HiggsBounds/Signals parameters cross-section ratios from a GAMBIT HiggsCouplin...
void FH_HiggsProd(fh_HiggsProd &result)
Higgs production cross-sections from FeynHiggs.
GAMBIT native higgs coupling table class.
void SMLikeHiggs_ModelParameters(hb_ModelParameters &result)
SM-like (SM + possible invisibles) Higgs model parameters for HiggsBounds/Signals.
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum ScalarSingletDM_Z3_spectrum
ScalarSingletDM_Z2_spectrum
void calc_HB_LEP_LogLike(double &result)
Get a LEP chisq from HiggsBounds.
virtual void raise(const std::string &)
Raise the exception, i.e. throw it.
virtual double get(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0
double C_bb2[max_neutral_higgses]
double C_tautau2[max_neutral_higgses]
double width_in_GeV
Total particle width (in GeV)
bool has_channel(const std::vector< std::pair< int, int > > &) const
Check if a given final state exists in this DecayTable::Entry.
An interface class for module dependencies.
const DecayTable::Entry * h0_decay_array_type[max_neutral_higgses]
Types to make returning decay arrays easier.
Virtual base class for interacting with spectrum generator output.
void SMHiggs_ModelParameters(hb_ModelParameters &result)
SM Higgs model parameters for HiggsBounds/Signals.
Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SM_spectrum
invalid_point_exception & invalid_point()
Invalid point exceptions.
double C_gg2[max_neutral_higgses]
void set_SMLikeHiggs_ModelParameters(const SubSpectrum &spec, const HiggsCouplingsTable &couplings, hb_ModelParameters &result)
Helper function for populating a HiggsBounds/Signals ModelParameters object for SM-like Higgs...
TODO: see if we can use this one:
virtual bool has(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0
Getters/Setters etc.
"Standard Model" (low-energy) plus high-energy model container class
double C_hiZ2[max_neutral_higgses][max_neutral_higgses]
void calc_HS_LHC_LogLike(double &result)
Get an LHC chisq from HiggsSignals.