herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
Herwig::BtoSGammaKagan Class Reference

The BtoSGammaKagan class implements the model of hep-ph/9805303 for the hadronic mass spectrum in $b\to s \gamma$ decays. More...

#include <BtoSGammaKagan.h>

Inheritance diagram for Herwig::BtoSGammaKagan:

Public Member Functions

 BtoSGammaKagan ()
 The default constructor.
 
virtual Energy hadronicMass (Energy mb, Energy mquark)
 Returns the hadronic mass. More...
 
virtual void dataBaseOutput (ofstream &os, bool header, bool create) const
 Output the setup information for the particle database. More...
 
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from Herwig::BtoSGammaHadronicMass
 BtoSGammaHadronicMass ()
 The default constructor.
 
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual bool defaultInit ()
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
virtual void debugme () const
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 
 Named (const Named &)=default
 
const string & name () const
 
bool operator== (const Named &other) const
 
bool operator< (const Named &other) const
 

Static Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from Herwig::BtoSGammaHadronicMass
static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 

Protected Member Functions

Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object. More...
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane. More...
 
Standard Interfaced functions.
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk. More...
 
virtual void doinitrun ()
 Initialize this object. More...
 
- Protected Member Functions inherited from Herwig::BtoSGammaHadronicMass
Energy minMass () const
 Minimum mass.
 
Energy maxMass () const
 Maximum mass.
 
InvEnergy exponentialFermiFunction (Energy scale, Energy lambda, double a, InvEnergy norm, Energy2 lambda1) const
 Exponential function of the form, $N(1-x)^ae^{-3\bar{\Lambda}^2x/\lambda_1}$, where $x=k_+/\bar{\Lambda}$ taken from hep-ph/9805303. More...
 
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 
 Interfaced (const string &newName)
 
 Interfaced (const Interfaced &i)
 
void setGenerator (tEGPtr generator)
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 

Private Member Functions

BtoSGammaKaganoperator= (const BtoSGammaKagan &)=delete
 The assignment operator is private and must never be called. More...
 
Functions to calculate the mass spectrum
double Delta (double y, double alphaS) const
 The derivative of the Sudakov form-factor from hep-ph/9805303. More...
 
double semiLeptonicf () const
 Kinematic function from semi-leptonic decay for normaalisation.
 
double s22 (double y) const
 $s_{22}(y)$ function from hep-ph/9805303. More...
 
double s27 (double y) const
 $s_{27}(y)$ function from hep-ph/9805303. More...
 
double s77 (double y) const
 $s_{77}(y)$ function from hep-ph/9805303 More...
 
double s78 (double y) const
 $s_{78}(y)$ function from hep-ph/9805303 More...
 
double s88 (double y) const
 $s_{88}(y)$ function from hep-ph/9805303 More...
 
double realG (double t) const
 The real part of the $G(t)$ function from hep-ph/9805303.
 
double imagG (double t) const
 The imaginary part of the $G(t)$ function from hep-ph/9805303.
 
double alphaS (Energy Q)
 Strong coupling $\alpha_S$ at the scale $Q$. More...
 
void calculateWilsonCoefficients ()
 Calculate the wilson coefficients we need.
 
double KNLO (double y) const
 The $K'_{NLO}(1-y)$ function at parton level from hep-ph/9805303.
 

Private Attributes

bool _initialize
 Initialisation of mass spectrum.
 
Energy2 _lambda2
 The hadronic $\lambda_2$ parameter from hep-ph/9805303.
 
Energy _mt
 Quark masses and related parameters. More...
 
Energy _mb
 bottom quark mass
 
Energy _mc
 charm quark mass
 
Energy _ms
 strange quark mass
 
double _msovermb
 Ratio of the strange quark mass to the bottom quark mass.
 
double _zratio
 The ratio of the charm to bottom quark masses squared, $(m_c/m_b)^2$.
 
Energy _mw
 Masses of other particles. More...
 
Energy _mz
 the Z mass
 
Energy _MB
 Mass of the decaying B meson.
 
Wilson coefficients, couplings and \f$\beta\f$-function coefficients
double _c20
 The leading order $c_2$ coefficient.
 
double _c70
 The leading order $c_7$ coefficient.
 
double _c80
 The leading order $c_8$ coefficient.
 
double _beta0
 First $\beta$-function coefficient.
 
