Herwig
7.2.1
|
The ThreePionCLEOCurrent
class implements the decay of the weak current to three pions using the currents from CLEO Phys.
More...
#include <ThreePionCLEOCurrent.h>
Public Member Functions | |
ThreePionCLEOCurrent () | |
Default constructor. | |
virtual void | dataBaseOutput (ofstream &os, bool header, bool create) const |
Output the setup information for the particle database. More... | |
double | threeBodyMatrixElement (const int iopt, 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 a1 decay to calculate the running width More... | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
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. More... | |
Public Member Functions inherited from Herwig::ThreeMesonCurrentBase | |
ThreeMesonCurrentBase () | |
Default constructor. | |
virtual vector< LorentzPolarizationVectorE > | current (const int imode, const int ichan, Energy &scale, const ParticleVector &decay, DecayIntegrator::MEOption meopt) const |
Hadronic current. More... | |
virtual bool | accept (vector< int > id) |
Accept the decay. More... | |
virtual unsigned int | decayMode (vector< int > id) |
Return the decay mode number for a given set of particles in the current. More... | |
virtual tPDVector | particles (int icharge, unsigned int imode, int iq, int ia) |
The particles produced by the current. More... | |
Public Member Functions inherited from Herwig::WeakDecayCurrent | |
WeakDecayCurrent () | |
Default constructor. | |
unsigned int | numberOfModes () const |
Return the number of modes handled by this current. | |
void | decayModeInfo (unsigned int imode, int &iq, int &ia) const |
Information on a decay mode. More... | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. More... | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. More... | |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
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 |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
Public Member Functions inherited from ThePEG::Base | |
void | debug () 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 |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from Herwig::ThreeMesonCurrentBase | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from Herwig::WeakDecayCurrent | |
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 () |
Protected Member Functions | |
virtual bool | acceptMode (int) const |
Can the current handle a particular set of mesons. More... | |
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. More... | |
void | CLEOFormFactor (int imode, int ichan, Energy2 q2, Energy2 s1, Energy2 s2, Energy2 s3, Complex &F1, Complex &F2, Complex &F3) const |
Calculate CLEO form factors for the current. More... | |
Clone Methods. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. More... | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. More... | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving and EventGenerator to disk. More... | |
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. | |
Protected Member Functions inherited from Herwig::WeakDecayCurrent | |
void | addDecayMode (int iq, int ia) |
Add a decay mode to the list. More... | |
void | setInitialModes (unsigned int nmodes) |
Set initial number of modes. More... | |
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 | |
InterfacedBase (string newName) | |
InterfacedBase (const InterfacedBase &i) | |
virtual void | readSetup (istream &is) |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual void | readSetup (istream &is) |
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 &) |
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) |
Private Member Functions | |
ThreePionCLEOCurrent & | operator= (const ThreePionCLEOCurrent &)=delete |
Private and non-existent assignment operator. | |
Energy | a1width (Energy2 q2) const |
The running width. More... | |
void | inita1Width (int iopt) |
Initialize the running width. More... | |
Complex | a1BreitWigner (Energy2 q2) const |
Breit-Wigner More... | |
Complex | rhoBreitWigner (int ires, Energy2 q2, int icharge) const |
The Breit-Wigner. More... | |
Complex | sigmaBreitWigner (Energy2 q2, int icharge) const |
Breit-Wigner for the . More... | |
Complex | f0BreitWigner (Energy2 q2, int icharge) const |
Breit-Wigner for the . More... | |
Complex | f2BreitWigner (Energy2 q2, int icharge) const |
Breit-Wigner for the . More... | |
Private Attributes | |
vector< Energy > | _rhomass |
Masses of the resonances. | |
vector< Energy > | _rhowidth |
Widths of the resonances. | |
vector< Energy > | _prhocc |
Momenta of the decay products for neutral decay. | |
vector< Energy > | _prhoc0 |
Momenta of the decay products for charged decay. | |
Energy | _f2mass |
Mass of the resonance. | |
Energy | _f2width |
Width of the resonance. | |
Energy | _pf2cc |
Momenta of the decay products for decay to charged pions. | |
Energy | _pf200 |
Momenta of the decay products for decay to neutral pions. | |
Energy | _f0mass |
Mass of the resonance. | |
Energy | _f0width |
Width of the resonance. | |
Energy | _pf0cc |
Momenta of the decay products for decay to charged pions. | |
Energy | _pf000 |
Momenta of the decay products for decay to neutral pions. | |
Energy | _sigmamass |
Mass of the resonance. | |
Energy | _sigmawidth |
Width of the resonance. | |
Energy | _psigmacc |
Momenta of the decay products for decay to charged pions. | |
Energy | _psigma00 |
Momenta of the decay products for decay to neutral pions. | |
Energy | _mpi0 |
Mass of the neutral pion. | |
Energy | _mpic |
Mass of the charged pion. | |
Energy | _a1mass |
The mass. | |
Energy | _a1width |
The width. | |
Energy | _mKstar |
Mass of the resonace. | |
Energy | _mK |
Mass of the resonace. | |
double | _gammk |
Coupling for the term in the running width. | |
Energy | _fpi |
pion decay constant | |
InvEnergy | _fact |
The prefactor. | |
vector< double > | _rhomagP |
Magnitude of the -wave couplings of the rho resonance, , ( in the CLEO paper.) | |
vector< double > | _rhophaseP |
Phase of the -wave couplings of the rho resonance, , ( in the CLEO paper.) | |
vector< Complex > | _rhocoupP |
-wave couplings of the rho resonance, , ( in the CLEO paper.) | |
vector< InvEnergy2 > | _rhomagD |
Magnitude of the -wave couplings of the rho resonance, , ( in the CLEO paper.) | |
vector< double > | _rhophaseD |
Phase of the -wave couplings of the rho resonance, , ( in the CLEO paper.) | |
vector< complex< InvEnergy2 > > | _rhocoupD |
-wave couplings of the rho resonance, , ( in the CLEO paper.) | |
InvEnergy2 | _f2mag |
Magntiude of the coupling of the resonance, , ( in the CLEO paper.) | |
double | _f2phase |
Phase of the coupling of the resonance, , ( in the CLEO paper.) | |
complex< InvEnergy2 > | _f2coup |
Coupling of the resonance, , ( in the CLEO paper.) | |
double | _f0mag |
Magntiude of the coupling of the resonance, , ( in the CLEO paper.) | |
double | _f0phase |
Phase of the coupling of the resonance, , ( in the CLEO paper.) | |
Complex | _f0coup |
Coupling of the resonance, , ( in the CLEO paper.) | |
double | _sigmamag |
Magntiude of the coupling of the resonance, , ( in the CLEO paper.) | |
double | _sigmaphase |
Phase of the coupling of the resonance, , ( in the CLEO paper.) | |
Complex | _sigmacoup |
Coupling of the resonance, , ( in the CLEO paper.) | |
bool | _localparameters |
use local values of the mass parameters | |
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. | |
bool | _initializea1 |
Initialize the running width. | |
bool | _a1opt |
Option for the width. | |
Energy | _maxmass |
The maximum mass of the hadronic system. | |
Energy | _maxcalc |
The maximum mass when the running width was calculated. | |
Friends | |
class | ThreePionCLEOa1MatrixElement |
The matrix element for the running width is a friend to keep some members private. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
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 ThreePionCLEOCurrent
class implements the decay of the weak current to three pions using the currents from CLEO Phys.
Rev. D 61,012002. This is a model including two mesons in both and wave, a , the and .
The form factors for the mode are
The form factors for mode
where
The Breit-Wigner factors are given by where and are the mass and width of the particle respectively. is the momentum of the outgoing pion in the rest frame of the resonance .
Definition at line 99 of file ThreePionCLEOCurrent.h.
|
inlineprivate |
Breit-Wigner
q2 | The scale for the Breit-Wigner |
Definition at line 287 of file ThreePionCLEOCurrent.h.
References sqrt().
|
private |
The running width.
q2 | The scale for the Breit-Wigner |
|
protectedvirtual |
Can the current handle a particular set of mesons.
As this current includes all the allowed modes this is always true.
Implements Herwig::ThreeMesonCurrentBase.
|
protectedvirtual |
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.
|
protected |
Calculate CLEO form factors for the current.
Implements the form factors described above.
imode | The mode |
ichan | The phase space channel |
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, . |
F1 | The form factor . |
F2 | The form factor . |
F3 | The form factor . |
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 229 of file ThreePionCLEOCurrent.h.
|
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 |
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.
|
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.
|
inlineprivate |
Breit-Wigner for the .
q2 | The scale, . |
icharge | Whether the pions produced in the meson decay are charged (0) or neutral (1) |
Definition at line 335 of file ThreePionCLEOCurrent.h.
References Herwig::Kinematics::pstarTwoBodyDecay(), and sqrt().
|
inlineprivate |
Breit-Wigner for the .
q2 | The scale, . |
icharge | Whether the pions produced in the meson decay are charged (0) or neutral (1) |
Definition at line 351 of file ThreePionCLEOCurrent.h.
References Herwig::Kinematics::pstarTwoBodyDecay(), and sqrt().
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 235 of file ThreePionCLEOCurrent.h.
|
private |
Initialize the running width.
iopt | Initialization option (-1 full calculation, 0 set up the interpolation) |
void Herwig::ThreePionCLEOCurrent::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::ThreePionCLEOCurrent::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inlineprivate |
The Breit-Wigner.
ires | The multiplet. |
q2 | The scale, . |
icharge | The charge of the . |
Definition at line 301 of file ThreePionCLEOCurrent.h.
References Herwig::Kinematics::pstarTwoBodyDecay(), and sqrt().
|
inlineprivate |
Breit-Wigner for the .
q2 | The scale, . |
icharge | Whether the pions produced in the meson decay are charged (0) or neutral (1) |
Definition at line 319 of file ThreePionCLEOCurrent.h.
References Herwig::Kinematics::pstarTwoBodyDecay(), and sqrt().
double Herwig::ThreePionCLEOCurrent::threeBodyMatrixElement | ( | const int | iopt, |
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 a1 decay to calculate the running width
iopt | The mode |
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. |