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}
A model class for the Standard Model.
A base class for symmetric Two-Higgs-Doublet models.
Definition: THDM.h:120
double getmHp() const
A method get the charged Higgs mass.
Definition: THDM.h:471
std::string getModelTypeflag() const
A method get the THDM model type.
Definition: THDM.h:242
double getbsgamma_theoryerror() const
A method get the nuisance parameter for the theoretical error on .
Definition: THDM.h:547
double getlogtb() const
A method get .
Definition: THDM.h:275
A class for the caching of some THDM objects.
Definition: THDMcache.h:29
double ip_ex_bsgamma(double logtb, double logmHp)
Interpolating function for the NNLO value for the branching ratio of decays in the THDM.
Definition: THDMcache.cpp:6842
A class for a model prediction of an observable.
Definition: ThObservable.h:25
virtual ~bsgammaTHDM()
Definition: bsgammaTHDM.cpp:20
THDMcache * mycache
Definition: bsgammaTHDM.h:40
const THDM * myTHDM
Definition: bsgammaTHDM.h:43
double computeThValue()
Calculates the value in the THDM by linear interpolation of tabled NNLO values.
Definition: bsgammaTHDM.cpp:25
bsgammaTHDM(const StandardModel &SM_i)
Definition: bsgammaTHDM.cpp:12