BSMPT 3.0.7
BSMPT - Beyond the Standard Model Phase Transitions : A C++ package for the computation of the EWPT in BSM models
|
The Class_Template class Template for implementing a new model. More...
#include <BSMPT/models/ClassTemplate.h>
Public Member Functions | |
Class_Template (const ISMConstants &smConstants) | |
void | ReadAndSet (const std::string &linestr, std::vector< double > &par) override |
std::vector< std::string > | addLegendCT () const override |
std::vector< std::string > | addLegendTemp () const override |
std::vector< std::string > | addLegendTripleCouplings () const override |
std::vector< std::string > | addLegendVEV () const override |
void | set_gen (const std::vector< double > &par) override |
void | set_CT_Pot_Par (const std::vector< double > &par) override |
void | write () const override |
void | TripleHiggsCouplings () override |
std::vector< double > | calc_CT () const override |
void | SetCurvatureArrays () override |
bool | CalculateDebyeSimplified () override |
bool | CalculateDebyeGaugeSimplified () override |
double | VTreeSimplified (const std::vector< double > &v) const override |
double | VCounterSimplified (const std::vector< double > &v) const override |
void | Debugging (const std::vector< double > &input, std::vector< double > &output) const override |
![]() | |
Class_Potential_Origin (const ISMConstants &smConstants) | |
const auto & | Get_Curvature_Higgs_L2 () const |
Get_Curvature_Higgs_L2 allows const ref access to the L_{(S)}^{ij} Tensor. | |
const auto & | Get_Curvature_Higgs_L3 () const |
Get_Curvature_Higgs_L3 allows const ref access to the L_{(S)}^{ijk} Tensor. | |
const auto & | Get_Curvature_Higgs_L4 () const |
Get_Curvature_Higgs_L4 allows const ref access to the L_{(S)}^{ijkl} Tensor. | |
const auto & | Get_Curvature_Gauge_G2H2 () const |
Get_Curvature_Gauge_G2H2 allows const ref access to the G^{abij} Tensor. | |
const auto & | Get_Curvature_Lepton_F2H1 () const |
Get_Curvature_Lepton_F2H1 allows const ref access to the Y^{IJk} Tensor for Leptons. | |
const auto & | Get_Curvature_Lepton_F2 () const |
Get_Curvature_Lepton_F2 allows const ref access to the Y^{IJ} Tensor for Leptons. | |
const auto & | Get_Curvature_Quark_F2H1 () const |
Get_Curvature_Quark_F2H1 allows const ref access to the Y^{IJk} Tensor for Quarks. | |
const auto & | Get_Curvature_Quark_F2 () const |
Get_Curvature_Quark_F2 allows const ref access to the Y^{IJ} Tensor for Quarks. | |
const std::vector< std::size_t > & | Get_VevOrder () const |
Get_VevOrder allows const ref access to the VevOrder vector. | |
double | get_scale () const |
get_scale | |
void | set_scale (double scale_new) |
set_scale sets the MSBar renormalisation scale to scale_new | |
std::size_t | get_nPar () const |
get_nPar | |
std::size_t | get_nParCT () const |
get_nParCT | |
std::size_t | get_nVEV () const |
get_nVEV | |
std::vector< double > | get_vevTreeMin () const |
get_vevTreeMin | |
double | get_vevTreeMin (const std::size_t &k) const |
get_vevTreeMin | |
std::vector< double > | get_parStored () const |
get_parStored | |
std::vector< double > | get_parCTStored () const |
get_parCTStored | |
std::size_t | get_NGauge () const |
get_NGauge | |
std::size_t | get_NQuarks () const |
get_NQuarks | |
std::size_t | get_NHiggs () const |
get_NHiggs | |
std::size_t | get_NChargedHiggs () const |
get_NChargedHiggs | |
std::size_t | get_NNeutralHiggs () const |
get_NNeutralHiggs | |
std::size_t | get_NLepton () const |
get_NLepton | |
ModelID::ModelIDs | get_Model () const |
get_Model | |
const std::vector< std::vector< double > > & | get_DebyeHiggs () const |
get_DebyeHiggs get the Debye corrections to the Higgs mass matrix | |
void | set_InputLineNumber (int InputLineNumber_in) |
set_InputLineNumber | |
double | get_TripleHiggsCorrectionsTreePhysical (std::size_t i, std::size_t j, std::size_t k) const |
get_TripleHiggsCorrectionsTreePhysical | |
double | get_TripleHiggsCorrectionsCTPhysical (std::size_t i, std::size_t j, std::size_t k) const |
get_TripleHiggsCorrectionsCTPhysical | |
double | get_TripleHiggsCorrectionsCWPhysical (std::size_t i, std::size_t j, std::size_t k) const |
get_TripleHiggsCorrectionsCWPhysical | |
void | setUseIndexCol (std::string legend) |
bool | getUseIndexCol () |
void | sym2Dim (std::vector< std::vector< double > > &Tensor2Dim, std::size_t Nk1, std::size_t Nk2) |
sym2Dim Symmetrize scalar 2-dim tensor | |
void | sym3Dim (std::vector< std::vector< std::vector< double > > > &Tensor3Dim, std::size_t Nk1, std::size_t Nk2, std::size_t Nk3) |
sym3Dim Symmetrize scalar 3-dim tensor | |
void | sym4Dim (std::vector< std::vector< std::vector< std::vector< double > > > > &Tensor4Dim, std::size_t Nk1, std::size_t Nk2, std::size_t Nk3, std::size_t Nk4) |
sym4Dim Symmetrize scalar 4-dim tensor | |
void | initVectors () |
virtual double | VEff (const std::vector< double > &v, double Temp=0, int diff=0, int Order=1) const |
double | VTree (const std::vector< double > &v, int diff=0, bool ForceExplicitCalculation=false) const |
double | CounterTerm (const std::vector< double > &v, int diff=0, bool ForceExplicitCalculation=false) const |
double | V1Loop (const std::vector< double > &v, double Temp, int diff) const |
virtual double | EWSBVEV (const std::vector< double > &v) const |
virtual void | SetEWVEVZero (std::vector< double > &sol) const |
SetEWVEVZero Set all VEV directions in sol-vector to zero that contibute to EW VEV. | |
void | set_All (const std::vector< double > &par, const std::vector< double > &parCT) |
void | CalculatePhysicalCouplings () |
std::vector< double > | WeinbergFirstDerivative () const |
std::vector< double > | WeinbergSecondDerivative () const |
Eigen::MatrixXd | WeinbergSecondDerivativeAsMatrixXd () const |
std::vector< double > | WeinbergThirdDerivative () const |
std::vector< double > | WeinbergForthDerivative () const |
void | CalculateDebye (bool forceCalculation=false) |
void | CalculateDebyeGauge () |
void | Prepare_Triple () |
std::vector< double > | HiggsMassesSquared (const std::vector< double > &v, const double &Temp=0, const int &diff=0) const |
Eigen::MatrixXd | HiggsMassMatrix (const std::vector< double > &v, double Temp=0, int diff=0) const |
HiggsMassMatrix calculates the Higgs mass matrix. | |
std::vector< double > | GaugeMassesSquared (const std::vector< double > &v, const double &Temp=0, const int &diff=0) const |
std::vector< double > | QuarkMassesSquared (const std::vector< double > &v, const int &diff=0) const |
std::vector< double > | LeptonMassesSquared (const std::vector< double > &v, const int &diff=0) const |
std::vector< std::complex< double > > | QuarkMasses (const std::vector< double > &v) const |
Eigen::MatrixXcd | QuarkMassMatrix (const std::vector< double > &v) const |
QuarkMassMatrix calculates the Mass Matrix for the Quarks of the form $ M^{IJ} = Y^{IJ} + Y^{IJk} v_k $. | |
std::vector< std::complex< double > > | LeptonMasses (const std::vector< double > &v) const |
Eigen::MatrixXcd | LeptonMassMatrix (const std::vector< double > &v) const |
LeptonMassMatrix calculates the Mass Matrix for the Leptons of the form $ M^{IJ} = Y^{IJ} + Y^{IJk} v_k $. | |
double | fbase (double MassSquaredA, double MassSquaredB) const |
double | fbaseTri (double MassSquaredA, double MassSquaredB, double MassSquaredC) const |
double | fbaseFour (double MassSquaredA, double MassSquaredB, double MassSquaredC, double MassSquaredD) const |
double | CWTerm (double MassSquared, double cb, int diff=0) const |
double | FCW (double MassSquared) const |
double | boson (double MassSquared, double Temp, double cb, int diff=0) const |
Calculation of the bosonic std::size_tegral + Coleman-Weinberg potential without taking d.o.f. std::size_to account. | |
double | boson_legacy (double MassSquared, double Temp, double cb, int diff=0) const |
double | fermion (double MassSquared, double Temp, int diff=0) const |
Calculation of the fermionic std::size_tegral + Coleman-Weinberg potential without taking d.o.f. std::size_to account. | |
double | fermion_legacy (double Mass, double Temp, int diff=0) const |
double | Vl (double MassSquared, double Temp, int n, int diff=0) const |
double | Vsf (double MassSquared, double Temp, int n, int diff=0) const |
double | Vsb (double MassSquaredIn, double Temp, int n, int diff=0) const |
void | resetbools () |
std::vector< double > | MinimizeOrderVEV (const std::vector< double > &VEVminimizer) const |
std::vector< double > | FirstDerivativeOfEigenvalues (const Eigen::Ref< Eigen::MatrixXcd > M, const Eigen::Ref< Eigen::MatrixXcd > MDiff) const |
std::vector< double > | SecondDerivativeOfEigenvaluesNonRepeated (const Eigen::Ref< Eigen::MatrixXd > M, const Eigen::Ref< Eigen::MatrixXd > MDiffX, const Eigen::Ref< Eigen::MatrixXd > MDiffY, const Eigen::Ref< Eigen::MatrixXd > MDiffXY) const |
bool | CheckNLOVEV (const std::vector< double > &v) const |
void | CheckImplementation (const int &WhichMinimizer=Minimizer::WhichMinimizerDefault) const |
void | FindSignSymmetries () |
FindSignSymmetries checks for all possible sign changes in the VEV components and checks for all possible Z2 symmetries. | |
void | SetUseTreeLevel (bool val) |
std::pair< std::vector< double >, std::vector< double > > | initModel (std::string linestr) |
std::vector< double > | initModel (const std::vector< double > &par) |
std::vector< double > | resetScale (const double &newScale) |
resetScale changes the MSBar scale to newScale | |
double | CalculateRatioAlpha (const std::vector< double > &vev_symmetric, const std::vector< double > &vev_broken, const double &Temp) const |
Eigen::VectorXd | NablaVCT (const std::vector< double > &v) const |
NablaVCT. | |
Eigen::MatrixXd | HessianCT (const std::vector< double > &v) const |
HessianWeinberg. | |
virtual std::vector< double > | GetCTIdentities () const |
GetCTIdentities. | |
Public Attributes | |
double | ms |
double | lambda |
double | dms |
double | dlambda |
double | dT |
double | yt |
double | g |
![]() | |
const ISMConstants | SMConstants |
SMConstants The SM constants used by the model. | |
bool | UseVTreeSimplified = false |
UseVTreeSimplified Decides wether VTreeSimplified will be used or not. VTreeSimplified returns 0 if UseVTreeSimplified is false Set in constructor of the implemented models. | |
bool | UseVCounterSimplified = false |
UseVCounterSimplified Decides wether VCounterSimplified will be used or not. VCounterSimplified returns 0 if UseVCounterSimplified is false Set in constructor of the implemented models. | |
std::vector< std::vector< double > > | SignSymmetries |
Additional Inherited Members | |
![]() | |
bool | UseTreeLevel = false |
UseTreeLevel Enforces VEff to only use the tree-level potential. | |
double | scale |
std::size_t | nPar = 0 |
std::size_t | nParCT = 0 |
std::vector< double > | parStored |
std::vector< double > | parCTStored |
ModelID::ModelIDs | Model = ModelID::ModelIDs::NotSet |
std::size_t | NNeutralHiggs = 0 |
std::size_t | NChargedHiggs = 0 |
std::size_t | NHiggs = NNeutralHiggs + NChargedHiggs |
std::size_t | NGauge = 4 |
std::size_t | NQuarks = 12 |
std::size_t | NColour = 3 |
NColour Number of colours of the quarks. Do not change this in the current version as we only investigate extended Higgs sectors. If you want to extend the other sectors as well the Debye corrections have to be calculated by hand. | |
std::size_t | NLepton = 9 |
std::size_t | nVEV = 0 |
std::vector< double > | VEVSymmetric |
std::vector< double > | vevTree |
std::vector< double > | vevTreeMin |
std::vector< double > | TripleHiggsCorrectionsCW |
std::vector< std::vector< std::vector< double > > > | TripleHiggsCorrectionsCWPhysical |
std::vector< std::vector< std::vector< double > > > | TripleHiggsCorrectionsTreePhysical |
std::vector< std::vector< std::vector< double > > > | TripleHiggsCorrectionsCTPhysical |
bool | SetCurvatureDone = false |
SetCurvatureDone Used to check if the tensors are set. | |
bool | CalcCouplingsdone = false |
CalcCouplingsdone Used to check if CalculatePhysicalCouplings has already been called. | |
bool | CalculatedTripleCopulings = false |
CalculatedTripleCopulings Used to check if TripleHiggsCouplings has already been called. | |
int | InputLineNumber = -1 |
InputLineNumber Used for the error message in fbaseTri. | |
bool | UseIndexCol = false |
std::vector< double > | HiggsVev |
std::vector< double > | Curvature_Higgs_L1 |
std::vector< std::vector< double > > | Curvature_Higgs_L2 |
std::vector< std::vector< std::vector< double > > > | Curvature_Higgs_L3 |
std::vector< std::vector< std::vector< std::vector< double > > > > | Curvature_Higgs_L4 |
std::vector< double > | Curvature_Higgs_CT_L1 |
std::vector< std::vector< double > > | Curvature_Higgs_CT_L2 |
std::vector< std::vector< std::vector< double > > > | Curvature_Higgs_CT_L3 |
std::vector< std::vector< std::vector< std::vector< double > > > > | Curvature_Higgs_CT_L4 |
std::vector< std::vector< std::vector< std::vector< double > > > > | Curvature_Gauge_G2H2 |
std::vector< std::vector< std::vector< std::complex< double > > > > | Curvature_Quark_F2H1 |
std::vector< std::vector< std::complex< double > > > | Curvature_Quark_F2 |
std::vector< std::vector< std::vector< std::complex< double > > > > | Curvature_Lepton_F2H1 |
std::vector< std::vector< std::complex< double > > > | Curvature_Lepton_F2 |
std::vector< double > | MassSquaredHiggs |
MassSquaredHiggs Stores the masses of the Higgs Bosons calculated in CalculatePhysicalCouplings. | |
std::vector< double > | MassSquaredGauge |
MassSquaredGauge Stores the masses of the gauge Bosons calculated in CalculatePhysicalCouplings. | |
std::vector< double > | MassSquaredQuark |
MassSquaredQuark Stores the masses of the quarks calculated in CalculatePhysicalCouplings. | |
std::vector< double > | MassSquaredLepton |
MassSquaredLepton Stores the masses of the leptons calculated in CalculatePhysicalCouplings. | |
std::vector< std::vector< double > > | HiggsRotationMatrix |
std::vector< std::vector< std::vector< std::vector< double > > > > | Couplings_Higgs_Quartic |
Couplings_Higgs_Quartic Stores the quartic Higgs couplings in the mass base. | |
std::vector< std::vector< std::vector< double > > > | Couplings_Higgs_Triple |
Couplings_Higgs_Triple Stores the triple Higgs couplings in the mass base. | |
std::vector< std::vector< std::vector< std::vector< double > > > > | Couplings_Gauge_Higgs_22 |
Couplings_Gauge_Higgs_22 Stores the couplings between two Higgs and two gauge bosons in the mass base. | |
std::vector< std::vector< std::vector< double > > > | Couplings_Gauge_Higgs_21 |
Couplings_Gauge_Higgs_21 Stores the coupling between two gauge and one Higgs boson in the mass base. | |
std::vector< std::vector< std::vector< std::vector< std::complex< double > > > > > | Couplings_Quark_Higgs_22 |
Couplings_Quark_Higgs_22 Stores the couplings between two quarks and two Higgs bosons in the mass base. | |
std::vector< std::vector< std::vector< std::complex< double > > > > | Couplings_Quark_Higgs_21 |
Couplings_Quark_Higgs_21 Stores the couplings between two quarks and one Higgs boson in the mass base. | |
std::vector< std::vector< std::vector< std::vector< std::complex< double > > > > > | Couplings_Lepton_Higgs_22 |
Couplings_Lepton_Higgs_22 Stores the couplings between two leptons and two Higgs bosons in the mass base. | |
std::vector< std::vector< std::vector< std::complex< double > > > > | Couplings_Lepton_Higgs_21 |
Couplings_Quark_Higgs_21 Stores the couplings between two leptons and one Higgs boson in the mass base. | |
std::vector< std::vector< std::vector< double > > > | LambdaGauge_3 |
LambdaGauge_3 Stores the Lambda_{(G)}^{abi} tensor. | |
std::vector< std::vector< std::vector< double > > > | LambdaHiggs_3 |
LambdaHiggs_3 Stores the Lambda_{(S)}^{ijk} tensor. | |
std::vector< std::vector< std::vector< double > > > | LambdaHiggs_3_CT |
LambdaHiggs_3 Stores the Lambda_{(S)}^{ijk} tensor for the counterterm parameters. | |
std::vector< std::vector< std::vector< std::complex< double > > > > | LambdaQuark_3 |
LambdaQuark_3 Stores the Lambda_{(F)}^{IJk} tensor for quarks , describing the derivative of Lambda_{(F)}^{IJ} w.r.t. the Higgs field k. | |
std::vector< std::vector< std::vector< std::complex< double > > > > | LambdaLepton_3 |
LambdaLepton_3 Stores the Lambda_{(F)}^{IJk} tensor for leptons , describing the derivative of Lambda_{(F)}^{IJ} w.r.t. the Higgs field k. | |
std::vector< std::vector< std::vector< std::vector< std::complex< double > > > > > | LambdaQuark_4 |
LambdaQuark_4 Stores the Lambda_{(F)}^{IJkm} tensor for quarks , describing the derivative of Lambda_{(F)}^{IJ} w.r.t. the Higgs fields k and m. | |
std::vector< std::vector< std::vector< std::vector< std::complex< double > > > > > | LambdaLepton_4 |
LambdaLepton_4 Stores the Lambda_{(F)}^{IJkm} tensor for leptons , describing the derivative of Lambda_{(F)}^{IJ} w.r.t. the Higgs fields k and m. | |
std::vector< std::vector< double > > | DebyeHiggs |
DebyeHiggs Stores the debye corrections to the mass matrix of the Higgs bosons. | |
std::vector< std::vector< double > > | DebyeGauge |
DebyeGauge Stores the debye corrections to the mass matrix of the gauge bosons. | |
std::vector< std::size_t > | VevOrder |
VevOrder Stores the matching order used in MinimizeOrderVEV, set in the constructor of the model. | |
The Class_Template class Template for implementing a new model.
BSMPT::Models::Class_Template::Class_Template | ( | const ISMConstants & | smConstants | ) |
Here you have to adjust NNeutralHiggs, NChargedHiggs, nPar (number of Lagrangian parameters AFTER using the tadpole conditions), nParCT (number of counterterms) as well as nVEV (number of VEVs for minimization)
|
overridevirtual |
returns a string which tells the user the chronological order of the counterterms. Use this to complement the legend of the given input file
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
returns a string which tells the user the chronological order of the VEVs and the critical temperature. Use this to complement the legend of the given input file
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
returns a string which tells the user the chronological order of the Triple Higgs couplings. Use this to complement the legend of the given input file
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
returns a string which tells the user the chronological order of the VEVs. Use this to complement the legend of the given input file
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
Calculates the counterterms. Here you need to work out the scheme and implement the formulas.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
You can give the explicit Debye corrections to the gauge boson mass matrix with this function if you know it. Otherwise it is calculated via CalculateDebyeGauge(). If you know the corrections use this and let the function return true, this will save you a lot of computing time.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
You can give the explicit Debye corrections to the Higgs mass matrix with this function if you know it. Otherwise it is calculated via CalculateDebye(). If you know the corrections use this and let the function return true, this will save you a lot of computing time.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
This is a possible debugging function.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
Reads the string linestr and sets the parameter point
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
set your counterterm parameters from the entries of par as well as the entries of Curvature_Higgs_CT_L1 to Curvature_Higgs_CT_L4.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
Set Class Object as well as the VEV configuration
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
This will set all the tensors needed to describe the tree-level Lagrangian except for the counterterms in the potential. This has to be specified in the model file.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
Calculates the triple Higgs couplings at NLO in the mass basis.
Use the vector TripleHiggsCorrectionsCWPhysical to save your couplings and set the nTripleCouplings to the number of couplings you want as output.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
You can give the explicit form of your counterterm potential here. This speeds up the computation time.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
You can give the explicit form of your tree-level potential here. This speeds up the computation time.
Implements BSMPT::Class_Potential_Origin.
|
overridevirtual |
console output of all Parameters
Implements BSMPT::Class_Potential_Origin.