Herwig
7.2.1
|
This class splits the gluons from the end of the shower. More...
#include <PartonSplitter.h>
Public Member Functions | |
PartonSplitter () | |
Default constructor. | |
void | split (PVector &tagged) |
This method does the nonperturbative splitting of: time-like gluons. 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::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 () |
The standard Init function used to initialize the interfaces. More... | |
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 | |
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 an EventGenerator to disk. 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 | doupdate () |
virtual void | doinitrun () |
virtual void | dofinish () |
virtual IVector | getReferences () |
virtual void | rebind (const TranslationMap &) |
virtual void | readSetup (istream &is) |
virtual void | doupdate () |
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 &) |
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 | |
PartonSplitter & | operator= (const PartonSplitter &)=delete |
Private and non-existent assignment operator. | |
void | splitTimeLikeGluon (tcPPtr gluon, PPtr &quark, PPtr &anti) |
Non-perturbatively split a time-like gluon, if something goes wrong null pointers are returned. More... | |
void | massSplitTimeLikeGluon (tcPPtr gluon, PPtr &quark, PPtr &anti, size_t i) |
Non-perturbatively split a time-like gluon using a mass-based strangeness enhancement, if something goes wrong null pointers are returned. More... | |
void | colourSorted (PVector &tagged) |
Colour-sort the event into grouped colour-singlets. More... | |
double | enhanceStrange (size_t i) |
Method to calculate the probability for producing strange quarks. | |
Private Attributes | |
double | _splitPwtUquark |
Different variables for the weight for splitting into various light quark species. | |
double | _splitPwtDquark |
double | _splitPwtSquark |
Selector< PDPtr, double > | _quarkSelector |
The selector to pick the type of quark. | |
Length | _gluonDistance |
c tau for gluon decays | |
int | _splitGluon |
Flag used to determine between normal gluon splitting and alternative gluon splitting. | |
vector< int > | _colSingletSize |
Vector that stores the index in the event record of the anti-triplet of the colour-singlets, or of a colourless particle. | |
vector< Energy2 > | _colSingletm2 |
Vector that stores the masses of the colour-singlets or of a colourless particle. | |
int | _enhanceSProb |
Option to choose which functional form to use for strangeness production. | |
Energy | _m0 |
Characteristic mass scale for strangeness enhancement. | |
int | _massMeasure |
Flag that switches between mass measures used in strangeness enhancement: cluster mass, or the lambda measure - ( m_{clu}^2 - (m_q + m_{qbar})^2 ) | |
const double | _maxScale = 20. |
Constant variable that stops the scale in strangeness enhancement from becoming too large. | |
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) |
This class splits the gluons from the end of the shower.
This class does all of the nonperturbative parton splittings needed immediately after the end of the showering (both initial and final), as very first step of the cluster hadronization.
the quarks are attributed with different weights for the splitting by default only the splitting in u and d quarks is allowed the option "set /Herwig/Hadronization/PartonSplitter:Split 1" allows for additional splitting into s quarks based on some weight in order for that to work the mass of the strange quark has to be changed from the default value s.t. m_g > 2m_s
Definition at line 44 of file PartonSplitter.h.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
private |
Colour-sort the event into grouped colour-singlets.
Convention: triplet - gluons - antitriplet, repeat for all other colour-singlets or colourless particles.
|
protectedvirtual |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
|
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.
|
private |
Non-perturbatively split a time-like gluon using a mass-based strangeness enhancement, if something goes wrong null pointers are returned.
gluon | The gluon to be split |
quark | The quark produced in the splitting |
anti | The antiquark produced in the splitting |
gluon's | index in the colour-sorted Particle vector |
void Herwig::PartonSplitter::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::PartonSplitter::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
void Herwig::PartonSplitter::split | ( | PVector & | tagged | ) |
This method does the nonperturbative splitting of: time-like gluons.
At the end of the shower the gluons should be on a "physical" mass shell and should therefore be time-like.
tagged | The tagged particles to be split |
Non-perturbatively split a time-like gluon, if something goes wrong null pointers are returned.
gluon | The gluon to be split |
quark | The quark produced in the splitting |
anti | The antiquark produced in the splitting |