PYTHIA  8.311
Public Member Functions | List of all members
VinciaHistory Class Reference

History class for the Vincia shower. More...

#include <VinciaHistory.h>

Public Member Functions

 VinciaHistory (Event &stateIn, BeamParticle *beamAPtrIn, BeamParticle *beamBPtrIn, MergingHooksPtr mergingHooksPtrIn, PartonLevel *trialPartonLevelPtrIn, ParticleData *particleDataPtrIn, Info *infoPtrIn)
 Constructor. More...
 
bool isValid ()
 Check if a valid history was found.
 
bool isBelowMS ()
 Check if history failed merging scale cut.
 
double getWeightCKKWL ()
 Perform a trial shower and get the ckkwl weight. More...
 
int getNClusterSteps ()
 What was the multiplicity of this event? More...
 
double getRestartScale ()
 Get the shower starting scale. More...
 
bool hasNewProcess ()
 
Event getNewProcess ()
 
bool doAbort ()
 

Detailed Description

History class for the Vincia shower.

Constructor & Destructor Documentation

VinciaHistory ( Event stateIn,
BeamParticle beamAPtrIn,
BeamParticle beamBPtrIn,
MergingHooksPtr  mergingHooksPtrIn,
PartonLevel trialPartonLevelPtrIn,
ParticleData particleDataPtrIn,
Info infoPtrIn 
)

Constructor.

The VinciaHistory class.

Constructor.

Save copies of pointers to Pythia objects.

Cast input pointers as vincia objects.

Fetch AntennaSetFSR, MECs, VinciaCommon, and Resolution pointers.

Get verbosity.

Save event.

Copy beams.

Set the merging scale (cutoff to ME generator).

Set whether the merging scale is set in terms of the evolution variable.

Set the maximum multiplicites of matrix-element generator.

Possible new hard process information.

Find all histories, but only save best.

Member Function Documentation

int getNClusterSteps ( )

What was the multiplicity of this event?

Return how many clusterings there are in our history (= number of additional emissions relative to Born config).

Loop over systems.

double getRestartScale ( )

Get the shower starting scale.

Return the scale at which to restart the parton shower.

Scale of new (MPI) emission.

Return the reconstructed scale of the last node.

Note: scale of first node gets set correctly in getStartScale().

Loop over systems and find lowest restart scale. TODO only use system 0 unless we use an actual resonance shower?

Merging scale. Should only be the last resort.

double getWeightCKKWL ( )

Perform a trial shower and get the ckkwl weight.

(Sudakov) weight from performing trial shower.

Initialise weight.

Communicate to Vincia that we are doing a trial shower.

Loop over systems.

Fetch shorthands for ME and Born node.

Communicate to Vincia whether this is a resonance system trial.

Set correct Born state for trial shower. Note: Born is last entry in history.

Get starting scale for trial shower.

Loop over nodes in history starting with Born. NB: last shower step starting from S_n will be performed in main shower.

Get end scale for trial shower.

Replace starting scale for next node.

Communicate end scale to merging hooks.

Perform a trial branching, get scale.

Check for abort.

Was it above the current scale?

Was this a new topology?

Veto this event.

Calculate PDF and alphaS ratios with next scale.

Replace starting scale for next node.

Finished loop over clustered states.

PDF ratio with factorisation scale.

For resonance systems also tell merging hooks.

Finished loop over systems.

Reset changed values to factory.

Got to here - event passes!

bool hasNewProcess ( )
inline

Should we overwrite the original event? E.g. if an MPI was generated.


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