PYTHIA  8.303
Public Member Functions | Public Attributes | Protected Attributes | List of all members
Brancher Class Referenceabstract

#include <VinciaFSR.h>

Inheritance diagram for Brancher:
BrancherEmitFF BrancherEmitRF BrancherSplitFF BrancherSplitRF

Public Member Functions

 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 ()
 
virtual double getQ2Max (int)=0
 
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 void init ()=0
 Init (for functionality specific to derived classes).
 
virtual double genQ2 (int evTypeIn, double Q2MaxNow, Rndm *rndmPtr, const EvolutionWindow *evWindowPtrIn, double colFac, vector< double > headroomIn, vector< double > enhanceFacIn, int verboseIn)=0
 Generate a new Q2 scale.
 
virtual bool genInvariants (vector< double > &invariants, Rndm *, int)
 
virtual double pAccept (const double, int=0)
 
virtual double getpTscale ()
 Compute pT scale of trial branching.
 
virtual double getXj ()
 Return Xj.
 
virtual int idNew () const
 
virtual double mNew () const
 
virtual bool getNewParticles (Event &event, vector< Vec4 > momIn, vector< int > hIn, vector< Particle > &pNew, Rndm *rndmPtr, Colour *colourPtr)=0
 Return new particles, must be implemented by derived class.
 
virtual void list (string header="none") const
 Simple print utility, showing the contents of the Brancher. More...
 
virtual void setidPost ()
 Set post-branching IDs and masses. Base class is for gluon emission.
 
virtual vector< double > setmPostVec ()
 
virtual void setStatPost ()
 
virtual void setMaps (int)
 
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.
 

Public Attributes

map< int, pair< int, int > > mothers2daughters
 Publicly accessible members for storing mother/daughter connections.
 
map< int, pair< int, int > > daughters2mothers
 

Protected Attributes

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

The Brancher class, base class containing a generic set of "parent partons" as well as virtual methods for generating trial branchings.

Member Function Documentation

virtual bool genInvariants ( vector< double > &  invariants,
Rndm ,
int   
)
inlinevirtual

Generate complementary invariant(s) for saved trial. Return false if no physical kinematics possible. Base class returns false.

Reimplemented in BrancherSplitRF, BrancherEmitRF, BrancherSplitFF, and BrancherEmitFF.

virtual double getQ2Max ( int  )
pure virtual

Method to get maximum value of evolution scale for this brancher. Must be redefined in base classes.

Implemented in BrancherEmitRF, BrancherSplitFF, and BrancherEmitFF.

bool hasTrial ( ) const
inline

Method to see if a saved trial has been generated, and to erase memory of it.

virtual int idNew ( ) const
inlinevirtual

What kind of particle(s) are being created, e.g. return 21 for gluon emission, quark flavour for splitting, etc.

Reimplemented in BrancherSplitFF, and BrancherEmitFF.

void list ( string  header = "none") const
virtual

Simple print utility, showing the contents of the Brancher.

Simple print utility, showing the contents of the Brancher. Base class implementation allows for up to three explicit parents.

Check if we are asked to output a header.

virtual double pAccept ( const double  ,
int  = 0 
)
inlinevirtual

Compute antPhys/antTrial, given an input value for antPhys. Base class returns 0.

Reimplemented in BrancherSplitRF, BrancherEmitRF, BrancherSplitFF, and BrancherEmitFF.

virtual int posF ( )
inlinevirtual

Method returns pos of colour-connected daughter to resonance if there is one participating in decay, -1 otherwise.

Reimplemented in BrancherEmitRF.

virtual int posR ( )
inlinevirtual

Method returns pos of resonance if there is one participating in decay, -1 otherwise.

Reimplemented in BrancherEmitRF.

void reset ( int  iSysIn,
Event event,
vector< int >  iIn 
)
virtual

Reset (common functionality implemented in base class).

Reset.

The Brancher class, base class containing a generic set of "parent partons" as well as virtual methods for generating trial branchings.

Save info on parents and resize vectors.

Compute and store antenna invariant mass.

Massless parents: sIK = m2IK and kallenFac = 1.0.

Mass corrections to sAnt and kallenFac.

sIK = m2IK - m2I - m2K.

Phase-space correction non-unity if both parents massive. Note, so far only defined for 2-parton systems.

Call method to initialise variables in derived classes.

vector< double > setmPostVec ( )
virtual

mi

mj

mk

Reimplemented in BrancherSplitRF, BrancherEmitRF, and BrancherSplitFF.

Member Data Documentation

int branchType
protected

Find out which branching type we are doing. 1: QCD emission 2: QCD splitting 3: QED emission 4: QED splitting 5: QCD resonance emission

int iAntSav
protected

Indices of FF antenna functions. 0: iQQemitFF 1: iQGemitFF 2: iGQemitFF 3: iGGemitFF 4: iGXsplitFF 5: iQQemitRF 6: iQGemitRF 7: iXGsplitRF


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