Herwig 7.3.0
|
The BaryonFormFactor class is the base class for the implementation of the form-factors for the weak decay of a baryon. More...
#include <BaryonFormFactor.h>
Public Types | |
enum | Virtuality { TimeLike , SpaceLike } |
Whether the form factor is space- or time-like. More... | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Member Functions | |
BaryonFormFactor () | |
Default constructor. | |
Functions to give information about the form factors available. | |
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 | |
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 |
Public Member Functions inherited from ThePEG::InterfacedBase | |
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 |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () 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 |
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. | |
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 | |
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 &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Standard Interfaced functions. | |
vector< int > | _incomingid |
the id's of the incoming particles | |
vector< int > | _outgoingid |
the id's of the outgoing particles | |
vector< int > | _incomingJ |
spin of the incoming particle | |
vector< int > | _outgoingJ |
spin of the outgoing particle | |
vector< int > | _spectator1 |
the id of the first spectator quark | |
vector< int > | _spectator2 |
the id of the second spectator quark | |
vector< int > | _inquark |
the id of the decaying quark | |
vector< int > | _outquark |
the id of the outgoing quark | |
unsigned int | _numbermodes |
The initial number of modes. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. | |
BaryonFormFactor & | operator= (const BaryonFormFactor &)=delete |
Private and non-existent assignment operator. | |
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. | |
Form Factors | |
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. | |
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. | |
Additional Inherited Members | |
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 () |
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) |
The BaryonFormFactor class is the base class for the implementation of the form-factors for the weak decay of a baryon.
This is designed so that the form factors can be used for both the semi-leptonic decays and using factorization for hadronic weak decays.
The form factors are given below for the decay \(X(p_0)\to Y(p_1)\) with \(q_\mu=(p_0-p_1)_\mu\).
The form-factors are defined to be
\[\bar{u}(p_1) \left[ \gamma^\mu \left(F^V_1+F^A_1 \gamma_5\right) +\frac{i}{(m_0+m_1)}\sigma_{\mu\nu}q^\nu\left(F^V_2+F^A_2\gamma_5\right) +\frac1{(m_0+m_1)}q^\mu\left(F^V_3+F^A_3\gamma_5\right)\right] u(p_0) \]
for the \(\frac12\to\frac12\) transition and
\[\bar{u}^\alpha(p_1) \left[ g_{\alpha\mu}\left(G^V_1+G^A_1 \gamma_5\right) +\frac1{(m_0+m_1)}p_{0\alpha}\gamma_\mu\left(G^V_2+G^A_2\gamma_5\right) +\frac1{(m_0+m_1)^2}p_{0\alpha}p_{1\mu}\left(G^V_3+G^A_3\gamma_5\right)\right.\]
\[ \left. +\frac1{(m_0+m_1)^2}p_{0\alpha}q_\mu\left(G^V_4+G^A_4\gamma_5\right)\right] \gamma_5 u(p_0) \]
for the \(\frac12\to\frac32\) transition.
These definitions differ from those in the liturature because we have divided some terms by the sum of the baryon masses to ensure that the form-factors are all dimensionless.
In many applications, particularly for the decay of baryons containing a heavy quark, an alternative version of the form factors in terms of the velocities of the baryons is used. This form is
\[\bar{u}(v') \left[ \gamma^\mu \left(F_1-G_1 \gamma_5\right) v^\mu \left(F_2-G_2 \gamma_5\right) {v'}^\mu \left(F_3-G_3\gamma_5\right)\right] u(v) \]
for the \(\frac12\to\frac12\) transition and
\[\bar{u}^\alpha(v') \left[ v_\alpha\gamma_\mu\left(N_1-K_1 \gamma_5\right) +v_\alpha v^\mu \left(N_2-K_2 \gamma_5\right) +v_\alpha {v'}^\mu \left(N_3-K_3 \gamma_5\right) +g_\alpha^\mu \left(N_4-K_4 \gamma_5\right)\right] \gamma_5 u(v) \]
for the \(\frac12\to\frac32\) transition.
In terms of these form factors the form factors we use are
\[F^V_1= F_1+\frac12(m_0+m_1)\left(\frac{F_2}{m_0}+\frac{F_3}{m_1}\right)\]
\[F^V_2=\frac12(m_0+m_1)\left(\frac{F_2}{m_0}+\frac{F_3}{m_1}\right)\]
\[F^V_3=\frac12(m_0+m_1)\left(\frac{F_2}{m_0}-\frac{F_3}{m_1}\right)\]
\[F^A_1=-G_1+\frac12(m_0-m_1)\left(\frac{G_2}{m_0}+\frac{G_3}{m_1}\right)\]
\[F^A_2=-\frac12(m_0+m_1)\left(\frac{G_2}{m_0}+\frac{G_3}{m_1}\right)\]
\[F^A_3=\frac12(m_0+m_1)\left(-\frac{G_2}{m_0}+\frac{G_3}{m_1}\right)\]
for the \(\frac12\to\frac12\) transition and
\[G_1^V = N_4\]
\[G_2^V = N_1\frac{(m_0+m_1)}{m_0}\]
\[G_3^V = \frac{(m_0+m_1)^2}{m_0}\left(\frac{N_2}{m_0}+\frac{N_3}{m_1}\right)\]
\[G_4^V = N_2\frac{(m_0+m_1)^2}{m^2_0}\]
\[G_1^A =-K_4\]
\[G_2^A =-K_1\frac{(m_0+m_1)}{m_0}\]
\[G_3^A =-\frac{(m_0+m_1)^2}{m_0}\left(\frac{K_2}{m_0}+\frac{K_3}{m_1}\right)\]
\[G_4^A =-K_2\frac{(m_0+m_1)^2}{m^2_0}\]
for the \(\frac12\to\frac32\) transition.
Definition at line 92 of file BaryonFormFactor.h.
Whether the form factor is space- or time-like.
Definition at line 99 of file BaryonFormFactor.h.
|
inline |
Default constructor.
Definition at line 107 of file BaryonFormFactor.h.
|
inlineprotected |
Add a form factor to the list.
in | The PDG code of the incoming baryon. |
out | The PDG code of the outgoing baryon. |
inspin | The spin of the incoming baryon. |
outspin | The spin of the outgoing baryon. |
spect1 | The PDG code of the first spectator quark. |
spect2 | The PDG code of the second spectator quark. |
inquark | The PDG code for decaying incoming quark. |
outquark | The PDG code for the outgoing quark produced in the decay. |
Definition at line 316 of file BaryonFormFactor.h.
References _incomingid, _incomingJ, _inquark, _outgoingid, _outgoingJ, _outquark, _spectator1, and _spectator2.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Reimplemented in Herwig::BaryonSimpleFormFactor, Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::CzyzNucleonFormFactor, Herwig::KornerKurodaFormFactor, Herwig::LambdabExcitedLambdacSumRuleFormFactor, Herwig::LightBaryonQuarkModelFormFactor, and Herwig::SingletonFormFactor.
Definition at line 138 of file BaryonFormFactor.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 in Herwig::BaryonSimpleFormFactor, Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::CzyzNucleonFormFactor, Herwig::KornerKurodaFormFactor, Herwig::LambdabExcitedLambdacSumRuleFormFactor, Herwig::LightBaryonQuarkModelFormFactor, and Herwig::SingletonFormFactor.
|
protectedvirtual |
Initialize this object after the setup phase before saving and EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in Herwig::BaryonSimpleFormFactor, Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::CzyzNucleonFormFactor, Herwig::KornerKurodaFormFactor, Herwig::LightBaryonQuarkModelFormFactor, and Herwig::SingletonFormFactor.
|
inline |
Information on the form factor.
iloc | The location in the list. |
ispin | The spin of the incoming baryon. |
ospin | The spin of the outgoing baryon. |
spect1 | The PDG code of the first spectator quark. |
spect2 | The PDG code of the second spectator quark. |
inquark | The PDG code for decaying incoming quark. |
outquark | The PDG code for the outgoing quark produced in the decay. |
Definition at line 199 of file BaryonFormFactor.h.
References _incomingJ, _inquark, _outgoingJ, _outquark, _spectator1, and _spectator2.
Referenced by formFactorInfo().
|
inline |
Information on the form factor.
in | The PDG code of the incoming baryon. |
out | The PDG code of the outgoing baryon. |
ispin | The spin of the incoming baryon. |
ospin | The spin of the outgoing baryon. |
spect1 | The PDG code of the first spectator quark. |
spect2 | The PDG code of the second spectator quark. |
inquark | The PDG code for decaying incoming quark. |
outquark | The PDG code for the outgoing quark produced in the decay. |
Definition at line 220 of file BaryonFormFactor.h.
References formFactorInfo(), and formFactorNumber().
|
inline |
Find the location for a given pair of particle.
in | PDG code for the incoming baryon. |
out | PDG code for the outgoing baryon. |
cc | particles or charge conjugates stored in form factor. |
Definition at line 159 of file BaryonFormFactor.h.
References _incomingid, and _outgoingid.
Referenced by formFactorInfo().
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in Herwig::BaryonSimpleFormFactor, Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::CzyzNucleonFormFactor, Herwig::KornerKurodaFormFactor, Herwig::LambdabExcitedLambdacSumRuleFormFactor, Herwig::LightBaryonQuarkModelFormFactor, and Herwig::SingletonFormFactor.
Definition at line 144 of file BaryonFormFactor.h.
|
inlineprotected |
Get the initial number of modes.
Definition at line 337 of file BaryonFormFactor.h.
References _numbermodes.
|
inlineprotected |
Set initial number of modes.
nmodes | The number of modes. |
Definition at line 332 of file BaryonFormFactor.h.
References _numbermodes.
|
inline |
|
inline |
Get the particle ids for an entry.
iloc | The location in the list. |
id0 | The PDG code for the incoming baryon. |
id1 | The PDG code for the outgoing baryon. |
Definition at line 184 of file BaryonFormFactor.h.
References _incomingid, and _outgoingid.
void Herwig::BaryonFormFactor::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::BaryonFormFactor::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
virtual |
The form factor for the weak decay of a spin \(\frac12\) baryon to a spin \(\frac12\) baryon.
This method is virtual and must be implementented in classes inheriting from this which include spin \(\frac12\) to spin \(\frac12\) form factors.
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 in Herwig::BaryonSimpleFormFactor, Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::CzyzNucleonFormFactor, Herwig::KornerKurodaFormFactor, Herwig::LambdabExcitedLambdacSumRuleFormFactor, Herwig::LightBaryonQuarkModelFormFactor, and Herwig::SingletonFormFactor.
|
virtual |
The form factor for the weak decay of a spin \(\frac12\) baryon to a spin \(\frac32\) baryon.
This method is virtual and must be implementented in classes inheriting from this which include spin \(\frac12\) to spin \(\frac32\) form factors.
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 in Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, and Herwig::LambdabExcitedLambdacSumRuleFormFactor.
|
private |
the id's of the incoming particles
Definition at line 363 of file BaryonFormFactor.h.
Referenced by addFormFactor(), formFactorNumber(), numberOfFactors(), and particleID().
|
private |
spin of the incoming particle
Definition at line 373 of file BaryonFormFactor.h.
Referenced by addFormFactor(), and formFactorInfo().
|
private |
the id of the decaying quark
Definition at line 393 of file BaryonFormFactor.h.
Referenced by addFormFactor(), and formFactorInfo().
|
private |
The initial number of modes.
Definition at line 403 of file BaryonFormFactor.h.
Referenced by initialModes().
|
private |
the id's of the outgoing particles
Definition at line 368 of file BaryonFormFactor.h.
Referenced by addFormFactor(), formFactorNumber(), and particleID().
|
private |
spin of the outgoing particle
Definition at line 378 of file BaryonFormFactor.h.
Referenced by addFormFactor(), and formFactorInfo().
|
private |
the id of the outgoing quark
Definition at line 398 of file BaryonFormFactor.h.
Referenced by addFormFactor(), and formFactorInfo().
|
private |
the id of the first spectator quark
Definition at line 383 of file BaryonFormFactor.h.
Referenced by addFormFactor(), and formFactorInfo().
|
private |
the id of the second spectator quark
Definition at line 388 of file BaryonFormFactor.h.
Referenced by addFormFactor(), and formFactorInfo().