BSMPT 3.1.14
BSMPT - Beyond the Standard Model Phase Transitions : A C++ package for the computation of the EWPT in BSM models
Loading...
Searching...
No Matches
ClassPotentialOrigin.h
Go to the documentation of this file.
1// Copyright (C) 2018 Philipp Basler and Margarete Mühlleitner
2// SPDX-FileCopyrightText: 2021 Philipp Basler, Margarete Mühlleitner and Jonas
3// Müller
4//
5// SPDX-License-Identifier: GPL-3.0-or-later
6
11#ifndef CLASSPOTENTIALORIGIN_H_
12#define CLASSPOTENTIALORIGIN_H_
13
14#include "Eigen/Eigenvalues"
18#include <BSMPT/utility/settings.h>
19#include <iostream>
20#include <vector>
21
22namespace BSMPT
23{
24
28const double C_PT = 0;
29
33const double C_threshold = 1e-4;
37static constexpr double C_CWcbFermion = 1.5;
41const double C_CWcbGB = 5.0 / 6.0;
45const double C_CWcbHiggs = 1.5;
46
51enum class Order
52{
53 TreeLevel,
54 OneLoop
55};
56
63{
64public:
69
70protected:
74 bool UseTreeLevel = false;
75
79 double scale;
80
84 std::size_t nPar = 0;
88 std::size_t nParCT = 0;
89
93 std::vector<double> parStored;
94
98 std::vector<double> parCTStored;
99
103 ModelID::ModelIDs Model = ModelID::ModelIDs::NotSet;
107 std::size_t NNeutralHiggs = 0;
111 std::size_t NChargedHiggs = 0;
122 std::size_t NGauge = 4;
128 std::size_t NQuarks = 12;
129
136 std::size_t NColour = 3;
137
143 std::size_t NLepton = 9;
144
148 std::size_t nVEV = 0;
149
153 std::vector<double> VEVSymmetric;
157 std::vector<double> vevTree;
161 std::vector<double> vevTreeMin;
166 std::vector<double> TripleHiggsCorrectionsCW;
171 std::vector<std::vector<std::vector<double>>>
177 std::vector<std::vector<std::vector<double>>>
183 std::vector<std::vector<std::vector<double>>>
185
189 bool SetCurvatureDone = false;
194 bool CalcCouplingsDone = false;
200
205
209 bool UseIndexCol = false;
210
214 std::vector<double> HiggsVev;
218 std::vector<double> Curvature_Higgs_L1;
222 std::vector<std::vector<double>> Curvature_Higgs_L2;
226 std::vector<std::vector<std::vector<double>>> Curvature_Higgs_L3;
230 std::vector<std::vector<std::vector<std::vector<double>>>> Curvature_Higgs_L4;
234 std::vector<double> Curvature_Higgs_CT_L1;
238 std::vector<std::vector<double>> Curvature_Higgs_CT_L2;
242 std::vector<std::vector<std::vector<double>>> Curvature_Higgs_CT_L3;
246 std::vector<std::vector<std::vector<std::vector<double>>>>
251 std::vector<std::vector<std::vector<std::vector<double>>>>
256 std::vector<std::vector<std::vector<std::complex<double>>>>
261 std::vector<std::vector<std::complex<double>>> Curvature_Quark_F2;
265 std::vector<std::vector<std::vector<std::complex<double>>>>
270 std::vector<std::vector<std::complex<double>>> Curvature_Lepton_F2;
275 std::vector<double> MassSquaredHiggs;
280 std::vector<double> MassSquaredGauge;
285 std::vector<double> MassSquaredQuark;
290 std::vector<double> MassSquaredLepton;
295 std::vector<std::vector<double>> HiggsRotationMatrix;
300 std::vector<std::vector<double>> HiggsRotationMatrixEnsuredConvention;
305 std::vector<std::vector<std::vector<std::vector<double>>>>
311 std::vector<std::vector<std::vector<double>>> Couplings_Higgs_Triple;
316 std::vector<std::vector<std::vector<std::vector<double>>>>
322 std::vector<std::vector<std::vector<double>>> Couplings_Gauge_Higgs_21;
327 std::vector<std::vector<std::vector<std::vector<std::complex<double>>>>>
333 std::vector<std::vector<std::vector<std::complex<double>>>>
339 std::vector<std::vector<std::vector<std::vector<std::complex<double>>>>>
345 std::vector<std::vector<std::vector<std::complex<double>>>>
347
351 std::vector<std::vector<std::vector<double>>> LambdaGauge_3;
355 std::vector<std::vector<std::vector<double>>> LambdaHiggs_3;
360 std::vector<std::vector<std::vector<double>>> LambdaHiggs_3_CT;
365 std::vector<std::vector<std::vector<std::complex<double>>>> LambdaQuark_3;
370 std::vector<std::vector<std::vector<std::complex<double>>>> LambdaLepton_3;
376 std::vector<std::vector<std::vector<std::vector<std::complex<double>>>>>
383 std::vector<std::vector<std::vector<std::vector<std::complex<double>>>>>
385
390 std::vector<std::vector<double>> DebyeHiggs;
395 std::vector<std::vector<double>> DebyeGauge;
400 std::vector<std::size_t> VevOrder;
401
402public:
403 [[deprecated("Will call Class_Potential_Origin with GetSMConstants(). "
404 "Please use the "
405 "detailed overload "
406 "to ensure consistent SM constants through all "
407 "routines.")]] Class_Potential_Origin();
408
409 Class_Potential_Origin(const ISMConstants &smConstants);
410 virtual ~Class_Potential_Origin();
411
417 const auto &Get_Curvature_Higgs_L2() const { return Curvature_Higgs_L2; }
418
424 const auto &Get_Curvature_Higgs_L3() const { return Curvature_Higgs_L3; }
425
431 const auto &Get_Curvature_Higgs_L4() const { return Curvature_Higgs_L4; }
432
438 const auto &Get_Curvature_Gauge_G2H2() const { return Curvature_Gauge_G2H2; }
439
445 const auto &Get_Curvature_Lepton_F2H1() const
446 {
448 }
449
455 const auto &Get_Curvature_Lepton_F2() const { return Curvature_Lepton_F2; }
456
462 const auto &Get_Curvature_Quark_F2H1() const { return Curvature_Quark_F2H1; }
463
469 const auto &Get_Curvature_Quark_F2() const { return Curvature_Quark_F2; }
470
475 const std::vector<std::size_t> &Get_VevOrder() const { return VevOrder; }
476
481 double get_scale() const { return scale; }
482
487 void set_scale(double scale_new) { scale = scale_new; }
492 std::size_t get_nPar() const { return nPar; }
497 std::size_t get_nParCT() const { return nParCT; }
502 std::size_t get_nVEV() const { return nVEV; }
507 std::vector<double> get_vevTreeMin() const { return vevTreeMin; }
513 double get_vevTreeMin(const std::size_t &k) const { return vevTreeMin.at(k); }
518 std::vector<double> get_parStored() const { return parStored; }
523 std::vector<double> get_parCTStored() const { return parCTStored; }
528 std::size_t get_NGauge() const { return NGauge; }
533 std::size_t get_NQuarks() const { return NQuarks; }
538 std::size_t get_NHiggs() const { return NHiggs; }
543 std::size_t get_NChargedHiggs() const { return NChargedHiggs; }
548 std::size_t get_NNeutralHiggs() const { return NNeutralHiggs; }
553 std::size_t get_NLepton() const { return NLepton; }
558 ModelID::ModelIDs get_Model() const { return Model; }
559
564 const std::vector<std::vector<double>> &get_DebyeHiggs() const
565 {
566 return DebyeHiggs;
567 }
568
573 void set_InputLineNumber(int InputLineNumber_in)
574 {
575 InputLineNumber = InputLineNumber_in;
576 }
585 std::size_t j,
586 std::size_t k) const
587 {
588 return TripleHiggsCorrectionsTreePhysical.at(i).at(j).at(k);
589 }
598 std::size_t j,
599 std::size_t k) const
600 {
601 return TripleHiggsCorrectionsCTPhysical.at(i).at(j).at(k);
602 }
611 std::size_t j,
612 std::size_t k) const
613 {
614 return TripleHiggsCorrectionsCWPhysical.at(i).at(j).at(k);
615 }
616
623 double get_HiggsRotationMatrix(std::size_t i, std::size_t j) const
624 {
625 return HiggsRotationMatrix.at(i).at(j);
626 }
634 std::size_t j) const
635 {
636 return HiggsRotationMatrixEnsuredConvention.at(i).at(j);
637 }
638
642 void setUseIndexCol(std::string legend);
643
647 bool getUseIndexCol();
648
655 void sym2Dim(std::vector<std::vector<double>> &Tensor2Dim,
656 std::size_t Nk1,
657 std::size_t Nk2);
658
666 void sym3Dim(std::vector<std::vector<std::vector<double>>> &Tensor3Dim,
667 std::size_t Nk1,
668 std::size_t Nk2,
669 std::size_t Nk3);
670
679 void sym4Dim(
680 std::vector<std::vector<std::vector<std::vector<double>>>> &Tensor4Dim,
681 std::size_t Nk1,
682 std::size_t Nk2,
683 std::size_t Nk3,
684 std::size_t Nk4);
685
689 void initVectors();
690
700 [[deprecated("Will call VEff with enum class Order. Consider using this "
701 "instead.")]] virtual double
702 VEff(const std::vector<double> &v, double Temp, int diff, int Order) const;
703
713 virtual double VEff(const std::vector<double> &v,
714 double Temp = 0,
715 int diff = 0,
716 const Order &order = Order::OneLoop) const;
717
727 double VTree(const std::vector<double> &v,
728 int diff = 0,
729 bool ForceExplicitCalculation = false) const;
739 double CounterTerm(const std::vector<double> &v,
740 int diff = 0,
741 bool ForceExplicitCalculation = false) const;
752 double V1Loop(const std::vector<double> &v, double Temp, int diff) const;
753
758 virtual double EWSBVEV(const std::vector<double> &v) const;
759
766 virtual void SetEWVEVZero(std::vector<double> &sol) const;
767
771 virtual void ReadAndSet(const std::string &linestr,
772 std::vector<double> &par) = 0;
777 virtual std::vector<std::string> addLegendCT() const = 0;
783 virtual std::vector<std::string> addLegendTemp() const = 0;
788 virtual std::vector<std::string> addLegendTripleCouplings() const = 0;
793 virtual std::vector<std::string> addLegendVEV() const = 0;
794
800 virtual void set_gen(const std::vector<double> &par) = 0;
807 virtual void set_CT_Pot_Par(const std::vector<double> &par) = 0;
812 virtual void write() const = 0;
813
814 void set_All(const std::vector<double> &par,
815 const std::vector<double> &parCT);
816
822 virtual void SetCurvatureArrays() = 0;
831 std::vector<double> WeinbergFirstDerivative() const;
836 std::vector<double> WeinbergSecondDerivative() const;
841 Eigen::MatrixXd WeinbergSecondDerivativeAsMatrixXd() const;
846 std::vector<double> WeinbergThirdDerivative() const;
851 std::vector<double> WeinbergForthDerivative() const;
852
861 void CalculateDebye(bool forceCalculation = false);
862
867 void CalculateDebyeGauge();
872 void Prepare_Triple();
873
880 virtual bool CalculateDebyeSimplified() = 0;
881
889
894 virtual double VTreeSimplified(const std::vector<double> &v) const = 0;
900 bool UseVTreeSimplified = false;
905 virtual double VCounterSimplified(const std::vector<double> &v) const = 0;
912
924 std::vector<double> HiggsMassesSquared(const std::vector<double> &v,
925 const double &Temp = 0,
926 const int &diff = 0) const;
927
938 Eigen::MatrixXd HiggsMassMatrix(const std::vector<double> &v,
939 double Temp = 0,
940 int diff = 0) const;
941
953 std::vector<double> GaugeMassesSquared(const std::vector<double> &v,
954 const double &Temp = 0,
955 const int &diff = 0) const;
966 std::vector<double> QuarkMassesSquared(const std::vector<double> &v,
967 const int &diff = 0) const;
977 std::vector<double> LeptonMassesSquared(const std::vector<double> &v,
978 const int &diff = 0) const;
979
988 std::vector<std::complex<double>>
989 QuarkMasses(const std::vector<double> &v) const;
998 Eigen::MatrixXcd QuarkMassMatrix(const std::vector<double> &v) const;
1007 std::vector<std::complex<double>>
1008 LeptonMasses(const std::vector<double> &v) const;
1017 Eigen::MatrixXcd LeptonMassMatrix(const std::vector<double> &v) const;
1018
1023 const double ARMZeroThreshold = 1e-5;
1027 virtual void AdjustRotationMatrix() = 0;
1031 bool CheckRotationMatrix();
1038 virtual void TripleHiggsCouplings() = 0;
1043 double fbase(double MassSquaredA, double MassSquaredB) const;
1048 double
1049 fbaseTri(double MassSquaredA, double MassSquaredB, double MassSquaredC) const;
1055 double fbaseFour(double MassSquaredA,
1056 double MassSquaredB,
1057 double MassSquaredC,
1058 double MassSquaredD) const;
1059
1064 virtual std::vector<double> calc_CT() const = 0;
1065
1071 double CWTerm(double MassSquared, double cb, int diff = 0) const;
1076 double FCW(double MassSquared) const;
1091 double boson(double MassSquared, double Temp, double cb, int diff = 0) const;
1096 [[deprecated(
1097 "Use this only if you want to calculate the effective potential with the "
1098 "exact same routine used in BSMPT v1.x. Use boson otherwise.")]] double
1099 boson_legacy(double MassSquared, double Temp, double cb, int diff = 0) const;
1110 double fermion(double MassSquared, double Temp, int diff = 0) const;
1115 [[deprecated(
1116 "Use this only if you want to calculate the effective potential with the "
1117 "exact same routine used in BSMPT v1.x. Use fermion otherwise.")]] double
1118 fermion_legacy(double Mass, double Temp, int diff = 0) const;
1123 [[deprecated("Use this only if you want to calculate the effective potential "
1124 "with the exact same routine used in BSMPT v1.x. "
1125 "Otherwise use ThermalFunctions::JInterpolatedHigh.")]] double
1126 Vl(double MassSquared, double Temp, int n, int diff = 0) const;
1135 [[deprecated(
1136 "Use this only if you want to calculate the effective potential with the "
1137 "exact same routine used in BSMPT v1.x. "
1138 "Otherwise use ThermalFunctions::JfermionInterpolatedLow.")]] double
1139 Vsf(double MassSquared, double Temp, int n, int diff = 0) const;
1140
1145 [[deprecated(
1146 "Use this only if you want to calculate the effective potential with the "
1147 "exact same routine used in BSMPT v1.x. "
1148 "Otherwise use ThermalFunctions::JbosonInterpolatedLow.")]] double
1149 Vsb(double MassSquaredIn, double Temp, int n, int diff = 0) const;
1150
1155 void resetbools();
1156
1166 std::vector<double>
1167 MinimizeOrderVEV(const std::vector<double> &VEVminimizer) const;
1168
1177 std::vector<double>
1178 FirstDerivativeOfEigenvalues(const Eigen::Ref<Eigen::MatrixXcd> M,
1179 const Eigen::Ref<Eigen::MatrixXcd> MDiff) const;
1193 std::vector<double> SecondDerivativeOfEigenvaluesNonRepeated(
1194 const Eigen::Ref<Eigen::MatrixXd> M,
1195 const Eigen::Ref<Eigen::MatrixXd> MDiffX,
1196 const Eigen::Ref<Eigen::MatrixXd> MDiffY,
1197 const Eigen::Ref<Eigen::MatrixXd> MDiffXY) const;
1198
1203 bool CheckNLOVEV(const std::vector<double> &v) const;
1204
1208 virtual void Debugging(const std::vector<double> &input,
1209 std::vector<double> &output) const = 0;
1210
1215 std::vector<std::vector<double>> SignSymmetries;
1220 void FindSignSymmetries();
1221
1225 void SetUseTreeLevel(bool val);
1226
1234 std::pair<std::vector<double>, std::vector<double>>
1235 initModel(std::string linestr);
1236
1247 std::vector<double> initModel(const std::vector<double> &par,
1248 const bool &adjust_rot_matrix = true);
1249
1255 std::vector<double> resetScale(const double &newScale);
1256
1262 double CalculateRatioAlpha(const std::vector<double> &vev_symmetric,
1263 const std::vector<double> &vev_broken,
1264 const double &Temp) const;
1265
1270 Eigen::VectorXd NablaVCT(const std::vector<double> &v) const;
1275 Eigen::MatrixXd HessianCT(const std::vector<double> &v) const;
1276
1282 virtual std::vector<double> GetCTIdentities() const;
1283};
1284
1285} // namespace BSMPT
1286#endif /* CLASSPOTENTIALORIGIN_H_ */
The Class_Potential_Origin class Base class for all models. This class contains all numerical calcula...
Definition ClassPotentialOrigin.h:63
const auto & Get_Curvature_Quark_F2() const
Get_Curvature_Quark_F2 allows const ref access to the Y^{IJ} Tensor for Quarks.
Definition ClassPotentialOrigin.h:469
ModelID::ModelIDs get_Model() const
get_Model
Definition ClassPotentialOrigin.h:558
std::size_t nVEV
Definition ClassPotentialOrigin.h:148
const auto & Get_Curvature_Higgs_L2() const
Get_Curvature_Higgs_L2 allows const ref access to the L_{(S)}^{ij} Tensor.
Definition ClassPotentialOrigin.h:417
std::vector< double > WeinbergSecondDerivative() const
Definition ClassPotentialOrigin.cpp:1676
std::vector< double > MassSquaredGauge
MassSquaredGauge Stores the masses of the gauge Bosons calculated in CalculatePhysicalCouplings.
Definition ClassPotentialOrigin.h:280
std::vector< std::vector< double > > HiggsRotationMatrix
Definition ClassPotentialOrigin.h:295
std::vector< std::vector< double > > SignSymmetries
Definition ClassPotentialOrigin.h:1215
void CalculatePhysicalCouplings()
Definition ClassPotentialOrigin.cpp:998
virtual double VEff(const std::vector< double > &v, double Temp, int diff, int Order) const
Definition ClassPotentialOrigin.cpp:2984
void set_scale(double scale_new)
set_scale sets the MSBar renormalisation scale to scale_new
Definition ClassPotentialOrigin.h:487
bool CheckNLOVEV(const std::vector< double > &v) const
Definition ClassPotentialOrigin.cpp:3528
virtual double VTreeSimplified(const std::vector< double > &v) const =0
std::vector< double > Curvature_Higgs_L1
Definition ClassPotentialOrigin.h:218
double get_TripleHiggsCorrectionsCTPhysical(std::size_t i, std::size_t j, std::size_t k) const
get_TripleHiggsCorrectionsCTPhysical
Definition ClassPotentialOrigin.h:597
std::vector< double > get_parStored() const
get_parStored
Definition ClassPotentialOrigin.h:518
std::vector< double > vevTreeMin
Definition ClassPotentialOrigin.h:161
std::vector< double > get_parCTStored() const
get_parCTStored
Definition ClassPotentialOrigin.h:523
std::vector< std::vector< double > > DebyeGauge
DebyeGauge Stores the debye corrections to the mass matrix of the gauge bosons.
Definition ClassPotentialOrigin.h:395
std::vector< double > GaugeMassesSquared(const std::vector< double > &v, const double &Temp=0, const int &diff=0) const
Definition ClassPotentialOrigin.cpp:2546
double CWTerm(double MassSquared, double cb, int diff=0) const
Definition ClassPotentialOrigin.cpp:94
std::vector< std::vector< std::vector< std::vector< double > > > > Couplings_Higgs_Quartic
Couplings_Higgs_Quartic Stores the quartic Higgs couplings in the mass base.
Definition ClassPotentialOrigin.h:306
std::vector< double > FirstDerivativeOfEigenvalues(const Eigen::Ref< Eigen::MatrixXcd > M, const Eigen::Ref< Eigen::MatrixXcd > MDiff) const
Definition ClassPotentialOrigin.cpp:168
bool UseVTreeSimplified
UseVTreeSimplified Decides wether VTreeSimplified will be used or not. VTreeSimplified returns 0 if U...
Definition ClassPotentialOrigin.h:900
std::vector< std::vector< std::vector< double > > > TripleHiggsCorrectionsCTPhysical
Definition ClassPotentialOrigin.h:184
double VTree(const std::vector< double > &v, int diff=0, bool ForceExplicitCalculation=false) const
Definition ClassPotentialOrigin.cpp:2862
virtual void ReadAndSet(const std::string &linestr, std::vector< double > &par)=0
std::vector< std::vector< std::vector< double > > > Curvature_Higgs_L3
Definition ClassPotentialOrigin.h:226
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 b...
Definition ClassPotentialOrigin.h:340
std::vector< double > LeptonMassesSquared(const std::vector< double > &v, const int &diff=0) const
Definition ClassPotentialOrigin.cpp:2765
std::vector< double > WeinbergThirdDerivative() const
Definition ClassPotentialOrigin.cpp:1692
std::size_t get_nVEV() const
get_nVEV
Definition ClassPotentialOrigin.h:502
void resetbools()
Definition ClassPotentialOrigin.cpp:3519
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...
Definition ClassPotentialOrigin.h:334
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
Definition ClassPotentialOrigin.cpp:885
std::size_t nPar
Definition ClassPotentialOrigin.h:84
virtual bool CalculateDebyeSimplified()=0
virtual void AdjustRotationMatrix()=0
void sym2Dim(std::vector< std::vector< double > > &Tensor2Dim, std::size_t Nk1, std::size_t Nk2)
sym2Dim Symmetrize scalar 2-dim tensor
Definition ClassPotentialOrigin.cpp:3439
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.
Definition ClassPotentialOrigin.h:322
std::vector< double > WeinbergForthDerivative() const
Definition ClassPotentialOrigin.cpp:1938
std::vector< std::complex< double > > QuarkMasses(const std::vector< double > &v) const
Definition ClassPotentialOrigin.cpp:3740
const ISMConstants SMConstants
SMConstants The SM constants used by the model.
Definition ClassPotentialOrigin.h:68
std::vector< std::vector< double > > Curvature_Higgs_CT_L2
Definition ClassPotentialOrigin.h:238
std::vector< double > Curvature_Higgs_CT_L1
Definition ClassPotentialOrigin.h:234
Eigen::MatrixXd HiggsMassMatrix(const std::vector< double > &v, double Temp=0, int diff=0) const
HiggsMassMatrix calculates the Higgs mass matrix.
Definition ClassPotentialOrigin.cpp:2360
std::vector< double > vevTree
Definition ClassPotentialOrigin.h:157
virtual std::vector< double > calc_CT() const =0
std::vector< std::vector< std::vector< std::vector< double > > > > Curvature_Gauge_G2H2
Definition ClassPotentialOrigin.h:252
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_...
Definition ClassPotentialOrigin.h:377
std::vector< std::vector< std::vector< double > > > TripleHiggsCorrectionsCWPhysical
Definition ClassPotentialOrigin.h:172
void CalculateDebyeGauge()
Definition ClassPotentialOrigin.cpp:3336
double get_TripleHiggsCorrectionsTreePhysical(std::size_t i, std::size_t j, std::size_t k) const
get_TripleHiggsCorrectionsTreePhysical
Definition ClassPotentialOrigin.h:584
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 bas...
Definition ClassPotentialOrigin.h:328
void CalculateDebye(bool forceCalculation=false)
Definition ClassPotentialOrigin.cpp:3267
std::vector< std::vector< std::vector< std::vector< double > > > > Curvature_Higgs_L4
Definition ClassPotentialOrigin.h:230
std::vector< std::vector< std::vector< double > > > Curvature_Higgs_CT_L3
Definition ClassPotentialOrigin.h:242
Eigen::MatrixXd WeinbergSecondDerivativeAsMatrixXd() const
Definition ClassPotentialOrigin.cpp:1534
double fbaseFour(double MassSquaredA, double MassSquaredB, double MassSquaredC, double MassSquaredD) const
Definition ClassPotentialOrigin.cpp:387
virtual double VCounterSimplified(const std::vector< double > &v) const =0
std::vector< std::size_t > VevOrder
VevOrder Stores the matching order used in MinimizeOrderVEV, set in the constructor of the model.
Definition ClassPotentialOrigin.h:400
std::size_t nParCT
Definition ClassPotentialOrigin.h:88
void setUseIndexCol(std::string legend)
Definition ClassPotentialOrigin.cpp:3581
bool CalculatedTripleCopulings
CalculatedTripleCopulings Used to check if TripleHiggsCouplings has already been called.
Definition ClassPotentialOrigin.h:199
double fbase(double MassSquaredA, double MassSquaredB) const
Definition ClassPotentialOrigin.cpp:857
std::vector< std::vector< std::vector< double > > > LambdaHiggs_3_CT
LambdaHiggs_3 Stores the Lambda_{(S)}^{ijk} tensor for the counterterm parameters.
Definition ClassPotentialOrigin.h:360
std::vector< std::vector< std::vector< std::complex< double > > > > Curvature_Lepton_F2H1
Definition ClassPotentialOrigin.h:266
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...
Definition ClassPotentialOrigin.cpp:3686
bool CheckRotationMatrix()
Definition ClassPotentialOrigin.cpp:963
std::vector< std::vector< std::vector< double > > > TripleHiggsCorrectionsTreePhysical
Definition ClassPotentialOrigin.h:178
double boson_legacy(double MassSquared, double Temp, double cb, int diff=0) const
Definition ClassPotentialOrigin_deprecated.cpp:221
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
Definition ClassPotentialOrigin.cpp:3475
const std::vector< std::size_t > & Get_VevOrder() const
Get_VevOrder allows const ref access to the VevOrder vector.
Definition ClassPotentialOrigin.h:475
virtual void set_CT_Pot_Par(const std::vector< double > &par)=0
virtual void TripleHiggsCouplings()=0
double Vl(double MassSquared, double Temp, int n, int diff=0) const
Definition ClassPotentialOrigin_deprecated.cpp:31
virtual void Debugging(const std::vector< double > &input, std::vector< double > &output) const =0
std::size_t NChargedHiggs
Definition ClassPotentialOrigin.h:111
bool getUseIndexCol()
Definition ClassPotentialOrigin.cpp:3586
double get_TripleHiggsCorrectionsCWPhysical(std::size_t i, std::size_t j, std::size_t k) const
get_TripleHiggsCorrectionsCWPhysical
Definition ClassPotentialOrigin.h:610
virtual void write() const =0
std::vector< std::vector< std::vector< std::complex< double > > > > Curvature_Quark_F2H1
Definition ClassPotentialOrigin.h:257
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...
Definition ClassPotentialOrigin.h:370
double scale
Definition ClassPotentialOrigin.h:79
std::vector< double > parStored
Definition ClassPotentialOrigin.h:93
std::size_t NColour
NColour Number of colours of the quarks. Do not change this in the current version as we only investi...
Definition ClassPotentialOrigin.h:136
void Prepare_Triple()
Definition ClassPotentialOrigin.cpp:59
double Vsb(double MassSquaredIn, double Temp, int n, int diff=0) const
Definition ClassPotentialOrigin_deprecated.cpp:149
std::vector< double > MinimizeOrderVEV(const std::vector< double > &VEVminimizer) const
Definition ClassPotentialOrigin.cpp:3853
std::size_t get_NChargedHiggs() const
get_NChargedHiggs
Definition ClassPotentialOrigin.h:543
std::vector< std::vector< std::complex< double > > > Curvature_Lepton_F2
Definition ClassPotentialOrigin.h:270
ModelID::ModelIDs Model
Definition ClassPotentialOrigin.h:103
virtual std::vector< std::string > addLegendTemp() const =0
std::vector< std::vector< std::vector< double > > > LambdaGauge_3
LambdaGauge_3 Stores the Lambda_{(G)}^{abi} tensor.
Definition ClassPotentialOrigin.h:351
const std::vector< std::vector< double > > & get_DebyeHiggs() const
get_DebyeHiggs get the Debye corrections to the Higgs mass matrix
Definition ClassPotentialOrigin.h:564
std::size_t NNeutralHiggs
Definition ClassPotentialOrigin.h:107
bool CalcCouplingsDone
CalcCouplingsDone Used to check if CalculatePhysicalCouplings has already been called.
Definition ClassPotentialOrigin.h:194
void initVectors()
Definition ClassPotentialOrigin.cpp:3376
std::size_t get_NNeutralHiggs() const
get_NNeutralHiggs
Definition ClassPotentialOrigin.h:548
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
Definition ClassPotentialOrigin.cpp:3453
bool SetCurvatureDone
SetCurvatureDone Used to check if the tensors are set.
Definition ClassPotentialOrigin.h:189
double FCW(double MassSquared) const
Definition ClassPotentialOrigin.cpp:78
int InputLineNumber
InputLineNumber Used for the error message in fbaseTri.
Definition ClassPotentialOrigin.h:204
Eigen::VectorXd NablaVCT(const std::vector< double > &v) const
NablaVCT.
Definition ClassPotentialOrigin.cpp:3873
std::vector< std::vector< std::vector< double > > > Couplings_Higgs_Triple
Couplings_Higgs_Triple Stores the triple Higgs couplings in the mass base.
Definition ClassPotentialOrigin.h:311
virtual std::vector< std::string > addLegendCT() const =0
std::vector< double > MassSquaredLepton
MassSquaredLepton Stores the masses of the leptons calculated in CalculatePhysicalCouplings.
Definition ClassPotentialOrigin.h:290
std::vector< double > MassSquaredHiggs
MassSquaredHiggs Stores the masses of the Higgs Bosons calculated in CalculatePhysicalCouplings.
Definition ClassPotentialOrigin.h:275
double get_vevTreeMin(const std::size_t &k) const
get_vevTreeMin
Definition ClassPotentialOrigin.h:513
virtual double EWSBVEV(const std::vector< double > &v) const
Definition ClassPotentialOrigin.cpp:3542
const auto & Get_Curvature_Quark_F2H1() const
Get_Curvature_Quark_F2H1 allows const ref access to the Y^{IJk} Tensor for Quarks.
Definition ClassPotentialOrigin.h:462
double get_HiggsRotationMatrixEnsuredConvention(std::size_t i, std::size_t j) const
get_HiggsRotationMatrixEnsuredConvention
Definition ClassPotentialOrigin.h:633
bool UseVCounterSimplified
UseVCounterSimplified Decides wether VCounterSimplified will be used or not. VCounterSimplified retur...
Definition ClassPotentialOrigin.h:911
const auto & Get_Curvature_Lepton_F2H1() const
Get_Curvature_Lepton_F2H1 allows const ref access to the Y^{IJk} Tensor for Leptons.
Definition ClassPotentialOrigin.h:445
const auto & Get_Curvature_Lepton_F2() const
Get_Curvature_Lepton_F2 allows const ref access to the Y^{IJ} Tensor for Leptons.
Definition ClassPotentialOrigin.h:455
bool UseTreeLevel
UseTreeLevel Enforces VEff to only use the tree-level potential.
Definition ClassPotentialOrigin.h:74
double fermion(double MassSquared, double Temp, int diff=0) const
Calculation of the fermionic std::size_tegral + Coleman-Weinberg potential without taking d....
Definition ClassPotentialOrigin.cpp:141
std::size_t NQuarks
Definition ClassPotentialOrigin.h:128
double get_scale() const
get_scale
Definition ClassPotentialOrigin.h:481
std::vector< double > WeinbergFirstDerivative() const
Definition ClassPotentialOrigin.cpp:1439
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...
Definition ClassPotentialOrigin.h:317
void SetUseTreeLevel(bool val)
Definition ClassPotentialOrigin.cpp:3627
virtual std::vector< std::string > addLegendTripleCouplings() const =0
std::vector< std::vector< double > > DebyeHiggs
DebyeHiggs Stores the debye corrections to the mass matrix of the Higgs bosons.
Definition ClassPotentialOrigin.h:390
std::vector< double > parCTStored
Definition ClassPotentialOrigin.h:98
std::size_t get_nPar() const
get_nPar
Definition ClassPotentialOrigin.h:492
const double ARMZeroThreshold
Definition ClassPotentialOrigin.h:1023
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....
Definition ClassPotentialOrigin.cpp:110
double get_HiggsRotationMatrix(std::size_t i, std::size_t j) const
get_HiggsRotationMatrix
Definition ClassPotentialOrigin.h:623
virtual std::vector< std::string > addLegendVEV() const =0
std::vector< std::vector< std::vector< double > > > LambdaHiggs_3
LambdaHiggs_3 Stores the Lambda_{(S)}^{ijk} tensor.
Definition ClassPotentialOrigin.h:355
const auto & Get_Curvature_Gauge_G2H2() const
Get_Curvature_Gauge_G2H2 allows const ref access to the G^{abij} Tensor.
Definition ClassPotentialOrigin.h:438
std::size_t NLepton
Definition ClassPotentialOrigin.h:143
virtual void set_gen(const std::vector< double > &par)=0
std::size_t NHiggs
Definition ClassPotentialOrigin.h:116
virtual void SetEWVEVZero(std::vector< double > &sol) const
SetEWVEVZero Set all VEV directions in sol-vector to zero that contibute to EW VEV.
Definition ClassPotentialOrigin.cpp:3563
virtual void SetCurvatureArrays()=0
std::vector< double > QuarkMassesSquared(const std::vector< double > &v, const int &diff=0) const
Definition ClassPotentialOrigin.cpp:2667
std::vector< std::complex< double > > LeptonMasses(const std::vector< double > &v) const
Definition ClassPotentialOrigin.cpp:3814
double V1Loop(const std::vector< double > &v, double Temp, int diff) const
Definition ClassPotentialOrigin.cpp:3035
std::vector< std::vector< std::vector< std::vector< double > > > > Curvature_Higgs_CT_L4
Definition ClassPotentialOrigin.h:247
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_{...
Definition ClassPotentialOrigin.h:365
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 bas...
Definition ClassPotentialOrigin.h:346
std::vector< double > HiggsVev
Definition ClassPotentialOrigin.h:214
std::size_t get_nParCT() const
get_nParCT
Definition ClassPotentialOrigin.h:497
virtual std::vector< double > GetCTIdentities() const
GetCTIdentities.
Definition ClassPotentialOrigin.cpp:3919
std::vector< double > HiggsMassesSquared(const std::vector< double > &v, const double &Temp=0, const int &diff=0) const
Definition ClassPotentialOrigin.cpp:2457
void set_All(const std::vector< double > &par, const std::vector< double > &parCT)
Definition ClassPotentialOrigin.cpp:48
std::vector< double > MassSquaredQuark
MassSquaredQuark Stores the masses of the quarks calculated in CalculatePhysicalCouplings.
Definition ClassPotentialOrigin.h:285
double CalculateRatioAlpha(const std::vector< double > &vev_symmetric, const std::vector< double > &vev_broken, const double &Temp) const
Definition ClassPotentialOrigin.cpp:3833
double fbaseTri(double MassSquaredA, double MassSquaredB, double MassSquaredC) const
Definition ClassPotentialOrigin.cpp:286
std::vector< double > get_vevTreeMin() const
get_vevTreeMin
Definition ClassPotentialOrigin.h:507
std::size_t get_NQuarks() const
get_NQuarks
Definition ClassPotentialOrigin.h:533
const auto & Get_Curvature_Higgs_L3() const
Get_Curvature_Higgs_L3 allows const ref access to the L_{(S)}^{ijk} Tensor.
Definition ClassPotentialOrigin.h:424
virtual bool CalculateDebyeGaugeSimplified()=0
std::size_t get_NHiggs() const
get_NHiggs
Definition ClassPotentialOrigin.h:538
std::vector< double > VEVSymmetric
Definition ClassPotentialOrigin.h:153
double Vsf(double MassSquared, double Temp, int n, int diff=0) const
Definition ClassPotentialOrigin_deprecated.cpp:83
std::pair< std::vector< double >, std::vector< double > > initModel(std::string linestr)
Definition ClassPotentialOrigin.cpp:3633
Eigen::MatrixXd HessianCT(const std::vector< double > &v) const
HessianWeinberg.
Definition ClassPotentialOrigin.cpp:3897
std::vector< std::vector< double > > Curvature_Higgs_L2
Definition ClassPotentialOrigin.h:222
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 Lambd...
Definition ClassPotentialOrigin.h:384
std::size_t NGauge
Definition ClassPotentialOrigin.h:122
const auto & Get_Curvature_Higgs_L4() const
Get_Curvature_Higgs_L4 allows const ref access to the L_{(S)}^{ijkl} Tensor.
Definition ClassPotentialOrigin.h:431
std::size_t get_NLepton() const
get_NLepton
Definition ClassPotentialOrigin.h:553
std::size_t get_NGauge() const
get_NGauge
Definition ClassPotentialOrigin.h:528
std::vector< std::vector< std::complex< double > > > Curvature_Quark_F2
Definition ClassPotentialOrigin.h:261
bool UseIndexCol
Definition ClassPotentialOrigin.h:209
std::vector< double > resetScale(const double &newScale)
resetScale changes the MSBar scale to newScale
Definition ClassPotentialOrigin.cpp:3674
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...
Definition ClassPotentialOrigin.cpp:3762
double CounterTerm(const std::vector< double > &v, int diff=0, bool ForceExplicitCalculation=false) const
Definition ClassPotentialOrigin.cpp:2928
double fermion_legacy(double Mass, double Temp, int diff=0) const
Definition ClassPotentialOrigin_deprecated.cpp:316
std::vector< double > TripleHiggsCorrectionsCW
Definition ClassPotentialOrigin.h:166
void FindSignSymmetries()
FindSignSymmetries checks for all possible sign changes in the VEV components and checks for all poss...
Definition ClassPotentialOrigin.cpp:3591
void set_InputLineNumber(int InputLineNumber_in)
set_InputLineNumber
Definition ClassPotentialOrigin.h:573
std::vector< std::vector< double > > HiggsRotationMatrixEnsuredConvention
Definition ClassPotentialOrigin.h:300
This classes calculates the Bounce action of the potential with a set temperature.
Definition CalculateEtaInterface.h:24
const double C_PT
C_PT Lower threshold to stop the EWPT calculation.
Definition ClassPotentialOrigin.h:28
Order
Order of the potential.
Definition ClassPotentialOrigin.h:52
const double C_CWcbHiggs
C_CWcbHiggs constant used in the CW potential for Higgs bosons.
Definition ClassPotentialOrigin.h:45
const double C_CWcbGB
C_CWcbGB constant used in the CW potential for gauge bosons.
Definition ClassPotentialOrigin.h:41
const double C_threshold
C_threshold threshold to check if a mass is numerically zero.
Definition ClassPotentialOrigin.h:33
The ISMConstants struct containing all necessary SM constants.
Definition SMparam.h:24
Definition transition_tracer.h:154