PYTHIA
8.312
|
#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< PseudoChain > | beamChains |
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. | |
A class for associating disconnected colour chains with either resonances or the hard QCD scattering. Once fixed, the sector history is deterministic.
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.
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
map<int, vector<PseudoChain> > resChains |
Members.
Chains that arise from the decay of a resonance.