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

#include <VinciaHistory.h>

Public Member Functions

 ColourFlow ()
 Constructor.
 
void addChain (int charge, int flavStart, int flavEnd, bool hasInitialIn)
 Methods. More...
 
void selectResChains (int index, int iorder, int id)
 Select a chains. More...
 
void selectBeamChains (int index, int iorder)
 Add beam chains. More...
 
bool initHard (map< int, map< int, int > > &countRes, shared_ptr< VinciaMergingHooks > vinMergingHooksPtr)
 Initialise from hard process information. More...
 
bool checkChains (int cIndex)
 Get information about current status of (pseudo)chains. More...
 
bool checkChains ()
 Check we have enough chains. More...
 
int getNChainsLeft ()
 Return number of unassigned chains.
 
int maxLength ()
 Return maximum length next pseudochain selection. More...
 
int minLength ()
 Return minimum length next pseudochain selection.
 
void print (bool printpsch=false)
 Print information about (pseudo)chains. More...
 

Public Attributes

map< int, vector< PseudoChain > > resChains
 Members. More...
 
vector< PseudoChainbeamChains
 Remaining list of ordered chains after resonances stripped off.
 
map< int, vector< PseudoChain > > pseudochains
 
map< int, vector< int > > chainToIndices
 
map< int, int > chainStartToFlav
 Map from chain to the flavour at the start or end of that chain.
 
map< int, int > chainEndToFlav
 
map< int, bool > hasInitial
 Keep track of chains which contain an initial state parton.
 
map< int, int > chainToCharge
 Keep track of charge information of chains.
 

Detailed Description

A class for associating disconnected colour chains with either resonances or the hard QCD scattering. Once fixed, the sector history is deterministic.

Member Function Documentation

void addChain ( int  charge,
int  flavStart,
int  flavEnd,
bool  hasInitialIn 
)

Methods.

The ColourFlow class.

Add or assign chains.

Method to initialise neutral(/plus/minus) chains.

Save info about this chain.

Index (to look up pseudochain). Base Index = 2^iChain.

ChargeIndex = 0,1,2,3.

Create a new pseudochain with a single entry.

Save this pseudochain using chargeIndex and baseIndex.

Increment counter.

Save id.

Keep track of indices.

Insert in all possible ways into existing pseudochains. (But skip this step if gluon loop).

Loop over all existing pseudochains.

Insert in all possible ways.

Did we create any new pseudochains?

Save as used.

Check which other chains were in this pseudochain.

Convert index to binary.

Odd at this power? ==> contains ichain

Go to next power.

End loop over existing pseudochains.

For flavour-changing chains, try to make new connections.

Loop over all existing chains.

Insert into new pseudochains in all possible ways.

Don't add a chain to a pseudochain that already contains it.

Did we create any new pseudochains?

Save as used.

Check which other chains were in this pseudochain.

Convert index to binary.

Odd at this power? ==> contains ichain

Go to next power.

End loop over existing pseudochains.

Save all pseudochain indices which this chain is in.

Done.

bool checkChains ( int  cIndex)

Get information about current status of (pseudo)chains.

Check we have enough chains.

bool checkChains ( )

Check we have enough chains.

How many still left to assign?

Do we have enough?

bool initHard ( map< int, map< int, int > > &  countRes,
shared_ptr< VinciaMergingHooks vinMergingHooksPtr 
)

Initialise from hard process information.

Get hadronically decaying resonances.

Count each type of resonance (need to know how many identical) and initialise resChains map.

int maxLength ( )

Return maximum length next pseudochain selection.

How many beam chains still to select.

void print ( bool  printpsch = false)

Print information about (pseudo)chains.

Print the colour flow.

void selectBeamChains ( int  index,
int  iorder 
)

Add beam chains.

Fetch the selected pseudochain.

Save selection.

Remove selected chains from list of available ones.

void selectResChains ( int  index,
int  iorder,
int  id 
)

Select a chains.

Fetch the selected pseudochain.

Save selection.

Update counters.

Remove selected chains from list of available ones.

Member Data Documentation

map<int,vector<int> > chainToIndices

Easy way to look up all pseudochains which contain a given chain. Map from chain number to pseudochain index.

map< int , vector< PseudoChain > > pseudochains

Maps to all viable combinations of chains (of each charge) from an index which depends on the identities of chains in it

  • will be empty when resChains and beamChains set.
map<int, vector<PseudoChain> > resChains

Members.

Chains that arise from the decay of a resonance.


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