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

#include <VinciaAntennaFunctions.h>

Public Member Functions

 MECs ()
 Constructor.
 
virtual ~MECs ()
 Destructor.
 
void initPtr (Info *infoPtrIn, ExternalMEsPtr mg5mesPtrIn, VinciaCommon *vinComPtrIn, Resolution *resPtrIn)
 Initialize pointers. More...
 
void initAntPtr (AntennaSetFSR *antFSRusr, AntennaSetISR *antISRusr)
 Initialize pointers to antenna sets.
 
void init ()
 Initialize. More...
 
bool prepare (const int iSys, Event &event)
 Function to return ME class (Born type) for a parton configuration. More...
 
bool polarise (const int iSys, Event &event, const bool force=false)
 Function to assign helicities to particles (using MEs). More...
 
bool polarise (vector< Particle > &state, const bool force=false)
 
bool isPolarised (int iSys, Event &event, bool checkAll=true)
 
AntennaFunctiongetAntFunPtrFSR (const enum AntFunType antFunType)
 Wrapper function to return a specific antenna function.
 
AntennaFunctionIXgetAntFunPtrISR (const enum AntFunType antFunType)
 
bool doMEC (const int iSys, const int nBranch)
 Function to determine if MECs are requested at this order for this system. More...
 
bool meAvailable (int iSys, const Event &event)
 Check whether we have a matrix element for this configuration. More...
 
bool meAvailable (const vector< Particle > &state)
 
double getME2 (const vector< Particle > &state, int nIn)
 Get squared matrix element.
 
double getME2 (int iSys, const Event &event)
 
double getMECSector (int iSys, const vector< Particle > &stateNow, const vector< Particle > &statePost, VinciaClustering &clus)
 Get matrix element correction factor for sector shower. More...
 
void hasBranched (int iSys)
 Communicate that the trial was accepted and we branched. More...
 
void needsNewME2 (int iSys, bool needsNewIn)
 
int sizeOutBorn (const int iSys)
 Return number of partons added since Born (as defined by prepare).
 
void setVerbose (const int verboseIn)
 Function to set level of verbose output.
 
void header ()
 Header. More...
 
bool isInitialised ()
 Is initalised?
 

Detailed Description

Class MECs, for computing matrix-element corrections to antenna functions.

Member Function Documentation

bool doMEC ( const int  iSys,
const int  nBranch 
)

Function to determine if MECs are requested at this order for this system.

If we switched off MECs completely, return here.

MECs in resonance decays.

MECs in Scattering Processes.

Hard processes.

MPI.

If nobody said yes by now, return the sad news.

double getMECSector ( int  iSys,
const vector< Particle > &  stateNow,
const vector< Particle > &  statePost,
VinciaClustering clus 
)

Get matrix element correction factor for sector shower.

Get matrix element correction factor.

VinciaConstants::DEBUG output.

Check whether we have matrix elements for the two states.

Check whether we are below IR cutoff.

If regularising this order, get matching weight.

Sanity checks.

Check whether we want to calculate a MEC.

Get number of incoming particles.

Get matrix element for post-branching state.

Sanity check.

Get matrix element for current state (only if state has changed since last matching).

Sanity check.

Calculate antenna function.

Sanity check.

Calculate colour weight. Just 1, when not matching at full colour.

Sanity check.

Calculate shower-subtracted matrix element correction. Note: just a simple ratio for the sector shower.

Calculate correction factor including matching weight.

void hasBranched ( int  iSys)

Communicate that the trial was accepted and we branched.

Upon branching, save last post-branching ME2.

TODO: Matrix element corrections for global shower? double getMECGlobal(const vector<Particle>& statePost, const VinciaClustering& clus, int nIn);

VinciaConstants::DEBUG print out.

The last post-branching ME2 is now the current ME2.

void header ( )

Header.

Print header information.

Front matter.

Setings.

Print MG5MEs reference.

void init ( )

Initialize.

MEC settings.

Some settings hardcoded for now.

Sanity checks. MECs currently not supported.

Initialise MG5 interface

TODO fix colour depth in MG5 interface.

Check if we wanted to do matching.

Abort. We should not try to do anything.

Set everything explicitly to negative values, but continue.

Pass MG5 and random number pointer to helicity sampler.

void initPtr ( Info infoPtrIn,
ExternalMEsPtr  mg5mesPtrIn,
VinciaCommon vinComPtrIn,
Resolution resPtrIn 
)

Initialize pointers.

Class MECs, for computing matrix-element corrections to antenna functions.

bool isPolarised ( int  iSys,
Event event,
bool  checkAll = true 
)

Check if state already has helicities. checkAll = true : only return true if all particles have helicities. checkAll = false : return true if any particle is polarised.

Check if all partons in state have helicities. Optionally check if any particle has helicity (checkAll = false).

bool meAvailable ( int  iSys,
const Event event 
)

Check whether we have a matrix element for this configuration.

Check whether we have a matrix element for a given configuration.

Make vectors of ID codes.

bool meAvailable ( const vector< Particle > &  state)

Make vectors of ID codes.

void needsNewME2 ( int  iSys,
bool  needsNewIn 
)
inline

Set whether we need to calculate a new matrix element for current configuration (e.g. due to an EW decay).

bool polarise ( const int  iSys,
Event event,
const bool  force = false 
)

Function to assign helicities to particles (using MEs).

First check if we should be doing anything at all.

Hard System.

Hardest MPI system

Further MPI systems just use unpolarised showers.

Resonance-Decay systems

Check if all particles in state already have assigned helicities. Else see if we can assign helicities.

Extract particles to use for ME evaluations (incoming first)

Check if we can polarise this state.

Update particles in event record: incoming.

Update particles in event record: outgoing.

Verbose output (showing polarisations).

All is well.

bool polarise ( vector< Particle > &  state,
const bool  force = false 
)

Check if helicity sampler can do this.

bool prepare ( const int  iSys,
Event event 
)

Function to return ME class (Born type) for a parton configuration.

Function to return ME class (Born type) for a parton configuration. Can be called from either of the ISR::prepare() or FSR::prepare() functions, or from the ISR::branch() or FSR::branch() functions. Returns >= 0 if there an ME for this configuration, associated with the (arbitrary) integer code label denoted by the return value. If return < 0 we don't have an ME / no ME should be used for this system.

If we switched off MECs completely, return here.

Initialise for no MECs, then check if MECs should be applied.

Check if MECs are switched on for this type of Born system.

Save Born multiplicity and number of QCD particles in Born.

When using relative matching scale, save hard scale.

Save that we do not yet have calculated any matrix elements.

Check whether MG5MEs interface has the process.


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