PYTHIA  8.303
Public Member Functions | Public Attributes | Static Public Attributes | List of all members
DireSplittingQCD Class Reference
Inheritance diagram for DireSplittingQCD:
DireSplitting Dire_fsr_qcd_G2GG1 Dire_fsr_qcd_G2GG2 Dire_fsr_qcd_G2GG_notPartial Dire_fsr_qcd_G2GGG Dire_fsr_qcd_G2Gqqbar Dire_fsr_qcd_G2QQ1 Dire_fsr_qcd_G2QQ2 Dire_fsr_qcd_G2QQ_notPartial Dire_fsr_qcd_Q2GQ Dire_fsr_qcd_Q2QbarQQId Dire_fsr_qcd_Q2QG Dire_fsr_qcd_Q2QG_notPartial Dire_fsr_qcd_Q2QGG Dire_fsr_qcd_Q2Qqqbar Dire_fsr_qcd_Q2qQqbarDist Dire_isr_qcd_G2GG1 Dire_isr_qcd_G2GG2 Dire_isr_qcd_G2QQ Dire_isr_qcd_Q2GQ Dire_isr_qcd_Q2QbarQQId Dire_isr_qcd_Q2QG Dire_isr_qcd_Q2qQqbarDist DireSplittingEW DireSplittingQED DireSplittingU1new

Public Member Functions

 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 canRadiate (const Event &, pair< int, int >, unordered_map< string, bool >=unordered_map< string, bool >(), Settings *=NULL, PartonSystems *=NULL, BeamParticle *=NULL)
 
virtual bool aboveCutoff (double, const Particle &, const Particle &, int, PartonSystems *=NULL)
 Discard below the cut-off for the splitting.
 
virtual bool canRadiate (const Event &, int, int, Settings *=NULL, PartonSystems *=NULL, BeamParticle *=NULL)
 
virtual int kinMap ()
 
virtual int motherID (int)
 Return id of mother after splitting.
 
virtual int sisterID (int)
 Return id of emission.
 
virtual vector< pair< int, int > > radAndEmtCols (int, int, Event)
 
virtual bool canUseForBranching ()
 
virtual int nEmissions ()
 
virtual bool swapRadEmt ()
 
virtual bool isSymmetric (const Particle *=NULL, const Particle *=NULL)
 
virtual vector< int > recPositions (const Event &, int, int)
 
virtual int radBefID (int, int)
 Return id of recombined radiator (before splitting!)
 
virtual pair< int, int > radBefCols (int, int, int, int)
 Return colours of recombined radiator (before splitting!)
 
virtual double gaugeFactor (int, int)
 Return color factor for splitting.
 
virtual double symmetryFactor (int, int)
 Return symmetry factor for splitting.
 
virtual double zSplit (double, double, double)
 Pick z for new splitting.
 
virtual double overestimateInt (double, double, double, double, int=-1)
 New overestimates, z-integrated versions.
 
virtual double overestimateDiff (double, double, int=-1)
 Return kernel for new splitting.
 
virtual double getKernel (string="")
 Functions to store and retrieve all the variants of the kernel.
 
virtual unordered_map< string, double > getKernelVals ()
 
virtual void clearKernels ()
 
virtual bool calc (const Event &=Event(), int=-1)
 Functions to calculate the kernel from SplitInfo information.
 
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)
 

Public Attributes

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

static const double SMALL_TEVOL = 2.0
 The SplittingQCD class.
 

Member Function Documentation

double as2Pi ( double  pT2,
int  orderNow = -1,
double  renormMultFacNow = -1. 
)

Function to calculate the correct running coupling/2*Pi value, including renormalisation scale variations + threshold matching.

Function to calculate the correct alphaS/2*Pi value, including renormalisation scale variations + threshold matching.

Get beam for PDF alphaS, if necessary.

Get alphaS(k*pT^2) and subtractions.

Now find the necessary thresholds so that alphaS can be matched correctly.

Done.

double beta0Endpoint ( int  order,
double  m2dip,
double  pT2,
double  z,
double  renormMultFacNow = -1. 
)

No explicit beta0-endpoint for inclusive NLO.

virtual double coupling ( double  ,
double  ,
double  ,
double  = -1.,
pair< int, bool >  = pair<int,bool>(),
pair< int, bool >  = pair<int,bool>() 
)
inlinevirtual

Return the value of the coupling that should be used for this branching. Note that the last input allows easy access to the PS evolution variable. return values -1 –> Coupling value not defined. double > 0 –> Value to be used for this branching.

Return coupling. Set up such the argument is NOT RESCALED in as2Pi function - rather guarantee that INPUT pT2/scale has desired value.

Reimplemented from DireSplitting.

Reimplemented in Dire_fsr_ew_H2GG, Dire_fsr_ew_H2AA, DireSplittingU1new, DireSplittingEW, and DireSplittingQED.

virtual int couplingType ( int  ,
int   
)
inlinevirtual

Return an identifier for the interaction that causes the branching. return values -1 –> Type not defined. 1 –> QCD splitting (i.e. proportional to alphaS) 2 –> QED splitting (i.e. proportional to alphaEM) 3 –> EW splitting (i.e. proportional to sinThetaW) 4 –> Yukawa splitting (i.e. proportional to y)

