Herwig
7.2.1
|
DipoleSplittingKernel is the base class for all kernels used within the dipole shower. More...
#include <DipoleSplittingKernel.h>
Public Member Functions | |
Ptr< AlphaSBase >::tptr | alphaS () const |
Return the alpha_s to be used. | |
void | alphaS (Ptr< AlphaSBase >::tptr ap) |
Set the alpha_s to be used. | |
Ptr< DipoleSplittingKinematics >::tptr | splittingKinematics () const |
Return the splitting kinematics object. | |
Ptr< DipoleMCCheck >::ptr | mcCheck () const |
Return the mc check object. | |
void | splittingKinematics (Ptr< DipoleSplittingKinematics >::tptr sp) |
Set the splitting kinematics object. | |
Ptr< PDFRatio >::tptr | pdfRatio () const |
Return the PDFRatio object. | |
void | pdfRatio (Ptr< PDFRatio >::tptr sp) |
Set the PDFRatio object. | |
virtual int | nDimAdditional () const |
Return the number of additional parameter random variables needed to evaluate this kernel except the momentum fractions of incoming partons. More... | |
void | renormalizationScaleFreeze (Energy s) |
Set the freezing value for the renormalization scale. | |
void | factorizationScaleFreeze (Energy s) |
Set the freezing value for the factorization scale. | |
Energy | renormalizationScaleFreeze () const |
Get the freezing value for the renormalization scale. | |
Energy | factorizationScaleFreeze () const |
Get the freezing value for the factorization scale. | |
virtual bool | canHandle (const DipoleIndex &) const =0 |
Return true, if this splitting kernel applies to the given dipole index. | |
virtual bool | canHandleEquivalent (const DipoleIndex &a, const DipoleSplittingKernel &sk, const DipoleIndex &b) const =0 |
Return true, if this splitting kernel is the same for the given index a, as the given splitting kernel for index b. | |
virtual tcPDPtr | emitter (const DipoleIndex &) const =0 |
Return the emitter data after splitting, given a dipole index. | |
virtual tcPDPtr | emission (const DipoleIndex &) const =0 |
Return the emission data after splitting, given a dipole index. | |
virtual tcPDPtr | spectator (const DipoleIndex &) const =0 |
Return the spectator data after splitting, given a dipole index. | |
PDPtr | flavour () const |
Return the flavour produced, if this cannot be determined from the dipole. | |
bool | strictLargeN () const |
Return true, if this splitting kernel is supposed to work in a strict large-N limit, i.e. More... | |
virtual void | startPresampling (const DipoleIndex &) |
Inform this splitting kernel, that it is being presampled until a call to stopPresampling. | |
virtual void | stopPresampling (const DipoleIndex &) |
Inform this splitting kernel, that it is not being presampled until a call to startPresampling. | |
unsigned long | presamplingPoints () const |
Return the number of points to presample this splitting generator. | |
unsigned long | maxtry () const |
Return the maximum number of trials to generate a splitting. | |
unsigned long | freezeGrid () const |
Return the number of accepted points after which the grid should be frozen. | |
void | freezeGrid (unsigned long n) |
Set the number of accepted points after which the grid should be frozen. | |
void | detuning (double d) |
Set a detuning factor to be applied to the sampling overestimate kernel. | |
double | detuning () const |
Return the detuning factor applied to the sampling overestimate kernel. | |
virtual double | evaluate (const DipoleSplittingInfo &) const =0 |
Evaluate this splitting kernel for the given dipole splitting. | |
virtual vector< pair< int, Complex > > | generatePhi (const DipoleSplittingInfo &dInfo, const RhoDMatrix &rho) const =0 |
Evaluate rho_ii' V_ijk V*_i'jk / equivalent for initial-state splitting, required for generating spin-correlated azimuthal angles. | |
virtual DecayMEPtr | matrixElement (const DipoleSplittingInfo &dInfo) const =0 |
Return the completely spin-unaveraged (i.e. More... | |
void | clearAlphaPDFCache () const |
Clear the alphaPDF cache. | |
virtual void | accept (const DipoleSplittingInfo &, double, double, map< string, double > &) const |
Update the variations vector at the given splitting using the indicated kernel and overestimate values. | |
virtual void | veto (const DipoleSplittingInfo &, double, double, map< string, double > &) const |
Update the variations vector at the given splitting using the indicated kernel and overestimate values. | |
virtual bool | haveOverestimate (const DipoleSplittingInfo &) const |
Return true, if this kernel is capable of delivering an overestimate to the kernel, and of inverting the integral over the overestimate w.r.t. More... | |
virtual double | overestimate (const DipoleSplittingInfo &) const |
Return the overestimate to this splitting kernel for the given dipole splitting. | |
virtual double | invertOverestimateIntegral (const DipoleSplittingInfo &, double) const |
Invert the integral over the overestimate w.r.t. More... | |
bool | useThisKernel () const |
double | factorizationScaleFactor () const |
Get the factorization scale factor. | |
void | factorizationScaleFactor (double f) |
Set the factorization scale factor. | |
double | renormalizationScaleFactor () const |
Get the renormalization scale factor. | |
void | renormalizationScaleFactor (double f) |
Set the renormalization scale factor. | |
Standard constructors and destructors. | |
DipoleSplittingKernel () | |
The default constructor. | |
virtual | ~DipoleSplittingKernel () |
The destructor. | |
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 HandlerBaseT< UseRandom > | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
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 IBPtr | fullclone () const |
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::HandlerBase | |
static void | Init () |
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 | |
double | alphaPDF (const DipoleSplittingInfo &, Energy optScale=ZERO, double rScaleFactor=1.0, double fScaleFactor=1.0) const |
Return the common factor of (alphas/2pi)*(pdf ratio) | |
bool | virtualitySplittingScale () const |
Return true, if the virtuality of the splitting should be used as the argument of alphas rather than the pt. | |
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 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 &) |
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 &) |
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 | |
DipoleSplittingKernel & | operator= (const DipoleSplittingKernel &)=delete |
The assignment operator is private and must never be called. More... | |
Private Attributes | |
Ptr< AlphaSBase >::ptr | theAlphaS |
The alpha_s to be used. | |
Energy | theScreeningScale |
An optional 'colour screening' scale for alternative intrinsic pt generation. | |
Ptr< DipoleSplittingKinematics >::ptr | theSplittingKinematics |
The splitting kinematics to be used. | |
Ptr< PDFRatio >::ptr | thePDFRatio |
An optional PDF ratio object to be used when evaluating this kernel. | |
unsigned long | thePresamplingPoints |
The number of points to presample this splitting generator. | |
unsigned long | theMaxtry |
The maximum number of trials to generate a splitting. | |
unsigned long | theFreezeGrid |
Return the number of accepted points after which the grid should be frozen. | |
double | theDetuning |
The detuning factor applied to the sampling overestimate kernel. | |
PDPtr | theFlavour |
The flavour produced, if this cannot be determined from the dipole. | |
Ptr< DipoleMCCheck >::ptr | theMCCheck |
Pointer to a check histogram object. | |
bool | theStrictLargeN |
True, if this splitting kernel is supposed to work in a strict large-N limit, i.e. More... | |
double | theFactorizationScaleFactor |
The factorization scale factor. | |
double | theRenormalizationScaleFactor |
The renormalization scale factor. | |
Energy | theRenormalizationScaleFreeze |
A freezing value for the renormalization scale. | |
Energy | theFactorizationScaleFreeze |
A freezing value for the factorization scale. | |
bool | theVirtualitySplittingScale |
True, if the virtuality of the splitting should be used as the argument of alphas rather than the pt. | |
unsigned int | theCMWScheme =0 |
Implementing CMW in the kernels. | |
map< double, double > | theAlphaSCache |
Cache for alphas evaluations. | |
map< double, double > | thePDFCache |
Cache for PDF evaluations. | |
bool | presampling |
True, if we are presampling. | |
bool | theUseThisKernel = true |
True, if the kernel should be used. | |
Static Private Attributes | |
static double | theMaxPDFRatio |
The maximum value for any pdf ratio. More... | |
static AbstractClassDescription< DipoleSplittingKernel > | initDipoleSplittingKernel |
The static object used to initialize the description of this class. More... | |
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) |
DipoleSplittingKernel is the base class for all kernels used within the dipole shower.
Definition at line 41 of file DipoleSplittingKernel.h.
|
inlinevirtual |
Return true, if this kernel is capable of delivering an overestimate to the kernel, and of inverting the integral over the overestimate w.r.t.
the phasepsace provided by the given DipoleSplittingInfo object.
Definition at line 272 of file DipoleSplittingKernel.h.
|
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.
|
inlinevirtual |
Invert the integral over the overestimate w.r.t.
the phasepsace provided by the given DipoleSplittingInfo object to equal the given value.
Definition at line 286 of file DipoleSplittingKernel.h.
|
pure virtual |
Return the completely spin-unaveraged (i.e.
spin-indexed) splitting kernel.
Implemented in Herwig::FIMDecaygx2ggxDipoleKernel, Herwig::FFgx2ggxDipoleKernel, Herwig::FFgx2qqxDipoleKernel, Herwig::FFMgx2ggxDipoleKernel, Herwig::FFMgx2qqxDipoleKernel, Herwig::FFMqx2qgxDipoleKernel, Herwig::FFqx2qgxDipoleKernel, Herwig::FIgx2ggxDipoleKernel, Herwig::FIgx2qqxDipoleKernel, Herwig::FIMDecaygx2qqxDipoleKernel, Herwig::FIMDecayqx2qgxDipoleKernel, Herwig::FIMgx2qqxDipoleKernel, Herwig::FIMqx2qgxDipoleKernel, Herwig::FIqx2qgxDipoleKernel, Herwig::IFgx2ggxDipoleKernel, Herwig::IFgx2qqxDipoleKernel, Herwig::IFMgx2ggxDipoleKernel, Herwig::IFMgx2qqxDipoleKernel, Herwig::IFMqx2gqxDipoleKernel, Herwig::IFMqx2qgxDipoleKernel, Herwig::IFqx2gqxDipoleKernel, Herwig::IFqx2qgxDipoleKernel, Herwig::IIgx2ggxDipoleKernel, Herwig::IIgx2qqxDipoleKernel, Herwig::IIqx2gqxDipoleKernel, and Herwig::IIqx2qgxDipoleKernel.
|
inlinevirtual |
Return the number of additional parameter random variables needed to evaluate this kernel except the momentum fractions of incoming partons.
These will be accessible through the lastSplittingParameters() container of the splitting info object.
Definition at line 107 of file DipoleSplittingKernel.h.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::DipoleSplittingKernel::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::DipoleSplittingKernel::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inline |
Return true, if this splitting kernel is supposed to work in a strict large-N limit, i.e.
replacing C_F by C_A/2
Definition at line 174 of file DipoleSplittingKernel.h.
|
staticprivate |
The static object used to initialize the description of this class.
Indicates that this is an abstract class with persistent data.
Definition at line 494 of file DipoleSplittingKernel.h.
|
staticprivate |
The maximum value for any pdf ratio.
TODO: JB:Should this be an interfaced value? Is there a reasobable case where it should be allowed to be bigger than 1000000.?
Definition at line 405 of file DipoleSplittingKernel.h.
|
private |
True, if this splitting kernel is supposed to work in a strict large-N limit, i.e.
replacing C_F by C_A/2
Definition at line 433 of file DipoleSplittingKernel.h.