The FFDipole class generates radiation from a final-final dipole for the generation of photons in decay by the SOPTHY algorithm. More...
#include <FFDipole.h>
Public Member Functions | |
FFDipole () | |
The default constructor. | |
virtual ParticleVector | generatePhotons (const Particle &p, ParticleVector children, tDecayIntegratorPtr decayer) |
Member to generate the photons from the dipole. | |
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. | |
double | photon (double beta1, double ombeta1, double beta2, double ombeta2) |
Generate the momentum of a photon. | |
double | exactDipoleWeight (double beta1, double ombeta1, double beta2, double ombeta2, unsigned int iphot) |
Calculate the exact weight for the dipole. | |
double | jacobianWeight () |
Jacobian factor for the weight. | |
double | meWeight (const ParticleVector &children) |
Matrix element weight. | |
double | makePhotons (const Boost &boost, const ParticleVector &children) |
Member which generates the photons. | |
bool | boostMomenta (const Boost &boost) |
Boost all the momenta from the dipole rest frame via the parent rest frame to the lab. | |
unsigned int | removePhotons () |
Remove any photons which fail the energy cuts. | |
double | collinearWeight (const ParticleVector &children) |
The real emission weight in the collinear limit. | |
double | virtualWeight (const ParticleVector &children) |
The vrtiual correction weight. | |
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) |
Standard Interfaced functions. | |
Energy | _emin |
The minimum photon energy in the boosted frame. | |
Energy | _eminrest |
The minimum photon energy in the rest frame. | |
Energy | _eminlab |
The minimum photon energy in the lab frame. | |
Energy | _emax |
The maximum photon energy. | |
unsigned int | _multiplicity |
Photon multiplicity being generated. | |
vector< Energy > | _m |
Masses of the particles involved. | |
double | _charge |
Produce of the particles charges. | |
vector< Lorentz5Momentum > | _qdrf |
Momenta of the particles in the dipole rest frame. | |
vector< Lorentz5Momentum > | _qnewdrf |
vector< Lorentz5Momentum > | _ldrf |
Momenta of the photons in the dipole rest frame. | |
Lorentz5Momentum | _bigLdrf |
Total momentum of the photons in the dipole rest frame. | |
vector< Lorentz5Momentum > | _qprf |
Momentum of the particles in the parent's rest frame. | |
vector< Lorentz5Momentum > | _qnewprf |
Momenta of the charged particles in the parent's rest frame after radiation. | |
vector< Lorentz5Momentum > | _lprf |
Momenta of the photons in the parent rest frame. | |
Lorentz5Momentum | _bigLprf |
Total momentum of the photons in the parent rest frame. | |
vector< Lorentz5Momentum > | _qlab |
Momentum of the particles in the lab frame. | |
vector< Lorentz5Momentum > | _qnewlab |
Momenta of the charged particles in the lab frame after radiation. | |
vector< Lorentz5Momentum > | _llab |
Momenta of the photons in the lab frame. | |
Lorentz5Momentum | _bigLlab |
Total momentum of the photons in the lab frame. | |
double | _dipolewgt |
Reweighting factors due to differences between the true and crude distributions. | |
double | _yfswgt |
Reweighting factor for the YFS form-factor. | |
double | _jacobianwgt |
Reweighting factor due to phase space. | |
double | _mewgt |
Reweighting factor due to matrix element corrections. | |
double | _maxwgt |
Maximum weight. | |
vector< double > | _cosphot |
Angles of the photons with respect to the first charged particle which are stored for numerical accuracy. | |
vector< double > | _sinphot |
Sine of the photon angles. | |
vector< double > | _photonwgt |
Weights for the individual photons. | |
vector< bool > | _photcut |
Whether a given photon passes the energy cut. | |
unsigned int | _mode |
Type of unweighting to perform. | |
unsigned int | _maxtry |
Maximum number of attempts to generate a result. | |
unsigned int | _energyopt |
Option for the energy cut-off. | |
unsigned int | _betaopt |
Option for the inclusion of higher order corrections. | |
unsigned int | _dipoleopt |
Option for the form of the primary distribution. | |
tDecayIntegratorPtr | _decayer |
The decayer. | |
tPPtr | _parent |
The decaying particle. | |
unsigned int | _nweight |
Storage of averages etc for testing. | |
double | _wgtsum |
Sum of weights. | |
double | _wgtsq |
Sum of squares of weights. | |
bool | _weightOutput |
Whether or not to output the averages. | |
virtual void | dofinish () |
Finalize this object. | |
FFDipole & | operator= (const FFDipole &)=delete |
The assignment operator is private and must never be called. | |
void | printDebugInfo (const Particle &p, const ParticleVector &children, double wgt) const |
Debug output. | |
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 | |
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 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 FFDipole class generates radiation from a final-final dipole for the generation of photons in decay by the SOPTHY algorithm.
Definition at line 38 of file FFDipole.h.
|
inline |
The default constructor.
Definition at line 45 of file FFDipole.h.
|
protected |
Boost all the momenta from the dipole rest frame via the parent rest frame to the lab.
boost | The boost vector from the rest frame to the lab |
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 100 of file FFDipole.h.
|
protectedvirtual |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::InterfacedBase.
|
inlineprotected |
Calculate the exact weight for the dipole.
beta1 | Velocity of the first charged particle, \(\beta_1\) |
beta2 | Velocity of the second charged particle, \(\beta_2\). |
ombeta1 | One minus the velocity of the first particle, \(1-\beta_1\) |
ombeta2 | One minus the velocity of the second particle, \(1-\beta_2\) |
iphot | The number of the photon for which the weight is required |
Definition at line 132 of file FFDipole.h.
References _cosphot, _sinphot, and ThePEG::sqr().
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 106 of file FFDipole.h.
|
virtual |
Member to generate the photons from the dipole.
p | The decaying particle |
children | The decay products |
decayer | The decayer for this mode |
|
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.
|
inlineprotected |
Jacobian factor for the weight.
Definition at line 153 of file FFDipole.h.
References _bigLdrf, _m, _qnewdrf, Herwig::Kinematics::pstarTwoBodyDecay(), ThePEG::sqr(), and ThePEG::sqrt().
|
protected |
Member which generates the photons.
boost | Boost vector to take the particles produced back from the decaying particle's rest frame to the lab |
children | The decay products |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::FFDipole::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::FFDipole::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
protected |
Generate the momentum of a photon.
beta1 | The velocity, \(\beta_1\), of the first charged particle |
ombeta1 | One minus the velocity, \(1-\beta_1\), of the first charged particle which is supplied for numerical stability |
beta2 | The velocity, \(\beta_2\), of the second charged particle |
ombeta2 | One minus the velocity, \(1-\beta_2\), of the second charged particle which is supplied for numerical stability |
|
protected |
Remove any photons which fail the energy cuts.
|
private |
Option for the inclusion of higher order corrections.
Definition at line 416 of file FFDipole.h.
|
private |
Total momentum of the photons in the dipole rest frame.
Definition at line 287 of file FFDipole.h.
Referenced by jacobianWeight().
|
private |
Total momentum of the photons in the lab frame.
Definition at line 337 of file FFDipole.h.
|
private |
Total momentum of the photons in the parent rest frame.
Definition at line 312 of file FFDipole.h.
|
private |
Produce of the particles charges.
Definition at line 264 of file FFDipole.h.
|
private |
Angles of the photons with respect to the first charged particle which are stored for numerical accuracy.
Cosine of the photon angles
Definition at line 380 of file FFDipole.h.
Referenced by exactDipoleWeight().
|
private |
The decayer.
Definition at line 426 of file FFDipole.h.
|
private |
Option for the form of the primary distribution.
Definition at line 421 of file FFDipole.h.
|
private |
Reweighting factors due to differences between the true and crude distributions.
Reweighting factor for the real emission
Definition at line 349 of file FFDipole.h.
|
private |
The maximum photon energy.
Definition at line 249 of file FFDipole.h.
|
private |
The minimum photon energy in the boosted frame.
Definition at line 234 of file FFDipole.h.
|
private |
The minimum photon energy in the lab frame.
Definition at line 244 of file FFDipole.h.
|
private |
The minimum photon energy in the rest frame.
Definition at line 239 of file FFDipole.h.
|
private |
Option for the energy cut-off.
Definition at line 411 of file FFDipole.h.
|
private |
Reweighting factor due to phase space.
Definition at line 359 of file FFDipole.h.
|
private |
Momenta of the photons in the dipole rest frame.
Definition at line 282 of file FFDipole.h.
|
private |
Momenta of the photons in the lab frame.
Definition at line 332 of file FFDipole.h.
|
private |
Momenta of the photons in the parent rest frame.
Definition at line 307 of file FFDipole.h.
|
private |
Masses of the particles involved.
Definition at line 259 of file FFDipole.h.
Referenced by jacobianWeight().
|
private |
Maximum number of attempts to generate a result.
Definition at line 406 of file FFDipole.h.
|
private |
Maximum weight.
Definition at line 369 of file FFDipole.h.
|
private |
Reweighting factor due to matrix element corrections.
Definition at line 364 of file FFDipole.h.
|
private |
Type of unweighting to perform.
Definition at line 401 of file FFDipole.h.
|
private |
Photon multiplicity being generated.
Definition at line 254 of file FFDipole.h.
|
private |
|
private |
The decaying particle.
Definition at line 431 of file FFDipole.h.
|
private |
Whether a given photon passes the energy cut.
Definition at line 396 of file FFDipole.h.
|
private |
Weights for the individual photons.
Definition at line 391 of file FFDipole.h.
|
private |
Momenta of the particles in the dipole rest frame.
Momenta of the charged particles in the dipole rest frame before radiation
Definition at line 273 of file FFDipole.h.
|
private |
Momentum of the particles in the lab frame.
Momenta of the charged particles in the lab frame before radiation
Definition at line 322 of file FFDipole.h.
|
private |
Definition at line 277 of file FFDipole.h.
Referenced by jacobianWeight().
|
private |
Momenta of the charged particles in the lab frame after radiation.
Definition at line 327 of file FFDipole.h.
|
private |
Momenta of the charged particles in the parent's rest frame after radiation.
Definition at line 302 of file FFDipole.h.
|
private |
Momentum of the particles in the parent's rest frame.
Momenta of the charged particles in the parent's rest frame before radiation
Definition at line 297 of file FFDipole.h.
|
private |
Sine of the photon angles.
Definition at line 385 of file FFDipole.h.
Referenced by exactDipoleWeight().
|
private |
Whether or not to output the averages.
Definition at line 455 of file FFDipole.h.
|
private |
Sum of squares of weights.
Definition at line 450 of file FFDipole.h.
|
private |
Sum of weights.
Definition at line 445 of file FFDipole.h.
|
private |
Reweighting factor for the YFS form-factor.
Definition at line 354 of file FFDipole.h.