Herwig 7.3.0
|
The ThreePionDefaultCurrent class implements the currents from Z.Phys.C58:445 (1992), this paper uses the form from Z.Phys.C48:445 (1990) for the \(a_1\) width and is the default model in TAUOLA. More...
#include <ThreePionDefaultCurrent.h>
Public Member Functions | |
ThreePionDefaultCurrent () | |
Default constructor. | |
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. | |
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 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 | |
Public Member Functions inherited from Herwig::WeakCurrent | |
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. | |
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 |
Public Member Functions inherited from ThePEG::InterfacedBase | |
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 |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () 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 |
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. | |
Protected Member Functions inherited from Herwig::WeakCurrent | |
void | addDecayMode (int iq, int ia) |
Add a decay mode to the list. | |
void | setInitialModes (unsigned int nmodes) |
Set initial number of modes. | |
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 | |
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 &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Friends | |
class | Defaulta1MatrixElement |
The matrix element for the running \(a_1\) width is a friend to keep some members private. | |
Standard Interfaced functions. | |
vector< double > | _rhoF123wgts |
Parameters for the \(\rho\) Breit-Wigner in the \(F_{1,2,3}\) form factors. | |
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. | |
bool | _initializea1 |
Initialize the running \(a_1\) width. | |
Energy | _a1mass |
The mass of the \(a_1\) resonances. | |
Energy | _a1width |
The width of the \(a_1\) resonances. | |
Energy | _fpi |
The pion decay constant, \(f_\pi\). | |
Energy | _mpi |
The pion mass. | |
vector< Energy > | _rhoF123masses |
The \(\rho\) masses for the \(F_{1,2,3}\) form factors. | |
vector< Energy > | _rhoF123widths |
The \(\rho\) widths for the \(F_{1,2,3}\) form factors. | |
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. | |
ThreePionDefaultCurrent & | operator= (const ThreePionDefaultCurrent &)=delete |
Private and non-existent assignment operator. | |
Complex | BrhoF123 (Energy2 q2, int ires) const |
The \(\rho\) Breit-Wigner for the \(F_{1,2,3}\) form factors. | |
Complex | a1BreitWigner (Energy2 q2) const |
\(a_1\) Breit-Wigner | |
void | inita1Width (int iopt) |
Initialize the \(a_1\) running width. | |
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. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Static Public Member Functions inherited from Herwig::WeakCurrent | |
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 () |
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) |
The ThreePionDefaultCurrent class implements the currents from Z.Phys.C58:445 (1992), this paper uses the form from Z.Phys.C48:445 (1990) for the \(a_1\) width and is the default model in TAUOLA.
The following three meson modes are implemented.
\( \pi^+ \pi^- \pi^0 \), (imode=2)
using the currents from TAUOLA
Definition at line 43 of file ThreePionDefaultCurrent.h.
|
inlineprivate |
\(a_1\) Breit-Wigner
q2 | The scale \(q^2\) for the Breit-Wigner |
Definition at line 255 of file ThreePionDefaultCurrent.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.
|
inlineprivate |
The \(\rho\) Breit-Wigner for the \(F_{1,2,3}\) form factors.
q2 | The scale \(q^2\) for the Breit-Wigner |
ires | Which \(\rho\) multiplet |
Definition at line 234 of file ThreePionDefaultCurrent.h.
References _mpi, _rhoF123masses, _rhoF123wgts, and _rhoF123widths.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 188 of file ThreePionDefaultCurrent.h.
|
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.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 194 of file ThreePionDefaultCurrent.h.
|
private |
Initialize the \(a_1\) running width.
iopt | Initialization option (-1 full calculation, 0 set up the interpolation) |
|
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::ThreePionDefaultCurrent::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::ThreePionDefaultCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
double Herwig::ThreePionDefaultCurrent::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. |
|
friend |
The matrix element for the running \(a_1\) width is a friend to keep some members private.
Definition at line 49 of file ThreePionDefaultCurrent.h.
|
private |
The mass of the \(a_1\) resonances.
Definition at line 302 of file ThreePionDefaultCurrent.h.
Referenced by a1BreitWigner().
|
private |
Option for the \(a_1\) width.
Definition at line 332 of file ThreePionDefaultCurrent.h.
Referenced by a1BreitWigner().
|
private |
The interpolator for the running \(a_1\) width calculation.
Definition at line 292 of file ThreePionDefaultCurrent.h.
|
private |
The \(q^2\) for the running \(a_1\) width calculation.
Definition at line 287 of file ThreePionDefaultCurrent.h.
|
private |
The \(a_1\) width for the running \(a_1\) width calculation.
Definition at line 282 of file ThreePionDefaultCurrent.h.
|
private |
The width of the \(a_1\) resonances.
Definition at line 307 of file ThreePionDefaultCurrent.h.
Referenced by a1BreitWigner().
|
private |
The pion decay constant, \(f_\pi\).
Definition at line 312 of file ThreePionDefaultCurrent.h.
|
private |
Initialize the running \(a_1\) width.
Definition at line 297 of file ThreePionDefaultCurrent.h.
|
private |
The maximum mass when the running width was calculated.
Definition at line 342 of file ThreePionDefaultCurrent.h.
|
private |
The maximum mass of the hadronic system.
Definition at line 337 of file ThreePionDefaultCurrent.h.
|
private |
|
private |
The \(\rho\) masses for the \(F_{1,2,3}\) form factors.
Definition at line 322 of file ThreePionDefaultCurrent.h.
Referenced by BrhoF123().
|
private |
Parameters for the \(\rho\) Breit-Wigner in the \(F_{1,2,3}\) form factors.
Definition at line 277 of file ThreePionDefaultCurrent.h.
Referenced by BrhoF123().
|
private |
The \(\rho\) widths for the \(F_{1,2,3}\) form factors.
Definition at line 327 of file ThreePionDefaultCurrent.h.
Referenced by BrhoF123().