PYTHIA  8.311
Public Member Functions | List of all members
BrancherEmitRF Class Reference

#include <VinciaFSR.h>

Inheritance diagram for BrancherEmitRF:
BrancherRF Brancher

Public Member Functions

 BrancherEmitRF (int iSysIn, Event &event, bool sectorShowerIn, vector< int > allIn, unsigned int posResIn, unsigned int posFIn, double q2cut, ZetaGeneratorSet *zetaGenSet)
 Constructor. More...
 
void initBrancher (Event &event, vector< int > allIn, unsigned int posResIn, unsigned int posFIn, double q2cut, ZetaGeneratorSet *zetaGenSet)
 Method to initialise data members specific to BrancherEmitRF. More...
 
void initRF (Event &event, vector< int > allIn, unsigned int posResIn, unsigned int posFIn, double q2cut, ZetaGeneratorSet *zetaGenSet) override
 RF branchers have a different initBrancher structure.
 
vector< double > setmPostVec () override
 Setter methods. More...
 
void setidPost () override
 Set post-branching IDs and masses. Base class is for gluon emission. More...
 
void setStatPost () override
 
bool getNewParticles (Event &event, vector< Vec4 > momIn, vector< int > hIn, vector< Particle > &pNew, Rndm *rndmPtr, VinciaColour *) override
 Generic method, assumes setter methods called earlier. More...
 
double genQ2 (int evTypeIn, double q2MaxNow, Rndm *rndmPtr, Logger *loggerPtr, const EvolutionWindow *evWindowPtrIn, double colFac, vector< double > headroomIn, vector< double > enhanceFacIn, int verboseIn) override
 Generate a new Q2 scale. More...
 
bool genInvariants (vector< double > &invariants, Rndm *rndmPtr, int verboseIn, Logger *loggerPtr) override
 
double pAccept (const double, Logger *loggerPtr, int verboseIn) override
 Compute antPhys/antTrial, given antPhys. More...
 
- Public Member Functions inherited from BrancherRF
 BrancherRF (int iSysIn, Event &event, bool sectorShowerIn, vector< int > allIn)
 Base class constructor = inherited from Brancher.
 
void resetRF (int iSysIn, Event &event, vector< int > allIn, unsigned int posResIn, unsigned int posFIn, double q2cut, ZetaGeneratorSet *zetaGenSet)
 Reset the brancher.
 
int iNew ()
 Setter methods that are common for all derived RF classes. More...
 
void setMaps (int sizeOld)
 Method to make mothers2daughters and daughters2mothers pairs. More...
 
int posR () const
 Return position of resonance and colour-connected final-state parton.
 
int posF () const
 
double getQ2Max (int evType)
 Return maximum Q2.
 
- 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 int idNew () const
 
virtual double mNew () const
 
virtual void list (string header="none", bool withLegend=true) const
 Simple print utility, showing the contents of the Brancher. More...
 
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 Member Functions inherited from BrancherRF
double getsAK (double mA, double mK, double mAK)
 Protected helper methods for internal class use.
 
double calcQ2Max (double mA, double mAK, double mK)
 
bool vetoPhSpPoint (const vector< double > &invariants, int verboseIn)
 Veto point if outside available phase space. More...
 
- Protected Attributes inherited from BrancherRF
unsigned int posRes {}
 
unsigned int posFinal {}
 
double mRes {}
 Mass of resonance.
 
double mFinal {}
 Mass of final state parton in antennae.
 
double mRecoilers {}
 
double sAK {}
 
double q2MaxSav {}
 Max Q2 for this brancher, still an overestimate.
 
double colFacSav {}
 
bool colFlowRtoF {}
 
map< unsigned int, unsigned int > posNewtoOld {}
 
- 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

BrancherEmitRF class for storing information on antennae between a coloured resonance and final state parton, and generating a new emission.

Constructor & Destructor Documentation

BrancherEmitRF ( int  iSysIn,
Event event,
bool  sectorShowerIn,
vector< int >  allIn,
unsigned int  posResIn,
unsigned int  posFIn,
double  q2cut,
ZetaGeneratorSet zetaGenSet 
)
inline

Constructor.

Initialise derived-class members and set up trial generator.

Member Function Documentation

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

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

Initialise and check we have a generated q2.

Veto if the point is 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 
)
overridevirtual

Generate a new Q2 scale.

Save 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 rndmPtr,
VinciaColour  
)
overridevirtual

Generic method, assumes setter methods called earlier.

Initialize.

Check everything set.

Generate new colour tag.

New tag can't be same colour as neighbour.

Now populate particle vector.

Set mass and colours (we have repurposed mPost for antenna function mass scales). This is new emission.

Skip the resonance.

Set other pre-determined particle properties.

Implements Brancher.

void initBrancher ( Event event,
vector< int >  allIn,
unsigned int  posResIn,
unsigned int  posFIn,
double  q2cut,
ZetaGeneratorSet zetaGenSet 
)

Method to initialise data members specific to BrancherEmitRF.

BrancherEmitRF class for storing information on antennae between a coloured resonance and final state parton, and generating a new emission.

Get Pythia indices of res and final.

Is colour flow from R to F, or from F to R?

Check if R and F swapped (explicit way to force reverse colour flow e.g., for second antenna in gluino -> gluon neutralino.)

Extract the momenta of the (set of) recoiler(s).

This is not necesssarily p(res). In the case where one particle always recieves the recoil e.g. W in t->bWX it is p_t -p_X.

Calculate the masses.

Calculate q2max.

TODO: swapped should be redundant since save posRes, posFinal. R = Q.

F = Q.

F = g.

Some other final state - don't know what to do with this yet!

Some other resonance. Don't know what to do with this yet!

Set up and initialise trial generator.

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

Compute antPhys/antTrial, given antPhys.

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

Reimplemented from Brancher.

void setidPost ( )
overridevirtual

Set post-branching IDs and masses. Base class is for gluon emission.

Insert gluon in second position.

Reimplemented from Brancher.

vector< double > setmPostVec ( )
overridevirtual

Setter methods.

ma

mj

mk

mAK

Reimplemented from Brancher.


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