PYTHIA  8.312
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
Vincia Class Reference

#include <Vincia.h>

Inheritance diagram for Vincia:
ShowerModel PhysicsBase

Public Member Functions

 Vincia ()=default
 Constructor.
 
virtual ~Vincia () override=default
 Empty virtual destructor.
 
bool init (MergingPtr mrgPtrIn, MergingHooksPtr mrgHooksPtrIn, PartonVertexPtr partonVertexPtrIn, WeightContainer *weightContainerPtrIn) override
 Initialize. More...
 
bool initAfterBeams () override
 
TimeShowerPtr getTimeShower () const override
 Methods to get.
 
TimeShowerPtr getTimeDecShower () const override
 
SpaceShowerPtr getSpaceShower () const override
 
MergingHooksPtr getMergingHooks () const override
 
MergingPtr getMerging () const override
 
void onStat () override
 End-of-run statistics.
 
void setVerbose (int verboseIn)
 Automatically set verbose level in all members.
 
- Public Member Functions inherited from ShowerModel
 ShowerModel ()=default
 Empty constructor.
 
virtual ~ShowerModel ()
 Empty virtual destructor.
 
- Public Member Functions inherited from PhysicsBase
void initInfoPtr (Info &infoPtrIn)
 This function is called from above for physics objects used in a run. More...
 
virtual ~PhysicsBase ()
 Empty virtual destructor.
 
bool flag (string key) const
 Shorthand to read settings values.
 
int mode (string key) const
 
double parm (string key) const
 
string word (string key) const
 
vector< bool > fvec (string key) const
 
vector< int > mvec (string key) const
 
vector< double > pvec (string key) const
 
vector< string > wvec (string key) const
 

Public Attributes

VinciaCommon vinCom {}
 Public Vincia objects.
 
Resolution resolution {}
 
VinciaModulePtr ewShowerPtr {}
 
VinciaModulePtr qedShowerHardPtr {}
 
VinciaModulePtr qedShowerSoftPtr {}
 
VinciaColour colour {}
 
VinciaWeights vinWeights {}
 
MECs mecs {}
 
ExternalMEsPtr mg5mes {}
 Auxiliary objects.
 
Rambo rambo {}
 
DGLAP dglap {}
 Vectors of antenna functions.
 
AntennaSetFSR antennaSetFSR {}
 
AntennaSetISR antennaSetISR {}
 
SusyLesHouchesslhaPtr {}
 Pointers to Pythia classes.
 
WeightContainerweightContainerPtr {}
 

Protected Member Functions

bool initTune (int iTune)
 Method to initialise Vincia tune settings. More...
 
- Protected Member Functions inherited from PhysicsBase
 PhysicsBase ()
 Default constructor.
 
virtual void onInitInfoPtr ()
 
virtual void onBeginEvent ()
 This function is called in the very beginning of each Pythia::next call.
 
virtual void onEndEvent (Status)
 
void registerSubObject (PhysicsBase &pb)
 Register a sub object that should have its information in sync with this.
 

Protected Attributes

shared_ptr< VinciaFSRtimesPtr {}
 Members for the FSR and ISR showers.
 
shared_ptr< VinciaFSRtimesDecPtr {}
 
shared_ptr< VinciaISRspacePtr {}
 
shared_ptr< VinciaMergingHooksmergingHooksPtr {}
 Merging pointers.
 
shared_ptr< VinciaMergingmergingPtr {}
 
shared_ptr< VinciaDiagnosticsdiagnosticsPtr {}
 Pointer for diagnostics and profiling.
 
- Protected Attributes inherited from ShowerModel
TimeShowerPtr timesPtr {}
 The object responsible for generating time-like showers.
 
TimeShowerPtr timesDecPtr {}
 The object responsible for generating time-like showers in decays.
 
SpaceShowerPtr spacePtr {}
 The object responsible for generating space-like showers.
 
MergingPtr mergingPtr {}
 The object responsible for merging with matrix elements.
 
MergingHooksPtr mergingHooksPtr {}
 The object responsible for user modifications to the merging.
 
- Protected Attributes inherited from PhysicsBase
InfoinfoPtr = {}
 
SettingssettingsPtr = {}
 Pointer to the settings database.
 
ParticleDataparticleDataPtr = {}
 Pointer to the particle data table.
 
LoggerloggerPtr = {}
 Pointer to logger.
 
HadronWidthshadronWidthsPtr = {}
 Pointer to the hadron widths data table.
 
RndmrndmPtr = {}
 Pointer to the random number generator.
 
CoupSMcoupSMPtr = {}
 Pointers to SM and SUSY couplings.
 
CoupSUSYcoupSUSYPtr = {}
 
BeamSetupbeamSetupPtr = {}
 
BeamParticlebeamAPtr = {}
 
BeamParticlebeamBPtr = {}
 
