PYTHIA
8.312
|
The BranchElementalISR class, container for 2 -> 3 trial branchings. More...
#include <VinciaISR.h>
Public Member Functions | |
BranchElementalISR ()=default | |
Constructors. | |
BranchElementalISR (int iSysIn, Event &event, int iOld1In, int iOld2In, int colIn, bool isVal1In, bool isVal2In) | |
void | reset (int iSysIn, Event &event, int i1In, int i2In, int colIn, bool isVal1In, bool isVal2In) |
Main method to initialize/reset a BranchElemental. More... | |
double | mAnt () const |
Antenna mass (negative if spacelike virtual). | |
double | m2Ant () const |
double | sAnt () const |
double | s12 () const |
Dot products of daughters. | |
double | s23 () const |
double | s13 () const |
bool | isII () const |
This is an II or an IF type. | |
bool | is1A () const |
Is 1 a side A (p+) guy (need to know for pdfs in IF). | |
bool | isVal1 () const |
Valence. | |
bool | isVal2 () const |
int | colType1 () const |
int | colType2 () const |
int | col () const |
int | geti1 () |
int | geti2 () |
int | getId1 () |
int | getId2 () |
int | getSystem () |
void | clearTrialGenerators () |
Function to reset all trial generators for this branch elemental. | |
void | addTrialGenerator (enum AntFunType antFunTypeIn, bool swapIn, TrialGeneratorISR *trialGenPtrIn) |
Add a trial generator to this BranchElemental. More... | |
void | addRescue (int iTrial) |
Add to and get rescue levels. | |
int | getNshouldRescue (int iTrial) |
void | resetRescue () |
int | nTrialGenerators () const |
Function to return number of trial generators for this antenna. | |
void | saveTrial (int iTrial, double qOld, double qTrial, double zMin=0., double zMax=0., double colFac=0., double alphaEff=0., double pdfRatio=0., int trialFlav=0, double extraMpdf=0., double headroom=1.0, double enhanceFac=1.0) |
Save a generated trial branching. | |
void | addPDF (int iTrial, double pdfRatio) |
Add the physical pdf ratio. | |
bool | genTrialInvariants (double &s1j, double &sj2, double eBeamUsed, int iTrial=-1) |
Generate invariants for saved branching. More... | |
int | getTrialIndex () const |
Get trial function index of winner. | |
bool | hasTrial (int iTrial) const |
Check if a saved trial exists for a particular trialGenerator. | |
bool | getIsSwapped (int iTrial=-1) const |
Get whether physical antenna is swapped. | |
enum AntFunType | antFunTypePhys (int iTrial=-1) const |
Get physical antenna function index of winner. | |
double | getTrialScale (int iTrial) const |
Get scale for a specific saved trial. | |
double | getTrialScale () const |
Get scale of winner. | |
double | getColFac (int iTrial=-1) |
Get colour factor. | |
double | getHeadroomFac (int iTrial=-1) |
Get headroom factor. | |
double | getEnhanceFac (int iTrial=-1) |
Get headroom factor. | |
double | getAlphaTrial (int iTrial=-1) |
Get alpha S. | |
double | getPDFratioTrial (int iTrial=-1) |
Get pdf ratio. | |
int | getTrialFlav (int iTrial=-1) |
For gluon conversions, get ID of quark flavour to convert to. | |
double | getPDFratioPhys (int iTrial=-1) |
Get pdf ratio. | |
double | getExtraMassPDFfactor (int iTrial=-1) |
Get the extra factor when getting rid of the heavy quarks. | |
void | renewTrial (int iTrial=-1) |
void | list (bool header=false, bool footer=false) const |
List function. More... | |
Public Attributes | |
int | i1sav {} |
Data storage members. | |
int | i2sav {} |
int | id1sav {} |
int | id2sav {} |
int | colType1sav {} |
int | colType2sav {} |
int | h1sav {} |
int | h2sav {} |
double | e1sav {} |
double | e2sav {} |
bool | isVal1sav {} |
bool | isVal2sav {} |
bool | isIIsav {} |
bool | is1Asav {} |
Particle | new1 {} |
Particle | new2 {} |
Particle | new3 {} |
int | colSav {} |
Colour, not obvious, since for e.g. gg -> H we have two II antennae. | |
int | system {0} |
System and counter for vetos. | |
int | nVeto {} |
int | nHull {} |
int | nHadr {} |
bool | forceSplittingSav {} |
We have to force a splitting (heavy quarks). | |
vector< TrialGeneratorISR * > | trialGenPtrsSav {} |
Trial Generators and properties of saved trials. | |
vector< double > | zMinSav {} |
vector< double > | zMaxSav {} |
vector< double > | colFacSav {} |
vector< double > | alphaSav {} |
vector< double > | physPDFratioSav {} |
vector< double > | trialPDFratioSav {} |
vector< double > | extraMassPDFfactorSav {} |
vector< double > | scaleSav {} |
vector< double > | scaleOldSav {} |
vector< double > | headroomSav {} |
vector< double > | enhanceFacSav {} |
vector< bool > | hasSavedTrial {} |
vector< bool > | isSwappedSav {} |
vector< enum AntFunType > | antFunTypePhysSav {} |
vector< int > | nShouldRescue {} |
vector< int > | trialFlavSav {} |
The BranchElementalISR class, container for 2 -> 3 trial branchings.
Input: i1In carries colour (or incoming anticolour) i2In carries anticolour (or incoming colour) colIn colour tag isVal1In (true if i1In is incoming and is a valence parton on its side/system) isVal2In (true if i2In is incoming and is a valence parton on its side/system) Internal storage for II: i1sav: whichever of i1In, i2In has positive pz i2sav: whichever of i1In, i2In has negative pz is1A : always true (i1sav always has positive pz) isII : true Internal storage for IF: i1sav: whichever of i1In, i2In is the initial-state leg i2sav: whichever of i1In, i2In is the final-state leg is1A : true if i1sav has positive pz, false if it has negative pz isII : false
void addTrialGenerator | ( | enum AntFunType | antFunTypeIn, |
bool | swapIn, | ||
TrialGeneratorISR * | trialGenPtrIn | ||
) |
Add a trial generator to this BranchElemental.
Add a trial generator to this branch elemental.
bool genTrialInvariants | ( | double & | s1j, |
double & | sj2, | ||
double | eBeamUsed, | ||
int | iTrial = -1 |
||
) |
Generate invariants for saved branching.
Automatically determine which trial function to use if -1 input.
Check physical phase space (note, this only checks massless hull) (Use absolute z value since negative z values are used to indicate swapped invariants for mD ordering).
Convert to s1j, sj2.
void list | ( | bool | header = false , |
bool | footer = false |
||
) | const |
List function.
Simple print utility, showing the contents of the ISRBranchElemental.
Instead of "I" for initial, print out "V" for valence, "S" for sea.
Helicities temporarily output as zero.
|
inline |
Flag to set if a saved trial should be ignored and a new one generated. Default value -1 : force all trials to renew.
void reset | ( | int | iSysIn, |
Event & | event, | ||
int | i1In, | ||
int | i2In, | ||
int | colIn, | ||
bool | isVal1In, | ||
bool | isVal2In | ||
) |
Main method to initialize/reset a BranchElemental.
The BranchElementalISR class, container for 2 -> 3 trial branchings.
Initialise / reset a branchelemental. See header for further definitions.
Save system.
Distinguish between II and IF types.
Make sure that for II 1 is the guy with p+ and 2 is the guy with p-. IF 1 is the initial guy and 2 is the final guy.
Valence.
Indices of parents.
Valence.
Indices of parents.
Distinguish between IF types: I on side A or B.
Compute and store antenna invariant mass.
Trial Generators.
Default antenna properties. 41 = incoming on spacelike main branch. Emission 43 = outgoing produced by a branching. 44 = outgoing shifted by a branching.
Set pointers.