PYTHIA  8.303
Public Member Functions | List of all members
ShowerMEsMadgraph Class Reference
Inheritance diagram for ShowerMEsMadgraph:
ShowerMEs

Public Member Functions

 ShowerMEsMadgraph ()
 Constructor.
 
 ~ShowerMEsMadgraph ()
 Destructor.
 
bool initVincia () override
 Initialise the Madgraph model, parameters, and couplings. More...
 
double me2Vincia (vector< Particle > state, int nIn) override
 Get the matrix element squared for a particle state. More...
 
bool hasProcessVincia (vector< int > idIn, vector< int > idOut, set< int > sChan) override
 Check if the process is available.
 
bool initDire (Info *, string card) override
 Dire methods. More...
 
bool isAvailableMEDire (vector< int > in, vector< int > out) override
 Check if a matrix element is available.
 
bool isAvailableMEDire (const Pythia8::Event &event) override
 Check if a matrix element is available.
 
double calcMEDire (const Pythia8::Event &event) override
 Calcuate the matrix element. More...
 
PY8MEs_namespace::PY8ME * getProcess (vector< int > idIn, vector< int > idOut, set< int > sChan)
 
- Public Member Functions inherited from ShowerMEs
 ShowerMEs ()=default
 Constructor.
 
virtual void initPtrVincia (Info *infoPtrIn, SusyLesHouches *slhaPtrIn, VinciaCommon *vinComPtrIn)
 The parton shower matrix-element interface. More...
 
virtual bool selectHelicitiesVincia (vector< Particle > &state, int nIn)
 Set helicities for a particle state. More...
 
virtual void setColourDepthVincia (int colourDepthIn)
 Set and get colour depth.
 
virtual int getColourDepthVincia ()
 
string makeLabelVincia (vector< int > &id, int nIn, bool convertToNames=false) const
 Convert a process label to a string, e.g. for printing to stdout. More...
 
virtual void setVerboseVincia (int verboseIn)
 Set verbosity level.
 
void fillIds (const Event &event, vector< int > &in, vector< int > &out) const
 Fill a vector of IDs. More...
 
void fillMoms (const Event &event, vector< Vec4 > &p) const
 Fill a vector of momenta.
 
void fillCols (const Event &event, vector< int > &colors) const
 Fill a vector of colors.
 
vector< vector< double > > fillMoms (const Event &event) const
 Return the momenta.
 

Additional Inherited Members

- Protected Attributes inherited from ShowerMEs
bool isInitPtr {false}
 Is initialized.
 
bool isInit {false}
 
map< vector< int >, double > me2hel {}
 Saved list of helicity components for last ME evaluated.
 
InfoinfoPtr {}
 Pointers to VINCIA and Pythia 8 objects.
 
CoupSMcoupSMPtr {}
 
ParticleDataparticleDataPtr {}
 
RndmrndmPtr {}
 
SettingssettingsPtr {}
 
VinciaCommonvinComPtr {}
 
SusyLesHouchesslhaPtr {}
 
int colourDepth {0}
 Colour mode (0: leading colour, 1: Vincia colour).
 
int verbose {0}
 Verbosity level.
 

Member Function Documentation

double calcMEDire ( const Pythia8::Event event)
overridevirtual

Calcuate the matrix element.

Done

Implements ShowerMEs.

PY8MEs_namespace::PY8ME * getProcess ( vector< int >  idIn,
vector< int >  idOut,
set< int >  sChan 
)

Common methods. Get pointer to matrix element, e.g. to check if process exists in library.

Get pointer to matrix element, e.g. to check if process exists in library.

bool initDire ( Info ,
string  card 
)
overridevirtual

Dire methods.

Redirect output so that Dire can print MG5 initialization.

Restore print-out.

Implements ShowerMEs.

bool initVincia ( )
overridevirtual

Initialise the Madgraph model, parameters, and couplings.

VINCIA methods. Initialise the Madgraph model, parameters, and couplings.

Check if pointers initialized.

Set colour depth (TODO: via "Vincia:matchingFullColour").

Create new model instance.

In the VINCIA context, alphaS_MGME = 1/4pi (- > gS = 1; we control the running separately). Thus, even the Madgraph "dependent" parameters only need to be set once.

Alternatively, we could evaluate the QCD coupling at MZ but should then use a coupling definition from a Vincia parameter list rather than PYTHIA's couplings. double muDefME = 91.2; double alpS = coupSMPtr->alphaS(pow2(muDefME));

The following is equivalent to PY8MEs::updateModelDependentCouplingsWithPY8(...)

Construct Madgraph process library.

Implements ShowerMEs.

double me2Vincia ( vector< Particle state,
int  nIn 
)
overridevirtual

Get the matrix element squared for a particle state.

Prepare vector of incoming ID codes.

Prepare vector of outgoing ID codes.

Currently not using the option to request specific s-channels.

Access the process.

Return right away if unavailable.

Convert momenta and colours to Madgraph format (energy first entry).

Check if we are doing a (partial) helicity sum.

Save indices of unpolarised partons.

Explicitly sum over any hel = 9 helicities.

How many spin states.

Massless particles max have max 2 (physical) spin states.

Create nS copies of helConf, one for each spin state.

Set hel for this particle in this copy. Start from -1, then 1, then 0 (if 3 states).

First copy: use existing.

Subsequent copies: create new.

Remove the particle whose helicities have been summed over.

Set properties and return ME2 value.

Compute helicity sum (and save helicity components if needed later).

Note. could check here if the helConf is physical (consistent with spins of particles and conserving angular momentum).

MG may produce inf/nan for unphysical hel combinations.

Save helicity matrix element for possible later use.

Add this helicity ME to me2

Implements ShowerMEs.


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