SOFTSUSY
4.1
|
Class for calculating Jacobian fine-tuning measure. More...
#include <nmssmjacobian.h>
Public Member Functions | |
NmssmJacobian (bool doTop=false) | |
bool | displayIncludeTopFlag () const |
Displays whether the top Yukawa is included in the tuning. More... | |
void | setIncludeTopFlag (bool flag) |
Sets whether to include top Yukawa derivatives. More... | |
bool | displayUseRunningMassesFlag () const |
Displays whether running or pole masses are being used. More... | |
void | setUseRunningMassesFlag (bool flag) |
Sets whether to use running or pole masses in derivatives. More... | |
bool | displayUseSugraTrilinearsFlag () const |
Displays whether SUGRA style trilinears are assumed. More... | |
void | setUseSugraTrilinearsFlag (bool flag) |
Sets whether to assume SUGRA style trilinears. More... | |
void | resetError () |
Resets the error status to false. | |
bool | displayError () const |
Displays whether an error occurred during the calculation. More... | |
void | resetWarnings () |
Resets the warning status to false. | |
bool | displayWarning () const |
Displays whether a warning was flagged during the calculation. More... | |
bool | displayFailedVevIterationWarning () const |
Displays whether the VEV iteration failed. More... | |
bool | displayInaccurateHiggsMassWarning () const |
Displays whether an inaccurate Higgs mass was encountered. More... | |
double | displayWorstCaseHiggsAccuracy () const |
Returns the worst achieved accuracy for the Higgs masses. More... | |
DoubleMatrix | displayRGFlowJacobian () const |
Displays the Jacobian for transforming from high- to low-scale parameters. More... | |
DoubleMatrix | displayRGFlowJacobianErrors () const |
Displays the error in the Jacobian for transforming from high- to low-scale parameters. More... | |
DoubleMatrix | displayEWSBJacobian () const |
Displays the Jacobian for transforming low-scale parameters to observables. More... | |
DoubleMatrix | displayEWSBJacobianErrors () const |
Displays the error in the Jacobian for transforming low-scale parameters to observables. More... | |
DoubleMatrix | displayInverseRGFlowJacobian () const |
Displays the Jacobian for transforming from low- to high-scale parameters. More... | |
DoubleMatrix | displayInverseRGFlowJacobianErrors () const |
Displays the error in the Jacobian for transforming from low- to high-scale parameters. More... | |
DoubleMatrix | displayInverseEWSBJacobian () const |
Displays the Jacobian for transforming observables to low-scale parameters. More... | |
DoubleMatrix | displayInverseEWSBJacobianErrors () const |
Displays the error in the Jacobian for transforming observables to low-scale parameters. More... | |
double | calcFTJacobian (const NmssmSoftsusy &m) |
Calculates the Jacobian transforming parameters to observables. More... | |
double | calcFTJacobian (const NmssmSoftsusy &m, double mx) |
Calculates the Jacobian transforming parameters to observables. More... | |
double | calcFTInverseJacobian (const NmssmSoftsusy &m) |
Calculates the Jacobian transforming observables to parameters. More... | |
double | calcFTInverseJacobian (const NmssmSoftsusy &m, double mx) |
Calculates the Jacobian transforming observables to parameters. More... | |
double | calcFTInverseJacobianLogs (const NmssmSoftsusy &m) |
Calculates the Jacobian transforming observables to parameters. More... | |
double | calcFTInverseJacobianLogs (const NmssmSoftsusy &m, double mx) |
Calculates the Jacobian transforming observables to parameters. More... | |
double | calcDeltaJ (const NmssmSoftsusy &m) |
Calculates the fine-tuning using the Jacobian measure. More... | |
double | calcDeltaJ (const NmssmSoftsusy &m, double mx) |
Calculates the fine-tuning using the Jacobian measure. More... | |
double | calcDeltaJLogs (const NmssmSoftsusy &m) |
Calculates the fine-tuning using logarithmic derivatives. More... | |
double | calcDeltaJLogs (const NmssmSoftsusy &m, double mx) |
Calculates the fine-tuning using logarithmic derivatives. More... | |
Class for calculating Jacobian fine-tuning measure.
This class provides methods for calculating the Jacobian fine-tuning measure as defined in arXiv:1312.4150, \(\Delta_J = | \partial O_j / \partial p_i |\), where \(\{O_j\}\) refers to a set of observables and \(\{p_i\}\) to a set of model parameters, and \( \partial O_j / \partial p_i\) is the Jacobian for the transformation from the observables to the parameters.
The sets \(\{O_j\}\) and \(\{p_i\}\) used depend on the global flags softsusy::Z3 and softsusy::SoftHiggsOut. If softsusy::SoftHiggsOut is true, the parameters used are the soft Higgs masses at an input scale mx
, \(\{ m_{H_1,0}^2, m_{H_2,0}^2, m_{S_0}^2\} \), and the observables are \(\{M_Z^2, \tan\beta, s\}\), irrespective of the value of softsusy::Z3. If softsusy::SoftHiggsOut is false and softsusy::Z3 is true, the parameters are taken to be \(\{\lambda_0, \kappa_0, m_{S_0}^2\}\) at mx
. The observables in this case are \(\{M_Z^2, \tan\beta, \lambda\}\). If both flags are false, the parameters used are \(\{\mu_0, m_{3_0}^2, \xi_{S_0}\}\) and the set of observables is \(\{M_Z^2, \tan\beta, s\}\).
The top Yukawa \(y_t\) can be included in the set of parameters, and \(M_t^2\) in the set of observables, by calling setIncludeTopFlag() with the desired flag. Whether \(M_Z^2\) and \(M_t^2\) are taken to be the pole or running masses may be set by calling setUseRunningMassesFlag() with the appropriate flag. By default the pole masses are used.
The treatment of the soft SUSY breaking trilinears can be modified using the setUseSugraTrilinearsFlag routine. If set to true, the independent parameters are taken to be the capital \(A\) trilinears, e.g. \(A_\lambda = a_\lambda / \lambda\). In this case, it is the quantity \(A\) that is held fixed in partial derivatives, rather than the quantity \(a\). If this flag is false, the trilinears \(a\) are treated as independent of the corresponding coupling, and are held fixed in the partial derivatives. By default this flag is false, i.e. the \(a\) couplings are taken to be the independent parameters.
double softsusy::NmssmJacobian::calcDeltaJ | ( | const NmssmSoftsusy & | m | ) |
Calculates the fine-tuning using the Jacobian measure.
[in] | m | the model to calculate the fine-tuning for |
Calculates the fine-tuning for the model, using the Jacobian measure. The parameters are taken to be defined at the input scale mx
obtained from a call to m.displayMxBC()
, while the observables are calculated at the SUSY scale returned by m.calcMs()
. The Jacobian matrix is calculated by calling calcFTInverseJacobian() internally, and can be accessed after the calculation.
double softsusy::NmssmJacobian::calcDeltaJ | ( | const NmssmSoftsusy & | m, |
double | mx | ||
) |
Calculates the fine-tuning using the Jacobian measure.
[in] | m | the model to calculate the fine-tuning for |
[in] | mx | the scale at which the input parameters are defined |
Calculates the fine-tuning as in calcDeltaJ(const NmssmSoftsusy& m), but with mx
set to the given value instead of that returned by m.displayMxBC()
.
double softsusy::NmssmJacobian::calcDeltaJLogs | ( | const NmssmSoftsusy & | m | ) |
Calculates the fine-tuning using logarithmic derivatives.
[in] | m | the model to calculate the fine-tuning for |
Calculates the fine-tuning for the model, using the Jacobian measure. The Jacobian matrix is calculated using derivatives computed with respect to the logarithms of the parameters and observables. The parameters are taken to be defined at the input scale mx
obtained from a call to m.displayMxBC()
, while the observables are calculated at the SUSY scale returned by m.calcMs()
. Internally, the Jacobian matrix is calculated by calling calcFTInverseJacobianLogs(), and can be accessed after the calculation.
double softsusy::NmssmJacobian::calcDeltaJLogs | ( | const NmssmSoftsusy & | m, |
double | mx | ||
) |
Calculates the fine-tuning using logarithmic derivatives.
[in] | m | the model to calculate the fine-tuning for |
[in] | mx | the scale at which the input parameters are defined |
Calculates the fine-tuning as in calcDeltaJLogs(const NmssmSoftsusy& m), but with mx
set to the given value instead of that returned by m.displayMxBC()
.
double softsusy::NmssmJacobian::calcFTInverseJacobian | ( | const NmssmSoftsusy & | m | ) |
Calculates the Jacobian transforming observables to parameters.
[in] | m | the model to calculate the Jacobian for |
Calculates the Jacobian of the form \( J^{-1} = | \partial O / \partial p | \). The transformation is done in two stages. In the first, the observables at the SUSY scale, obtained from m.calcMs()
, are traded for the parameters at this scale using the EWSB conditions. The Jacobian matrix for this transformation can be accessed afterwards using displayInverseEWSBJacobian(). Then, the parameters at this scale are transformed to parameters at the scale mx
, obtained from calling m.displayMxBC()
, using the RGEs. The Jacobian matrix for this transformation may be accessed by calling displayInverseRGFlowJacobian().
double softsusy::NmssmJacobian::calcFTInverseJacobian | ( | const NmssmSoftsusy & | m, |
double | mx | ||
) |
Calculates the Jacobian transforming observables to parameters.
[in] | m | the model to calculate the Jacobian for |
[in] | mx | the scale at which the input parameters are defined |
Calculates the Jacobian as in calcFTInverseJacobian(const NmssmSoftsusy& m), but with mx
set to the given value instead of that returned by m.displayMxBC()
.
double softsusy::NmssmJacobian::calcFTInverseJacobianLogs | ( | const NmssmSoftsusy & | m | ) |
Calculates the Jacobian transforming observables to parameters.
[in] | m | the model to calculate the Jacobian for |
Calculates the Jacobian of the form \( J^{-1} = | \partial \ln O / \partial \ln p | \). The transformation is done in two stages. In the first, the observables at the SUSY scale, obtained from m.calcMs()
, are traded for the parameters at this scale using the EWSB conditions. The Jacobian matrix for this transformation can be accessed afterwards using displayInverseEWSBJacobian(). Then, the parameters at this scale are transformed to parameters at the scale mx
, obtained from calling m.displayMxBC()
, using the RGEs. The Jacobian matrix for this transformation may be accessed by calling displayInverseRGFlowJacobian().
double softsusy::NmssmJacobian::calcFTInverseJacobianLogs | ( | const NmssmSoftsusy & | m, |
double | mx | ||
) |
Calculates the Jacobian transforming observables to parameters.
[in] | m | the model to calculate the Jacobian for |
[in] | mx | the scale at which the input parameters are defined |
Calculates the Jacobian as in calcFTInverseJacobianLogs(const NmssmSoftsusy& m), but with mx
set to the given value instead of that returned by m.displayMxBC()
.
double softsusy::NmssmJacobian::calcFTJacobian | ( | const NmssmSoftsusy & | m | ) |
Calculates the Jacobian transforming parameters to observables.
[in] | m | the model to calculate the Jacobian for |
Calculates the Jacobian of the form \( J = | \partial p / \partial O | \). The transformation, which is the inverse of that calculated by calcFTInverseJacobian(), is done in two stages. In the first, the parameters at the input scale mx
, obtained from a call to m.displayMxBC()
, are transformed to parameters \(\{q\}\) at the SUSY scale, obtained from m.calcMs()
, using the RGEs. The Jacobian matrix for this transformation may be accessed afterwards by calling displayRGFlowJacobian(). Then the parameters \(\{q\}\) are traded for the observables at the same scale using the EWSB conditions. The Jacobian matrix for this second transformation can be accessed using displayEWSBJacobian().
double softsusy::NmssmJacobian::calcFTJacobian | ( | const NmssmSoftsusy & | m, |
double | mx | ||
) |
Calculates the Jacobian transforming parameters to observables.
[in] | m | the model to calculate the Jacobian for |
[in] | mx | the scale at which the input parameters are defined |
Calculates the Jacobian as in calcFTJacobian(const NmssmSoftsusy& m), but with mx
set to the given value instead of that returned by m.displayMxBC()
.
|
inline |
Displays whether an error occurred during the calculation.
|
inline |
Displays the Jacobian for transforming low-scale parameters to observables.
|
inline |
Displays the error in the Jacobian for transforming low-scale parameters to observables.
|
inline |
Displays whether the VEV iteration failed.
|
inline |
Displays whether an inaccurate Higgs mass was encountered.
|
inline |
Displays whether the top Yukawa is included in the tuning.
|
inline |
Displays the Jacobian for transforming observables to low-scale parameters.
|
inline |
Displays the error in the Jacobian for transforming observables to low-scale parameters.
|
inline |
Displays the Jacobian for transforming from low- to high-scale parameters.
|
inline |
Displays the error in the Jacobian for transforming from low- to high-scale parameters.
|
inline |
Displays the Jacobian for transforming from high- to low-scale parameters.
|
inline |
Displays the error in the Jacobian for transforming from high- to low-scale parameters.
|
inline |
Displays whether running or pole masses are being used.
|
inline |
Displays whether SUGRA style trilinears are assumed.
|
inline |
Displays whether a warning was flagged during the calculation.
|
inline |
Returns the worst achieved accuracy for the Higgs masses.
|
inline |
Sets whether to include top Yukawa derivatives.
[in] | flag | if true, include top Yukawa |
|
inline |
Sets whether to use running or pole masses in derivatives.
[in] | flag | if true, use running masses instead of pole masses |
|
inline |
Sets whether to assume SUGRA style trilinears.
[in] | flag | if true, assume SUGRA style trilinears |