a Code for the Combination of Indirect and Direct Constraints on High Energy Physics Models Logo
bsgammaTHDM.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2015 HEPfit Collaboration
3  *
4  *
5  * For the licensing terms see doc/COPYING.
6  */
7 
8 #include "bsgammaTHDM.h"
9 #include "THDM.h"
10 #include "THDMcache.h"
11 
13 
14  ThObservable(SM_i),
15  myTHDM(static_cast<const THDM*> (&SM_i))
16 {
17  mycache = new THDMcache(SM_i);
18 }
19 
21 {
22  if (mycache != NULL) delete(mycache);
23 }
24 
26 {
27  std::string modelflag=myTHDM->getModelTypeflag();
28  if (modelflag == "type2" || modelflag == "typeY" ) {
29  double logtb=myTHDM->getlogtb();
30  double logmHp=log10(myTHDM->getmHp());
31  double B_BXsgamma_ctrl=mycache->ip_ex_bsgamma(logtb,logmHp);
32  double B_BXsgamma_err=0.07;
33  double bsgamma_theoryerror=myTHDM->getbsgamma_theoryerror();
34 
35  return B_BXsgamma_ctrl * (1.0 + B_BXsgamma_err * bsgamma_theoryerror);
36  }
37  else {
38  throw std::runtime_error("flag_model in bsgammaTHDM::computeThValue() can only be \"type2\" or \"typeY\" at the moment");
39  return 0.;
40  }
41 }
bsgammaTHDM.h
bsgammaTHDM::computeThValue
double computeThValue()
Calculates the value in the THDM by linear interpolation of tabled NNLO values.
Definition: bsgammaTHDM.cpp:25
THDMcache.h
THDM
A base class for symmetric Two-Higgs-Doublet models.
Definition: THDM.h:120
THDMcache::ip_ex_bsgamma
double ip_ex_bsgamma(double logtb, double logmHp)
Interpolating function for the NNLO value for the branching ratio of decays in the THDM.
bsgammaTHDM::~bsgammaTHDM
virtual ~bsgammaTHDM()
Definition: bsgammaTHDM.cpp:20
THDMcache
A class for the caching of some THDM objects.
Definition: THDMcache.h:29
StandardModel
A model class for the Standard Model.
Definition: StandardModel.h:477
THDM::getlogtb
double getlogtb() const
A method get .
Definition: THDM.h:275
bsgammaTHDM::myTHDM
const THDM * myTHDM
Definition: bsgammaTHDM.h:43
bsgammaTHDM::bsgammaTHDM
bsgammaTHDM(const StandardModel &SM_i)
Definition: bsgammaTHDM.cpp:12
bsgammaTHDM::mycache
THDMcache * mycache
Definition: bsgammaTHDM.h:40
THDM::getbsgamma_theoryerror
double getbsgamma_theoryerror() const
A method get the nuisance parameter for the theoretical error on .
Definition: THDM.h:547
THDM::getModelTypeflag
std::string getModelTypeflag() const
A method get the THDM model type.
Definition: THDM.h:242
gslpp::log10
complex log10(const complex &z)
Definition: gslpp_complex.cpp:351
ThObservable
A class for a model prediction of an observable.
Definition: ThObservable.h:25
THDM.h
THDM::getmHp
double getmHp() const
A method get the charged Higgs mass.
Definition: THDM.h:471