PYTHIA  8.312
Public Member Functions | List of all members
BrancherSplitFF Class Reference

Class BrancherSplitFF, branch elemental for 2->3 gluon splittings. More...

#include <VinciaFSR.h>

Inheritance diagram for BrancherSplitFF:
Brancher

Public Member Functions

 BrancherSplitFF (int iSysIn, Event &event, bool sectorShowerIn, vector< int > iIn, ZetaGeneratorSet *zetaGenSet)
 Create branch elemental for antenna(e) with parents in iIn. More...
 
 BrancherSplitFF (int iSysIn, Event &event, bool sectorShowerIn, int iIn0, int iIn1, bool col2acol, ZetaGeneratorSet *zetaGenSet)
 
void initBrancher (ZetaGeneratorSet *zetaGenSet, bool col2acolIn=true)
 Method to initialise data members specific to BrancherSplitFF. More...
 
virtual bool isXG () const
 
virtual int idNew () const
 Flavour and mass of emitted particle.
 
virtual double mNew () const
 
double genQ2 (int evTypeIn, double q2MaxNow, Rndm *rndmPtr, Logger *loggerPtr, const EvolutionWindow *evWindowPtrIn, double colFac, vector< double > headroomIn, vector< double > enhanceFacIn, int verboseIn)
 Generate a new Q2 value . More...
 
virtual bool genInvariants (vector< double > &invariants, Rndm *rnmdPtr, int verboseIn, Logger *loggerPtr)
 
virtual double pAccept (const double antPhys, Logger *loggerPtr, int verboseIn)
 
double getQ2Max (int evType)
 Getter and setter methods.
 
virtual vector< double > setmPostVec ()
 
virtual void setidPost ()
 Set post-branching IDs and masses. Base class is for gluon emission.
 
virtual void setStatPost ()
 
virtual void setMaps (int sizeOld)
 
virtual bool getNewParticles (Event &event, vector< Vec4 > momIn, vector< int > hIn, vector< Particle > &pNew, Rndm *, VinciaColour *)
 Generic getter method. Assumes setter methods called earlier. More...
 
- Public Member Functions inherited from Brancher
 Brancher (int iSysIn, Event &event, bool sectorShowerIn, vector< int > iIn)
 Main base class constructor.
 
 Brancher (int iSysIn, Event &event, bool sectorShowerIn, int iIn0, int iIn1, int iIn2=0)
 Wrapper for 2- and 3-parton parents.
 
virtual ~Brancher ()
 Base class must have a virtual destructor.
 
void reset (int iSysIn, Event &event, vector< int > iIn)
 Reset (common functionality implemented in base class). More...
 
void reset (int iSysIn, Event &event, int i0In, int i1In, int i2In=0)
 Wrapper for simple 2- (or 3-) parton antennae.
 
int i0 () const
 Methods to get (explicit for up to 3 parents, otherwise just use iVec).
 
int i1 () const
 
int i2 () const
 
int iVec (unsigned int i) const
 
vector< int > iVec ()
 
int id0 () const
 
int id1 () const
 
int id2 () const
 
vector< int > idVec () const
 
int colType0 () const
 
int colType1 () const
 
int colType2 () const
 
vector< int > colTypeVec () const
 
int col0 () const
 
int col1 () const
 
int col2 () const
 
vector< int > colVec () const
 
int acol0 () const
 
int acol1 () const
 
int acol2 () const
 
vector< int > acolVec () const
 
int h0 () const
 
int h1 () const
 
int h2 () const
 
vector< int > hVec () const
 
double m0 () const
 
double m1 () const
 
double m2 () const
 
vector< double > mVec () const
 
vector< double > getmPostVec ()
 
int colTag ()
 
int system () const
 Methods to return saved/derived quantities.
 
double mAnt () const
 
double m2Ant () const
 
double sAnt () const
 
double kallenFac () const
 
double enhanceFac () const
 
double q2Trial () const
 
enum AntFunType antFunTypePhys () const
 
virtual double getpTscale ()
 Compute pT scale of trial branching.
 
virtual double getXj ()
 Return Xj.
 
virtual void list (string header="none", bool withLegend=true) const
 Simple print utility, showing the contents of the Brancher. More...
 
virtual int iNew ()
 Return index of new particle (slightly arbitrary choice for splittings).
 
virtual int posR () const
 
virtual int posF () const
 
virtual int getSector ()
 Return sector label.
 
enum BranchType getBranchType ()
 Return branch type.
 
bool isSwapped ()
 Check if swapped.
 
vector< double > getInvariants ()
 Return the saved invariants.
 
void resetEnhanceFac (const double enhanceIn)
 This method allows to reset enhanceFac if we do an accept/reject.
 
bool hasTrial () const
 
void needsNewTrial ()
 Method to mark new trial needed without erasing current one.
 
void eraseTrial ()
 Method to mark new trial needed and erase current one.
 

Additional Inherited Members

