Herwig 7.3.0
|
The TwoKaonOnePionCurrent class implements the model of M. More...
#include <TwoKaonOnePionCurrent.h>
Public Member Functions | |
TwoKaonOnePionCurrent () | |
The default constructor. | |
Methods for the construction of the phase space integrator. | |
virtual bool | createMode (int icharge, tcPDPtr resonance, FlavourInfo flavour, unsigned int imode, PhaseSpaceModePtr mode, unsigned int iloc, int ires, PhaseSpaceChannel phase, Energy upp) |
Complete the construction of the decay mode for integration.classes inheriting from this one. | |
virtual vector< LorentzPolarizationVectorE > | current (tcPDPtr resonance, FlavourInfo flavour, const int imode, const int ichan, Energy &scale, const tPDVector &outgoing, const vector< Lorentz5Momentum > &momenta, DecayIntegrator::MEOption meopt) const |
Hadronic current. | |
virtual bool | accept (vector< int > id) |
Accept the decay. | |
virtual unsigned int | decayMode (vector< int > id) |
Return the decay mode number for a given set of particles in the current. | |
virtual tPDVector | particles (int icharge, unsigned int imode, int iq, int ia) |
The particles produced by the current. | |
virtual void | dataBaseOutput (ofstream &os, bool header, bool create) const |
Output the setup information for the particle database. | |
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 for the \(a_1\) decay to calculate the running width | |
![]() | |
WeakCurrent () | |
Default constructor. | |
unsigned int | numberOfModes () const |
Return the number of modes handled by this current. | |
virtual void | constructSpinInfo (ParticleVector decay) const |
Construct the SpinInfo for the decay products. | |
void | decayModeInfo (unsigned int imode, int &iq, int &ia) const |
Information on a decay mode. | |
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. | |
![]() | |
void | addDecayMode (int iq, int ia) |
Add a decay mode to the list. | |
void | setInitialModes (unsigned int nmodes) |
Set 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) |
Standard Interfaced functions. | |
vector< double > | _rho1wgts |
Parameters for the \(\rho\) in the axial-vector terms. | |
vector< Energy > | _rho1mass |
Masses. | |
vector< Energy > | _rho1width |
Widths. | |
vector< double > | _rho2wgts |
Parameters for the \(\rho\) in the vector terms. | |
vector< Energy > | _rho2mass |
Masses. | |
vector< Energy > | _rho2width |
Widths. | |
vector< double > | _kstar1wgts |
Parameters for the \(K^*\) in the axial-vector terms. | |
vector< Energy > | _kstar1mass |
Masses. | |
vector< Energy > | _kstar1width |
Widths. | |
Energy | _a1mass |
Parameters for the three meson resonances. | |
Energy | _a1width |
The width of the \(a_1\) resonances. | |
vector< Energy > | _a1runwidth |
The \(a_1\) width for the running \(a_1\) width calculation. | |
vector< Energy2 > | _a1runq2 |
The \(q^2\) for the running \(a_1\) width calculation. | |
Interpolator< Energy, Energy2 >::Ptr | _a1runinter |
The interpolator for the running \(a_1\) width calculation. | |
double | _epsomega |
Parameters for the \(T_\omega\) function. | |
Energy | _omegamass |
Mass of the \(\omega\). | |
Energy | _omegawidth |
Width of the \(\omega\). | |
Energy | _phimass |
Mass of the \(\phi\). | |
Energy | _phiwidth |
Width of the \(\phi\). | |
double | _omegaKstarwgt |
The relative weight of the \(\omega-\phi\) and \(K^*\) where needed. | |
Energy | _fpi |
The pion decay constant, \(f_\pi\). | |
Energy | _mpi |
The pion mass. | |
Energy | _mK |
The kaon mass. | |
bool | _initializea1 |
Initialization switches. | |
bool | _a1opt |
Option for the \(a_1\) width. | |
Energy | _maxmass |
The maximum mass of the hadronic system. | |
Energy | _maxcalc |
The maximum mass when the running width was calculated. | |
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. | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. | |
TwoKaonOnePionCurrent & | operator= (const TwoKaonOnePionCurrent &)=delete |
The assignment operator is private and must never be called. | |
Complex | Trho1 (Energy2 q2, int ires) const |
The \(\rho\) lineshape for the axial-vector terms. | |
Complex | Trho2 (Energy2 q2, int ires) const |
The \(\rho\) lineshape for the vector terms. | |
Complex | TKstar1 (Energy2 q2, int ires) const |
The \(K^*\) lineshape for the axial-vector terms. | |
Complex | a1BreitWigner (Energy2 q2) const |
\(a_1\) Breit-Wigner | |
void | inita1Width (int iopt) |
Initialize the \(a_1\) running width. | |
Complex | Tomega (Energy2 q2, int ires) const |
The \(T_\omega\) function. | |
Complex | OmegaPhiBreitWigner (Energy2 q2, unsigned int ires) const |
The \(\omega\) and \(\phi\) Breit-Wigner. | |
Complex | TOmegaKStar (Energy2 s1, Energy2 s2, int ires) const |
The \(\omega-\phi\) \(K^*\) form-factor for the \(F_5\) form-factor. | |
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 () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
![]() | |
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 TwoKaonOnePionCurrent class implements the model of M.
Finkemeier and E.~Mirkes, Z. Phys. C 69 (1996) 243 [arXiv:hep-ph/9503474], for the weak current for three mesons where at least one of the mesons is a kaon.
This is the base class for the three meson decays of the weak current. It is designed so that the currents for the following modes can be implemented in classes inheriting from this
obviously there are other modes with three pseudoscalar mesons for the decay of the weak current but this model original came from \(\tau\) decay where these are the only modes. However one case which is important is the inclusion of the mixing in the neutral kaon sector for which we include the additional currents
\( K^0_S \pi^- K^0_L\), (imode=11)
In this case the current is given by
\[ J^\mu = \left(g^{\mu\nu}-\frac{q^\mu q^\nu}{q^2}\right) \left[F_1(p_2-p_3)^\mu +F_2(p_3-p_1)^\mu+F_3(p_1-p_2)^\mu\right] +q^\mu F_4 +F_5\epsilon^{\mu\alpha\beta\gamma}p_1^\alpha p_2^\beta p_3^\gamma \]
where
Definition at line 67 of file TwoKaonOnePionCurrent.h.
|
inlineprivate |
\(a_1\) Breit-Wigner
q2 | The scale \(q^2\) for the Breit-Wigner |
Definition at line 315 of file TwoKaonOnePionCurrent.h.
References _a1mass, _a1opt, _a1width, and ThePEG::sqrt().
|
virtual |
Accept the decay.
Checks the mesons against the list.
id | The id's of the particles in the current. |
Implements Herwig::WeakCurrent.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
virtual |
Complete the construction of the decay mode for integration.classes inheriting from this one.
This method is purely virtual and must be implemented in the classes inheriting from WeakCurrent.
icharge | The total charge of the outgoing particles in the current. |
resonance | If specified only include terms with this particle |
flavour | Information on the required flavours of the quarks |
imode | The mode in the current being asked for. |
mode | The phase space mode for the integration |
iloc | The location of the of the first particle from the current in the list of outgoing particles. |
ires | The location of the first intermediate for the current. |
phase | The prototype phase space channel for the integration. |
upp | The maximum possible mass the particles in the current are allowed to have. |
Implements Herwig::WeakCurrent.
|
virtual |
Hadronic current.
This method is purely virtual and must be implemented in all classes inheriting from this one.
resonance | If specified only include terms with this particle |
flavour | Information on the required flavours of the quarks |
imode | The mode |
ichan | The phase-space channel the current is needed for. |
scale | The invariant mass of the particles in the current. |
outgoing | The particles produced in the decay |
momenta | The momenta of the particles produced in the decay |
meopt | Option for the calculation of the matrix element |
Implements Herwig::WeakCurrent.
|
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::WeakCurrent.
|
virtual |
Return the decay mode number for a given set of particles in the current.
Checks the mesons against the list.
id | The id's of the particles in the current. |
Implements Herwig::WeakCurrent.
|
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 ThePEG::InterfacedBase.
|
protectedvirtual |
Check sanity of the object during the setup phase.
Reimplemented from ThePEG::InterfacedBase.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
static |
The standard Init function used to initialize the interfaces.
Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.
|
private |
Initialize the \(a_1\) running width.
iopt | Initialization option (-1 full calculation, 0 set up the interpolation) |
|
inlineprivate |
The \(\omega\) and \(\phi\) Breit-Wigner.
q2 | The scale |
ires | the resonance |
Definition at line 342 of file TwoKaonOnePionCurrent.h.
References _omegamass, _omegawidth, _phimass, _phiwidth, and ThePEG::sqr().
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
|
virtual |
The particles produced by the current.
This returns the mesons for the mode.
icharge | The total charge of the particles in the current. |
imode | The mode for which the particles are being requested |
iq | The PDG code for the quark |
ia | The PDG code for the antiquark |
Implements Herwig::WeakCurrent.
void Herwig::TwoKaonOnePionCurrent::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::TwoKaonOnePionCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
double Herwig::TwoKaonOnePionCurrent::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 for the \(a_1\) decay to calculate the running width
imode | The mode for which the matrix element is needed. |
q2 | The mass of the decaying off-shell \(a_1\), \(q^2\). |
s3 | The invariant mass squared of particles 1 and 2, \(s_3=m^2_{12}\). |
s2 | The invariant mass squared of particles 1 and 3, \(s_2=m^2_{13}\). |
s1 | The invariant mass squared of particles 2 and 3, \(s_1=m^2_{23}\). |
m1 | The mass of the first outgoing particle. |
m2 | The mass of the second outgoing particle. |
m3 | The mass of the third outgoing particle. |
|
inlineprivate |
The \(K^*\) lineshape for the axial-vector terms.
q2 | The scale \(q^2\) for the lineshape |
ires | Which \(K^*\) multiplet |
Definition at line 295 of file TwoKaonOnePionCurrent.h.
References _kstar1mass, _kstar1wgts, _kstar1width, _mK, and _mpi.
|
private |
The \(T_\omega\) function.
q2 | The scale |
ires | the resonance |
|
private |
The \(\omega-\phi\) \(K^*\) form-factor for the \(F_5\) form-factor.
s1 | The scale \(s_1\). |
s2 | The scale \(s_2\). |
ires | Which resonances to use |
|
inlineprivate |
The \(\rho\) lineshape for the axial-vector terms.
q2 | The scale \(q^2\) for the lineshape |
ires | Which \(\rho\) multiplet |
Definition at line 255 of file TwoKaonOnePionCurrent.h.
References _mpi, _rho1mass, _rho1wgts, and _rho1width.
|
inlineprivate |
The \(\rho\) lineshape for the vector terms.
q2 | The scale \(q^2\) for the lineshape |
ires | Which \(\rho\) multiplet |
Definition at line 275 of file TwoKaonOnePionCurrent.h.
References _mpi, _rho2mass, _rho2wgts, and _rho2width.
|
private |
Parameters for the three meson resonances.
The mass of the \(a_1\) resonances.
Definition at line 433 of file TwoKaonOnePionCurrent.h.
Referenced by a1BreitWigner().
|
private |
Option for the \(a_1\) width.
Definition at line 518 of file TwoKaonOnePionCurrent.h.
Referenced by a1BreitWigner().
|
private |
The interpolator for the running \(a_1\) width calculation.
Definition at line 453 of file TwoKaonOnePionCurrent.h.
|
private |
The \(q^2\) for the running \(a_1\) width calculation.
Definition at line 448 of file TwoKaonOnePionCurrent.h.
|
private |
The \(a_1\) width for the running \(a_1\) width calculation.
Definition at line 443 of file TwoKaonOnePionCurrent.h.
|
private |
The width of the \(a_1\) resonances.
Definition at line 438 of file TwoKaonOnePionCurrent.h.
Referenced by a1BreitWigner().
|
private |
Parameters for the \(T_\omega\) function.
Mixing parameter
Definition at line 463 of file TwoKaonOnePionCurrent.h.
|
private |
The pion decay constant, \(f_\pi\).
Definition at line 494 of file TwoKaonOnePionCurrent.h.
|
private |
Initialization switches.
Initialize the running \(a_1\) width.
Definition at line 513 of file TwoKaonOnePionCurrent.h.
|
private |
|
private |
Parameters for the \(K^*\) in the axial-vector terms.
Weight for the different resonances
Definition at line 413 of file TwoKaonOnePionCurrent.h.
Referenced by TKstar1().
|
private |
|
private |
The maximum mass when the running width was calculated.
Definition at line 529 of file TwoKaonOnePionCurrent.h.
|
private |
The maximum mass of the hadronic system.
Definition at line 524 of file TwoKaonOnePionCurrent.h.
|
private |
|
private |
The pion mass.
Definition at line 499 of file TwoKaonOnePionCurrent.h.
|
private |
The relative weight of the \(\omega-\phi\) and \(K^*\) where needed.
Definition at line 489 of file TwoKaonOnePionCurrent.h.
|
private |
Mass of the \(\omega\).
Definition at line 468 of file TwoKaonOnePionCurrent.h.
Referenced by OmegaPhiBreitWigner().
|
private |
Width of the \(\omega\).
Definition at line 473 of file TwoKaonOnePionCurrent.h.
Referenced by OmegaPhiBreitWigner().
|
private |
Mass of the \(\phi\).
Definition at line 478 of file TwoKaonOnePionCurrent.h.
Referenced by OmegaPhiBreitWigner().
|
private |
Width of the \(\phi\).
Definition at line 483 of file TwoKaonOnePionCurrent.h.
Referenced by OmegaPhiBreitWigner().
|
private |
|
private |
Parameters for the \(\rho\) in the axial-vector terms.
Weight for the different resonances
Definition at line 373 of file TwoKaonOnePionCurrent.h.
Referenced by Trho1().
|
private |
|
private |
|
private |
Parameters for the \(\rho\) in the vector terms.
Weight for the different resonances
Definition at line 393 of file TwoKaonOnePionCurrent.h.
Referenced by Trho2().
|
private |