PYTHIA  8.303
Public Member Functions | Protected Attributes | List of all members
AntennaFunction Class Referenceabstract

#include <VinciaAntennaFunctions.h>

Inheritance diagram for AntennaFunction:
AntennaFunctionIX GGEmitFF GXSplitFF QGEmitFF QQEmitFF AntennaFunctionIF GGEmitII GQEmitII GXConvII QQEmitII QXSplitII GGEmitFFsec GXSplitFFsec GQEmitFF QGEmitFFsec QQEmitFFsec

Public Member Functions

 AntennaFunction ()=default
 Constructor.
 
virtual ~AntennaFunction ()
 Destructor.
 
virtual string vinciaName () const =0
 Names of this antenna, for VINCIA, and for humans.
 
virtual int idA () const =0
 Parton types (AB -> 0i 1j 2k): needed by soft- and collinear-limit checks.
 
virtual int idB () const =0
 
virtual int id1 () const =0
 
virtual double antFun (vector< double > invariants, vector< double > mNew, vector< int > helBef, vector< int > helNew)=0
 The antenna function [GeV^-2].
 
virtual double AltarelliParisi (vector< double > invariants, vector< double > mNew, vector< int > helBef, vector< int > helNew)=0
 
virtual bool init ()
 Default initialization. More...
 
virtual string baseName () const
 Construct baseName from idA, idB, and id1.
 
virtual string humanName () const
 Wrapper that can modify baseName to more human readable form if required.
 
virtual bool check ()
 Function to check singularities, positivity, etc. More...
 
virtual void initMasses (vector< double > *masses)
 Method to intialise mass values.
 
virtual int initHel (vector< int > *helBef, vector< int > *helNew)
 Method to initialise internal helicity variables. More...
 
double antFun (vector< double > invariants, vector< double > masses)
 Wrapper for helicity-summed/averaged antenna function.
 
double antFun (vector< double > invariants)
 Wrapper for massless, helicity-summed/averaged antenna function.
 
double AltarelliParisi (vector< double > invariants, vector< double > masses)
 Wrapper without helicity assignments.
 
double AltarelliParisi (vector< double > invariants)
 Wrapper for massless helicity-summed/averaged DGLAP kernels.
 
void initPtr (Info *infoPtrIn, DGLAP *dglapPtrIn)
 Initialize pointers. More...
 
double chargeFac ()
 Get parameters.
 
int kineMap ()
 
double alpha ()
 
double sectorDamp ()
 
double zA (vector< double > invariants)
 Functions to get Altarelli-Parisi energy fractions from invariants.
 
double zB (vector< double > invariants)
 
string id2str (int id) const
 Auxiliary function to translate an ID code to a string. More...
 

Protected Attributes

bool isInitPtr {false}
 Is initialized.
 
bool isInit {false}
 
double chargeFacSav {0.0}
 Charge factor, kinematics map, and subleading-colour treatment.
 
int kineMapSav {0}
 
int modeSLC {-1}
 
bool sectorShower {false}
 
double alphaSav {0.0}
 The alpha collinear-partitioning parameter.
 
double sectorDampSav {0.0}
 The sector-shower collinear dampening parameter.
 
double term {}
 Shorthand for commonly used variable(s).
 
double preFacFiniteTermSav {0.0}
 
double antMinSav {0.0}
 
bool isMinVar {}
 
double mi {0.0}
 Variables for internal storage of masses and helicities.
 
double mj {0.0}
 
double mk {0.0}
 
int hA {9}
 
int hB {9}
 
int hi {9}
 
int hj {9}
 
int hk {9}
 
map< int, bool > LH {{9, true}, {1, false}, {-1, true}}
 
map< int, bool > RH {{9, true}, {1, true}, {-1, false}}
 
int verbose {1}
 Verbosity level.
 
InfoinfoPtr {}
 Pointers to Pythia8 classes.
 
ParticleDataparticleDataPtr {}
 
SettingssettingsPtr {}
 
RndmrndmPtr {}
 
DGLAPdglapPtr {}
 Pointer to VINCIA DGLAP class.
 
vector< double > mDum {0, 0, 0, 0}
 Dummy vectors.
 
vector< int > hDum {9, 9, 9, 9}
 

Detailed Description

