PYTHIA
8.312
|
#include <VinciaCommon.h>
Public Member Functions | |
void | initPtr (Info *infoPtrIn) |
Initialize pointers (must be done before init). | |
bool | init () |
Initialize. More... | |
bool | colourise (int iSys, Event &event) |
vector< int > | colourSort (vector< Particle * >) |
Order a list of partons in colour sequence. More... | |
void | makeColourMaps (const int iSysIn, const Event &event, map< int, int > &indexOfAcol, map< int, int > &indexOfCol, vector< pair< int, int > > &antLC, const bool findFF, const bool findIX) |
Method to create LC colour map and list of LC antennae. More... | |
bool | inherit01 (double s01, double s12) |
Determine whether 01 or 12 inherit the colour tag from a parent. More... | |
void | setVerbose (int verboseIn) |
Set verbose level. | |
A class to store and process colour information, e.g. colour maps, reconnections, etc.
bool colourise | ( | int | iSys, |
Event & | event | ||
) |
Get translation map from ordinary Les Houches tags to antenna indices (tags always ending on [1-9] with gluons having non-identical colour and anticolour indices).
Map a list of particles with ordinary Les Houches colour tags into a new set of Les Houches colour tags with the last index running from 1-9.
Note on coloured resonances. These should have their colours defined by whatever system they were produced by, and should not be recoloured when decaying. This means that only colour lines for which both the colour AND the corresponding anticolour line are found inside the same system should be redefined (assuming the coloured resonance itself does not appear explicitly in its corresponding decay partonSystem.
Sanity checks.
Construct colour map and assign new tags.
Do not recolour decaying resonances (as they will already have been coloured when they were produced).
Reject assignments that would produce (subleading) singlet gluons.
Example: if startTag is 220-229, nextTagBase is 230.
Cross initial-state colours.
First time a tag is encountered, mark it negative -> one end found.
Ensure gluons have different col and acol indices.
Second time mark it positive -> both ends found
First time a tag is encountered, mark it negative -> one end found
Ensure gluons have different col and acol indices
Second time mark it positive -> both ends found
Update nextTagBase
Check if these assignments would produce any singlet gluons
Check for failure to find acceptable conf.
Update event.
Update max used colour tag.
Return successful.
vector< int > colourSort | ( | vector< Particle * > | partons | ) |
Order a list of partons in colour sequence.
Method to sort list of partons in Vincia colour order. Returns vector<int> with indices in following order: (1) colourless incoming particles (2) triplet-ngluon-antitriplet contractions (3) ngluon rings (4) colourless outgoing particles No specific order is imposed on the relative ordering inside each of the four classes.
Output vector (starts empty).
Shorthand for final-state parton multiplicities.
Find string endpoints and colour types of particles.
Definition of colType (classified by multiplet up to total charge p+q = 4). +- 1 : triplet (e.g., Red) [1,0] / [0,1] {quark, antidiquark} 2 : octet (e.g., R-Gbar) [1,1] { gluon, incoherent qqbar, partially coherent gluon-gluon eg R-(Bbar-B)-Gbar -> R-Gbar (no junction) or (R-B)-(Bbar-Gbar) -> Gbar-R (junction-antijunction)} +- 3 : sextet (e.g., 2 x Red) [2,0] / [0,2] {2 incoherent quarks} +- 4 : fifteen (e.g., R-R-Gbar) [2,1] / [1,2] {incoherent qg} +- 5 : decuplet (e.g., 3 x Red) [3,0] / [0,3] { 3 incoherent quarks / partially coherent gluon-gluon eg R-Gbar-R-Bbar -> R-R-R} 6 : vigintiseptet (e.g., 2 x R-Gbar) [2,2] {2 incoherent gluons} +- 7 : fifteen' (e.g., 4 x Red) [4,0] / [0,4] {4 incoherent quarks} +- 8 : vigintiquartet (e.g., R-R-R-Gbar) [3,1] / [1,3]
Store indices of anticolour partners.
Construct list of triplets (= starting points).
List of antitriplets.
List of octets.
Higher representations.
Colourless particles.
Now sort particles.
Keep looping until we have sorted all particles.
Start new piece (also add colourless particles at front and end).
Insert any incoming colourless particles at front of iSorted.
Triplet starting point (charge += 1).
Octet starting point if no triplets/sextets available.
Index of current starting parton.
Step to next parton in this chain.
Sanity check.
Catch close of gluon ring.
Step to next parton; end if not gluon (antiquark or IS quark).
Add to sorted list.
If endpoint reached, begin new chain.
Octet: continue chain and erase this octet from list.
Erase this endpoint from list.
End step to next parton.
Normal return.
bool inherit01 | ( | double | s01, |
double | s12 | ||
) |
Determine whether 01 or 12 inherit the colour tag from a parent.
Determine which of two antennae inherits the old colour tag after a branching. Default is that the largest invariant has the largest probability to inherit, with a few alternatives also implemented.
Initialization check.
Mode 0: Purely random.
Safety checks: small, or approximately equal s01, s12.
Inverted mode (smallest invariant inherits - should only be used for extreme variation checks).
Winner-takes-all mode.
bool init | ( | ) |
Initialize.
The VinciaColour class.
Initialize.
Sanity check.
Set verbosity level.
Set parameters. CR disabled in this version.
Sett initialization.
void makeColourMaps | ( | const int | iSysIn, |
const Event & | event, | ||
map< int, int > & | indexOfAcol, | ||
map< int, int > & | indexOfCol, | ||
vector< pair< int, int > > & | antLC, | ||
const bool | findFF, | ||
const bool | findIX | ||
) |
Method to create LC colour map and list of LC antennae.
Make colour maps and construct list of parton pairs that form QCD dipoles.
Loop over all parton systems.
Loop over a single parton system.
Save to colour maps.
Switch colours for initial partons.
Save colours (taking negative-index sextets into account).
Look for partner on colour side.
Look for partner on anticolour side.
Coloured parton first -> i2, i1 instead of i1, i2)
Allow for sextets: negative acol -> extra positive col.