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

An RGE running algorithm. More...

#include <Runner.h>

+ Inheritance diagram for Runner:

Detailed Description

An RGE running algorithm.

Author
HEPfit Collaboration

Renormalization group evolution of the relevant SM and THDM parameters

Definition at line 30 of file Runner.h.

Public Member Functions

double computeThValue ()
 Empty function. More...
 
virtual double RGERunner (double InitialValues[], unsigned long int NumberOfRGEs, double Q1, double Q2, int order, double Rpeps, double tNLOuni)
 
 Runner (const StandardModel &SM_i)
 Runner constructor. More...
 
 ~Runner ()
 Runner destructor. More...
 
- Public Member Functions inherited from ThObservable
double getBinMax ()
 A get method to get the maximum value of the bin. More...
 
double getBinMin ()
 A get method to get the minimum value of the bin. More...
 
const StandardModelgetModel ()
 A get method to get the model. More...
 
const std::vector< std::string > getParametersForObservable ()
 A get method to get the parameters for the specific observable. More...
 
void setBinMax (double max)
 A set method to set the maximum value of the bin. More...
 
void setBinMin (double min)
 A set method to set the minimum value of the bin. More...
 
void setParametersForObservable (std::vector< std::string > parametersForObservable_i)
 A set method to get the parameters for the specific observable. More...
 
 ThObservable (const StandardModel &SM_i)
 Constructor. More...
 
 ThObservable (const ThObservable &orig)
 The copy constructor. More...
 
virtual ~ThObservable ()
 The default destructor. More...
 

Public Attributes

lambda1mylambda1
 
lambda2mylambda2
 
lambda3mylambda3
 
lambda4mylambda4
 
lambda5mylambda5
 
m11_2mym11_2
 
m22_2mym22_2
 
const THDMmyTHDM
 

Additional Inherited Members

- Protected Attributes inherited from ThObservable
double max
 the bin maximum. More...
 
double min
 The bin minimum. More...
 
std::vector< std::string > parametersForObservable
 a vector of parameter namesfor the specific observable More...
 
const StandardModelSM
 A reference to an object of StandardMode class. More...
 

Constructor & Destructor Documentation

◆ Runner()

Runner::Runner ( const StandardModel SM_i)

Runner constructor.

Definition at line 15 of file Runner.cpp.

15 : ThObservable(SM_i), myTHDM(static_cast<const THDM*> (&SM_i))
16{
17 mym11_2=new m11_2(SM_i);
18 mym22_2=new m22_2(SM_i);
19 mylambda1=new lambda1(SM_i);
20 mylambda2=new lambda2(SM_i);
21 mylambda3=new lambda3(SM_i);
22 mylambda4=new lambda4(SM_i);
23 mylambda5=new lambda5(SM_i);
24}
lambda3 * mylambda3
Definition: Runner.h:55
lambda4 * mylambda4
Definition: Runner.h:56
lambda5 * mylambda5
Definition: Runner.h:57
m22_2 * mym22_2
Definition: Runner.h:52
const THDM * myTHDM
Definition: Runner.h:50
lambda1 * mylambda1
Definition: Runner.h:53
lambda2 * mylambda2
Definition: Runner.h:54
m11_2 * mym11_2
Definition: Runner.h:51
A base class for symmetric Two-Higgs-Doublet models.
Definition: THDM.h:120
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32
parameter of the Higgs potential
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .
An observable class for the quartic Higgs potential coupling .
An observable class for the quadratic Higgs potential coupling .
An observable class for the quadratic Higgs potential coupling .

◆ ~Runner()

Runner::~Runner ( )

Runner destructor.

Definition at line 26 of file Runner.cpp.

27{
28 delete mym11_2;
29 delete mym22_2;
30 delete mylambda1;
31 delete mylambda2;
32 delete mylambda3;
33 delete mylambda4;
34 delete mylambda5;
35};

Member Function Documentation

◆ computeThValue()

double Runner::computeThValue ( )
virtual

Empty function.

Implements ThObservable.

Definition at line 37 of file Runner.cpp.

38{
39 return 0.;
40}

◆ RGERunner()

double Runner::RGERunner ( double  InitialValues[],
unsigned long int  NumberOfRGEs,
double  Q1,
double  Q2,
int  order,
double  Rpeps,
double  tNLOuni 
)
virtual

Definition at line 545 of file Runner.cpp.

546{
547 //Define which stepping function should be used
548 const gsl_odeiv2_step_type * T = gsl_odeiv2_step_rk4;
549
550 //Allocate space for the stepping function
551 gsl_odeiv2_step * s = gsl_odeiv2_step_alloc(T, NumberOfRGEs);
552
553 //Define the absolute (A) and relative (R) error on y at each step.
554 //The real error will be compared to the following error estimate:
555 // A + R * |y_i|
556 gsl_odeiv2_control * c = gsl_odeiv2_control_y_new(1e-6, 0.0);
557
558 //Allocate space for the evolutor
559 gsl_odeiv2_evolve * e = gsl_odeiv2_evolve_alloc(NumberOfRGEs);
560
561 //Definition of the RGE system (the Jacobian is not necessary for the RK4 method; it's an empty function here)
562 gsl_odeiv2_system RGEsystem = {RGEs, Jacobian, NumberOfRGEs, &order};
563
564 //Set starting and end point as natural logarithmic scales (conversion from decadic log scale)
565 double t1 = Q1*log(10.0);
566 double t2 = Q2*log(10.0);
567 double tNLOuni = NLOuniscale*log(10.0);
568
569 //Set initial step size
570 double InitialStepSize = 1e-6;
571
572 //Run!
573 while (t1 < t2)
574 {
575 int status = gsl_odeiv2_evolve_apply (e, c, s, &RGEsystem, &t1, t2, &InitialStepSize, InitialValues);
576 if(status != GSL_SUCCESS) break;
577
578 //intermediate checks if appropriate
579 if(RGEcheck(InitialValues,t1,Rpeps,tNLOuni) != 0) break;
580 }
581
582 gsl_odeiv2_evolve_free (e);
583 gsl_odeiv2_control_free (c);
584 gsl_odeiv2_step_free (s);
585
586 //Return the decadic log scale at which the evolution stopped
587 return t1/log(10.0);
588}
int RGEs(double t, const double y[], double beta[], void *flags)
Definition: Runner.cpp:42
int RGEcheck(const double InitialValues[], const double t1, const double Rpeps, const double tNLOuni)
Definition: Runner.cpp:417
int Jacobian(double t, const double y[], double *dfdy, double dfdt[], void *order)
Definition: Runner.cpp:412
Test Observable.

Member Data Documentation

◆ mylambda1

lambda1* Runner::mylambda1

Definition at line 53 of file Runner.h.

◆ mylambda2

lambda2* Runner::mylambda2

Definition at line 54 of file Runner.h.

◆ mylambda3

lambda3* Runner::mylambda3

Definition at line 55 of file Runner.h.

◆ mylambda4

lambda4* Runner::mylambda4

Definition at line 56 of file Runner.h.

◆ mylambda5

lambda5* Runner::mylambda5

Definition at line 57 of file Runner.h.

◆ mym11_2

m11_2* Runner::mym11_2

Definition at line 51 of file Runner.h.

◆ mym22_2

m22_2* Runner::mym22_2

Definition at line 52 of file Runner.h.

◆ myTHDM

const THDM* Runner::myTHDM

Definition at line 50 of file Runner.h.


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