- Public Attributes inherited from Brancher
shared_ptr< TrialGeneratortrialGenPtr = {}
 Object to perform trial generation.
 
map< int, pair< int, int > > mothers2daughters
 Publicly accessible members for storing mother/daughter connections.
 
map< int, pair< int, int > > daughters2mothers
 
- Protected Attributes inherited from Brancher
int systemSav {}
 Data members for storing information about parent partons.
 
vector< int > iSav
 
vector< int > idSav
 
vector< int > colTypeSav
 
vector< int > hSav
 
vector< int > colSav
 
vector< int > acolSav
 
vector< int > idPostSav
 
vector< int > statPostSav
 
vector< double > mSav
 
vector< double > mPostSav
 
int colTagSav {}
 
int evTypeSav {}
 
const EvolutionWindowevWindowSav {}
 All alphaS information.
 
double mAntSav {}
 Saved antenna mass parameters.
 
double m2AntSav {}
 
double kallenFacSav {}
 
double sAntSav {}
 
bool hasTrialSav {false}
 Data members for storing information about generated trial branching.
 
double headroomSav {1.}
 
double enhanceSav {1.}
 
double q2BegSav {}
 
double q2NewSav {}
 
vector< double > invariantsSav
 
bool swapped {false}
 If true, flip identities of A and B.
 
bool sectorShower {}
 Parameters for the sector shower.
 
int iSectorWinner {}
 

Detailed Description

Class BrancherSplitFF, branch elemental for 2->3 gluon splittings.

Constructor & Destructor Documentation

BrancherSplitFF ( int  iSysIn,
Event event,
bool  sectorShowerIn,
vector< int >  iIn,
ZetaGeneratorSet zetaGenSet 
)
inline

Create branch elemental for antenna(e) with parents in iIn.

Initialise derived-class members and set up trial generator.

BrancherSplitFF ( int  iSysIn,
Event event,
bool  sectorShowerIn,
int  iIn0,
int  iIn1,
bool  col2acol,
ZetaGeneratorSet zetaGenSet 
)
inline

Wrapper to provide simple 2-parton systems as parents. Set if it is the anticolour or colour side of the gluon that participates in the antenna (used to decide pTj or pTi measure).

Initialise derived-class members and set up trial generator.

Member Function Documentation

bool genInvariants ( vector< double > &  invariants,
Rndm rndmPtr,
int  verboseIn,
Logger loggerPtr 
)
virtual

Generate complementary invariant(s) for saved trial scale for gluon splitting. Return false if no physical kinematics possible.

Clear output vector, and check if we have a sensible q2New scale.

pT evolution.

Here i=q, j=qbar is always the case, but change def for sjk, sik depending on who is colour connected to the recoiler.

Veto if point outside the available phase space.

Reimplemented from Brancher.

double genQ2 ( int  evTypeIn,
double  q2MaxNow,
Rndm rndmPtr,
Logger loggerPtr,
const EvolutionWindow evWindowPtrIn,
double  colFac,
vector< double >  headroomIn,
vector< double >  enhanceFacIn,
int  verboseIn 
)
virtual

Generate a new Q2 value .

Generate a new Q2 scale (collinear 1/(2q2) implementation) with constant trial alphaS.

Set current phase space limits and active sectors.

Initialise output value and save input parameters.

Total splitting weight summed over flavours

First check if there is any phase space open for this flavour

pT evolution.

Generate Q2 and save winning sector.

Select flavour.

Set quark masses.

Save corresponding headroom and enhancement factors.

Sanity checks.

Set flag that this call produces a saved trial.

Implements Brancher.

bool getNewParticles ( Event event,
vector< Vec4 momIn,
vector< int >  hIn,
vector< Particle > &  pNew,
Rndm ,
VinciaColour  
)
virtual

Generic getter method. Assumes setter methods called earlier.

Initialize.

Check everything set.

Now populate particle vector.

Implements Brancher.

void initBrancher ( ZetaGeneratorSet zetaGenSet,
bool  col2acolIn = true 
)

Method to initialise data members specific to BrancherSplitFF.

Class BrancherSplitFF, branch elemental for 2->3 gluon splittings.

Method to initialise data members specific to BrancherSplitFF.

virtual bool isXG ( ) const
inlinevirtual

Method to check if it is the colour (false) or anticolour (true) side of the gluon that is splitting, corresponding to the quark or antiquark being regarded as the emitted parton respectively.

double pAccept ( const double  antPhys,
Logger loggerPtr,
int  verboseIn 
)
virtual

Compute antPhys/antTrial for gluon splittings, given antPhys. Note, antPhys should be normalised to include charge and coupling factors.

pT evolution.

Reimplemented from Brancher.

void setMaps ( int  sizeOld)
virtual

For updating the children of existing parents.

For adding mothers of new children.

Reimplemented from Brancher.

vector< double > setmPostVec ( )
virtual

mi

mj

mk

Reimplemented from Brancher.


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