double _beta1
 Second $\beta$-function coefficient.
 
double _alpha
 The electromagentic coupling.
 
double _alphaSZ
 The strong coupling at the Z mass.
 
Energy _mub
 The renormalisation scale.
 
double _alphaSM
 the strong coupling at the renormalisation scale $\mu_b$.
 
double _ckm
 The CKM perfactor for the decay.
 
double _delta
 Pre-factor for the correction term involving $\Delta(y)$.
 
Interpolator< double, double >::Ptr _s22inter
 Interpolators for the integrate functions and related parameters. More...
 
Interpolator< double, double >::Ptr _s27inter
 Interpolator for the $s_{27}$ function.
 
Interpolator< InvEnergy, Energy >::Ptr _pmHinter
 Interpolator for the spectrum.
 
vector< Energy > _mHinter
 Values of $m_H$ for the interpolation of the spectrum.
 
vector< InvEnergy > _spectrum
 Values of the differential rate for the interpolation of the spectrum.
 
InvEnergy _spectmax
 Maximum value of the spectrum for unweighting.
 
unsigned int _maxtry
 Maximum number of tries for unweighting.
 
Energy _fermilambda
 Parameters for the Fermi function. More...
 
double _fermia
 The power from from hep-ph/9805303.
 
InvEnergy _ferminorm
 The normalisation from hep-ph/9805303.
 
Energy2 _fermilambda1
 $\lambda_1$ scale related to the kinetic energy of the b quark.
 
double _ycut
 Techincal parameters for the integration of the spectrum. More...
 
double _y
 Value of the energy fraction for which the integral is being performed.
 
double _deltacut
 Cut-off on the photon energies.
 
unsigned int _nsfunct
 Number of points for the interpolation of the s functions.
 
unsigned int _nspect
 Number of points for the interpolation of the spectrum.
 
unsigned int _iopt
 The function currently being integrated.
 

Friends

struct KaganIntegrand
 Class for the integration is a friend to access private members.
 
typedef double ValType
 
typedef double ArgType
 
double operator() (double x) const
 Members which return integrands. More...
 
InvEnergy smeared (Energy kp) const
 Operator to return the integrand of the smeared function or Fermi function depending on the value of _iopt to be integrated.
 

Additional Inherited Members

- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 
- Public Attributes inherited from ThePEG::InterfacedBase
 initializing
 
 uninitialized
 
 initialized
 
 runready
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 
- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

The BtoSGammaKagan class implements the model of hep-ph/9805303 for the hadronic mass spectrum in $b\to s \gamma$ decays.

Definition at line 30 of file BtoSGammaKagan.h.

Member Function Documentation

◆ alphaS()

double Herwig::BtoSGammaKagan::alphaS ( Energy  Q)
inlineprivate

Strong coupling $\alpha_S$ at the scale $Q$.

Parameters
QThe scale.

Definition at line 256 of file BtoSGammaKagan.h.

References ThePEG::Constants::pi.

◆ clone()

virtual IBPtr Herwig::BtoSGammaKagan::clone ( ) const
inlineprotectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Implements ThePEG::InterfacedBase.

Definition at line 130 of file BtoSGammaKagan.h.

◆ dataBaseOutput()

virtual void Herwig::BtoSGammaKagan::dataBaseOutput ( ofstream &  os,
bool  header,
bool  create 
) const
virtual

Output the setup information for the particle database.

Parameters
osThe stream to output the information to
headerWhether or not to output the information for MySQL
createWhether or not to add a statement creating the object

Reimplemented from Herwig::BtoSGammaHadronicMass.

◆ Delta()

double Herwig::BtoSGammaKagan::Delta ( double  y,
double  alphaS 
) const
inlineprivate

The derivative of the Sudakov form-factor from hep-ph/9805303.

Parameters
yRatio $E_\gamma/E^{\rm max}_\gamma$.
alphaSThe strong coupling, $\alpha_S$.

Definition at line 174 of file BtoSGammaKagan.h.

References ThePEG::Constants::pi.

◆ doinit()

virtual void Herwig::BtoSGammaKagan::doinit ( )
protectedvirtual

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::InterfacedBase.

◆ doinitrun()

virtual void Herwig::BtoSGammaKagan::doinitrun ( )
protectedvirtual

Initialize this object.

