PYTHIA  8.303
Public Member Functions | List of all members
QEDemitSystem Class Reference

Class for a QED emission system. More...

#include <VinciaQED.h>

Public Member Functions

void initPtr (Info *infoPtrIn, VinciaCommon *vinComPtrIn)
 Initialize pointers. More...
 
void init (BeamParticle *beamAPtrIn, BeamParticle *beamBPtrIn, int verboseIn)
 Initialize settings for current run. More...
 
void prepare (int iSysIn, Event &event, double q2CutIn, bool isBelowHadIn, vector< double > evolutionWindowsIn, AlphaEM alIn)
 Prepare a QCD system. More...
 
double aTrial (QEDemitElemental *ele, double sxj, double syj, double sxy)
 Trial antenna function. More...
 
double aPhys (QEDemitElemental *ele, double sxj, double syj, double sxy)
 Physical antenna function. More...
 
double PDFratio (bool isA, double eOld, double eNew, int id, double Qt2)
 Ratio between PDFs.
 
void buildSystem (Event &event)
 Set up antenna pairing for incoherent mode. More...
 
double generateTrialScale (Event &event, double q2Start)
 Generate a trial scale. More...
 
bool checkVeto (Event &event)
 Check the veto. More...
 
void print ()
 Print the QED emit internal system.
 

Detailed Description

Class for a QED emission system.

Member Function Documentation

double aPhys ( QEDemitElemental ele,
double  sxj,
double  syj,
double  sxy 
)

Physical antenna function.

FF.

Eikonal.

Check if x is a W or a fermion.

Check if y is a W or a fermion.

FF (dipole).

IF.

Eikonal + initial state fermion. The initial state is never a W and has no mass.

II.

Eikonal + fermion.

RF.

Eikonal.

Check if x is a W or a fermion

Check if y is a W or a fermion.

double aTrial ( QEDemitElemental ele,
double  sxj,
double  syj,
double  sxy 
)

Trial antenna function.

FF.

IF.

II.

RF.

void buildSystem ( Event event)

Set up antenna pairing for incoherent mode.

Clear previous antennae.

Construct hungarian algorithm solver.

Below hadronization scale.

Find all (final-state) quarks and leptons.

For now, ignore quarks that are connected to junctions. In principle, we could add them, and any antijunction dittos.

Currently no showering below hadronisation scale if no leptons.

Sort all leptons into maps.

Find all colour strings.

Get initial quark and add to pseudo particle.

Find next colour-connected particle.

Get charge of pseudoparticle and sort into maps.

Strings with only quarks are total charge 1 or -1.

Strings with a diquark can be charge 2 or -2. Add these twice to list of recoilers.

If no leptons and overall hadronic system has charge = 0, do nothing.

Solve assignment problem.

Only keep antennae with at least one lepton.

If two leptons, add regular antenna.

If lepton + pseudoparticle, add dipole.

Above hadronization scale.

Collect relevant particles.

Catch cases (like hadron->partons decays) where an explicit charged mother may not have been added to the partonSystem as a resonance.

Guess that the decaying particle is mother of first parton.

Check daughter list consistent with whole system.

First check charge conservation.

Pairing algorithm.

Separate particles into charge types.

Get index in pos/negChargeTypes.

Flip charge contribution of initial state.

Clear list of charged particles.

Solve assignment problems.

Set up matrix of weights.

If either index is out of range. Add some random large weight.

Find solution.

Add pairings to list of emitElementals. Add unpaired particles to index list for coherent algorithm.

Create eleMat.

Compute overestimate constant.

bool checkVeto ( Event event)

Check the veto.

Mark trial as used.

Pre- and post-branching momenta.

Global recoil momenta.

II.

Pre-branching momenta.

Collect the recoiling final state particles.

Kinematics.

Check if new energies don't exceed hadronic maxima.

IF.

Check phase space.

Pre-branching momenta.

Kinematics. (TODO: check if need for global kinematics map here).

Check if new energy doesn't exceed the hadronic maximum.

RF.

Check phase space.

Pre-branching momenta.

Collect the recoiling final state particles.

Do kinematics.

Replace momenta with boosted counterpart.

Check if nothing got messed up along the way.

FF>

Check phase space.

Pre-branching momenta.

Kinematics.

Dipole.

Construct recoiler momentum.

Check phase space.

Pre-branching momenta.

Kinematics.

Compute veto probability.

Add alpha veto.

Add antenna veto. Simple veto for eleTrial in eleVec.

Note that charge factor is included at generation step.

Construct full branching kernel for eleTrial in eleMat. Perform sector check too.

Build map of momenta & invariants with new photon.

Loop over the first column in eleMat.

If the particle is in eleTrial, use shower variables.

Otherwise get the momenta elsewhere

If global recoil, get them from pRec.

Find index.

Otherwise use momentum from event.

Then build aPhys.

Sector veto.

Add aPhysNew to aPhys.

Set aPhys to zeto if below zero.

Check overestimate.

Add antenna veto.

Add PDF veto.

Perform veto.

Accepted, now fix the event. Different procedures for dipole and antennae.

If it is a dipole.

Set up new particles.

Add to event.

Update parton system.

Set old particles to negative.

Update mother-daughter structure.

Boost momenta and update.

Copy the recoiler.

Change the momentum.

Update parton system.

Set up new particles.

Add branched particles to event.

Update parton system.

Set old particles to negative.

Update event for global recoil.

Copy the recoiler.

Change the momentum.

Update parton system.

If it is an antenna

Set up new particles.

Add branched particles to event.

Update parton system.

Set old particles to negative.

Update everything.

Update beam daughters.

Update event for global recoil.

Copy the recoiler.

Change the momentum.

Update parton system.

Update beams.

Check that x is always a with pz>0.

Update beam daughter.

Update parton system.

Update beams.

Update event pointers.

Fix sHat for parton system.

double generateTrialScale ( Event event,
double  q2Start 
)

Generate a trial scale.

Check if qTrial is below the cutoff.

Find lower value from evolution window.

Generate a scale.

Pull scales from eleVec.

Pull scales from eleMat.

Check if evolution window was crossed.

Reset all trials.

Otherwise return trial scale.

void init ( BeamParticle beamAPtrIn,
BeamParticle beamBPtrIn,
int  verboseIn 
)

Initialize settings for current run.

Verbose setting.

Set beam pointers.

Settings.

Constants.

Initialized.

void initPtr ( Info infoPtrIn,
VinciaCommon vinComPtrIn 
)

Initialize pointers.

Class for a QED emission system.

Initialize the pointers.

void prepare ( int  iSysIn,
Event event,
double  q2CutIn,
bool  isBelowHadIn,
vector< double >  evolutionWindowsIn,
AlphaEM  alIn 
)

Prepare a QCD system.

Prepare a QED system.

Verbose output.

Input.

Build internal system.


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