Herwig++
2.7.0
|
Weak current for the production of two mesons via the or resonances. More...
#include <TwoMesonRhoKStarCurrent.h>
Public Member Functions | |
TwoMesonRhoKStarCurrent () | |
Default constructor. | |
virtual vector < LorentzPolarizationVectorE > | current (const int imode, const int ichan, Energy &scale, const ParticleVector &decay, 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 void | dataBaseOutput (ofstream &os, bool header, bool create) const |
Output the setup information for the particle database. | |
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. | |
virtual tPDVector | particles (int icharge, unsigned int imode, int iq, int ia) |
The particles produced by the current. | |
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 () |
Standard Init function used to initialize the interfaces. | |
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. | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. | |
Private Member Functions | |
TwoMesonRhoKStarCurrent & | operator= (const TwoMesonRhoKStarCurrent &) |
Private and non-existent assignment operator. | |
Breit-Wigner functions | |
Complex | BreitWigner (Energy2 q2, unsigned int imodel, unsigned int itype, unsigned int ires) const |
-wave breit wigner for form-factors | |
double | GSModelDParameter (const unsigned int ires) const |
The parameter in the GS model of the propagator. | |
InvEnergy2 | GSModeldhdq2Parameter (const unsigned int ires) const |
The function in the GS model for the propagator evaluated at . | |
double | GSModelhFunction (const unsigned int ires, const Energy q) const |
The function in the GS model. | |
Energy | pcm (const unsigned int ires, const Energy q) const |
The momentum of the decay products for the running width. | |
Private Attributes | |
int | _pimodel |
Model to use for the propagator. | |
int | _kmodel |
Model to use for the propagator. | |
bool | _rhoparameters |
Option not to use the physical masses and widths for the . | |
vector< Energy > | _rhomasses |
The masses of the resonances. | |
vector< Energy > | _rhowidths |
The widths of the resonances. | |
bool | _kstarparameters |
Option not to use the physical masses and widths for the . | |
vector< Energy > | _kstarmasses |
The masses of the resonances. | |
vector< Energy > | _kstarwidths |
The masses of the resonances. | |
vector< Complex > | _piwgt |
Weights for the different resonances in the current, . | |
vector< double > | _pimag |
The magnitude for input. | |
vector< double > | _piphase |
The phase for input. | |
vector< Complex > | _kwgt |
Weights for the different resonances in the current, . | |
vector< double > | _kmag |
The magnitude for input. | |
vector< double > | _kphase |
The phase for input. | |
vector< Energy > | _mass |
Parameters for the Breit-Wigners. | |
vector< Energy > | _width |
The widths of the resonances. | |
vector< Energy2 > | _mass2 |
squares of the masses | |
vector< Energy2 > | _massw |
product of the mass and the width | |
vector< Energy > | _massa |
Masses of the decay products for the momentum calculation. | |
vector< Energy > | _massb |
vector< Energy > | _mom |
The decay for the on-shell mass momentum. | |
vector< InvEnergy2 > | _dhdq2 |
The function at for the GS form of the Breit-Wigner. | |
vector< double > | _hm2 |
The function at for the GS form of the Breit-Wigner. | |
vector< double > | _dparam |
The parameter for the GS form of the Breit-Wigner. | |
Static Private Attributes | |
static ClassDescription < TwoMesonRhoKStarCurrent > | initTwoMesonRhoKStarCurrent |
Describe a concrete class with persistent data. |
Weak current for the production of two mesons via the or resonances.
These currents are taken from tau decays.
The current takes the form
where
The Breit-Wigner term is summed over the or resonances that can contribute to a given decay.
The models of either Kuhn and Santamaria (Z. Phys. C48, 445 (1990)) or Gounaris and Sakurai Phys. Rev. Lett. 21, 244 (1968) are supported for the shape of the Breit-Wigner distribution. The mixing parameters are taken from Phys.Rev.D61:112002,2000 (CLEO) for the decay and the CLEO version of TAUOLA for the decays.
Definition at line 53 of file TwoMesonRhoKStarCurrent.h.
virtual bool Herwig::TwoMesonRhoKStarCurrent::accept | ( | vector< int > | id | ) | [virtual] |
Accept the decay.
Checks the particles are the allowed mode.
id | The id's of the particles in the current. |
Implements Herwig::WeakDecayCurrent.
Complex Herwig::TwoMesonRhoKStarCurrent::BreitWigner | ( | Energy2 | q2, |
unsigned int | imodel, | ||
unsigned int | itype, | ||
unsigned int | ires | ||
) | const [inline, private] |
-wave breit wigner for form-factors
q2 | The scale for the Breit-Wigner |
imodel | Which of the two models for the Breit-Wigner shape to use. |
itype | Whether this is a or resonance. |
ires | Which of the different multiplets to use. |
Definition at line 207 of file TwoMesonRhoKStarCurrent.h.
virtual IBPtr Herwig::TwoMesonRhoKStarCurrent::clone | ( | ) | const [inline, protected, virtual] |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 161 of file TwoMesonRhoKStarCurrent.h.
virtual bool Herwig::TwoMesonRhoKStarCurrent::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 just adds the intermediate resonances, two outgoing mesons and photon.
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 vector<LorentzPolarizationVectorE> Herwig::TwoMesonRhoKStarCurrent::current | ( | const int | imode, |
const int | ichan, | ||
Energy & | scale, | ||
const ParticleVector & | decay, | ||
DecayIntegrator::MEOption | meopt | ||
) | const [virtual] |
Hadronic current.
This version returns the hadronic current described above.
imode | The mode |
ichan | The phase-space channel the current is needed for |
scale | The invariant mass of the particles in the current. |
decay | The decay products |
meopt | Option for the calculation of the matrix element |
Implements Herwig::WeakDecayCurrent.
virtual void Herwig::TwoMesonRhoKStarCurrent::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::WeakDecayCurrent.
virtual unsigned int Herwig::TwoMesonRhoKStarCurrent::decayMode | ( | vector< int > | id | ) | [virtual] |
Return the decay mode number for a given set of particles in the current.
id | The id's of the particles in the current. |
Implements Herwig::WeakDecayCurrent.
virtual void Herwig::TwoMesonRhoKStarCurrent::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::TwoMesonRhoKStarCurrent::fullclone | ( | ) | const [inline, protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 167 of file TwoMesonRhoKStarCurrent.h.
InvEnergy2 Herwig::TwoMesonRhoKStarCurrent::GSModeldhdq2Parameter | ( | const unsigned int | ires | ) | const [inline, private] |
The function in the GS model for the propagator evaluated at .
ires | Which of the or resonances to use |
Definition at line 254 of file TwoMesonRhoKStarCurrent.h.
References sqr().
double Herwig::TwoMesonRhoKStarCurrent::GSModelDParameter | ( | const unsigned int | ires | ) | const [inline, private] |
The parameter in the GS model of the propagator.
ires | Which of the or resonances to use |
Definition at line 241 of file TwoMesonRhoKStarCurrent.h.
References ThePEG::Constants::pi, and sqr().
double Herwig::TwoMesonRhoKStarCurrent::GSModelhFunction | ( | const unsigned int | ires, |
const Energy | q | ||
) | const [inline, private] |
The function in the GS model.
ires | Which of the or resonances to use |
q | The scale . |
Definition at line 267 of file TwoMesonRhoKStarCurrent.h.
virtual tPDVector Herwig::TwoMesonRhoKStarCurrent::particles | ( | int | icharge, |
unsigned int | imode, | ||
int | iq, | ||
int | ia | ||
) | [virtual] |
The particles produced by the current.
This just returns the two pseudoscalar mesons and the photon.
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::WeakDecayCurrent.
Energy Herwig::TwoMesonRhoKStarCurrent::pcm | ( | const unsigned int | ires, |
const Energy | q | ||
) | const [inline, private] |
The momentum of the decay products for the running width.
ires | Which of the or resonances to use |
q | The scale . |
Definition at line 280 of file TwoMesonRhoKStarCurrent.h.
void Herwig::TwoMesonRhoKStarCurrent::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::TwoMesonRhoKStarCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from Herwig::WeakDecayCurrent.
vector<Complex> Herwig::TwoMesonRhoKStarCurrent::_kwgt [private] |
Weights for the different resonances in the current, .
The Complex weight used in the calculation
Definition at line 317 of file TwoMesonRhoKStarCurrent.h.
vector<Energy> Herwig::TwoMesonRhoKStarCurrent::_mass [private] |
Parameters for the Breit-Wigners.
The masses of the resonances
Definition at line 377 of file TwoMesonRhoKStarCurrent.h.
vector<Complex> Herwig::TwoMesonRhoKStarCurrent::_piwgt [private] |
Weights for the different resonances in the current, .
The Complex weight used in the calculation
Definition at line 297 of file TwoMesonRhoKStarCurrent.h.