PYTHIA  8.303
Public Member Functions | Public Attributes | List of all members
BranchElementalISR Class Reference

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 getSystem ()
 
void clearTrialGenerators ()
 Function to reset all trial generators for this branch elemental.
 
void addTrialGenerator (int iAntPhysIn, 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.
 
int getPhysIndex (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< int > iAntPhysSav {}
 
vector< int > nShouldRescue {}
 
vector< int > trialFlavSav {}
 

Detailed Description

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

Member Function Documentation

void addTrialGenerator ( int  iAntPhysIn,
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.

void renewTrial ( int  iTrial = -1)
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.


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