Reimplemented from DireSplitting.

Reimplemented in Dire_fsr_ew_H2GG, Dire_fsr_ew_H2AA, DireSplittingU1new, DireSplittingEW, and DireSplittingQED.

int findCol ( int  col,
vector< int >  iExc,
const Event event,
int  type 
)

Search event record for matching colour & anticolour

Skip if this index is excluded.

Search event record for matching colour & anticolour

Skip if this index is excluded.

Check incoming

if no matching colour / anticolour has been found, return false

double getJacobian ( const Event state = Event(),
PartonSystems partonSystems = 0 
)
virtual

Functions that allow different ordering variables for emissions. Note: Only works after splitInfo has been properly filled.

Read all splitting variables.

Final-final jacobian.

Recalculate the kinematicaly available dipole mass.

Pick remaining variables for 1->3 splitting.

Calculate CS variables and scaled masses.

Calculate Jacobian.

Jacobian for 1->3 splittings, in CS variables.

Jacobian for competing steps, i.e. applied to over-all splitting rate.

Additional jacobian for non-competing steps.

Additional factor from massive propagator.

Done.

Final-initial jacobian

Recalculate the kinematicaly available dipole mass.

Get momentum of other beam, since this might be needed to calculate the Jacobian.

Recalculate the kinematicaly available dipole mass. Calculate CS variables.

Jacobian for 1->2 splittings, in CS variables.

Jacobian for 1->3 splittings, in CS variables.

Jacobian for competing steps, i.e. applied to over-all splitting rate.

Calculate the partonic eCM before the splitting.

Now construct the new recoiler momentum.

Calculate the partonic eCM after the splitting.

Calculate Jacobian.

Additional jacobian for non-competing steps.

Extra correction from massless to massive propagator.

Initial-final jacobian

Pick remaining variables for 1->3 splitting.

Get momentum of other beam, since this might be needed to calculate the Jacobian.

Jacobian for 1->3 splittings, in CS variables.

Construnct the new initial state momentum, as needed to calculate the Jacobian.

sHat after emission depends on the recoil scheme if the incoming particles have non-zero mass. Local scheme.

Get transverse and parallel vectors.

Calculate derived variables.

Construct radiator after branching.

Now get changed eCM.

Global scheme.

Construct radiator after branching. Simple massless case.

Get dipole 4-momentum.

Calculate derived variables.

Now construct recoiler in lab frame.

Construct left-over dipole momentum by momentum conservation.

Set up kT vector by using two perpendicular four-vectors.

Construct new emission momentum.

Contruct radiator momentum by momentum conservation.

Now get changed eCM.

Now calculate Jacobian.

Additional jacobian for non-competing steps.

Additional factor from massive propagator.

Multiply with Jacobian.

Initial-initial jacobian

Pick remaining variables for 1->3 splitting.

Jacobian for 1->3 splittings, in CS variables.

Calculate Jacobian.

Additional factor from massive propagator.

Reimplemented from DireSplitting.

double getNF ( double  pT2)

AUXILIARY FUNCTIONS.

Auxiliary function to get number of flavours.

Get current number of flavours.

unordered_map< string, double > getPhasespaceVars ( const Event state = Event(),
PartonSystems = 0 
)
virtual

Function to convert ordering variables etc. to the phase space variables pT2 (in Dire default definition), z (in Dire default definition), sai (in Dire default definition) and xa (in Dire default definition).

Read all splitting variables.

Now construct Bjorken-x of initial-state after branching, as is necessary to attach PDF ratios.

Final-initial

Recalculate the kinematicaly available dipole mass.

Recalculate the kinematicaly available dipole mass. Calculate CS variables.

Initial-final

Calculate CS variables.

Initial-initial

Adjust the dipole kinematical mass to accomodate masses after branching.

Calculate CS variables.

1->3 splittings, in CS variables.

Pick remaining variables for 1->3 splitting.

Done.

Reimplemented from DireSplitting.

void init ( )

Colour factors.

Parameters of alphaS.

Initialize alphaS.

Set up alphaS

virtual vector<int> radAndEmt ( int  ,
int   
)
inlinevirtual

Return a pair of ids for the radiator and emission after the splitting.

Reimplemented from DireSplitting.

Reimplemented in Dire_fsr_qcd_G2Gqqbar, Dire_fsr_u1new_A2FF, Dire_fsr_qed_A2FF, Dire_fsr_qcd_Q2Qqqbar, Dire_fsr_qcd_G2GGG, Dire_fsr_qcd_Q2QGG, DireSplittingQED, DireSplittingU1new, and DireSplittingEW.

double softRescaleDiff ( int  order,
double  pT2,
double  renormMultFacNow = -1. 
)

Get alphaS and number of flavours, attach cusp factors.

No inclusive cusp rescaling for differential NLO.

double softRescaleInt ( int  order)

No inclusive cusp rescaling for differential NLO.

Member Data Documentation

int asSchemeISR

Function determining the argument of the running coupling based on the splitting variables. Current default: Evolution variable. DireTimes:alphasScheme = 0 : default DireTimes:alphasScheme = 1 : collinear kinematic kT for all splittings involving incoming particles. DireTimes:alphasScheme = 2 : eikonal factor sij*sjk/sik


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