Herwig
7.2.1
|
The DecayPhaseSpaceMode
class is designed to store a group of phase-space channels for use by the DecayIntegrator class to generate the phase-space for a given decay mode.
More...
#include <DecayPhaseSpaceMode.h>
Public Member Functions | |
tcPDPtr | externalParticles (int ix) const |
Access to the external particles. More... | |
unsigned int | numberofParticles () const |
Number of external particles. More... | |
unsigned int | numberChannels () const |
Number of channels. More... | |
void | addChannel (DecayPhaseSpaceChannelPtr channel) |
Add a new channel. More... | |
void | resetIntermediate (int ichan, tcPDPtr part, Energy mass, Energy width) |
Reset the properties of one of the intermediate particles. More... | |
void | resetIntermediate (tcPDPtr part, Energy mass, Energy width) |
Reset the properties of one of the intermediate particles. More... | |
double | maxWeight () const |
Get the maximum weight for the decay. More... | |
void | setMaxWeight (double wgt) const |
Set the maximum weight for the decay. More... | |
double | channelWeight (unsigned int ichan) const |
Get the weight for a channel. More... | |
void | setWeights (const vector< double > &in) const |
Set the weights for the different channels. More... | |
unsigned int | selectedChannel () const |
Access to the selected channel. | |
bool | testOnShell () const |
test on/off-shell kinematics | |
Energy | epsilonPS () const |
Access to the epsilon parameter. | |
Standard constructors and destructors. | |
DecayPhaseSpaceMode () | |
Default constructor. | |
DecayPhaseSpaceMode (tPDVector in, tcDecayIntegratorPtr intin, bool onShell=false) | |
Constructor with a pointer to a DecayPhaseIntegrator and a vector of particle data objects for the external particles. 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... | |
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 |
Static Public Member Functions | |
static void | Init () |
Standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
Protected Member Functions | |
Set-up, Initialization and Access Members | |
Energy | initializePhaseSpace (bool init, bool onShell=false) |
Initialise the phase space. More... | |
void | setIntegrate (int iter, int points, int ntry) |
Set the integration parameters. More... | |
void | setPartialWidth (int in) |
Set the partial width to use for normalization. More... | |
Phase-Space Generation Members | |
double | me2 (const int ichan, const Particle &inpart, const ParticleVector &outpart, DecayIntegrator::MEOption opt) const |
Access to the matrix element from the decayer. More... | |
ParticleVector | generate (bool intermediates, bool cc, const Particle &inpart) const |
Generate the decay. More... | |
int | selectChannel (const Particle &inpart, ParticleVector &outpart) const |
Select which channel to use to output the particles. More... | |
Energy | weight (bool cc, int &ichan, const Particle &in, ParticleVector &particles, bool first, bool onShell=false) const |
Return the weight for a given phase-space point. More... | |
Energy | flatPhaseSpace (bool cc, const Particle &inpart, ParticleVector &outpart, bool onShell=false) const |
Return the weight and momenta for a flat phase-space decay. More... | |
Energy | channelPhaseSpace (bool cc, int &ichan, const Particle &in, ParticleVector &particles, bool onShell=false) const |
Generate a phase-space point using multichannel phase space. More... | |
void | constructVertex (const Particle &in, const ParticleVector &out) const |
Construct the vertex for spin corrections. More... | |
vector< Energy > | externalMasses (Energy inmass, double &wgt, bool onShell) const |
Generate the masses of the external particles. More... | |
Standard Interfaced functions. | |
virtual void | init () |
Initialize this object after the setup phase before saving and EventGenerator to disk. More... | |
virtual void | initrun () |
Initialize this object to the begining of the run phase. | |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Private Member Functions | |
DecayPhaseSpaceMode & | operator= (const DecayPhaseSpaceMode &)=delete |
Private and non-existent assignment operator. | |
Private Attributes | |
tcDecayIntegratorPtr | _integrator |
pointer to the decayer | |
vector< DecayPhaseSpaceChannelPtr > | _channels |
pointers to the phase-space channels | |
vector< double > | _channelwgts |
the weights for the different channels | |
double | _maxweight |
the maximum weight for the decay | |
int | _niter |
Number of iterations for the initialization. | |
int | _npoint |
Number of weights for each iteration of the initialization. | |
int | _ntry |
Number of attempts to generate the decay. | |
tPDVector | _extpart |
External particles. | |
int | _partial |
Which of the partial widths of the incoming particle to use. | |
cGenericWidthGeneratorPtr | _widthgen |
The width generator for the incoming particle. | |
vector< cGenericMassGeneratorPtr > | _massgen |
The mass generators for the outgoing particles. | |
bool | _testOnShell |
Whether to check on-shell or off-shell kinematics in doinit, if on-shell off-shell is tested in initrun. | |
unsigned int | _ichannel |
The selected channel. | |
Energy | _eps |
Epsilon parameter for phase-space integration. | |
Friends | |
class | DecayIntegrator |
DecayIntegrator is a friend to avoid making many of the phase space generation members public. | |
class | DecayPhaseSpaceChannel |
DecayPhaseSpaceChannel is a friend to avoid making many of the phase space generation members public. | |
ostream & | operator<< (ostream &, const DecayPhaseSpaceMode &) |
A friend operator to allow the mode to be outputted for debugging purposes. | |
Additional Inherited Members | |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
The DecayPhaseSpaceMode
class is designed to store a group of phase-space channels for use by the DecayIntegrator class to generate the phase-space for a given decay mode.
Additional phase-space channels can be added using the addChannel member.
In practice the modes are usually constructed together with the a number of DecayPhaseSpaceChannel
objects. In classes inheriting from the DecayIntegrator class.
Definition at line 43 of file DecayPhaseSpaceMode.h.
|
inline |
Constructor with a pointer to a DecayPhaseIntegrator
and a vector of particle data objects for the external particles.
This is the constructor which should normally be used in decayers.
in | The particle data objects for the external particles |
intin | A pointer to the DecayIntegrator class using this mode. |
onShell | Whether or not to perform tests for zero width on-shell particles |
Definition at line 80 of file DecayPhaseSpaceMode.h.
|
inline |
Add a new channel.
channel | A pointer to the new DecayPhaseChannel |
Definition at line 109 of file DecayPhaseSpaceMode.h.
|
protected |
Generate a phase-space point using multichannel phase space.
cc | Whether we are generating the mode specified or the charge conjugate mode. |
ichan | The channel to generate the weight for. |
in | The incoming particle. |
particles | The outgoing particles. |
|
inline |
Get the weight for a channel.
This is the weight for the multi-channel approach.
ichan | The channel. |
Definition at line 156 of file DecayPhaseSpaceMode.h.
|
protected |
Construct the vertex for spin corrections.
in | The incoming particle. |
out | The outgoing particles. |
|
protected |
Generate the masses of the external particles.
inmass | The mass of the decaying particle. |
wgt | The weight for the masses. |
|
inline |
Access to the external particles.
ix | The external particle required. |
Definition at line 91 of file DecayPhaseSpaceMode.h.
|
protected |
Return the weight and momenta for a flat phase-space decay.
cc | Whether we are generating the mode specified or the charge conjugate mode. |
inpart | The incoming particle. |
outpart | The outgoing particles. |
|
protected |
Generate the decay.
intermediates | Whether or not to generate the intermediate particle in the decay channel. |
cc | Whether we are generating the mode specified or the charge conjugate mode. |
inpart | The incoming particle. |
|
protectedvirtual |
Initialize this object after the setup phase before saving and EventGenerator to disk.
InitException | if object could not be initialized properly. |
|
protected |
Initialise the phase space.
init | Perform the initialization. |
|
inline |
Get the maximum weight for the decay.
Definition at line 143 of file DecayPhaseSpaceMode.h.
|
inlineprotected |
Access to the matrix element from the decayer.
ichan | The channel, this is to allow the matrix element to be used to select the intermediates |
inpart | The incoming particle. |
opt | The option for what to calculate |
outpart | The outgoing particles. |
Definition at line 221 of file DecayPhaseSpaceMode.h.
References Herwig::RandomHelpers::generate().
|
inline |
Number of channels.
Definition at line 103 of file DecayPhaseSpaceMode.h.
|
inline |
Number of external particles.
Definition at line 97 of file DecayPhaseSpaceMode.h.
void Herwig::DecayPhaseSpaceMode::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::DecayPhaseSpaceMode::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inline |
Reset the properties of one of the intermediate particles.
Only a specific channel is reset.
ichan | The channel to reset. |
part | The ParticleData object of the particle to reset |
mass | The mass of the intermediate. |
width | The width of gthe intermediate. |
Definition at line 122 of file DecayPhaseSpaceMode.h.
|
inline |
Reset the properties of one of the intermediate particles.
All the channels are reset.
part | The ParticleData object of the particle to reset |
mass | The mass of the intermediate. |
width | The width of gthe intermediate. |
Definition at line 134 of file DecayPhaseSpaceMode.h.
|
inlineprotected |
Select which channel to use to output the particles.
inpart | The incoming particles. |
outpart | The outgoing particles. |
Definition at line 243 of file DecayPhaseSpaceMode.h.
References ThePEG::UseRandom::rnd().
|
inlineprotected |
Set the integration parameters.
iter | The number of iterations to use for initialization. |
points | The number of points to use for each iteration during initialization. |
ntry | The number of tries to generate a decay. |
Definition at line 195 of file DecayPhaseSpaceMode.h.
|
inline |
Set the maximum weight for the decay.
wgt | The maximum weight. |
Definition at line 149 of file DecayPhaseSpaceMode.h.
|
inlineprotected |
Set the partial width to use for normalization.
This is the partial width in the WidthGenerator object.
in | The partial width to use. |
Definition at line 206 of file DecayPhaseSpaceMode.h.
|
inline |
Set the weights for the different channels.
in | The weights for the different channels in the multi-channel approach. |
Definition at line 162 of file DecayPhaseSpaceMode.h.
|
inlineprotected |
Return the weight for a given phase-space point.
cc | Whether we are generating the mode specified or the charge conjugate mode. |
ichan | The channel to generate the weight for. |
in | The incoming particle. |
particles | The outgoing particles. |
first | Whether or not this is the first call for initialisation |
Definition at line 273 of file DecayPhaseSpaceMode.h.