PYTHIA  8.312
Public Member Functions | List of all members
Dire_fsr_qcd_G2GG2 Class Reference
Inheritance diagram for Dire_fsr_qcd_G2GG2:
DireSplittingQCD DireSplitting

Public Member Functions

 Dire_fsr_qcd_G2GG2 (string idIn, int softRS, Settings *settings, ParticleData *particleData, Rndm *rndm, BeamParticle *beamA, BeamParticle *beamB, CoupSM *coupSM, Info *info, DireInfo *direInfo)
 
bool canRadiate (const Event &, pair< int, int >, unordered_map< string, bool >=unordered_map< string, bool >(), Settings *=NULL, PartonSystems *=NULL, BeamParticle *=NULL)
 Class inheriting from SplittingQCD class. More...
 
bool canRadiate (const Event &, int iRadBef, int iRecBef, Settings *=NULL, PartonSystems *=NULL, BeamParticle *=NULL)
 
int nEmissions ()
 
int kinMap ()
 
int motherID (int idDaughter)
 Return id of mother after splitting.
 
int sisterID (int idDaughter)
 Return id of emission.
 
int radBefID (int idRadAfter, int idEmtAfter)
 Return id of recombined radiator (before splitting!)
 
vector< int > recPositions (const Event &, int, int)
 
pair< int, int > radBefCols (int colRadAfter, int acolRadAfter, int colEmtAfter, int acolEmtAfter)
 Return colours of recombined radiator (before splitting!)
 
double gaugeFactor (int=0, int=0)
 Return color factor for splitting.
 
double symmetryFactor (int=0, int=0)
 Return symmetry factor for splitting.
 
double zSplit (double zMinAbs, double zMaxAbs, double m2dip)
 Pick z for new splitting. More...
 
double overestimateInt (double zMinAbs, double zMaxAbs, double pT2Old, double m2dip, int order=-1)
 New overestimates, z-integrated versions. More...
 
double overestimateDiff (double z, double m2dip, int order=-1)
 Return kernel for new splitting. More...
 
bool calc (const Event &state=Event(), int order=-1)
 Functions to calculate the kernel from SplitInfo information. More...
 
- Public Member Functions inherited from DireSplittingQCD
 DireSplittingQCD (string idIn, int softRS, Settings *settings, ParticleData *particleData, Rndm *rndm, BeamParticle *beamA, BeamParticle *beamB, CoupSM *coupSM, Info *info, DireInfo *direInfo)
 Constructor and destructor.
 
void init ()
 
double getNF (double pT2)
 AUXILIARY FUNCTIONS. More...
 
double GammaQCD2 (double NF=5.)
 
double GammaQCD3 (double NF=5.)
 
double betaQCD0 (double NF=5.)
 
double betaQCD1 (double NF=5.)
 
double betaQCD2 (double NF=5.)
 
double as2Pi (double pT2, int orderNow=-1, double renormMultFacNow=-1.)
 
double softRescaleInt (int order)
 
double softRescaleDiff (int order, double pT2, double renormMultFacNow=-1.)
 
double beta0Endpoint (int order, double m2dip, double pT2, double z, double renormMultFacNow=-1.)
 
double polevl (double x, double *coef, int N)
 Helper function to calculate dilogarithm.
 
double DiLog (double x)
 Function to calculate dilogarithm.
 
vector< int > sharedColor (const Event &event, int iRad, int iRec)
 
bool hasSharedColor (const Event &event, int iRad, int iRec)
 
int findCol (int col, vector< int > iExc, const Event &, int type)
 
bool useFastFunctions ()
 
virtual vector< int > radAndEmt (int idDaughter, int)
 
virtual bool isPartial ()
 
virtual int couplingType (int, int)
 
virtual double coupling (double z, double pT2, double m2dip, double renormMultFacNow=-1., pair< int, bool > radBef=pair< int, bool >(), pair< int, bool > recBef=pair< int, bool >())
 
virtual double couplingScale2 (double z, double pT2, double m2dip, pair< int, bool > radBef, pair< int, bool > recBef)
 
virtual double getJacobian (const Event &=Event(), PartonSystems *partonSystems=0)
 
virtual unordered_map< string, double > getPhasespaceVars (const Event &=Event(), PartonSystems *=0)
 
double sCoef (int powz)
 
double sExp (int powz)
 
