herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
Herwig::BaryonFormFactor Class Reference

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>

Inheritance diagram for Herwig::BaryonFormFactor:

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 &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (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.
 
BaryonFormFactoroperator= (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)
 

Detailed Description

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.

See also
ScalarFormFactor

Definition at line 92 of file BaryonFormFactor.h.

Member Enumeration Documentation

◆ Virtuality

Whether the form factor is space- or time-like.

Definition at line 99 of file BaryonFormFactor.h.

Constructor & Destructor Documentation

◆ BaryonFormFactor()

Herwig::BaryonFormFactor::BaryonFormFactor ( )
inline

Default constructor.

Definition at line 107 of file BaryonFormFactor.h.

Member Function Documentation

◆ addFormFactor()

void Herwig::BaryonFormFactor::addFormFactor ( int  in,
int  out,
int  inspin,
int  outspin,
int  spect1,
int  spect2,
int  inquark,
int  outquark 
)
inlineprotected

Add a form factor to the list.

Parameters
inThe PDG code of the incoming baryon.
outThe PDG code of the outgoing baryon.
inspinThe spin of the incoming baryon.
outspinThe spin of the outgoing baryon.
spect1The PDG code of the first spectator quark.
spect2The PDG code of the second spectator quark.
inquarkThe PDG code for decaying incoming quark.
outquarkThe 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.

◆ clone()

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

◆ dataBaseOutput()

virtual void Herwig::BaryonFormFactor::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 in Herwig::BaryonSimpleFormFactor, Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::CzyzNucleonFormFactor, Herwig::KornerKurodaFormFactor, Herwig::LambdabExcitedLambdacSumRuleFormFactor, Herwig::LightBaryonQuarkModelFormFactor, and Herwig::SingletonFormFactor.

◆ doinit()

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

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

Exceptions
InitExceptionif 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.

◆ formFactorInfo() [1/2]

void Herwig::BaryonFormFactor::formFactorInfo ( int  iloc,
int &  ispin,
int &  ospin,
int &  spect1,
int &  spect2,
int &  inquark,
int &  outquark 
)
inline

Information on the form factor.

Parameters
ilocThe location in the list.
ispinThe spin of the incoming baryon.
ospinThe spin of the outgoing baryon.
spect1The PDG code of the first spectator quark.
spect2The PDG code of the second spectator quark.
inquarkThe PDG code for decaying incoming quark.
outquarkThe 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().

◆ formFactorInfo() [2/2]

void Herwig::BaryonFormFactor::formFactorInfo ( int  in,
int  out,
int &  ispin,
int &  ospin,
int &  spect1,
int &  spect2,
int &  inquark,
int &  outquark 
)
inline

Information on the form factor.

Parameters
inThe PDG code of the incoming baryon.
outThe PDG code of the outgoing baryon.
ispinThe spin of the incoming baryon.
ospinThe spin of the outgoing baryon.
spect1The PDG code of the first spectator quark.
spect2The PDG code of the second spectator quark.
inquarkThe PDG code for decaying incoming quark.
outquarkThe PDG code for the outgoing quark produced in the decay.

Definition at line 220 of file BaryonFormFactor.h.

References formFactorInfo(), and formFactorNumber().

◆ formFactorNumber()

int Herwig::BaryonFormFactor::formFactorNumber ( int  in,
int  out,
bool &  cc 
) const
inline

Find the location for a given pair of particle.

Parameters
inPDG code for the incoming baryon.
outPDG code for the outgoing baryon.
ccparticles or charge conjugates stored in form factor.
Returns
The location in the vectors storing the data.

Definition at line 159 of file BaryonFormFactor.h.

References _incomingid, and _outgoingid.

Referenced by formFactorInfo().

◆ fullclone()

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

◆ initialModes() [1/2]

unsigned int Herwig::BaryonFormFactor::initialModes ( ) const
inlineprotected

Get the initial number of modes.

Definition at line 337 of file BaryonFormFactor.h.

References _numbermodes.

◆ initialModes() [2/2]

void Herwig::BaryonFormFactor::initialModes ( unsigned int  nmodes)
inlineprotected

Set initial number of modes.

Parameters
nmodesThe number of modes.

Definition at line 332 of file BaryonFormFactor.h.

References _numbermodes.

◆ numberOfFactors()

unsigned int Herwig::BaryonFormFactor::numberOfFactors ( ) const
inline

number of form factors

Definition at line 230 of file BaryonFormFactor.h.

References _incomingid.

◆ particleID()

void Herwig::BaryonFormFactor::particleID ( int  iloc,
int &  id0,
int &  id1 
)
inline

Get the particle ids for an entry.

Parameters
ilocThe location in the list.
id0The PDG code for the incoming baryon.
id1The PDG code for the outgoing baryon.

Definition at line 184 of file BaryonFormFactor.h.

References _incomingid, and _outgoingid.

◆ persistentInput()

void Herwig::BaryonFormFactor::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::BaryonFormFactor::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ SpinHalfSpinHalfFormFactor()

virtual void Herwig::BaryonFormFactor::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 
)
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.

