a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
EffectivePot_GTHDM Class Reference

#include <GeneralTHDMEffectivePot.h>

Detailed Description

Definition at line 20 of file GeneralTHDMEffectivePot.h.

Public Member Functions

 EffectivePot_GTHDM (const StandardModel &SM_i)
 EffectivePot_GTHDM constructor. More...
 
gslpp::matrix< double > Mneutral_2 (const double S1, const double S2, const double S3)
 
double potentialfunction (const double *Svec)
 
const double * potentialminimizer (double S1_start, double S2_start, double S3_start)
 

Private Attributes

gslpp::matrix< double > mat_neutral
 

Constructor & Destructor Documentation

◆ EffectivePot_GTHDM()

EffectivePot_GTHDM::EffectivePot_GTHDM ( const StandardModel SM_i)

EffectivePot_GTHDM constructor.

Definition at line 15 of file GeneralTHDMEffectivePot.cpp.

17: mat_neutral(4,4,0.)
18{}
gslpp::matrix< double > mat_neutral

Member Function Documentation

◆ Mneutral_2()

gslpp::matrix< double > EffectivePot_GTHDM::Mneutral_2 ( const double  S1,
const double  S2,
const double  S3 
)

Definition at line 60 of file GeneralTHDMEffectivePot.cpp.

61{
62
63 mat_neutral.assign(0,0, S1);
64 mat_neutral.assign(1,1, 2.*S2);
65 mat_neutral.assign(2,2, 3.*S1);
66 mat_neutral.assign(3,3, 4.*S3*S3);
67
68 return mat_neutral;
69}

◆ potentialfunction()

double EffectivePot_GTHDM::potentialfunction ( const double *  Svec)

Definition at line 46 of file GeneralTHDMEffectivePot.cpp.

47{
48 const double S1 = Svec[0];
49 const double S2 = Svec[1];
50 const double S3 = Svec[2];
51
52 double Func = 3./2.*S1*S1*S1*S1 + 3.*S1*S1*S1 - 5.*S1 + S2*S2;
53
54 double TraceMn2 = (Mneutral_2(S1,S2,S3))(0,0) + (Mneutral_2(S1,S2,S3))(1,1) +
55 (Mneutral_2(S1,S2,S3))(2,2) + (Mneutral_2(S1,S2,S3))(3,3);
56
57 return Func + TraceMn2;
58}
gslpp::matrix< double > Mneutral_2(const double S1, const double S2, const double S3)

◆ potentialminimizer()

const double * EffectivePot_GTHDM::potentialminimizer ( double  S1_start,
double  S2_start,
double  S3_start 
)

Definition at line 20 of file GeneralTHDMEffectivePot.cpp.

21{
22 ROOT::Math::Minimizer *minimizer = ROOT::Math::Factory::CreateMinimizer("Minuit","Migrad");
23
24 minimizer->SetMaxFunctionCalls(10000);
25 minimizer->SetMaxIterations(1000);
26 minimizer->SetTolerance(0.01);
27
28 ROOT::Math::Functor fwrap(this,&EffectivePot_GTHDM::potentialfunction,3);
29
30 minimizer->SetFunction(fwrap);
31 minimizer->SetVariable(0, "S1", S1_start, 0.1);
32 minimizer->SetVariable(1, "S2", S2_start, 0.1);
33 minimizer->SetVariable(2, "S3", S3_start, 0.1);
34
35 minimizer->Minimize();
36
37 const double *minimum = minimizer->X();
38
39// std::cout << "min_S1 = " << minimum[0] << std::endl;
40// std::cout << "min_S2 = " << minimum[1] << std::endl;
41// std::cout << "min_S3 = " << minimum[2] << std::endl << std::endl;
42
43 return(minimum);
44}
double potentialfunction(const double *Svec)

Member Data Documentation

◆ mat_neutral

gslpp::matrix<double> EffectivePot_GTHDM::mat_neutral
private

Definition at line 37 of file GeneralTHDMEffectivePot.h.


The documentation for this class was generated from the following files: