Herwig 7.3.0
|
This classs provides the concrete implementation of the exact leading-order splitting function for \(\frac12\to 1\frac12\). More...
#include <HalfOneHalfSplitFn.h>
Public Member Functions | |
virtual bool | accept (const IdList &ids) const |
Concrete implementation of the method to determine whether this splitting function can be used for a given set of particles. | |
virtual double | P (const double z, const Energy2 t, const IdList &ids, const bool mass, const RhoDMatrix &rho) const |
Methods to return the splitting function. | |
virtual double | overestimateP (const double z, const IdList &ids) const |
The concrete implementation of the overestimate of the splitting function, \(P_{\rm over}\). | |
virtual double | ratioP (const double z, const Energy2 t, const IdList &ids, const bool mass, const RhoDMatrix &rho) const |
The concrete implementation of the the ratio of the splitting function to the overestimate, i.e. | |
virtual double | integOverP (const double z, const IdList &ids, unsigned int PDFfactor=0) const |
The concrete implementation of the indefinite integral of the overestimated splitting function, \(P_{\rm over}\). | |
virtual double | invIntegOverP (const double r, const IdList &ids, unsigned int PDFfactor=0) const |
The concrete implementation of the inverse of the indefinite integral. | |
virtual vector< pair< int, Complex > > | generatePhiForward (const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &) |
Method to calculate the azimuthal angle for forward evolution. | |
virtual vector< pair< int, Complex > > | generatePhiBackward (const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &) |
Method to calculate the azimuthal angle for backward evolution. | |
virtual DecayMEPtr | matrixElement (const double z, const Energy2 t, const IdList &ids, const double phi, bool timeLike) |
Calculate the matrix element for the splitting. | |
Public Member Functions inherited from Herwig::SplittingFunction | |
SplittingFunction () | |
The default constructor. | |
ShowerInteraction | interactionType () const |
Methods to return the interaction type and order for the splitting function. | |
ColourStructure | colourStructure () const |
Return the colour structure. | |
double | colourFactor (const IdList &ids) const |
Return the colour factor. | |
virtual bool | accept (const IdList &ids) const =0 |
Purely virtual method which should determine whether this splitting function can be used for a given set of particles. | |
virtual bool | checkColours (const IdList &ids) const |
Method to check the colours are correct. | |
virtual double | P (const double z, const Energy2 t, const IdList &ids, const bool mass, const RhoDMatrix &rho) const =0 |
Methods to return the splitting function. | |
virtual double | overestimateP (const double z, const IdList &ids) const =0 |
Purely virtual method which should return an overestimate of the splitting function, \(P_{\rm over}\) such that the result \(P_{\rm over}\geq P\). | |
virtual double | ratioP (const double z, const Energy2 t, const IdList &ids, const bool mass, const RhoDMatrix &rho) const =0 |
Purely virtual method which should return the ratio of the splitting function to the overestimate, i.e. | |
virtual double | integOverP (const double z, const IdList &ids, unsigned int PDFfactor=0) const =0 |
Purely virtual method which should return the indefinite integral of the overestimated splitting function, \(P_{\rm over}\). | |
virtual double | invIntegOverP (const double r, const IdList &ids, unsigned int PDFfactor=0) const =0 |
Purely virtual method which should return the inverse of the indefinite integral of the overestimated splitting function, \(P_{\rm over}\) which is used to generate the value of \(z\). | |
virtual void | colourConnection (tShowerParticlePtr parent, tShowerParticlePtr first, tShowerParticlePtr second, ShowerPartnerType partnerType, const bool back) const |
Purely virtual method which should make the proper colour connection between the emitting parent and the branching products. | |
virtual vector< pair< int, Complex > > | generatePhiForward (const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &)=0 |
Method to calculate the azimuthal angle for forward evolution. | |
virtual vector< pair< int, Complex > > | generatePhiBackward (const double z, const Energy2 t, const IdList &ids, const RhoDMatrix &)=0 |
Method to calculate the azimuthal angle for backward evolution. | |
virtual DecayMEPtr | matrixElement (const double z, const Energy2 t, const IdList &ids, const double phi, bool timeLike)=0 |
Calculate the matrix element for the splitting. | |
bool | angularOrdered () const |
Whether or not the interaction is angular ordered. | |
bool | pTScale () const |
Scale choice. | |
void | evaluateFinalStateScales (ShowerPartnerType type, Energy scale, double z, tShowerParticlePtr parent, tShowerParticlePtr first, tShowerParticlePtr second) |
Functions to state scales after branching happens. | |
void | evaluateInitialStateScales (ShowerPartnerType type, Energy scale, double z, tShowerParticlePtr parent, tShowerParticlePtr first, tShowerParticlePtr second) |
Sort out scales for initial-state emission. | |
void | evaluateDecayScales (ShowerPartnerType type, Energy scale, double z, tShowerParticlePtr parent, tShowerParticlePtr first, tShowerParticlePtr second) |
Sort out scales for decay emission. | |
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 |
Static Public Member Functions | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Static Public Member Functions inherited from Herwig::SplittingFunction | |
static void | Init () |
The 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 () |
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. | |
HalfOneHalfSplitFn & | operator= (const HalfOneHalfSplitFn &)=delete |
The assignment operator is private and must never be called. | |
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 |
Protected Member Functions inherited from Herwig::SplittingFunction | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
void | colourFactor (double in) |
Set the colour factor. | |
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) |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
This classs provides the concrete implementation of the exact leading-order splitting function for \(\frac12\to 1\frac12\).
In this case the splitting function is given by
\[P(z,t) = C\left(\frac{2(1-z)+z^2}{z}-2\frac{m^2_q}t\right),\]
where \(C\) is the corresponding colour factor. Our choice for the overestimate is
\[P_{\rm over}(z) = 2C\frac1z,\]
therefore the integral is
\[\int P_{\rm over}(z) {\rm d}z = 2C\ln z,\]
and its inverse is
\[\exp\left(\frac{r}{2C}\right).\]
Definition at line 38 of file HalfOneHalfSplitFn.h.
|
virtual |
Concrete implementation of the method to determine whether this splitting function can be used for a given set of particles.
ids | The PDG codes for the particles in the splitting. |
Implements Herwig::SplittingFunction.
|
inlineprotectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Definition at line 162 of file HalfOneHalfSplitFn.h.
|
inlineprotectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Definition at line 168 of file HalfOneHalfSplitFn.h.
|
virtual |
Method to calculate the azimuthal angle for backward evolution.
z | The energy fraction |
t | The scale \(t=2p_j\cdot p_k\). |
ids | The PDG codes for the particles in the splitting. |
The | azimuthal angle, \(\phi\). |
Implements Herwig::SplittingFunction.
|
virtual |
Method to calculate the azimuthal angle for forward evolution.
z | The energy fraction |
t | The scale \(t=2p_j\cdot p_k\). |
ids | The PDG codes for the particles in the splitting. |
The | azimuthal angle, \(\phi\). |
Implements Herwig::SplittingFunction.
|
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.
|
virtual |
The concrete implementation of the indefinite integral of the overestimated splitting function, \(P_{\rm over}\).
z | The energy fraction. |
ids | The PDG codes for the particles in the splitting. |
PDFfactor | Which additional factor to include for the PDF 0 is no additional factor, 1 is \(1/z\), 2 is \(1/(1-z)\) and 3 is \(1/z/(1-z)\) |
Implements Herwig::SplittingFunction.
|
virtual |
The concrete implementation of the inverse of the indefinite integral.
r | Value of the splitting function to be inverted |
ids | The PDG codes for the particles in the splitting. |
PDFfactor | Which additional factor to include for the PDF 0 is no additional factor, 1 is \(1/z\), 2 is \(1/(1-z)\) and 3 is \(1/z/(1-z)\) |
Implements Herwig::SplittingFunction.
|
virtual |
Calculate the matrix element for the splitting.
z | The energy fraction |
t | The scale \(t=2p_j\cdot p_k\). |
ids | The PDG codes for the particles in the splitting. |
The | azimuthal angle, \(\phi\). |
Implements Herwig::SplittingFunction.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
|
virtual |
The concrete implementation of the overestimate of the splitting function, \(P_{\rm over}\).
z | The energy fraction. |
ids | The PDG codes for the particles in the splitting. |
Implements Herwig::SplittingFunction.
|
virtual |
Methods to return the splitting function.
The concrete implementation of the splitting function, \(P(z,t)\).
z | The energy fraction. |
t | The scale. |
ids | The PDG codes for the particles in the splitting. |
mass | Whether or not to include the mass dependent terms |
rho | The spin density matrix |
Implements Herwig::SplittingFunction.
|
virtual |
The concrete implementation of the the ratio of the splitting function to the overestimate, i.e.
\(P(z,t)/P_{\rm over}(z)\).
z | The energy fraction. |
t | The scale. |
ids | The PDG codes for the particles in the splitting. |
mass | Whether or not to include the mass dependent terms |
rho | The spin density matrix |
Implements Herwig::SplittingFunction.