double kCoef (int powz)
 
double kExp (int powz)
 
double cCoef (int powz)
 
double cExp (int powz)
 
double fCoef ()
 
bool hasMECBef (const Event &state, double pT2)
 
bool hasMECAft (const Event &state, double pT2)
 
- Public Member Functions inherited from DireSplitting
 DireSplitting ()
 Constructor and destructor.
 
 DireSplitting (string idIn, int softRS, Settings *settings, ParticleData *particleData, Rndm *rndm, BeamParticle *beamA, BeamParticle *beamB, CoupSM *coupSMPtrIn, Info *infoPtrIn, DireInfo *direInfo)
 
void init ()
 The Splitting class.
 
bool is (ulong pattern)
 
string name ()
 
virtual bool aboveCutoff (double, const Particle &, const Particle &, int, PartonSystems *=NULL)
 Discard below the cut-off for the splitting.
 
virtual vector< pair< int, int > > radAndEmtCols (int, int, Event)
 
virtual bool canUseForBranching ()
 
virtual bool swapRadEmt ()
 
virtual bool isSymmetric (const Particle *=NULL, const Particle *=NULL)
 
virtual double getKernel (string="")
 Functions to store and retrieve all the variants of the kernel.
 
virtual unordered_map< string, double > getKernelVals ()
 
virtual void clearKernels ()
 
void setTimesPtr (shared_ptr< DireTimes > fsrIn)
 
void setTimesDecPtr (shared_ptr< DireTimes > fsrIn)
 
void setSpacePtr (shared_ptr< DireSpace > isrIn)
 
virtual bool allow_z_endpoint_for_kinematics ()
 Treatment of additional virtual corrections.
 
virtual bool allow_pT2_endpoint_for_kinematics ()
 
virtual bool allow_sai_endpoint_for_kinematics ()
 
virtual bool allow_xa_endpoint_for_kinematics ()
 
virtual void try_z_endpoint ()
 Functions to set if kernel should contribute to a kinematical endpoint.
 
virtual void try_pT2_endpoint ()
 
virtual void try_sai_endpoint ()
 
virtual void try_xa_endpoint ()
 
virtual bool is_z_endpoint ()
 Return endpoint information.
 
virtual bool is_pT2_endpoint ()
 
virtual bool is_sai_endpoint ()
 
virtual bool is_xa_endpoint ()
 
virtual double tdire_ff (double, double t, double)
 Functions to calculate Dire variables from the evolution variables.
 
virtual double zdire_ff (double z, double, double)
 
virtual double tdire_fi (double, double t, double)
 
virtual double zdire_fi (double z, double, double)
 
virtual double tdire_if (double, double t, double)
 
virtual double zdire_if (double z, double, double)
 
virtual double tdire_ii (double, double t, double)
 
virtual double zdire_ii (double z, double, double)
 
virtual void storeOverhead (double pT2, double x, int radid, int nf, double val)
 
virtual double overhead (double pT2, int idd, int nf)
 

Additional Inherited Members

- Public Attributes inherited from DireSplittingQCD
double CA
 VARIABLES.
 
double TR
 
double CF
 
double pTmin
 
double pT2minVariations
 
int NF_qcd_fsr
 
int orderSave
 
bool usePDFalphas
 
bool doVariations
 
bool doCorrelations
 
bool doMECs
 
double alphaSorder
 
double alphaS2pi
 
AlphaStrong alphaS
 
int asSchemeISR
 
int asSchemeFSR
 
bool useBackboneGluons
 
bool doGeneralizedKernel
 
- Public Attributes inherited from DireSplitting
double renormMultFac
 
string id
 
int correctionOrder
 
SettingssettingsPtr
 
ParticleDataparticleDataPtr
 
RndmrndmPtr
 
BeamParticlebeamAPtr
 
BeamParticlebeamBPtr
 
CoupSMcoupSMPtr
 
InfoinfoPtr
 
DireInfodireInfoPtr
 
bool is_qcd
 Some short-cuts and string hashes to help avoid string comparisons.
 
bool is_qed
 
bool is_ewk
 
bool is_fsr
 
bool is_isr
 
bool is_dire
 
ulong nameHash
 
unordered_map< string, double > kernelVals
 
DireSplitInfo splitInfo
 
shared_ptr< DireSpaceisr
 
