PYTHIA
8.312
|
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 |
Settings * | settingsPtr |
ParticleData * | particleDataPtr |
Rndm * | rndmPtr |
BeamParticle * | beamAPtr |
BeamParticle * | beamBPtr |
CoupSM * | coupSMPtr |
Info * | infoPtr |
DireInfo * | direInfoPtr |
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< DireSpace > | isr |
shared_ptr< DireTimes > | fsr |
shared_ptr< DireTimes > | fsrDec |
multimap< double, OverheadInfo > | overhead_map |
Static Public Attributes | |
static const double | SMALL_TEVOL = 2.0 |
The SplittingQCD class. | |
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.
|
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.
|
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
|
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.
|
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
|
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.
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