Herwig++
2.7.0
|
The KaonThreeMesonCurrent class implements the model of M. More...
#include <KaonThreeMesonCurrent.h>
Public Member Functions | |
KaonThreeMesonCurrent () | |
The default constructor. | |
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 decay to calculate the running width | |
Methods for the construction of the phase space integrator. | |
virtual bool | createMode (int icharge, unsigned int imode, DecayPhaseSpaceModePtr mode, unsigned int iloc, unsigned int ires, DecayPhaseSpaceChannelPtr phase, Energy upp) |
Complete the construction of the decay mode for integration. | |
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 Public Member Functions | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
virtual bool | acceptMode (int) const |
Can the current handle a particular set of mesons. | |
virtual FormFactors | calculateFormFactors (const int ichan, const int imode, Energy2 q2, Energy2 s1, Energy2 s2, Energy2 s3) const |
Calculate the form factor for the current. | |
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. | |
Standard Interfaced functions. | |
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. | |
Private Member Functions | |
KaonThreeMesonCurrent & | operator= (const KaonThreeMesonCurrent &) |
The assignment operator is private and must never be called. | |
Complex | Trho1 (Energy2 q2, int ires) const |
The lineshape for the axial-vector terms. | |
Complex | Trho2 (Energy2 q2, int ires) const |
The lineshape for the vector terms. | |
Complex | TKstar1 (Energy2 q2, int ires) const |
The lineshape for the axial-vector terms. | |
Complex | TKstar2 (Energy2 q2, int ires) const |
The lineshape for the vector terms. | |
Complex | BWrho1 (Energy2 q2, unsigned int ires) const |
The Breit-Wigner for the axial-vector terms. | |
Complex | BWrho2 (Energy2 q2, unsigned int ires) const |
The Breit-Wigner for the vector terms. | |
Complex | BWKstar1 (Energy2 q2, unsigned int ires) const |
The Breit-Wigner for the axial-vector terms. | |
Complex | BWKstar2 (Energy2 q2, unsigned int ires) const |
The Breit-Wigner for the vector terms. | |
Complex | a1BreitWigner (Energy2 q2) const |
Breit-Wigner | |
Complex | TK1 (Energy2 q2, unsigned int iopt, int ires) const |
The line shape. | |
Complex | K1BreitWigner (Energy2 q2, unsigned int ires) const |
The Breit-Wigner. | |
Energy | a1Width (Energy2 q2) const |
The running width. | |
double | g (Energy2 q2) const |
The function of Kuhn and Santamaria. | |
void | inita1Width (int iopt) |
Initialize the running width. | |
Complex | Tomega (Energy2 q2, int ires) const |
The function. | |
Complex | OmegaPhiBreitWigner (Energy2 q2, unsigned int ires) const |
The and Breit-Wigner. | |
Complex | TOmegaKStar (Energy2 s1, Energy2 s2, int ires) const |
The form-factor for the form-factor. | |
Private Attributes | |
double | _omegaKstarwgt |
The relative weight of the and where needed. | |
Energy | _fpi |
The pion decay constant, . | |
Energy | _mpi |
The pion mass. | |
Energy | _mK |
The kaon mass. | |
Energy | _maxmass |
The maximum mass of the hadronic system. | |
Energy | _maxcalc |
The maximum mass when the running width was calculated. | |
vector< double > | _rho1wgts |
Parameters for the in the axial-vector terms. | |
vector< Energy > | _rho1mass |
Masses. | |
vector< Energy > | _rho1width |
Widths. | |
vector< double > | _rho2wgts |
Parameters for the in the vector terms. | |
vector< Energy > | _rho2mass |
Masses. | |
vector< Energy > | _rho2width |
Widths. | |
vector< double > | _kstar1wgts |
Parameters for the in the axial-vector terms. | |
vector< Energy > | _kstar1mass |
Masses. | |
vector< Energy > | _kstar1width |
Widths. | |
vector< double > | _kstar2wgts |
Parameters for the in the vector terms. | |
vector< Energy > | _kstar2mass |
Masses. | |
vector< Energy > | _kstar2width |
Widths. | |
Energy | _a1mass |
Parameters for the three meson resonances. | |
Energy | _a1width |
The width of the resonances. | |
vector< Energy > | _k1mass |
The masses of the resonances. | |
vector< Energy > | _k1width |
The widths of the resonances. | |
vector< double > | _k1wgta |
The weights for the different resonances for . | |
vector< double > | _k1wgtb |
The weights for the different resonaces for . | |
vector< Energy > | _a1runwidth |
The width for the running width calculation. | |
vector< Energy2 > | _a1runq2 |
The for the running width calculation. | |
Interpolator< Energy, Energy2 > ::Ptr | _a1runinter |
The interpolator for the running width calculation. | |
double | _epsomega |
Parameters for the function. | |
Energy | _omegamass |
Mass of the . | |
Energy | _omegawidth |
Width of the . | |
Energy | _phimass |
Mass of the . | |
Energy | _phiwidth |
Width of the . | |
bool | _initializea1 |
Initialization switches. | |
bool | _rhoparameters |
use local values of the masses and widths | |
bool | _kstarparameters |
use local values of the resonances masses and widths | |
bool | _a1parameters |
Use local values of the parameters. | |
bool | _k1parameters |
Use local values of the parameters. | |
bool | _a1opt |
Option for the width. | |
bool | _omegaopt |
Option for the parameters. |
The KaonThreeMesonCurrent 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.
Definition at line 30 of file KaonThreeMesonCurrent.h.
Complex Herwig::KaonThreeMesonCurrent::a1BreitWigner | ( | Energy2 | q2 | ) | const [private] |
Breit-Wigner
q2 | The scale for the Breit-Wigner |
Energy Herwig::KaonThreeMesonCurrent::a1Width | ( | Energy2 | q2 | ) | const [private] |
The running width.
q2 | The scale for the Breit-Wigner |
virtual bool Herwig::KaonThreeMesonCurrent::acceptMode | ( | int | ) | const [protected, virtual] |
Can the current handle a particular set of mesons.
As this current includes all the allowed modes this is always true.
Implements Herwig::ThreeMesonCurrentBase.
Complex Herwig::KaonThreeMesonCurrent::BWKstar1 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the axial-vector terms.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
Complex Herwig::KaonThreeMesonCurrent::BWKstar2 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the vector terms.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
Complex Herwig::KaonThreeMesonCurrent::BWrho1 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the axial-vector terms.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
Complex Herwig::KaonThreeMesonCurrent::BWrho2 | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner for the vector terms.
q2 | The scale for the Breit-Wigner |
ires | Which multiplet |
virtual FormFactors Herwig::KaonThreeMesonCurrent::calculateFormFactors | ( | const int | ichan, |
const int | imode, | ||
Energy2 | q2, | ||
Energy2 | s1, | ||
Energy2 | s2, | ||
Energy2 | s3 | ||
) | const [protected, virtual] |
Calculate the form factor for the current.
Implements the form factors described above.
ichan | The phase space channel |
imode | The mode |
q2 | The scale for the current. |
s1 | The invariant mass squared of particles 2 and 3, . |
s2 | The invariant mass squared of particles 1 and 3, . |
s3 | The invariant mass squared of particles 1 and 2, . |
Implements Herwig::ThreeMesonCurrentBase.
virtual IBPtr Herwig::KaonThreeMesonCurrent::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
virtual bool Herwig::KaonThreeMesonCurrent::createMode | ( | int | icharge, |
unsigned int | imode, | ||
DecayPhaseSpaceModePtr | mode, | ||
unsigned int | iloc, | ||
unsigned int | ires, | ||
DecayPhaseSpaceChannelPtr | phase, | ||
Energy | upp | ||
) | [virtual] |
Complete the construction of the decay mode for integration.
This version addes the mesons for the current
icharge | The total charge of the outgoing particles in the current. |
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::WeakDecayCurrent.
virtual void Herwig::KaonThreeMesonCurrent::dataBaseOutput | ( | ofstream & | os, |
bool | header, | ||
bool | create | ||
) | const [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::ThreeMesonCurrentBase.
virtual void Herwig::KaonThreeMesonCurrent::doinit | ( | ) | [protected, virtual] |
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.
virtual IBPtr Herwig::KaonThreeMesonCurrent::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
static void Herwig::KaonThreeMesonCurrent::Init | ( | ) | [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.
Reimplemented from Herwig::ThreeMesonCurrentBase.
void Herwig::KaonThreeMesonCurrent::inita1Width | ( | int | iopt | ) | [private] |
Initialize the running width.
iopt | Initialization option (-1 full calculation, 0 set up the interpolation) |
Complex Herwig::KaonThreeMesonCurrent::K1BreitWigner | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The Breit-Wigner.
q2 | The scale for the Breit-Wigner |
ires | the resonance |
Complex Herwig::KaonThreeMesonCurrent::OmegaPhiBreitWigner | ( | Energy2 | q2, |
unsigned int | ires | ||
) | const [private] |
The and Breit-Wigner.
q2 | The scale |
ires | the resonance |
KaonThreeMesonCurrent& Herwig::KaonThreeMesonCurrent::operator= | ( | const KaonThreeMesonCurrent & | ) | [private] |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::KaonThreeMesonCurrent::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. |
Reimplemented from Herwig::WeakDecayCurrent.
void Herwig::KaonThreeMesonCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from Herwig::WeakDecayCurrent.
double Herwig::KaonThreeMesonCurrent::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 decay to calculate the running width
imode | The mode for which the matrix element is needed. |
q2 | The mass of the decaying off-shell , . |
s3 | The invariant mass squared of particles 1 and 2, . |
s2 | The invariant mass squared of particles 1 and 3, . |
s1 | The invariant mass squared of particles 2 and 3, . |
m1 | The mass of the first outgoing particle. |
m2 | The mass of the second outgoing particle. |
m3 | The mass of the third outgoing particle. |
Complex Herwig::KaonThreeMesonCurrent::TK1 | ( | Energy2 | q2, |
unsigned int | iopt, | ||
int | ires | ||
) | const [private] |
The line shape.
q2 | The scale for the Breit-Wigner |
iopt | Whether this is or . |
ires | the resonance |
Complex Herwig::KaonThreeMesonCurrent::TKstar1 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the axial-vector terms.
q2 | The scale for the lineshape |
ires | Which multiplet |
Complex Herwig::KaonThreeMesonCurrent::TKstar2 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the vector terms.
q2 | The scale for the lineshape |
ires | Which multiplet |
Complex Herwig::KaonThreeMesonCurrent::Tomega | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The function.
q2 | The scale |
ires | the resonance |
Complex Herwig::KaonThreeMesonCurrent::TOmegaKStar | ( | Energy2 | s1, |
Energy2 | s2, | ||
int | ires | ||
) | const [private] |
The form-factor for the form-factor.
s1 | The scale . |
s2 | The scale . |
ires | Which resonances to use |
Complex Herwig::KaonThreeMesonCurrent::Trho1 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the axial-vector terms.
q2 | The scale for the lineshape |
ires | Which multiplet |
Complex Herwig::KaonThreeMesonCurrent::Trho2 | ( | Energy2 | q2, |
int | ires | ||
) | const [private] |
The lineshape for the vector terms.
q2 | The scale for the lineshape |
ires | Which multiplet |
Energy Herwig::KaonThreeMesonCurrent::_a1mass [private] |
Parameters for the three meson resonances.
The mass of the resonances.
Definition at line 390 of file KaonThreeMesonCurrent.h.
double Herwig::KaonThreeMesonCurrent::_epsomega [private] |
Parameters for the function.
Mixing parameter
Definition at line 440 of file KaonThreeMesonCurrent.h.
bool Herwig::KaonThreeMesonCurrent::_initializea1 [private] |
Initialization switches.
Initialize the running width.
Definition at line 490 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_kstar1wgts [private] |
Parameters for the in the axial-vector terms.
Weight for the different resonances
Definition at line 350 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_kstar2wgts [private] |
Parameters for the in the vector terms.
Weight for the different resonances
Definition at line 370 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_rho1wgts [private] |
Parameters for the in the axial-vector terms.
Weight for the different resonances
Definition at line 310 of file KaonThreeMesonCurrent.h.
vector<double> Herwig::KaonThreeMesonCurrent::_rho2wgts [private] |
Parameters for the in the vector terms.
Weight for the different resonances
Definition at line 330 of file KaonThreeMesonCurrent.h.