Parameters
q2The scale \(q^2\).
ilocThe location in the form factor list.
id0The PDG code of the incoming baryon.
id1The PDG code of the outgoing baryon.
m0The mass of the incoming baryon.
m1The mass of the outgoing baryon.
f1vThe form factor \(F^V_1\).
f2vThe form factor \(F^V_2\).
f3vThe form factor \(F^V_3\).
f1aThe form factor \(F^A_1\).
f2aThe form factor \(F^A_2\).
f3aThe form factor \(F^A_3\).
virtWhether 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.

◆ SpinHalfSpinThreeHalfFormFactor()

virtual void Herwig::BaryonFormFactor::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 
)
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.

Parameters
q2The scale \(q^2\).
ilocThe location in the form factor list.
id0The PDG code of the incoming baryon.
id1The PDG code of the outgoing baryon.
m0The mass of the incoming baryon.
m1The mass of the outgoing baryon.
g1vThe form factor \(G^V_1\).
g2vThe form factor \(G^V_2\).
g3vThe form factor \(G^V_3\).
g4vThe form factor \(G^V_4\).
g1aThe form factor \(G^A_1\).
g2aThe form factor \(G^A_2\).
g3aThe form factor \(G^A_3\).
g4aThe form factor \(G^A_4\).
virtWhether the q2 is space or timelike

Reimplemented in Herwig::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, and Herwig::LambdabExcitedLambdacSumRuleFormFactor.

Member Data Documentation

◆ _incomingid

vector<int> Herwig::BaryonFormFactor::_incomingid
private

the id's of the incoming particles

Definition at line 363 of file BaryonFormFactor.h.

Referenced by addFormFactor(), formFactorNumber(), numberOfFactors(), and particleID().

◆ _incomingJ

vector<int> Herwig::BaryonFormFactor::_incomingJ
private

spin of the incoming particle

Definition at line 373 of file BaryonFormFactor.h.

Referenced by addFormFactor(), and formFactorInfo().

◆ _inquark

vector<int> Herwig::BaryonFormFactor::_inquark
private

the id of the decaying quark

Definition at line 393 of file BaryonFormFactor.h.

Referenced by addFormFactor(), and formFactorInfo().

◆ _numbermodes

unsigned int Herwig::BaryonFormFactor::_numbermodes
private

The initial number of modes.

Definition at line 403 of file BaryonFormFactor.h.

Referenced by initialModes().

◆ _outgoingid

vector<int> Herwig::BaryonFormFactor::_outgoingid
private

the id's of the outgoing particles

Definition at line 368 of file BaryonFormFactor.h.

Referenced by addFormFactor(), formFactorNumber(), and particleID().

◆ _outgoingJ

vector<int> Herwig::BaryonFormFactor::_outgoingJ
private

spin of the outgoing particle

Definition at line 378 of file BaryonFormFactor.h.

Referenced by addFormFactor(), and formFactorInfo().

◆ _outquark

vector<int> Herwig::BaryonFormFactor::_outquark
private

the id of the outgoing quark

Definition at line 398 of file BaryonFormFactor.h.

Referenced by addFormFactor(), and formFactorInfo().

◆ _spectator1

vector<int> Herwig::BaryonFormFactor::_spectator1
private

the id of the first spectator quark

Definition at line 383 of file BaryonFormFactor.h.

Referenced by addFormFactor(), and formFactorInfo().

◆ _spectator2

vector<int> Herwig::BaryonFormFactor::_spectator2
private

the id of the second spectator quark

Definition at line 388 of file BaryonFormFactor.h.

Referenced by addFormFactor(), and formFactorInfo().


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