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
ClassPotentialC2HDM.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 SRC_CLASSPOTENTIALC2HDM_H_
12#define SRC_CLASSPOTENTIALC2HDM_H_
13
15namespace BSMPT
16{
17namespace Models
18{
19
79{
80public:
81 Class_Potential_C2HDM(const ISMConstants &smConstants);
82 virtual ~Class_Potential_C2HDM() override;
83
84 bool UseHsmNotationInTripleHiggs = false;
85
86 double L1 = 0, L2 = 0, L3 = 0, L4 = 0, RL5 = 0, RealMMix = 0, u1 = 0, u2 = 0;
87 double IL5 = 0, Iu3 = 0;
88 double DL1CT = 0, DL2CT = 0, DL3CT = 0, DL4CT = 0, DRL5CT = 0, Du2CT = 0,
89 Du1CT = 0, DRu3CT = 0;
90 double DIL5CT = 0, DIu3CT = 0;
91 double DT1 = 0, DT2 = 0, DT3 = 0, DTCharged = 0;
92 double DIL6CT = 0;
93 double TanBeta = 0, C_CosBeta = 0, C_SinBeta = 0, C_CosBetaSquared = 0,
94 C_SinBetaSquared = 0;
95 double beta = 0;
96 double M1 = 0, M2 = 0, M3 = 0, alpha1 = 0, alpha2 = 0, alpha3 = 0, MHC = 0;
97 int Type = 0;
98 double CTempC1 = 0, CTempC2 = 0, CTempCS = 0;
99 double R_Hh_1 = 0, R_Hh_2 = 0, R_Hh_3 = 0, R_Hl_1 = 0, R_Hl_2 = 0, R_Hl_3 = 0,
100 R_Hsm_1 = 0, R_Hsm_2 = 0, R_Hsm_3 = 0;
101
102 std::size_t pos_G0, pos_Gp, pos_Gm, pos_Hp, pos_Hm, pos_h1, pos_h2, pos_h3;
103 std::size_t pos_h_SM, pos_h_l, pos_h_H;
104
105 void ReadAndSet(const std::string &linestr,
106 std::vector<double> &par) override;
107 std::vector<std::string> addLegendCT() const override;
108 std::vector<std::string> addLegendTemp() const override;
109 std::vector<std::string> addLegendTripleCouplings() const override;
110 std::vector<std::string> addLegendVEV() const override;
111
124 void set_gen(const std::vector<double> &par) override;
125 void set_CT_Pot_Par(const std::vector<double> &par) override;
126 void write() const override;
127
128 /*
129 * C2HDM interaction basis:
130 * 0 1 2 3 4 5 6 7
131 * rho1, eta1, rho2, eta2, zeta1, psi1, zeta2, psi2
132 */
133 const std::size_t pos_rho1 = 0, pos_eta1 = 1, pos_rho2 = 2, pos_eta2 = 3,
134 pos_zeta1 = 4, pos_psi1 = 5, pos_zeta2 = 6, pos_psi2 = 7;
135
136 /*
137 * C2HDM semi-interaction basis (neutral Goldstone rotated out)
138 * G^0, rho1, eta1, rho2, eta2, zeta1, zeta2, zeta3
139 */
140 const std::size_t pos_si_G0 = 0, pos_si_rho1 = 1, pos_si_eta1 = 2,
141 pos_si_rho2 = 3, pos_si_eta2 = 4, pos_si_zeta1 = 5,
142 pos_si_zeta2 = 6, pos_si_zeta3 = 7;
143
151 void FindMassBasisIndices(const std::vector<double> &HiggsMasses,
152 const Eigen::MatrixXd &HiggsRot);
162 std::tuple<std::size_t,
163 std::size_t,
164 std::size_t,
165 std::size_t,
166 std::size_t,
167 std::size_t,
168 std::size_t>
169 FindSemiMassBasisIndices(const std::vector<double> &HiggsMasses,
170 const Eigen::MatrixXd &HiggsRot);
171
172 void AdjustRotationMatrix() override;
173 void TripleHiggsCouplings() override;
174 std::vector<double> calc_CT() const override;
175
176 void SetCurvatureArrays() override;
177 bool CalculateDebyeSimplified() override;
178 bool CalculateDebyeGaugeSimplified() override;
179 double VTreeSimplified(const std::vector<double> &v) const override;
180 double VCounterSimplified(const std::vector<double> &v) const override;
181 void Debugging(const std::vector<double> &input,
182 std::vector<double> &output) const override;
183
184 bool IncludeChargeBreakingVEV = true;
185 bool CTAlternative = false;
186 double DiffDelta = 0;
187
188 int PosSM = -1;
189};
190
191} // namespace Models
192} // namespace BSMPT
193#endif /* SRC_CLASSPOTENTIALC2HDM_H_ */
The Class_Potential_Origin class Base class for all models. This class contains all numerical calcula...
Definition ClassPotentialOrigin.h:63
The Class_Potential_C2HDM class Implementation of the CP-violating 2HDM as given in the manual.
Definition ClassPotentialC2HDM.h:79
bool CalculateDebyeGaugeSimplified() override
Definition ClassPotentialC2HDM.cpp:3534
void write() const override
Definition ClassPotentialC2HDM.cpp:2089
void FindMassBasisIndices(const std::vector< double > &HiggsMasses, const Eigen::MatrixXd &HiggsRot)
Definition ClassPotentialC2HDM.cpp:2331
void TripleHiggsCouplings() override
Definition ClassPotentialC2HDM.cpp:2879
void Debugging(const std::vector< double > &input, std::vector< double > &output) const override
Definition ClassPotentialC2HDM.cpp:3608
void AdjustRotationMatrix() override
Definition ClassPotentialC2HDM.cpp:2666
std::vector< std::string > addLegendTripleCouplings() const override
Definition ClassPotentialC2HDM.cpp:117
bool CalculateDebyeSimplified() override
Definition ClassPotentialC2HDM.cpp:3487
void ReadAndSet(const std::string &linestr, std::vector< double > &par) override
Definition ClassPotentialC2HDM.cpp:173
double VCounterSimplified(const std::vector< double > &v) const override
Definition ClassPotentialC2HDM.cpp:3575
std::vector< double > calc_CT() const override
Definition ClassPotentialC2HDM.cpp:2219
void set_gen(const std::vector< double > &par) override
Definition ClassPotentialC2HDM.cpp:221
std::vector< std::string > addLegendVEV() const override
Definition ClassPotentialC2HDM.cpp:163
std::vector< std::string > addLegendCT() const override
Definition ClassPotentialC2HDM.cpp:72
void set_CT_Pot_Par(const std::vector< double > &par) override
Definition ClassPotentialC2HDM.cpp:303
void SetCurvatureArrays() override
Definition ClassPotentialC2HDM.cpp:2988
std::tuple< std::size_t, std::size_t, std::size_t, std::size_t, std::size_t, std::size_t, std::size_t > FindSemiMassBasisIndices(const std::vector< double > &HiggsMasses, const Eigen::MatrixXd &HiggsRot)
Definition ClassPotentialC2HDM.cpp:2511
double VTreeSimplified(const std::vector< double > &v) const override
Definition ClassPotentialC2HDM.cpp:3545
std::vector< std::string > addLegendTemp() const override
Definition ClassPotentialC2HDM.cpp:98
This classes calculates the Bounce action of the potential with a set temperature.
Definition CalculateEtaInterface.h:24
The ISMConstants struct containing all necessary SM constants.
Definition SMparam.h:24
Definition transition_tracer.h:154