Herwig 7.3.0
|
The SU3BaryonSingletOctetScalarDecayer
class is a simple decayer for the strong decay of the excited baryon \(SU(3)\) singlets to a lighter baryon octet and a pseudoscalar meson from the lightest multiplet, i.e.
More...
#include <SU3BaryonSingletOctetScalarDecayer.h>
Public Member Functions | |
SU3BaryonSingletOctetScalarDecayer () | |
Default constructor. | |
virtual int | modeNumber (bool &cc, tcPDPtr parent, const tPDVector &children) const |
Which of the possible decays is required. | |
virtual void | dataBaseOutput (ofstream &os, bool header) const |
Output the setup information for the particle database. | |
![]() | |
double | me2 (const int ichan, const Particle &part, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, MEOption meopt) const |
Return the matrix element squared for a given mode and phase-space channel. | |
virtual void | constructSpinInfo (const Particle &part, ParticleVector outgoing) const |
Construct the SpinInfos for the particles produced in the decay. | |
virtual bool | twoBodyMEcode (const DecayMode &dm, int &mecode, double &coupling) const |
Specify the \(1\to2\) matrix element to be used in the running width calculation. | |
virtual void | dataBaseOutput (ofstream &os, bool header) const |
Output the setup information for the particle database. | |
![]() | |
DecayIntegrator () | |
The default constructor. | |
virtual bool | accept (tcPDPtr parent, const tPDVector &children) const |
Check if this decayer can perfom the decay for a particular mode. | |
virtual ParticleVector | decay (const Particle &parent, const tPDVector &children) const |
For a given decay mode and a given particle instance, perform the decay and return the decay products. | |
virtual int | modeNumber (bool &cc, tcPDPtr parent, const tPDVector &children) const =0 |
Which of the possible decays is required. | |
int | imode () const |
The mode being used for this decay. | |
void | addMode (PhaseSpaceModePtr mode) const |
Add a phase-space mode to the list. | |
virtual double | me2 (const int ichan, const Particle &part, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, MEOption meopt) const =0 |
Return the matrix element squared for a given mode and phase-space channel. | |
virtual void | constructSpinInfo (const Particle &part, ParticleVector outgoing) const =0 |
Construct the SpinInfos for the particles produced in the decay. | |
virtual void | dataBaseOutput (ofstream &os, bool header) const |
Output the setup information for the particle database. | |
void | setPartialWidth (const DecayMode &dm, int imode) |
Set the code for the partial width. | |
virtual bool | twoBodyMEcode (const DecayMode &, int &mecode, double &coupling) const |
Specify the \(1\to2\) matrix element to be used in the running width calculation. | |
virtual WidthCalculatorBasePtr | threeBodyMEIntegrator (const DecayMode &dm) const |
Method to return an object to calculate the 3 (or higher body) partial width. | |
virtual double | threeBodyMatrixElement (const int imode, const Energy2 q2, const Energy2 s3, const Energy2 s2, const Energy2 s1, const Energy m1, const Energy m2, const Energy m3) const |
The matrix element to be integrated for the three-body decays as a function of the invariant masses of pairs of the outgoing particles. | |
virtual InvEnergy | threeBodydGammads (const int imode, const Energy2 q2, const Energy2 s, const Energy m1, const Energy m2, const Energy m3) const |
The differential three body decay rate with one integral performed. | |
int | findMode (const DecayMode &dm) |
Finds the phase-space mode corresponding to a given decay mode. | |
ParticleVector | generatePhotons (const Particle &p, ParticleVector children) |
Members for the generation of QED radiation in the decays. | |
bool | canGeneratePhotons () |
check if photons can be generated in the decay | |
virtual double | oneLoopVirtualME (unsigned int imode, const Particle &part, const ParticleVector &products) |
The one-loop virtual correction. | |
bool | hasOneLoopME () |
Whether or not the one loop matrix element is implemented. | |
virtual InvEnergy2 | realEmissionME (unsigned int imode, const Particle &part, ParticleVector &products, unsigned int iemitter, double ctheta, double stheta, const LorentzRotation &rot1, const LorentzRotation &rot2) |
The real emission matrix element. | |
bool | hasRealEmissionME () |
Whether or not the real emission matrix element is implemented. | |
bool | warnings () const |
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. | |
![]() | |
HwDecayerBase () | |
The default constructor. | |
virtual bool | accept (const DecayMode &dm) const |
Check if this decayer can perfom the decay specified by the given decay mode. | |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p) const |
Perform a decay for a given DecayMode and a given Particle instance. | |
virtual POWHEGType | hasPOWHEGCorrection () |
Has a POWHEG style correction. | |
virtual bool | hasMECorrection () |
Has an old fashioned ME correction. | |
virtual void | initializeMECorrection (RealEmissionProcessPtr, double &, double &) |
Initialize the ME correction. | |
virtual RealEmissionProcessPtr | applyHardMatrixElementCorrection (RealEmissionProcessPtr) |
Apply the hard matrix element correction to a given hard process or decay. | |
virtual bool | softMatrixElementVeto (PPtr parent, PPtr progenitor, const bool &fs, const Energy &highestpT, const vector< tcPDPtr > &ids, const double &z, const Energy &scale, const Energy &pT) |
Apply the soft matrix element correction. | |
virtual RealEmissionProcessPtr | generateHardest (RealEmissionProcessPtr) |
Apply the POWHEG style correction. | |
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. | |
bool | initialize () const |
Access to the initialize variable. | |
bool | databaseOutput () const |
Access the database output variable. | |
![]() | |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
virtual bool | accept (const DecayMode &dm) const=0 |
virtual bool | needsFullStep () const |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p) const=0 |
virtual ParticleVector | decay (const DecayMode &dm, const Particle &p, Step &step) const |
virtual double | brat (const DecayMode &dm, const ParticleData &pd, double oldbrat) const |
virtual double | brat (const DecayMode &dm, const Particle &p, double oldbrat) const |
virtual ParticleVector | getChildren (const DecayMode &dm, const Particle &parent) const |
virtual void | finalBoost (const Particle &parent, const ParticleVector &children) const |
virtual void | setScales (const Particle &parent, const ParticleVector &children) const |
Ptr< Amplitude >::pointer | amplitude () const |
![]() | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
![]() | |
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. | |
![]() | |
virtual void | halfHalfScalarCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A, Complex &B) const |
Coupling Members. | |
virtual void | halfHalfVectorCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &B1, Complex &B2) const |
Couplings for spin- \(\frac12\) to spin- \(\frac12\) and a vector. | |
virtual void | halfThreeHalfScalarCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A, Complex &B) const |
Couplings for spin- \(\frac12\) to spin- \(\frac32\) and a scalar. | |
virtual void | halfThreeHalfVectorCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &A3, Complex &B1, Complex &B2, Complex &B3) const |
Couplings for spin- \(\frac12\) to spin- \(\frac32\) and a vector. | |
virtual void | threeHalfHalfScalarCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A, Complex &B) const |
Couplings for spin- \(\frac32\) to spin- \(\frac12\) and a scalar. | |
virtual void | threeHalfHalfVectorCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &A3, Complex &B1, Complex &B2, Complex &B3) const |
Couplings for spin- \(\frac32\) to spin- \(\frac12\) and a vector. | |
virtual void | threeHalfThreeHalfScalarCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A1, Complex &A2, Complex &B1, Complex &B2) const |
Couplings for spin- \(\frac32\) to spin- \(\frac32\) and a scalar. | |
![]() | |
ParticleVector | generate (bool inter, bool cc, const unsigned int &imode, const Particle &inpart) const |
Generate the momenta for the decay. | |
void | imode (int in) |
Set the mode being use for this decay. | |
void | ME (DecayMEPtr in) const |
Set the helicity matrix element for the decay. | |
DecayMEPtr | ME () const |
The helicity amplitude matrix element for spin correlations. | |
void | resetIntermediate (tcPDPtr part, Energy mass, Energy width) |
Reset the properities of all intermediates. | |
Energy | initializePhaseSpaceMode (unsigned int imode, bool init, bool onShell=false) const |
Initialize the phase-space mode. | |
void | generateIntermediates (bool in) |
Methods to set variables in inheriting classes. | |
bool | generateIntermediates () const |
Set whether or not the intermediates are included. | |
void | hasOneLoopME (bool in) |
Whether or not the one loop matrix element is implemented. | |
void | hasRealEmissionME (bool in) |
Whether or not the real emission matrix element is implemented. | |
void | epsilonPS (Energy in) |
Set the epsilon parameter. | |
void | clearModes () |
Clear the models. | |
unsigned int | numberModes () const |
Number of decay modes. | |
tPhaseSpaceModePtr | mode (unsigned int ix) |
Pointer to a mode. | |
tcPhaseSpaceModePtr | mode (unsigned int ix) const |
Pointer to a mode. | |
![]() | |
virtual void | dofinish () |
Finalize this object. | |
void | fixRho (RhoDMatrix &) const |
Set rho to be diagonal if no correlations. | |
![]() | |
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) |
Standard Interfaced functions. | |
double | _c |
the coupling | |
bool | _parity |
the relative parities of the two baryon multiplets | |
Energy | _fpi |
the pion decay constant | |
int | _proton |
PDG codes for the various octet baryons. | |
int | _neutron |
The PDG code for the \(n\)-like member of the outgoing octet. | |
int | _sigma0 |
The PDG code for the \(\Sigma^0\)-like member of the outgoing octet. | |
int | _sigmap |
The PDG code for the \(\Sigma^+\)-like member of the outgoing octet. | |
int | _sigmam |
The PDG code for the \(\Sigma^-\)-like member of the outgoing octet. | |
int | _lambda |
The PDG code for the \(\Sigma^0\)-like member of the outgoing octet. | |
int | _xi0 |
The PDG code for the \(\Xi^0\)-like member of the outgoing octet. | |
int | _xim |
The PDG code for the \(\Xi^-\)-like member of the outgoing octet. | |
int | _elambda |
PDG code for the excited singlet \(\Lambda\). | |
vector< int > | _outgoingB |
PDG code for the outgoing baryons. | |
vector< int > | _outgoingM |
PDG code for the outgoing mesons. | |
vector< double > | _maxweight |
the maximum weight for the various modes | |
vector< InvEnergy > | _prefactor |
The couplings for the different modes. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object to the begining of the run phase. | |
SU3BaryonSingletOctetScalarDecayer & | operator= (const SU3BaryonSingletOctetScalarDecayer &)=delete |
Private and non-existent assignment operator. | |
void | setupModes (unsigned int) const |
set-up the modes | |
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. | |
virtual void | halfHalfScalarCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A, Complex &B) const |
Coupling Members. | |
virtual void | threeHalfHalfScalarCoupling (int imode, Energy m0, Energy m1, Energy m2, Complex &A, Complex &B) const |
Couplings for spin- \(\frac12\) to spin- \(\frac32\) and a scalar. | |
Additional Inherited Members | |
![]() | |
enum | MEOption { Initialize , Calculate , Terminate } |
Enum for the matrix element option. More... | |
![]() | |
enum | POWHEGType { No , ISR , FSR , Both } |
Virtual members to be overridden by inheriting classes which implement hard corrections. More... | |
![]() | |
enum | InitState |
![]() | |
typedef unsigned int | CounterType |
![]() | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
![]() | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
![]() | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
![]() | |
static void | Init () |
static ParticleVector | DecayParticle (tPPtr parent, Step &step, long maxtry=1000) |
![]() | |
static void | Init () |
![]() | |
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 SU3BaryonSingletOctetScalarDecayer
class is a simple decayer for the strong decay of the excited baryon \(SU(3)\) singlets to a lighter baryon octet and a pseudoscalar meson from the lightest multiplet, i.e.
\(\pi\), \(K\), \(\eta\).
The interaction Lagrangian is taken to have the form
\[\frac{2C}{f_\pi} \left[{\rm tr} (\bar{R}p_\phi\!\!\!\!\!\!\!\!\!\not\,\,\,\,\,\,\,\phi B)\right]\]
where \(R\) is the field for the excited resonance, \(\phi\) is the matrix field for the pseudoscalar mesons and \(B\) is the matrix field for the ground state baryon octet.
The above form is used for \(\frac12^-\) excited baryon resonances and the above form with an additional \(\gamma_5\) is used for excited \(\frac12^+\) baryon resonances.
For the decays of the spin- \(\frac32\) resonances we use the form
\[\frac{2C}{f_\pi} \left[{\rm tr} (\bar{R}^\mu p_{\phi,\mu}\phi B)\right],\]
where \(R^\mu\) is the field for the excited resonance. This form is used for the spin \(\frac32^+\) resonances and this form with an additional \(\gamma_5\) for spin \(\frac32^-\).
This is one of a number of decayers based on \(SU(3)\) symmetry which are intended for the decay of excited baryons.
Definition at line 49 of file SU3BaryonSingletOctetScalarDecayer.h.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 136 of file SU3BaryonSingletOctetScalarDecayer.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 |
Reimplemented from Herwig::Baryon1MesonDecayerBase.
|
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.
|
protectedvirtual |
Initialize this object to the begining of the run phase.
Reimplemented from Herwig::DecayIntegrator.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 142 of file SU3BaryonSingletOctetScalarDecayer.h.
|
protectedvirtual |
Coupling Members.
Couplings for spin- \(\frac12\) to spin- \(\frac12\) and a scalar.
imode | The mode |
m0 | The mass of the decaying particle. |
m1 | The mass of the outgoing baryon. |
m2 | The mass of the outgoing meson. |
A | The coupling \(A\) described above. |
B | The coupling \(B\) described above. |
Reimplemented from Herwig::Baryon1MesonDecayerBase.
|
virtual |
Which of the possible decays is required.
cc | Is this mode the charge conjugate |
parent | The decaying particle |
children | The decay products |
Implements Herwig::DecayIntegrator.
void Herwig::SU3BaryonSingletOctetScalarDecayer::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::SU3BaryonSingletOctetScalarDecayer::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
protectedvirtual |
Couplings for spin- \(\frac12\) to spin- \(\frac32\) and a scalar.
imode | The mode |
m0 | The mass of the decaying particle. |
m1 | The mass of the outgoing baryon. |
m2 | The mass of the outgoing meson. |
A | The coupling \(A\) described above. |
B | The coupling \(B\) described above. |
Reimplemented from Herwig::Baryon1MesonDecayerBase.
|
private |
the coupling
Definition at line 181 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
PDG code for the excited singlet \(\Lambda\).
Definition at line 241 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
the pion decay constant
Definition at line 191 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
The PDG code for the \(\Sigma^0\)-like member of the outgoing octet.
Definition at line 225 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
the maximum weight for the various modes
Definition at line 256 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
The PDG code for the \(n\)-like member of the outgoing octet.
Definition at line 205 of file SU3BaryonSingletOctetScalarDecayer.h.
|
mutableprivate |
PDG code for the outgoing baryons.
Definition at line 246 of file SU3BaryonSingletOctetScalarDecayer.h.
|
mutableprivate |
PDG code for the outgoing mesons.
Definition at line 251 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
the relative parities of the two baryon multiplets
Definition at line 186 of file SU3BaryonSingletOctetScalarDecayer.h.
|
mutableprivate |
The couplings for the different modes.
Definition at line 260 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
PDG codes for the various octet baryons.
The PDG code for the \(p\)-like member of the outgoing octet.
Definition at line 200 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
The PDG code for the \(\Sigma^0\)-like member of the outgoing octet.
Definition at line 210 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
The PDG code for the \(\Sigma^-\)-like member of the outgoing octet.
Definition at line 220 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
The PDG code for the \(\Sigma^+\)-like member of the outgoing octet.
Definition at line 215 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
The PDG code for the \(\Xi^0\)-like member of the outgoing octet.
Definition at line 230 of file SU3BaryonSingletOctetScalarDecayer.h.
|
private |
The PDG code for the \(\Xi^-\)-like member of the outgoing octet.
Definition at line 235 of file SU3BaryonSingletOctetScalarDecayer.h.