shared_ptr< DireTimesfsr
 
shared_ptr< DireTimesfsrDec
 
multimap< double, OverheadInfooverhead_map
 
- Static Public Attributes inherited from DireSplittingQCD
static const double SMALL_TEVOL = 2.0
 The SplittingQCD class.
 

Member Function Documentation

bool calc ( const Event state = Event(),
int  order = -1 
)
virtual

Functions to calculate the kernel from SplitInfo information.

Return kernel for new splitting.

Dummy statement to avoid compiler warnings.

Read all splitting variables.

Corrections for correlated splittings.

Correction for massive splittings.

Calculate kernel. Note: We are calculating the z <–> 1-z symmetrised kernel here, and later multiply with z to project out one part.

Calculate argument of alphaS.

Calculate kernel. Note: We are calculating the z <–> 1-z symmetrised kernel here, and later multiply with z to project out one part.

Create muR-variations.

Add collinear term for massless splittings.

Differential as-running endpoint.

Eikonal piece.

Get additional invariants.

Get momenta.

Get other sibling momentum.

Get invariants.

Multiplicative weight factor to force first eikonal to current outgoing momenta.

If this is a branching of a previous emission, correlate spin with mother dipole.

Calculate kernel. Note: We are calculating the z <–> 1-z symmetrised kernel here, and later multiply with z to project out one part.

Create muR-variations.

Add collinear and correction terms.

Add collinear term for massive splittings.

splitType == 2 -> Massive FF

Calculate CS variables.

splitType ==-2 -> Massive FI

No changes, as initial recoiler is massless!

Add collinear term for massive splittings.

Add NLO term.

Do not perform variations below a small pT cut.

Evaluate everything at x = 1-z, because this is the kernel where the radiating gluon becomes soft and the emission is identified.

Anatomy of factors of two: One factor of 0.5 since LO kernel is split into "z" and "1-z" parts, while the NLO kernel is NOT split into these structures. Another factor of 0.5 enters because the LO kernel above does not include a "2" (this "2" is in preFac), while the NLO kernel in the Mathematica file does include the factor of "2".

Replace 1/z in NLO kernel with z/(z*z+kappa2) to restore sum rule. Note: Colour factor is CA, not CF!

Add NLO term.

Multiply with 1-z to project out part where radiating gluon is soft. (the emission is identified)

Store higher order correction separately.

Store kernel values.

Reimplemented from DireSplitting.

bool canRadiate ( const Event state,
pair< int, int >  ints,
unordered_map< string, bool >  = unordered_map<string,bool>(),
Settings = NULL,
PartonSystems = NULL,
BeamParticle = NULL 
)
virtual

Class inheriting from SplittingQCD class.

SplittingQCD function G->GG (FSR) We now split this kernel into two pieces, as the soft emitted gluon is identified as NLO. Thus, it is good to have two kernels for g -> g1 g2, one where g1 is soft, and one where g2 is soft. Return true if this kernel should partake in the evolution.

Reimplemented from DireSplitting.

int kinMap ( )
virtual

Function to return an identifier for the phase space mapping that is used for setting up this splitting. return values: 1 –> Default Dire mapping. 2 –> Dire 1->3 mapping.

Reimplemented from DireSplitting.

double overestimateDiff ( double  z,
double  m2dip,
int  order = -1 
)
virtual

Return kernel for new splitting.

Return overestimate for new splitting.

Overestimate by soft

Reimplemented from DireSplitting.

double overestimateInt ( double  zMinAbs,
double  zMaxAbs,
double  pT2Old,
double  m2dip,
int  order = -1 
)
virtual

New overestimates, z-integrated versions.

Overestimate by soft

int order = (orderNow > 0) ? orderNow : correctionOrder;

Reimplemented from DireSplitting.

vector< int > recPositions ( const Event ,
int  ,
int   
)
virtual

Return a vector of all possible recoiler positions, given the positions of the radiator and emission after the splitting.

Particles to exclude from colour tracing.

Find partons connected via emitted colour line.

Find partons connected via radiator colour line.

Find partons connected via radiator anticolour line.

Done.

Reimplemented from DireSplitting.

double zSplit ( double  zMinAbs,
double  zMaxAbs,
double  m2dip 
)
virtual

Pick z for new splitting.

Just pick according to soft.

Reimplemented from DireSplitting.


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