Herwig 7.3.0
|
The BaryonThreeQuarkModelFormFactor class implements the form factors for the semi-leptonic decay of baryons containing a heavy quark from the relativistic three-quark model calculation of PRD56, 348. More...
#include <BaryonThreeQuarkModelFormFactor.h>
Public Member Functions | |
BaryonThreeQuarkModelFormFactor () | |
Default constructor. | |
![]() | |
BaryonFormFactor () | |
Default constructor. | |
int | formFactorNumber (int in, int out, bool &cc) const |
Find the location for a given pair of particle. | |
void | particleID (int iloc, int &id0, int &id1) |
Get the particle ids for an entry. | |
void | formFactorInfo (int iloc, int &ispin, int &ospin, int &spect1, int &spect2, int &inquark, int &outquark) |
Information on the form factor. | |
void | formFactorInfo (int in, int out, int &ispin, int &ospin, int &spect1, int &spect2, int &inquark, int &outquark) |
Information on the form factor. | |
unsigned int | numberOfFactors () const |
number of form factors | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
![]() | |
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 |
![]() | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
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 |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
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 |
virtual IBPtr | fullclone () const |
![]() | |
void | debug () const |
virtual void | debugme () const |
![]() | |
CounterType | referenceCount () const |
![]() | |
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 |
Protected Member Functions | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
Function needed to calculate the form factors | |
vector< double > | phiFunction (double) |
Returns the function \(\Phi_N\) function of PRD56, 348 as a function of \(\omega\). | |
void | SN (double y, int N, double &SNm2, double &SN) const |
The integral of a power of the the \(S\) function of PRD56, 348 with respect to \(\theta\). | |
![]() | |
void | addFormFactor (int in, int out, int inspin, int outspin, int spect1, int spect2, int inquark, int outquark) |
Add a form factor to the list. | |
void | initialModes (unsigned int nmodes) |
Set initial number of modes. | |
unsigned int | initialModes () const |
Get the initial number of modes. | |
![]() | |
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) |
![]() | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual IBPtr | clone () const=0 |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
virtual void | doinit () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
![]() | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
![]() | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Private Attributes | |
Parameters for the form factors | |
bool | _initialize |
Initialization of the expansion coefficients. | |
unsigned int | _order |
Order of the expansion for the form factors. | |
Energy | _mlight |
Mass of the light quarks used in the calculation of the form factors. | |
Energy | _mstrange |
Mass of the strange quark used in the calculation of the form factors. | |
Energy | _LambdaQ |
The heavy quark \(\Lambda_Q\) parameter for the calculation of the form factors. | |
Energy | _Lambdaqq |
The \(\Lambda_{qq}\) parameter for the calculation of the form factors. | |
Energy | _Lambdasq |
The \(\Lambda_{sq}\) parameter for the calculation of the form factors. | |
Energy | _Lambdass |
The \(\Lambda_{ss}\) parameter for the calculation of the form factors. | |
vector< double > | _C0 |
Coefficients for the expansion of the \(\xi(\omega)\) form factor. | |
vector< double > | _C1 |
Coefficients for the expansion of the \(\xi_1(\omega)\) form factor. | |
vector< double > | _C2 |
Coefficients for the expansion of the \(\xi_2(\omega)\) form factor. | |
double | _a |
Coefficient of the first term in the integrand for the coefficient calculation. | |
double | _b |
Coefficient of the second term in the integrand for the coefficient calculation. | |
double | _mu2 |
The \(\mu^2\) parameter for the coefficient calculation. | |
int | _N |
the order of the coefficient being calculated. | |
Form Factors | |
typedef double | ArgType |
Argument type for GaussianIntegrator. | |
typedef double | ValType |
Return type for GaussianIntegrator. | |
virtual void | SpinHalfSpinHalfFormFactor (Energy2 q2, int iloc, int id0, int id1, Energy m0, Energy m1, Complex &f1v, Complex &f2v, Complex &f3v, Complex &f1a, Complex &f2a, Complex &f3a, FlavourInfo flavour, Virtuality virt=SpaceLike) |
The form factor for the weak decay of a spin \(\frac12\) baryon to a spin \(\frac12\) baryon. | |
virtual void | SpinHalfSpinThreeHalfFormFactor (Energy2 q2, int iloc, int id0, int id1, Energy m0, Energy m1, Complex &g1v, Complex &g2v, Complex &g3v, Complex &g4v, Complex &g1a, Complex &g2a, Complex &g3a, Complex &g4a, FlavourInfo flavour, Virtuality virt=SpaceLike) |
The form factor for the weak decay of a spin \(\frac12\) baryon to a spin \(\frac32\) baryon. | |
virtual void | dataBaseOutput (ofstream &os, bool header, bool create) const |
Output the setup information for the particle database. | |
double | operator() (double x) const |
The integrand for the coefficients of the expansion. | |
Energy | widthIntegrand (double omega, Energy m0, Energy m1, int type, int imass, int id0, int id1) |
The integrand for the semi-analytic calculation of the semi-leptonic width. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. | |
BaryonThreeQuarkModelFormFactor & | operator= (const BaryonThreeQuarkModelFormFactor &)=delete |
Private and non-existent assignment operator. | |
Additional Inherited Members | |
![]() | |
enum | Virtuality { TimeLike , SpaceLike } |
Whether the form factor is space- or time-like. More... | |
![]() | |
enum | InitState |
![]() | |
typedef unsigned int | CounterType |
![]() | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
static void | Init () |
![]() | |
initializing | |
uninitialized | |
initialized | |
runready | |
![]() | |
const unsigned long | uniqueId |
![]() | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
The BaryonThreeQuarkModelFormFactor class implements the form factors for the semi-leptonic decay of baryons containing a heavy quark from the relativistic three-quark model calculation of PRD56, 348.
As the only formulae in the paper are for the heavy-to-heavy i.e. bottom to charm decay this there are the only modes included, although the paper also includes charm decays and bottom decays to light quarks.
The form factors are calculated by numerical computing the integrals from PRD56, 348 to obtain the coefficients for the expansion of the form factors.
Definition at line 28 of file BaryonThreeQuarkModelFormFactor.h.
typedef double Herwig::BaryonThreeQuarkModelFormFactor::ArgType |
Argument type for GaussianIntegrator.
Definition at line 148 of file BaryonThreeQuarkModelFormFactor.h.
typedef double Herwig::BaryonThreeQuarkModelFormFactor::ValType |
Return type for GaussianIntegrator.
Definition at line 150 of file BaryonThreeQuarkModelFormFactor.h.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Reimplemented from Herwig::BaryonFormFactor.
Definition at line 66 of file BaryonThreeQuarkModelFormFactor.h.
|
virtual |
Output the setup information for the particle database.
os | The stream to output the information to |
header | Whether or not to output the information for MySQL |
create | Whether or not to add a statement creating the object |
Reimplemented from Herwig::BaryonFormFactor.
|
protectedvirtual |
Initialize this object after the setup phase before saving and EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from Herwig::BaryonFormFactor.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from Herwig::BaryonFormFactor.
Definition at line 72 of file BaryonThreeQuarkModelFormFactor.h.
double Herwig::BaryonThreeQuarkModelFormFactor::operator() | ( | double | x | ) | const |
The integrand for the coefficients of the expansion.
This is a function of the integration variable \(x\) which is chosen to transform the integrand over \(y\) which is from \(0\) to \(\infty\) to an integral between 0 and 1. This means that \(y=\frac{1-x}{x}\).
x | The integration variable. |
void Herwig::BaryonThreeQuarkModelFormFactor::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::BaryonThreeQuarkModelFormFactor::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
protected |
The integral of a power of the the \(S\) function of PRD56, 348 with respect to \(\theta\).
This is used to calculate the coefficients of the expansion to compute the form factors. The integral is calculated by computing a low power of the integrand and then using recursion relations to calculate the pwoer requested.
y | The \(y\) variable of the function which is integrate over numerically. |
N | The power to which the integrand is raised. |
SNm2 | The integral with the function raised to the power \(N/2-1\). |
SN | The integral with the function raised to the power \(N\). |
|
virtual |
The form factor for the weak decay of a spin \(\frac12\) baryon to a spin \(\frac12\) baryon.
q2 | The scale \(q^2\). |
iloc | The location in the form factor list. |
id0 | The PDG code of the incoming baryon. |
id1 | The PDG code of the outgoing baryon. |
m0 | The mass of the incoming baryon. |
m1 | The mass of the outgoing baryon. |
f1v | The form factor \(F^V_1\). |
f2v | The form factor \(F^V_2\). |
f3v | The form factor \(F^V_3\). |
f1a | The form factor \(F^A_1\). |
f2a | The form factor \(F^A_2\). |
f3a | The form factor \(F^A_3\). |
virt | Whether the q2 is space or timelike |
Reimplemented from Herwig::BaryonFormFactor.
|
virtual |
The form factor for the weak decay of a spin \(\frac12\) baryon to a spin \(\frac32\) baryon.
q2 | The scale \(q^2\). |
iloc | The location in the form factor list. |
id0 | The PDG code of the incoming baryon. |
id1 | The PDG code of the outgoing baryon. |
m0 | The mass of the incoming baryon. |
m1 | The mass of the outgoing baryon. |
g1v | The form factor \(G^V_1\). |
g2v | The form factor \(G^V_2\). |
g3v | The form factor \(G^V_3\). |
g4v | The form factor \(G^V_4\). |
g1a | The form factor \(G^A_1\). |
g2a | The form factor \(G^A_2\). |
g3a | The form factor \(G^A_3\). |
g4a | The form factor \(G^A_4\). |
virt | Whether the q2 is space or timelike |
Reimplemented from Herwig::BaryonFormFactor.
Energy Herwig::BaryonThreeQuarkModelFormFactor::widthIntegrand | ( | double | omega, |
Energy | m0, | ||
Energy | m1, | ||
int | type, | ||
int | imass, | ||
int | id0, | ||
int | id1 | ||
) |
The integrand for the semi-analytic calculation of the semi-leptonic width.
This is included for testing purposes.
omega | The \(\omega\) parameter of the heavy quark form-factors. |
m0 | The mass of the incoming baryon. |
m1 | The mass of the outgoing baryon. |
type | The type of the decay |
imass | The baryonic mass parameter to use. |
id0 | PDG code for the decaying particle |
id1 | PDG code for the decay product |
|
private |
Coefficient of the first term in the integrand for the coefficient calculation.
Definition at line 273 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Coefficient of the second term in the integrand for the coefficient calculation.
Definition at line 278 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Coefficients for the expansion of the \(\xi(\omega)\) form factor.
Definition at line 258 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Coefficients for the expansion of the \(\xi_1(\omega)\) form factor.
Definition at line 263 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Coefficients for the expansion of the \(\xi_2(\omega)\) form factor.
Definition at line 268 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Initialization of the expansion coefficients.
Definition at line 217 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
The heavy quark \(\Lambda_Q\) parameter for the calculation of the form factors.
Definition at line 237 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
The \(\Lambda_{qq}\) parameter for the calculation of the form factors.
Definition at line 242 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
The \(\Lambda_{sq}\) parameter for the calculation of the form factors.
Definition at line 247 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
The \(\Lambda_{ss}\) parameter for the calculation of the form factors.
Definition at line 253 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Mass of the light quarks used in the calculation of the form factors.
Definition at line 227 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Mass of the strange quark used in the calculation of the form factors.
Definition at line 232 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
The \(\mu^2\) parameter for the coefficient calculation.
Definition at line 283 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
the order of the coefficient being calculated.
Definition at line 288 of file BaryonThreeQuarkModelFormFactor.h.
|
private |
Order of the expansion for the form factors.
Definition at line 222 of file BaryonThreeQuarkModelFormFactor.h.