PYTHIA  8.303
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, vector< int > iIn)
 Create branch elemental for antenna(e) with parents in iIn.
 
 BrancherSplitFF (int iSysIn, Event &event, int i0In, int i1In, bool col2acol)
 
virtual ~BrancherSplitFF ()
 Destructor.
 
virtual void init ()
 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, 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)
 
virtual double pAccept (const double antPhys, int)
 
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 *, Colour *)
 Generic getter method. Assumes setter methods called earlier. More...
 
- Public Member Functions inherited from Brancher
 Brancher ()
 Default constructor.
 
 Brancher (int iSysIn, Event &event, vector< int > iIn)
 Create branch elemental for antenna(e) with arbitrary parents in iIn.
 
 Brancher (int iSysIn, Event &event, int i0In, int i1In, int i2In=0)
 Wrapper for simple 2- (or 3-) parton antennae.
 
virtual ~Brancher ()
 Destructor.
 
virtual 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
 
int iAntPhys () const
 
virtual double getpTscale ()
 Compute pT scale of trial branching.
 
virtual double getXj ()
 Return Xj.
 
virtual void list (string header="none") 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 ()
 
virtual int posF ()
 
int 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
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
 Data members for storing information about generated trial branching.
 
double headroomSav
 
double enhanceSav
 
double q2BegSav
 
double q2NewSav
 
vector< double > invariantsSav
 
int branchType
 
int iAntSav
 
bool swapped
 If true, flip identities of A and B.
 

Detailed Description

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

Constructor & Destructor Documentation

BrancherSplitFF ( int  iSysIn,
Event event,
int  i0In,
int  i1In,
bool  col2acol 
)
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).

Member Function Documentation

bool genInvariants ( vector< double > &  invariants,
Rndm rndmPtr,
int  verboseIn 
)
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.

Zeta is uniform in [0,1].

Here i=q, j=qbar is always the case, but change def for sjk, sik depending on who is colour connected to the recoiler. G anticolour side (XG antenna): pT = pT(qbar) = pTj; zeta = yjk + mu2q.

G colour side (GX antenna): pT = pT(q) = pTi; zeta = yik + mu2q.

Element 0 is the antenna sAnt.

Save the generated invariants (for future query and use by pAccept).

Veto if point outside the available phase space.

Reimplemented from Brancher.

double genQ2 ( int  evTypeIn,
double  Q2MaxNow,
Rndm rndmPtr,
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.

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

Set flag that this call will produce a saved trial.

Overall normalisation factor common to all trial integrals.

pT evolution.

Constant trial alphaS.

Running trial alphaS.

Select flavour.

Set quark masses.

Save corresponding headroom and enhancement factors.

Implements Brancher.

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

Generic getter method. Assumes setter methods called earlier.

Initialize.

Check everything set.

Now populate particle vector.

Implements Brancher.

void init ( )
virtual

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.

Implements Brancher.

virtual bool isXG ( ) const
inlinevirtual

Method to check if this antenna corresponds to splitting off the colour (true) or anticolour side (false) of the parent gluon.

double pAccept ( const double  antPhys,
int   
)
virtual

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

Evaluate trial function with headroom factor.

pT evolution (note evType =1 for pTj, evType -1 for pTi).

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: