PYTHIA  8.312
Public Member Functions | Public Attributes | List of all members
HistoryNode Class Reference

Class for a single step in the history of a process. More...

#include <VinciaHistory.h>

Public Member Functions

 HistoryNode ()
 Constructors.
 
 HistoryNode (Event &stateIn, vector< vector< int > > chainsIn, double scaleIn)
 
void initPtr (VinciaCommon *vinComPtrIn, Resolution *resPtrIn, AntennaSetFSR *antSetPtrIn)
 Methods.
 
int getNClusterings (shared_ptr< VinciaMergingHooks > vinMergingHooksPtr, Logger *loggerPtr, int verboseIn)
 Set clusterList. More...
 
void setClusterList (shared_ptr< VinciaMergingHooks > vinMergingHooksPtr, Logger *loggerPtr, int verboseIn)
 Find all possible clusterings for current event. More...
 
bool cluster (HistoryNode &nodeClus, Logger *loggerPtr, int verboseIn)
 Perform the clusterings according to the resolution criterion. More...
 
double xA () const
 Get energy fractions (used in PDF ratios).
 
double xB () const
 
int idA () const
 Get flavours of beams (used in PDF ratios).
 
int idB () const
 
int colTypeA () const
 Get colour types of beams (used in PDF ratios).
 
int colTypeB () const
 
double getEvolNow () const
 Get evolution scale (used in trial shower).
 
void setEvolScale (double scaleIn)
 Setter methods.
 

Public Attributes

Event state
 Current state.
 
bool hasRes
 Resonance info.
 
int iRes
 
int idRes
 
int nMinQQbar
 Minimal number of qqbar pairs.
 
vector< vector< int > > clusterableChains
 List of unclusterable lists of colour-connected partons.
 
VinciaClustering lastClustering
 Information corresponding to the last clustering.
 

Detailed Description

Class for a single step in the history of a process.

Member Function Documentation

bool cluster ( HistoryNode nodeNext,
Logger loggerPtrIn,
int  verboseIn 
)

Perform the clusterings according to the resolution criterion.

Do the clustering in cluster list that corresponds to the maximal resolution criterion.

Check for clusterings.

1) Fetch the VinciaClustering with minimal resolution criterion.

2) Perform the clustering on event.

Find the evolution scale.

Save.

Done.

int getNClusterings ( shared_ptr< VinciaMergingHooks vinMergingHooksPtr,
Logger loggerPtr,
int  verboseIn 
)

Set clusterList.

The HistoryNode class.

Return how many clusterings there are.

Find all possible clusterings.

Return the number we found.

void setClusterList ( shared_ptr< VinciaMergingHooks vinMergingHooksPtr,
Logger loggerPtr,
int  verboseIn 
)

Find all possible clusterings for current event.

Print state to be clustered.

We can only have a single clusterable chain for resonances.

For hard process in VBF, we need at least two (beam) chains.

Loop over all chains.

For VBF, need one quark pair per line.

Fetch current chain and check whether we want to consider it.

If this chain has less than three particles, nothing more to be done.

Find candidate clusterings and qqbar pairs.

Count quarks and antiquarks in this chain.

Loop over particles in current chain.

Fetch daughters of this clustering.

Don't cluster emissions into the initial state...

Set information about daughters (masses and invariants).

Make sure we only add sensible clusterings to the list.

...but include colour partners of initial-state quarks in GXConv...

Fetch colour connection.

Check colour connection: 1 and 2 must not be connected, 2 and 3 must be connected.

Convention is that j is always in the final state, so we swap the order of dau1 and dau2.

Make sure we only add sensible clusterings to the list.

Check colour connection: 2 and 3 must not be connected, 1 and 2 must be connected.

Convention is that j is always in the final state, so we swap the order of dau2 and dau3.

Make sure we only add sensible clusterings to the list.

...and colour partners of initial-state gluons in QXConv.

If both colour-connected partners are quarks, we either encountered it already or will encounter it later.

Convention is that j is always in the final state, so we swap the order of dau1 and dau2.

Make sure we only add sensible clusterings to the list.

Convention is that j is always in the final state, so we swap the order of dau3 and dau2.

Make sure we only add sensible clusterings to the list.

Now loop over candidate clusterings.

Skip clusterings of resonances.

Find all antennae that can produce this post-branching state.

Loop over all histories for this post-branching state and save corresponding clusterings.

Fetch information about antenna function.

Check whether we are allowed to do this clustering.

Is FF on?

Is RF on?

For now warn if we do RF clusterings.

Is II on?

Is IF on?

Check if we have enough quarks left.

Initialise vectors of invariants and masses.

Calculate sector resolution variable for this clustering.

If nothing went wrong, save in cluster list.


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