BeamParticlebeamPomAPtr = {}
 
BeamParticlebeamPomBPtr = {}
 
BeamParticlebeamGamAPtr = {}
 
BeamParticlebeamGamBPtr = {}
 
BeamParticlebeamVMDAPtr = {}
 
BeamParticlebeamVMDBPtr = {}
 
PartonSystemspartonSystemsPtr = {}
 Pointer to information on subcollision parton locations.
 
SigmaTotalsigmaTotPtr = {}
 Pointers to the total/elastic/diffractive cross sections.
 
SigmaCombinedsigmaCmbPtr = {}
 
set< PhysicsBase * > subObjects
 
UserHooksPtr userHooksPtr
 

Additional Inherited Members

- Public Types inherited from PhysicsBase
enum  Status {
  INCOMPLETE = -1, COMPLETE = 0, CONSTRUCTOR_FAILED, INIT_FAILED,
  LHEF_END, LOWENERGY_FAILED, PROCESSLEVEL_FAILED, PROCESSLEVEL_USERVETO,
  MERGING_FAILED, PARTONLEVEL_FAILED, PARTONLEVEL_USERVETO, HADRONLEVEL_FAILED,
  CHECK_FAILED, OTHER_UNPHYSICAL, HEAVYION_FAILED, HADRONLEVEL_USERVETO
}
 Enumerate the different status codes the event generation can have.
 

Detailed Description

The Vincia class. Top-level handler class for the Vincia antenna shower model.

Member Function Documentation

bool init ( MergingPtr  mrgPtrIn,
MergingHooksPtr  mrgHooksPtrIn,
PartonVertexPtr  partonVertexPtrIn,
WeightContainer weightContainerPtrIn 
)
overridevirtual

Initialize.

Vincia parton shower class.

Initialize.

Verbosity output. Allow local debug level, else just use Print:verbosity.

Create diagnostics pointer.

Clear Vincia's register of PhysicsBase objects.

Setup Vincia's merging if requested.

Ensure consistency in settings with merging.

Use readString so change is reapplied after Vincia tune setting.

Must switch both Vincia and TimeShower flags off, since PartonLevel uses the TimeShower one.

TODO this could be fixed relatively easily.

Set and register merging pointers

Initialise Vincia's mergingHookPtr.

Create Vincia's own userhook.

Update userHooksPtr.

Update infoPtr's pointer to userhooks.

Set weightContainerPtr and tell weightContainer where to find our weights.

Create EW/QED Shower module(s).

Create the QED and EW shower pointers.

Initialize the overlap veto

Update userHooksPtr.

Update infoPtr's pointer to userhooks.

Create and register VinciaFSR and VinciaISR instances.

Set pointers in showers.

Pass verbose settings to members

Init FSR shower pointers and default settings, beyond those set by the non-virtual TimeShower::initPtr().

Init ISR shower pointers and default settings, beyond those set by the non-virtual SpaceShower::initPtr().

FSR and ISR antenna sets.

Hand antenna set pointers to shower and matching objects.

Set SLHA pointer

Load the matrix element correction plugin.

Pass pointers on to objects that require them.

Initialize pointers in EW shower modules. Set EW/QED Shower module in timesPtr and spacePtr. QED shower for hard interaction + resonance decays.

QED shower for MPI and hadronisation.

Electroweak shower.

Save some information on resonances locally, and modify particleDataPtr if doing resonance decays.

Now set tune parameters

Store user-specified settings before overwriting with tune parameters.

Reapply user settings.

Ensure no run settings are changed.

Allow Main:spare for development purposes.

If Vincia is on, allow to override some Pythia settings by Vincia-specific ones.

PartonLevel only checks TimeShower:interleaveResDec, so set that to agree with the corresponding Vincia flag.

Initialise Vincia auxiliary classes (showers initialised by Pythia).

MECs depend on Pythia/SLHA Couplings.

Print VINCIA header and list of parameters

Diagnostics

Verbose output.

Implements ShowerModel.

bool initAfterBeams ( )
inlineoverridevirtual

Function called from Pythia after the beam particles have been set up, so that showers may be initialized after the beams are initialized.

Initialise QED showers with beams initialised.

Implements ShowerModel.

bool initTune ( int  iTune)
protected

Method to initialise Vincia tune settings.

Vincia tune settings.

iTune = 0 : default Vincia tune from Pythia 8.302

Z fractions in string breaks

Z fractions for heavy quarks

pT in string breaks

String breakup flavour parameters

Primordial kT

MB/UE tuning parameters (MPI) Use a "low" alphaS and 2-loop running everywhere, also for MPI

Use PYTHIA 8's baseline CR model

Diffraction: switch off Pythia's perturbative MPI (colours in diffractive systems not yet handled by Vincia)

Unknown iTune.


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