SpecBit_MSSM.cpp
Go to the documentation of this file.
49 #include "gambit/SpecBit/model_files_and_boxes.hpp" // #includes lots of flexiblesusy headers and defines interface classes 50 #include "gambit/Printers/printermanager.hpp" // Needed by get_MSSM_spectrum_from_postprocessor to access reader object 51 #include "gambit/Printers/baseprinter.hpp" // Needed by get_MSSM_spectrum_from_postprocessor to use reader object 132 settings.set(Spectrum_generator_settings::precision, runOptions.getValueOrDef<double>(1.0e-4,"precision_goal")); 133 settings.set(Spectrum_generator_settings::max_iterations, runOptions.getValueOrDef<double>(0,"max_iterations")); 134 settings.set(Spectrum_generator_settings::calculate_sm_masses, runOptions.getValueOrDef<bool> (false, "calculate_sm_masses")); 135 settings.set(Spectrum_generator_settings::pole_mass_loop_order, runOptions.getValueOrDef<int>(2,"pole_mass_loop_order")); 136 settings.set(Spectrum_generator_settings::pole_mass_loop_order, runOptions.getValueOrDef<int>(2,"ewsb_loop_order")); 137 settings.set(Spectrum_generator_settings::beta_loop_order, runOptions.getValueOrDef<int>(2,"beta_loop_order")); 138 settings.set(Spectrum_generator_settings::threshold_corrections_loop_order, runOptions.getValueOrDef<int>(2,"threshold_corrections_loop_order")); 139 settings.set(Spectrum_generator_settings::higgs_2loop_correction_at_as, runOptions.getValueOrDef<int>(1,"higgs_2loop_correction_at_as")); 140 settings.set(Spectrum_generator_settings::higgs_2loop_correction_ab_as, runOptions.getValueOrDef<int>(1,"higgs_2loop_correction_ab_as")); 141 settings.set(Spectrum_generator_settings::higgs_2loop_correction_at_at, runOptions.getValueOrDef<int>(1,"higgs_2loop_correction_at_at")); 142 settings.set(Spectrum_generator_settings::higgs_2loop_correction_atau_atau, runOptions.getValueOrDef<int>(1,"higgs_2loop_correction_atau_atau")); 143 settings.set(Spectrum_generator_settings::top_pole_qcd_corrections, runOptions.getValueOrDef<int>(1,"top_pole_qcd_corrections")); 144 settings.set(Spectrum_generator_settings::beta_zero_threshold, runOptions.getValueOrDef<double>(1.000000000e-14,"beta_zero_threshold")); 145 settings.set(Spectrum_generator_settings::eft_matching_loop_order_up, runOptions.getValueOrDef<int>(1,"eft_matching_loop_order_up")); 146 settings.set(Spectrum_generator_settings::eft_matching_loop_order_down, runOptions.getValueOrDef<int>(1,"eft_matching_loop_order_down")); 147 settings.set(Spectrum_generator_settings::threshold_corrections, runOptions.getValueOrDef<int>(123111321,"threshold_corrections")); 208 mssmspec.set_override_vector(Par::Pole_Mass_1srd_high, 0.03, ms.pole_mass_strs_1_6, i123456, true); 209 mssmspec.set_override_vector(Par::Pole_Mass_1srd_low, 0.03, ms.pole_mass_strs_1_6, i123456, true); 212 mssmspec.set_override_vector(Par::Pole_Mass_1srd_high, 0.03, ms.pole_mass_strs_1_3, i123, true); 223 // Do the W mass separately. Here we use 10 MeV based on the size of corrections from two-loop papers and advice from Dominik Stockinger. 235 // Create a second SubSpectrum object to wrap the qedqcd object used to initialise the spectrum generator 236 // Attach the sminputs object as well, so that SM pole masses can be passed on (these aren't easily 266 //if( have_non_perturbative_parameter() ) msg << "non-perturb. param" << std::endl; // TODO: check which 267 //if( have_failed_pole_mass_convergence() ) msg << "fail pole mass converg." << std::endl; // TODO: check which 284 SpecBit_warning().raise(LOCAL_INFO,msg.str()); //TODO: Is a warning the correct thing to do here? 299 static const Spectrum::mc_info mass_cut = runOptions.getValueOrDef<Spectrum::mc_info>(Spectrum::mc_info(), "mass_cut"); 300 static const Spectrum::mr_info mass_ratio_cut = runOptions.getValueOrDef<Spectrum::mr_info>(Spectrum::mr_info(), "mass_ratio_cut"); 302 // Package QedQcd SubSpectrum object, MSSM SubSpectrum object, and SMInputs struct into a 'full' Spectrum object 306 //Version for 1.5.1 commented out because we should make it possible to support FS versions in parallel. 349 // spectrum_generator.set_precision_goal (runOptions.getValueOrDef<double>(1.0e-4,"precision_goal")); 350 // spectrum_generator.set_max_iterations (runOptions.getValueOrDef<double>(0, "max_iterations")); 351 // spectrum_generator.set_calculate_sm_masses (runOptions.getValueOrDef<bool> (false, "calculate_sm_masses")); 352 // spectrum_generator.set_pole_mass_loop_order (runOptions.getValueOrDef<int> (2, "pole_mass_loop_order")); 353 // spectrum_generator.set_ewsb_loop_order (runOptions.getValueOrDef<int> (2, "ewsb_loop_order")); 354 // spectrum_generator.set_beta_loop_order (runOptions.getValueOrDef<int> (2, "beta_loop_order")); 355 // spectrum_generator.set_threshold_corrections_loop_order(runOptions.getValueOrDef<int> (2, "threshold_corrections_loop_order")); 364 // two_loop_settings.higgs_at_as = runOptions.getValueOrDef<bool>(true,"use_higgs_2loop_at_as"); 365 // two_loop_settings.higgs_ab_as = runOptions.getValueOrDef<bool>(true,"use_higgs_2loop_ab_as"); 366 // two_loop_settings.higgs_at_at = runOptions.getValueOrDef<bool>(true,"use_higgs_2loop_at_at"); 367 // two_loop_settings.higgs_atau_atau = runOptions.getValueOrDef<bool>(true,"use_higgs_2loop_atau_atau"); 414 // mssmspec.set_override_vector(Par::Pole_Mass_1srd_high, 0.03, ms.pole_mass_strs_1_6, i123456, true); 415 // mssmspec.set_override_vector(Par::Pole_Mass_1srd_low, 0.03, ms.pole_mass_strs_1_6, i123456, true); 418 // mssmspec.set_override_vector(Par::Pole_Mass_1srd_high, 0.03, ms.pole_mass_strs_1_3, i123, true); 419 // mssmspec.set_override_vector(Par::Pole_Mass_1srd_low, 0.03, ms.pole_mass_strs_1_3, i123, true); 420 // mssmspec.set_override_vector(Par::Pole_Mass_1srd_high, 0.03, ms.pole_mass_strs_1_2, i12, true); 421 // mssmspec.set_override_vector(Par::Pole_Mass_1srd_low, 0.03, ms.pole_mass_strs_1_2, i12, true); 423 // // Do the lightest Higgs mass separately. The default in most codes is 3 GeV. That seems like 424 // // an underestimate if the stop masses are heavy enough, but an overestimate for most points. 429 // // Do the W mass separately. Here we use 10 MeV based on the size of corrections from two-loop papers and advice from Dominik Stockinger. 441 // // Create a second SubSpectrum object to wrap the qedqcd object used to initialise the spectrum generator 442 // // Attach the sminputs object as well, so that SM pole masses can be passed on (these aren't easily 472 // //if( have_non_perturbative_parameter() ) msg << "non-perturb. param" << std::endl; // TODO: check which 473 // //if( have_failed_pole_mass_convergence() ) msg << "fail pole mass converg." << std::endl; // TODO: check which 490 // SpecBit_warning().raise(LOCAL_INFO,msg.str()); //TODO: Is a warning the correct thing to do here? 505 // static const Spectrum::mc_info mass_cut = runOptions.getValueOrDef<Spectrum::mc_info>(Spectrum::mc_info(), "mass_cut"); 506 // static const Spectrum::mr_info mass_ratio_cut = runOptions.getValueOrDef<Spectrum::mr_info>(Spectrum::mr_info(), "mass_ratio_cut"); 508 // // Package QedQcd SubSpectrum object, MSSM SubSpectrum object, and SMInputs struct into a 'full' Spectrum object 514 Eigen::Matrix<double,3,3> fill_3x3_parameter_matrix(const std::string& rootname, const std::map<str, safe_ptr<const double> >& Param) 525 Eigen::Matrix<double,3,3> fill_3x3_symmetric_parameter_matrix(const std::string& rootname, const std::map<str, safe_ptr<const double> >& Param) 530 str parname = rootname + "_" + ( i < j ? std::to_string(i+1) + std::to_string(j+1) : std::to_string(j+1) + std::to_string(i+1)); 551 msg << "Tried to set TanBeta parameter to a negative value ("<<input.TanBeta<<")! This parameter must be positive. Please check your inifile and try again."; 605 msg << "Tried to set TanBeta parameter to a negative value ("<<input.TanBeta<<")! This parameter must be positive. Please check your inifile and try again."; 652 void convert_MSSM_to_SM (Spectrum &result) {result = *Pipes::convert_MSSM_to_SM::Dep::MSSM_spectrum;} 653 void convert_NMSSM_to_SM (Spectrum &result) {result = *Pipes::convert_NMSSM_to_SM::Dep::NMSSM_spectrum;} 654 void convert_E6MSSM_to_SM (Spectrum &result) {result = *Pipes::convert_E6MSSM_to_SM::Dep::E6MSSM_spectrum;} 668 static const Spectrum::mc_info mass_cut = myPipe::runOptions->getValueOrDef<Spectrum::mc_info>(Spectrum::mc_info(), "mass_cut"); 669 static const Spectrum::mr_info mass_ratio_cut = myPipe::runOptions->getValueOrDef<Spectrum::mr_info>(Spectrum::mr_info(), "mass_ratio_cut"); 702 result = run_FS_spectrum_generator<MSSMatMSUSYEFTHiggs_mAmu_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 733 result = run_FS_spectrum_generator<MSSMEFTHiggs_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 769 result = run_FS_spectrum_generator<MSSMEFTHiggs_mAmu_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 809 msg << "Tried to set TanBeta parameter to a negative value ("<<input.TanBeta<<")! This parameter must be positive. Please check your inifile and try again."; 815 msg << "Tried to set SignMu parameter to a value that is not a sign! ("<<input.SignMu<<")! This parameter must be set to either 1 or -1. Please check your inifile and try again."; 820 result = run_FS_spectrum_generator<CMSSM_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 846 msg << "Tried to set SignMu parameter to a value that is not a sign! ("<<input.SignMu<<")! This parameter must be set to either 1 or -1. Please check your inifile and try again."; 850 result = run_FS_spectrum_generator<MSSM_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 873 result = run_FS_spectrum_generator<MSSM_mAmu_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 893 msg << "Tried to set SignMu parameter to a value that is not a sign! ("<<input.SignMu<<")! This parameter must be set to either 1 or -1. Please check your inifile and try again."; 897 result = run_FS_spectrum_generator<MSSMatMGUT_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 923 msg << "Tried to set SignMu parameter to a value that is not a sign! ("<<input.SignMu<<")! This parameter must be set to either 1 or -1. Please check your inifile and try again."; 928 result = run_FS_spectrum_generator<MSSMatMGUTEFTHiggs_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 956 result = run_FS_spectrum_generator<MSSMatMGUT_mAmu_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 984 result = run_FS_spectrum_generator<MSSMatMGUTEFTHiggs_mAmu_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 1012 result = run_FS_spectrum_generator<MSSMatMSUSY_mAmu_interface<ALGORITHM1>>(input,sminputs,*myPipe::runOptions,myPipe::Param); 1039 result = Pipes::get_MSSM_spectrum_as_SLHAea_SLHA1::Dep::unimproved_MSSM_spectrum->getSLHAea(1); 1045 result = Pipes::get_MSSM_spectrum_as_SLHAea_SLHA2::Dep::unimproved_MSSM_spectrum->getSLHAea(2); 1072 msg << "Preset number of loops through input files reached! Stopping. (tried to start cycle "<<ncycle<<" of "<<cycles<<")"; 1086 logger() << "Returning to start of input SLHA file list (finished "<<ncycle<<" cycles)" << EOM; 1092 static const Spectrum::mc_info mass_cut = myPipe::runOptions->getValueOrDef<Spectrum::mc_info>(Spectrum::mc_info(), "mass_cut"); 1093 static const Spectrum::mr_info mass_ratio_cut = myPipe::runOptions->getValueOrDef<Spectrum::mr_info>(Spectrum::mr_info(), "mass_ratio_cut"); 1096 result = spectrum_from_SLHAea<MSSMSimpleSpec, SLHAstruct>(input_slha, input_slha, mass_cut, mass_ratio_cut); 1115 const SLHAstruct& input_slha_tmp = *myPipe::Dep::unimproved_MSSM_spectrum; // Retrieve dependency on SLHAstruct 1124 static const Spectrum::mc_info mass_cut = myPipe::runOptions->getValueOrDef<Spectrum::mc_info>(Spectrum::mc_info(), "mass_cut"); 1125 static const Spectrum::mr_info mass_ratio_cut = myPipe::runOptions->getValueOrDef<Spectrum::mr_info>(Spectrum::mr_info(), "mass_ratio_cut"); 1128 result = spectrum_from_SLHAea<MSSMSimpleSpec, SLHAstruct>(input_slha, input_slha, mass_cut, mass_ratio_cut); 1160 result.get_HE().set_override(Par::mass1,SLHAea::to<double>(input_slha.at("GAMBIT").at(1).at(1)), "high_scale", false); 1183 // (should really match SMINPUTS, but better to use what is actually in the reported output spectrum) 1191 if(not (mssm_is_valid and sm_is_valid)) invalid_point().raise("Postprocessor: precomputed spectrum was set 'invalid' for this point"); 1206 static const Spectrum::mc_info mass_cut = myPipe::runOptions->getValueOrDef<Spectrum::mc_info>(Spectrum::mc_info(), "mass_cut"); 1207 static const Spectrum::mr_info mass_ratio_cut = myPipe::runOptions->getValueOrDef<Spectrum::mr_info>(Spectrum::mr_info(), "mass_ratio_cut"); 1492 // Work out if this is indeed the LSP, and if decays of at least one neutral higgs to it are kinematically possible. 1521 // Set the CP of the Higgs states. Note that this would need to be more sophisticated to deal with the complex MSSM! 1532 result.set_neutral_decays_SM(other_higgs, sHneut[other_higgs], *Dep::Reference_SM_other_Higgs_decay_rates); 1543 result.C_WW2[i] = result.compute_effective_coupling(i, std::pair<int,int>(24, 0), std::pair<int,int>(-24, 0)); 1544 result.C_ZZ2[i] = result.compute_effective_coupling(i, std::pair<int,int>(23, 0), std::pair<int,int>(23, 0)); 1545 result.C_tt2[i] = result.compute_effective_coupling(i, std::pair<int,int>(6, 1), std::pair<int,int>(-6, 1)); 1546 result.C_bb2[i] = result.compute_effective_coupling(i, std::pair<int,int>(5, 1), std::pair<int,int>(-5, 1)); 1547 result.C_cc2[i] = result.compute_effective_coupling(i, std::pair<int,int>(4, 1), std::pair<int,int>(-4, 1)); 1548 result.C_tautau2[i] = result.compute_effective_coupling(i, std::pair<int,int>(15, 1), std::pair<int,int>(-15, 1)); 1549 result.C_gaga2[i] = result.compute_effective_coupling(i, std::pair<int,int>(22, 0), std::pair<int,int>(22, 0)); 1550 result.C_gg2[i] = result.compute_effective_coupling(i, std::pair<int,int>(21, 0), std::pair<int,int>(21, 0)); 1551 result.C_mumu2[i] = result.compute_effective_coupling(i, std::pair<int,int>(13, 1), std::pair<int,int>(-13, 1)); 1552 result.C_Zga2[i] = result.compute_effective_coupling(i, std::pair<int,int>(23, 0), std::pair<int,int>(21, 0)); 1553 result.C_ss2[i] = result.compute_effective_coupling(i, std::pair<int,int>(3, 1), std::pair<int,int>(-3, 1)); 1568 double gamma = result.get_neutral_decays(i).width_in_GeV*result.get_neutral_decays(i).BF(sHneut[j], "Z0"); 1574 else // If the channel is missing from the decays or kinematically disallowed, just return the SM result. 1603 result.set_neutral_decays_SM(other_higgs, sHneut[other_higgs], *Dep::Reference_SM_other_Higgs_decay_rates); 1611 // Use the branching fractions to compute gluon, gamma/Z and second generation fermionic effective couplings 1614 result.C_gg2[i] = result.compute_effective_coupling(i, std::pair<int,int>(21, 0), std::pair<int,int>(21, 0)); 1615 result.C_gaga2[i] = result.compute_effective_coupling(i, std::pair<int,int>(22, 0), std::pair<int,int>(22, 0)); 1616 result.C_Zga2[i] = result.compute_effective_coupling(i, std::pair<int,int>(23, 0), std::pair<int,int>(22, 0)); 1617 result.C_mumu2[i] = result.compute_effective_coupling(i, std::pair<int,int>(13, 1), std::pair<int,int>(-13, 1)); 1618 result.C_ss2[i] = result.compute_effective_coupling(i, std::pair<int,int>(3, 1), std::pair<int,int>(-3, 1)); 1619 result.C_cc2[i] = result.compute_effective_coupling(i, std::pair<int,int>(4, 1), std::pair<int,int>(-4, 1)); 1692 void add_extra_MSSM_parameter_combinations(std::map<std::string,double>& specmap, const SubSpectrum& mssm) 1823 void fill_map_from_subspectrum(std::map<std::string,double>& specmap, const SubSpectrum& subspec) 1891 errmsg << "Error, invalid parameter received while converting SubSpectrum with contents \""<<contents.getName()<<"\" to map of strings! This should no be possible if the spectrum content verification routines were working correctly; they must be buggy, please report this."; void drop_SLHAs_if_requested(const safe_ptr< Options > &, const str &) Helper function to drop SLHA files. Definition: spectrum.cpp:452 std::vector< std::vector< double > > C_hiZ2 Definition: higgs_couplings_table.hpp:77 Define overloadings of the stream operator for various containers. Array class that matches the memory structure and functionality of arrays in Fortran codes Syntax: Fa... Definition: util_types.hpp:318 void MSSM_higgs_couplings_pwid(HiggsCouplingsTable &result) Put together the Higgs couplings for the MSSM, from partial widths only. Definition: SpecBit_MSSM.cpp:1507 std::vector< double > family_state_mix_matrix(str type, int generation, str &mass_es1, str &mass_es2, const SubSpectrum &mssm, double tol, str context, bool pterror) Get the family mixing matrix and corresponding mass eigenstates, then check for interfamily mixing... Definition: mssm_slhahelp.cpp:555 void MSSM_higgs_couplings_FH(HiggsCouplingsTable &result) Put together the Higgs couplings for the MSSM, using FeynHiggs. Definition: SpecBit_MSSM.cpp:1586 Helper function to determine which Higgs is most SM-like. std::vector< double > C_bb2 Definition: higgs_couplings_table.hpp:69 std::vector< double > C_mumu2 Definition: higgs_couplings_table.hpp:74 Rollcall header for module SpecBit. Definition: spectrum_helpers.hpp:55 double BF(const std::vector< std::pair< int, int > > &) const Retrieve branching fraction for decay to a given final state. Definition: decay_table.cpp:359 General small utility macros. Declarations of convenience (i.e. MSSM derived version of SubSpectrum class. void set_t_decays(const DecayTable::Entry &) Assign decay entries to top. Definition: higgs_couplings_table.cpp:103 Definition: QedQcdWrapper.hpp:59 void get_unimproved_MSSM_spectrum_as_map(std::map< std::string, double > &specmap) Definition: SpecBit_MSSM.cpp:1800 void get_MSSM_spectrum_as_SLHAea_SLHA1(SLHAstruct &result) Extract an SLHAea version of the spectrum contained in a Spectrum object, in SLHA1 format... Definition: SpecBit_MSSM.cpp:1037 void FH_HeavyHiggsMasses(map_int_triplet_dbl &result) Definition: SpecBit_MSSM.cpp:1915 This struct contains all the strings we will use for the MSSM in the maps. Definition: MSSMSpec_head.hpp:156 const DecayTable::Entry & get_neutral_decays(int) const Retrieve decays of a specific neutral Higgs, by index. Definition: higgs_couplings_table.cpp:132 const std::vector< str > getNames(const args &... keys) const Retrieve values from key-value pairs in options node. Definition: yaml_options.hpp:165 SLHAstruct getSLHAea(int) const SLHAea object getter First constructs an SLHAea object from the SMINPUTS object, then adds the info f... Definition: spectrum.cpp:432 GAMBIT native higgs coupling table class. Definition: higgs_couplings_table.hpp:28 virtual double GetScale() const Returns the renormalisation scale of parameters. Definition: subspectrum.hpp:133 void set_n_charged_higgs(int) Set the number of charged Higgses. Definition: higgs_couplings_table.cpp:46 void fill_MSSM63_input_altnames(T &input, const std::map< str, safe_ptr< const double > > &Param) Definition: SpecBit_MSSM.cpp:593 void get_MSSM_spectrum_from_postprocessor(Spectrum &result) Get pre-computed MSSM spectrum from previous output file This function ONLY works when the scan is dr... Definition: SpecBit_MSSM.cpp:1167 Helpers for making simple spectra from SLHAea objects. Flexiblesusy model header includes for SpecBit. void set_charged_decays(int, const str &, const DecayTable::Entry &) Assign decay entries to charged higgses. Definition: higgs_couplings_table.cpp:95 Definition: MSSMSpec_head.hpp:39 void get_MSSM_spectrum_from_SLHAstruct(Spectrum &result) Get an MSSMSpectrum object from an SLHAstruct Wraps it up in MSSMSimpleSpec; i.e. ... Definition: SpecBit_MSSM.cpp:1112 void SLHAea_add(SLHAstruct &slha, const str &block, const int index, const double value, const str &comment="", const bool overwrite=false) Add an entry to an SLHAea object (if overwrite=false, only if it doesn't already exist) ... Definition: slhaea_helpers.cpp:188 Manager class for printers. std::vector< std::pair< str, str > > invisibles Particles that higgses can decay invisibly to. Definition: higgs_couplings_table.hpp:62 void FH_AllHiggsMasses(fh_HiggsMassObs &result) Higgs masses and mixings with theoretical uncertainties. Definition: SpecBit_MSSM.cpp:1333 Definition: log_tags.hpp:38 std::vector< double > C_gg2 Definition: higgs_couplings_table.hpp:73 bool hasKey(const args &... keys) const Getters for key/value pairs (which is all the options node should contain) Definition: yaml_options.hpp:67 void set_override_vector(const Par::Tags, const double, const std::vector< str > &, const bool allow_new=false, const bool decouple=false) Vector override functions. Definition: subspectrum.cpp:516 static const std::vector< str > pole_mass_strs_1_3 pole mass strings with 1 index and three entries Definition: MSSMSpec_head.hpp:236 std::vector< double > C_ss2 Definition: higgs_couplings_table.hpp:76 std::vector< double > C_Zga2 Definition: higgs_couplings_table.hpp:75 void FH_MSSMMasses(fh_MSSMMassObs &result) FeynHiggs SUSY masses and mixings. Definition: SpecBit_MSSM.cpp:1220 SLHAea::Coll SLHAstruct Less confusing name for SLHAea container class. Definition: slhaea_helpers.hpp:41 void get_GUTMSSMB_spectrum(Spectrum &) Definition: SpecBit_MSSM.cpp:1018 void setup_QedQcd(softsusy::QedQcd &oneset, const SMInputs &sminputs) Non-Gambit helper functions. Definition: SpecBit.cpp:51 Definition: util_types.hpp:98 int SMlike_higgs_PDG_code(const SubSpectrum &) Determine which MSSM higgs is most SM-like. Definition: smlike_higgs.cpp:38 static const std::vector< str > pole_mass_strs_1_2 pole mass strings with 1 index and two entries Definition: MSSMSpec_head.hpp:237 virtual void raise(const std::string &) Raise the exception, i.e. throw it. Exact override of base method. Definition: exceptions.cpp:422 virtual double get(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool check_antiparticle=SafeBool(true)) const =0 void convert_NMSSM_to_SM(Spectrum &result) Definition: SpecBit_MSSM.cpp:653 Eigen::Matrix< double, 3, 3 > fill_3x3_parameter_matrix(const std::string &rootname, const std::map< str, safe_ptr< const double > > &Param) Helper function for setting 3x3 matrix-valued parameters. Definition: SpecBit_MSSM.cpp:514 double compute_effective_coupling(int index, const T &p1, const T &p2) Compute a neutral higgs effective coupling from the current two-body neutral higgs decays... Definition: higgs_couplings_table.hpp:101 SM specialisation of SLHAea object wrapper version of SubSpectrum class. Definition: SMSimpleSpec.hpp:88 void add_extra_MSSM_parameter_combinations(std::map< std::string, double > &specmap, const SubSpectrum &mssm) Adds additional information from interesting combinations of MSSM parameters. Definition: SpecBit_MSSM.cpp:1692 bool has_channel(const std::vector< std::pair< int, int > > &) const Check if a given final state exists in this DecayTable::Entry. Definition: decay_table.cpp:342 static const std::vector< str > pole_mass_pred Definition: MSSMSpec_head.hpp:232 void SHD_HiggsMass(triplet< double > &result) Definition: SpecBit_MSSM.cpp:1937 bool has_neutralino_LSP(const Spectrum &result) Check that the spectrum has a neutralino LSP. Definition: SpecBit.cpp:75 const Logging::endofmessage EOM Explicit const instance of the end of message struct in Gambit namespace. Definition: logger.hpp:100 std::vector< double > C_WW2 Effective couplings for neutral higgses. Definition: higgs_couplings_table.hpp:66 void fill_MSSM63_input(T &input, const std::map< str, safe_ptr< const double > > &Param) Helper function for filling MSSM63-compatible input parameter objects Leaves out mHu2, mHd2, SignMu, (mA, mu) because we use two different parameterisations of these. Definition: SpecBit_MSSM.cpp:539 Header file that includes all GAMBIT headers required for a module source file. EXPORT_SYMBOLS Logging::LogMaster & logger() Function to retrieve a reference to the Gambit global log object. Definition: logger.cpp:95 std::vector< double > C_tt2 Definition: higgs_couplings_table.hpp:68 std::vector< double > C_tautau2 Definition: higgs_couplings_table.hpp:71 std::vector< std::pair< str, str > > get_invisibles(const SubSpectrum &spec) Helper function to work out if the LSP is invisible, and if so, which particle it is... Definition: SpecBit_MSSM.cpp:1485 Declaration and definition of printer base class. void convert_E6MSSM_to_SM(Spectrum &result) Definition: SpecBit_MSSM.cpp:654 static const std::vector< str > pole_mass_strs_1_6 pole mass strings with 1 index and six entries Definition: MSSMSpec_head.hpp:234 std::vector< T > initVector(std::vector< T > vector) Definition: variadic_functions.hpp:52 SubSpectrum & get_LE() Standard getters Return references to internal data members. Definition: spectrum.cpp:224 TYPE getValueOrDef(TYPE def, const args &... keys) const Definition: yaml_options.hpp:115 void fill_map_from_subspectrum(std::map< std::string, double > &, const SubSpectrum &) Convert MSSM type Spectrum object into a map, so it can be printed. Definition: SpecBit_MSSM.cpp:1823 void set_n_neutral_higgs(int) Set the number of neutral Higgses. Definition: higgs_couplings_table.cpp:24 void get_MSSM_spectrum_as_SLHAea_SLHA2(SLHAstruct &result) Extract an SLHAea version of the spectrum contained in a Spectrum object, in SLHA2 format... Definition: SpecBit_MSSM.cpp:1043 Eigen::Matrix< double, 3, 3 > fill_3x3_symmetric_parameter_matrix(const std::string &rootname, const std::map< str, safe_ptr< const double > > &Param) As above, but for symmetric input (i.e. 6 entries, assumed to be the upper triangle) ... Definition: SpecBit_MSSM.cpp:525 Virtual base class for interacting with spectrum generator output. Definition: subspectrum.hpp:87 void get_MSSM_spectrum_from_SLHAfile(Spectrum &result) Get an MSSMSpectrum object from an SLHA file Wraps it up in MSSMSimpleSpec; i.e. Definition: SpecBit_MSSM.cpp:1052 bool retrieve(T &out, const std::string &label) Reimplement overload for 'retrieve' that uses the current point as the input for rank/pointID. Definition: baseprinter.hpp:200 This class is used to wrap the QedQcd object used by SoftSUSY and FlexibleSUSY in a Gambit SubSpectru... void FH_Couplings(fh_Couplings &result) Call FH_Couplings from FeynHiggs and collect the output. Definition: SpecBit_MSSM.cpp:1414 SLHAea helper functions using spectrum objects. void set_neutral_decays(int, const str &, const DecayTable::Entry &) Assign decay entries to neutral higgses. Definition: higgs_couplings_table.cpp:87 void set_override(const Par::Tags, const double, const str &, const bool allow_new=false, const bool decouple=false) Parameter override functions. Definition: subspectrum.cpp:205 double get(const Par::Tags, const str &, const SpecOverrideOptions=use_overrides, const SafeBool=SafeBool(true)) const Definition: spec.hpp:72 std::vector< YAML::sdd > mc_info Typedefs for making it easier to manipulate mass cut and mass ratio cut info. Definition: spectrum.hpp:119 std::vector< double > C_gaga2 Definition: higgs_couplings_table.hpp:72 std::vector< double > C_ZZ2 Definition: higgs_couplings_table.hpp:67 void set_neutral_decays_SM(int, const str &, const DecayTable::Entry &) Assign decay entries to the various table components. Definition: higgs_couplings_table.cpp:79 invalid_point_exception & invalid_point() Invalid point exceptions. Definition: standalone_error_handlers.cpp:83 MSSM specialisation of SLHAea object wrapper version of SubSpectrum class. Definition: MSSMSimpleSpec.hpp:121 void get_MSSM_spectrum_as_map(std::map< std::string, double > &specmap) Definition: SpecBit_MSSM.cpp:1781 Spectrum run_FS_spectrum_generator(const typename MI::InputParameters &input, const SMInputs &sminputs, const Options &runOptions, const std::map< str, safe_ptr< const double > > &input_Param) Definition: SpecBit_MDM.cpp:55 Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum Spectrum SMINPUTS Definition: PrecisionBit_rollcall.hpp:126 std::map< int, triplet< double > > map_int_triplet_dbl Shorthand for an int-to-double triplet map. Definition: util_types.hpp:135 str mass_es_from_gauge_es(str gauge_es, double &max_mixing, std::vector< double > &gauge_composition, const SubSpectrum &mssm) indentifies the state with largest gauge_es content also fills largest max_mixing and full gauge_comp... Definition: mssm_slhahelp.cpp:162 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 Definition: spectrum.hpp:110 std::vector< double > C_cc2 Definition: higgs_couplings_table.hpp:70 void get_SM_SubSpectrum_from_MSSM_Spectrum(const SubSpectrum *&result) Retrieve SubSpectrum* to SM LE model from Spectrum object DEPENDENCY(MSSM_spectrum, Spectrum) Definition: SpecBit_MSSM.cpp:1029 Container class for Standard Model input information (defined as in SLHA2) Definition: sminputs.hpp:29 void FH_HiggsMass(triplet< double > &result) Definition: SpecBit_MSSM.cpp:1900 void get_MSSM_spectrum_SPheno(Spectrum &spectrum) Definition: SpecBit_MSSM.cpp:656 |