The AntennaFunction base class. Base class implementation for all AntennaFunction objects.

Member Function Documentation

virtual double AltarelliParisi ( vector< double >  invariants,
vector< double >  mNew,
vector< int >  helBef,
vector< int >  helNew 
)
pure virtual

Optional implementation of the DGLAP kernels for collinear-limit checks Defined as PI/sij + PK/sjk, i.e. equivalent to antennae.

Implemented in XGSplitRF, QGEmitRF, QQEmitRF, XGSplitIF, GXConvIF, QXSplitIF, GGEmitIF, GQEmitIF, QGEmitIF, QQEmitIF, GXConvII, QXSplitII, GGEmitII, GQEmitII, QQEmitII, GQEmitFFsec, GXSplitFF, GGEmitFF, GQEmitFF, QGEmitFF, and QQEmitFF.

bool check ( )
virtual

Function to check singularities, positivity, etc.

Generic check of antenna function for use during initialisation.

Check soft singularity against massless dipole factor.

Test one symmetric and one asymmetric soft phase-space point.

Test invariants.

sIK is arbitrary, going to divide out in antFun anyway, inclusion is just for consistent notation.

Compute eikonal.

Compute antenna (without subleading-colour corrections).

Compare.

Test all helicity configurations for collinearity and posivity.

Check collinear singularities against massless AP kernels.

Test invariants, for a few points along collinear axis.

Test collinear limit on side 1.

Test collinear limit on side 2 (swap invariants).

Compute DGLAP kernels.

For g->qq antennae, there is only either an ij or jk collinear term.

Keep whichever is larger (more singular), kill the other

There is only an IJ singularity if hB is conserved.

Gluon emission: no external helicity flips for global antennae.

Are there any limits to check?

Compute antennae (without subleading colour corrections).

For global antennae, add "swapped" terms to represent neighbor.

Restore subleading-colour level.

Compare.

Require better than 5% agreement unless dominated by nonsingular.

Require better than 5% agreement unless dominated by nonsingular.

Check positivity.

Generate a random point in phase-space triangle.

Check positivity (strict).

Check for dead zones away from phase-space boundary.

End nPointsCheck sum for positivity checks.

Verbose output.

End helicity sum.

Reimplemented in AntennaFunctionIF, and AntennaFunctionIX.

string id2str ( int  id) const

Auxiliary function to translate an ID code to a string.

Auxiliary function to translate an ID code to a string, for constructing antenna names.

Vector bosons.

Fermions.

Octet fermion: use gluino.

Charged scalar: use H+.

Coloured scalars: use squarks.

Unknown particle.

bool init ( )
virtual

Default initialization.

The AntennaFunction base class.

Default initialization.

Check whether pointers are initialized.

Verbosity level.

Charge factor (Use same charge factor for QGEmit and GQEmit)

Subleading-colour treatment. modeSLC = 0: all gluon-emission antennae normalised to CA. modeSLC = 1: use colour factors as specified by user. modeSLC = 2: QQ gets CF, GG gets CA, QG gets interpolation.

Kinematics map type (first look for specific, else default to global).

Gluon emission antennae.

Gluon splitting antennae.

For gluon splittings, parton I is always emitter, K is recoiler.

Collinear partitioning (for global antennae).

Sector shower on/off and sectorDamp parameter.

Return.

Reimplemented in AntennaFunctionIF, and AntennaFunctionIX.

int initHel ( vector< int > *  helBef,
vector< int > *  helNew 
)
virtual

Method to initialise internal helicity variables.

Method to initialise internal helicity variables. Return value = number of helicity configurations to average over.

Initialise as unpolarised.

Check if one or more partons have explicit helicities.

Check if helicity assignments make sense.

How many configurations are we averaging over.

void initPtr ( Info infoPtrIn,
DGLAP dglapPtrIn 
)

Initialize pointers.

Initialize pointers. ParticleData: required for masses, colour charges, etc. Rndm: required to generate random test points to check antenna. Settings: required for all coefficients, switches, etc.

Member Data Documentation

map<int, bool> LH {{9, true}, {1, false}, {-1, true}}
protected

Map to tell whether a given helicity value maps to L- and/or R-handed. Defined by constructor and not to be changed dynamically.


The documentation for this class was generated from the following files: