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 }

◆ ~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 }

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:
Runner::mylambda4
lambda4 * mylambda4
Definition: Runner.h:56
m11_2
An observable class for the quadratic Higgs potential coupling .
Definition: THDMquantities.h:336
Jacobian
int Jacobian(double t, const double y[], double *dfdy, double dfdt[], void *order)
Definition: Runner.cpp:412
lambda3
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:428
gslpp::log
complex log(const complex &z)
Definition: gslpp_complex.cpp:342
ThObservable::ThObservable
ThObservable(const StandardModel &SM_i)
Constructor.
Definition: ThObservable.h:32
lambda1
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:382
Runner::mylambda2
lambda2 * mylambda2
Definition: Runner.h:54
lambda4
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:451
Runner::mylambda5
lambda5 * mylambda5
Definition: Runner.h:57
RGEcheck
int RGEcheck(const double InitialValues[], const double t1, const double Rpeps, const double tNLOuni)
Definition: Runner.cpp:417
lambda2
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:405
RGEs
int RGEs(double t, const double y[], double beta[], void *flags)
Definition: Runner.cpp:42
m22_2
An observable class for the quadratic Higgs potential coupling .
Definition: THDMquantities.h:359
Runner::mylambda1
lambda1 * mylambda1
Definition: Runner.h:53
lambda5
An observable class for the quartic Higgs potential coupling .
Definition: THDMquantities.h:474
Runner::mylambda3
lambda3 * mylambda3
Definition: Runner.h:55
Runner::myTHDM
const THDM * myTHDM
Definition: Runner.h:50
Runner::mym11_2
m11_2 * mym11_2
Definition: Runner.h:51
Runner::mym22_2
m22_2 * mym22_2
Definition: Runner.h:52