Called in the run phase just before a run begins.

Reimplemented from ThePEG::InterfacedBase.

◆ fullclone()

virtual IBPtr Herwig::BtoSGammaKagan::fullclone ( ) const
inlineprotectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

Definition at line 136 of file BtoSGammaKagan.h.

◆ hadronicMass()

virtual Energy Herwig::BtoSGammaKagan::hadronicMass ( Energy  mb,
Energy  mquark 
)
virtual

Returns the hadronic mass.

Parameters
mbThe mass of the decaying B meson
mquarkThe minimum mass of the hadronic system based on the consistuent quark masses.
Returns
The hadronic mass

Implements Herwig::BtoSGammaHadronicMass.

◆ Init()

static void Herwig::BtoSGammaKagan::Init ( )
static

The standard Init function used to initialize the interfaces.

Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.

◆ operator()()

double Herwig::BtoSGammaKagan::operator() ( double  x) const
inline

Members which return integrands.

Operator to return the integrand for the $s_{22}(y)$ function or $s_{27}(y)$ functions of hep-ph/9805303 depending on the value of _iopt to be integrated

Definition at line 98 of file BtoSGammaKagan.h.

References sqr().

◆ operator=()

BtoSGammaKagan& Herwig::BtoSGammaKagan::operator= ( const BtoSGammaKagan )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

void Herwig::BtoSGammaKagan::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters
isthe persistent input stream read from.
versionthe version number of the object when written.

◆ persistentOutput()

void Herwig::BtoSGammaKagan::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ s22()

double Herwig::BtoSGammaKagan::s22 ( double  y) const
inlineprivate

$s_{22}(y)$ function from hep-ph/9805303.

Due to the integration required this function is computed by interpolation.

Parameters
yRatio $E_\gamma/E^{\rm max}_\gamma$.

Definition at line 193 of file BtoSGammaKagan.h.

◆ s27()

double Herwig::BtoSGammaKagan::s27 ( double  y) const
inlineprivate

$s_{27}(y)$ function from hep-ph/9805303.

Due to the integration required this function is computed by interpolation.

Parameters
yRatio $E_\gamma/E^{\rm max}_\gamma$.

Definition at line 200 of file BtoSGammaKagan.h.

◆ s77()

double Herwig::BtoSGammaKagan::s77 ( double  y) const
inlineprivate

$s_{77}(y)$ function from hep-ph/9805303

Parameters
yRatio $E_\gamma/E^{\rm max}_\gamma$.

Definition at line 206 of file BtoSGammaKagan.h.

◆ s78()

double Herwig::BtoSGammaKagan::s78 ( double  y) const
inlineprivate

$s_{78}(y)$ function from hep-ph/9805303

Parameters
yRatio $E_\gamma/E^{\rm max}_\gamma$.

Definition at line 215 of file BtoSGammaKagan.h.

◆ s88()

double Herwig::BtoSGammaKagan::s88 ( double  y) const
inlineprivate

$s_{88}(y)$ function from hep-ph/9805303

Parameters
yRatio $E_\gamma/E^{\rm max}_\gamma$.

Definition at line 224 of file BtoSGammaKagan.h.

References sqr().

Member Data Documentation

◆ _fermilambda

Energy Herwig::BtoSGammaKagan::_fermilambda
private

Parameters for the Fermi function.

The $\bar{\Lambda}$ parameter from hep-ph/9805303.

Definition at line 449 of file BtoSGammaKagan.h.

◆ _mt

Energy Herwig::BtoSGammaKagan::_mt
private

Quark masses and related parameters.

The top quark mass

Definition at line 292 of file BtoSGammaKagan.h.

◆ _mw

Energy Herwig::BtoSGammaKagan::_mw
private

Masses of other particles.

The W mass

Definition at line 332 of file BtoSGammaKagan.h.

◆ _s22inter

Interpolator<double,double>::Ptr Herwig::BtoSGammaKagan::_s22inter
private

Interpolators for the integrate functions and related parameters.

Interpolator for the $s_{22}$ function

Definition at line 409 of file BtoSGammaKagan.h.

◆ _ycut

double Herwig::BtoSGammaKagan::_ycut
private

Techincal parameters for the integration of the spectrum.

Cut-off parameter to avoid the singularity at y=1

Definition at line 474 of file BtoSGammaKagan.h.


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