herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
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 Member Functions

 BaryonFormFactor ()
 Default constructor.
 
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...
 
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. More...
 
void particleID (int iloc, int &id0, int &id1)
 Get the particle ids for an entry. More...
 
void formFactorInfo (int iloc, int &ispin, int &ospin, int &spect1, int &spect2, int &inquark, int &outquark)
 Information on the form factor. More...
 
void formFactorInfo (int in, int out, int &ispin, int &ospin, int &spect1, int &spect2, int &inquark, int &outquark)
 Information on the form factor. More...
 
unsigned int numberOfFactors () const
 number of form factors
 
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)
 The form factor for the weak decay of a spin $\frac12$ baryon to a spin $\frac12$ baryon. More...
 
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)
 The form factor for the weak decay of a spin $\frac12$ baryon to a spin $\frac32$ baryon. 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 ()
 Standard Init function used to initialize the interfaces.
 
- 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

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. More...
 
void initialModes (unsigned int nmodes)
 Set initial number of modes. More...
 
unsigned int initialModes () const
 Get the initial number of modes.
 
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 and EventGenerator to disk. 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 doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
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 &)
 
 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

BaryonFormFactoroperator= (const BaryonFormFactor &)=delete
 Private and non-existent assignment operator.
 

Private Attributes

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.
 

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 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 91 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 301 of file BaryonFormFactor.h.

◆ 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::BaryonThreeQuarkModelFormFactor, Herwig::LambdabExcitedLambdacSumRuleFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::LightBaryonQuarkModelFormFactor, Herwig::SingletonFormFactor, and Herwig::BaryonSimpleFormFactor.

◆ 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::BaryonThreeQuarkModelFormFactor, Herwig::ChengHeavyBaryonFormFactor, Herwig::SingletonFormFactor, Herwig::BaryonSimpleFormFactor, and Herwig::LightBaryonQuarkModelFormFactor.

◆ 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 190 of file BaryonFormFactor.h.

◆ 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 211 of file BaryonFormFactor.h.

◆ 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 150 of file BaryonFormFactor.h.

◆ fullclone()

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

Reimplemented in Herwig::ChengHeavyBaryonFormFactor, Herwig::SingletonFormFactor, Herwig::BaryonSimpleFormFactor, Herwig::BaryonThreeQuarkModelFormFactor, Herwig::LightBaryonQuarkModelFormFactor, and Herwig::LambdabExcitedLambdacSumRuleFormFactor.

Definition at line 135 of file BaryonFormFactor.h.

◆ initialModes()

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

Set initial number of modes.

Parameters
nmodesThe number of modes.

Definition at line 317 of file BaryonFormFactor.h.

◆ 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 175 of file BaryonFormFactor.h.

◆ 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 
)
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$.

Reimplemented in Herwig::BaryonThreeQuarkModelFormFactor, Herwig::LightBaryonQuarkModelFormFactor, Herwig::LambdabExcitedLambdacSumRuleFormFactor, Herwig::SingletonFormFactor, Herwig::ChengHeavyBaryonFormFactor, and Herwig::BaryonSimpleFormFactor.

◆ 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 
)
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$.

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


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