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

The TimeShower class does timelike showers. More...

#include <TimeShower.h>

Inheritance diagram for TimeShower:
PhysicsBase DireTimes SimpleTimeShower VinciaFSR

Public Member Functions

 TimeShower ()=default
 Constructor.
 
virtual ~TimeShower ()
 Destructor.
 
void initPtrs (MergingHooksPtr mergingHooksPtrIn, PartonVertexPtr partonVertexPtrIn, WeightContainer *weightContainerPtrIn)
 
void reassignBeamPtrs (BeamParticle *beamAPtrIn, BeamParticle *beamBPtrIn, int beamOffsetIn=0)
 New beams possible for handling of hard diffraction. (Not virtual.)
 
virtual void init (BeamParticle *=0, BeamParticle *=0)
 
virtual bool limitPTmax (Event &, double=0., double=0.)
 
virtual int shower (int, int, Event &, double, int=0)
 
virtual int showerQED (int, int, Event &, double)
 
virtual int showerQEDafterRemnants (Event &)
 
virtual void prepareProcess (Event &, Event &, vector< int > &)
 
virtual void prepareGlobal (Event &)
 
virtual void prepare (int, Event &, bool=true)
 
virtual void rescatterUpdate (int, Event &)
 
virtual void update (int, Event &, bool=false)
 
virtual double pTnext (Event &, double, double, bool=false, bool=false)
 
virtual double pTnextResDec ()
 Select next pT for interleaved resonance decays.
 
virtual bool branch (Event &, bool=false)
 
virtual bool resonanceShower (Event &, Event &, vector< int > &, double=0.)
 
virtual void list () const
 Print dipole list; for debug mainly.
 
virtual bool initUncertainties ()
 Initialize data members for calculation of uncertainty bands.
 
virtual bool initEnhancements ()
 Initialize data members for application of enhancements.
 
virtual bool getHasWeaklyRadiated ()
 Tell whether FSR has done a weak emission.
 
virtual int system () const
 Tell which system was the last processed one.
 
virtual double enhancePTmax ()
 Potential enhancement factor of pTmax scale for hardest emission.
 
virtual double pTLastInShower ()
 Provide the pT scale of the last branching in the above shower.
 
virtual Event clustered (const Event &, int, int, int, string)
 Return clustering kinematics - as needed for merging. More...
 
virtual map< string, double > getStateVariables (const Event &, int, int, int, string)
 
virtual bool isTimelike (const Event &, int, int, int, string)
 
virtual vector< string > getSplittingName (const Event &, int, int, int)
 
virtual double getSplittingProb (const Event &, int, int, int, string)
 
virtual bool allowedSplitting (const Event &, int, int)
 
virtual vector< int > getRecoilers (const Event &, int, int, string)
 
virtual double enhanceFactor (const string &name)
 
virtual double noEmissionProbability (double, double, double, int, int, double, double)
 
- 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

MergingHooksPtr mergingHooksPtr {}
 Pointer to MergingHooks object for NLO merging.
 
WeightContainerweightContainerPtr {}
 

Protected Attributes

int beamOffset {}
 Beam location offset in event.
 
PartonVertexPtr partonVertexPtr {}
 Pointer to assign space-time vertices during parton evolution.
 
bool doUncertainties {}
 Store uncertainty variations relevant to TimeShower.
 
bool uVarMuSoftCorr {}
 
bool uVarMPIshowers {}
 
bool noResVariations {}
 
bool noProcVariations {}
 
int nUncertaintyVariations {}
 
int nVarQCD {}
 
int uVarNflavQ {}
 
double dASmax {}
 
double cNSpTmin {}
 
double uVarpTmin2 {}
 
double overFactor {}
 
double overFactorEnhance {}
 
map< int, double > varG2GGmuRfac
 
map< int, double > varQ2QGmuRfac
 
map< int, double > varG2QQmuRfac
 
map< int, double > varX2XGmuRfac
 
map< int, double > varG2GGcNS
 
map< int, double > varQ2QGcNS
 
map< int, double > varG2QQcNS
 
map< int, double > varX2XGcNS
 
map< int, double > * varPDFplus
 
map< int, double > * varPDFminus
 
map< int, double > * varPDFmember
 
unordered_map< string, double > enhanceFSR
 
- 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.
 
- 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)
 
virtual void onStat ()
 This function is called from the Pythia::stat() call.
 
void registerSubObject (PhysicsBase &pb)
 Register a sub object that should have its information in sync with this.
 

Detailed Description

The TimeShower class does timelike showers.

Member Function Documentation

virtual bool branch ( Event ,
bool  = false 
)
inlinevirtual

ME corrections and kinematics that may give failure. Usage: branch( event, isInterleaved).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.

virtual Event clustered ( const Event ,
int  ,
int  ,
int  ,
string   
)
inlinevirtual

Return clustering kinematics - as needed for merging.

Functions to allow usage of shower kinematics, evolution variables, and splitting probabilities outside of shower. Virtual so that shower plugins can overwrite these functions. This makes it possible for another piece of the code to request these - which is very convenient for merging. Function variable names are not included to avoid compiler warnings. Please see the documentation under "Implement New Showers" for details.

Reimplemented in DireTimes.

virtual vector<string> getSplittingName ( const Event ,
int  ,
int  ,
int   
)
inlinevirtual

Return a string identifier of a splitting. Usage: getSplittingName( event, iRad, iEmt, iRec)

Reimplemented in DireTimes.

virtual double getSplittingProb ( const Event ,
int  ,
int  ,
int  ,
string   
)
inlinevirtual

Return the splitting probability. Usage: getSplittingProb( event, iRad, iEmt, iRec)

Reimplemented in DireTimes.

virtual map<string, double> getStateVariables ( const Event ,
int  ,
int  ,
int  ,
string   
)
inlinevirtual

Return the evolution variable(s). Important note: this map must contain the following entries

  • a key "t" for the value of the shower evolution variable;
  • a key "tRS" for the value of the shower evolution variable from which the shower would be restarted after a branching;
  • a key "scaleAS" for the argument of alpha_s used for the branching;
  • a key "scalePDF" for the argument of the PDFs used for the branching. Usage: getStateVariables( event, iRad, iEmt, iRec, name)

Reimplemented in DireTimes.

virtual void init ( BeamParticle = 0,
BeamParticle = 0 
)
inlinevirtual

Initialize alphaStrong and related pTmin parameters. Usage: init( beamAPtr, beamBPtr).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.

void initPtrs ( MergingHooksPtr  mergingHooksPtrIn,
PartonVertexPtr  partonVertexPtrIn,
WeightContainer weightContainerPtrIn 
)
inline

Initialize various pointers. (Separated from rest of init since not virtual.)

virtual bool isTimelike ( const Event ,
int  ,
int  ,
int  ,
string   
)
inlinevirtual

Check if attempted clustering is handled by timelike shower Usage: isTimelike( event, iRad, iEmt, iRec, name)

Reimplemented in DireTimes.

virtual bool limitPTmax ( Event ,
double  = 0.,
double  = 0. 
)
inlinevirtual

Find whether to limit maximum scale of emissions, and whether to dampen. Usage: limitPTmax( event, Q2Fac, double Q2Ren).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.

virtual double noEmissionProbability ( double  ,
double  ,
double  ,
int  ,
int  ,
double  ,
double   
)
inlinevirtual

Functions to directly extract the probability of no emission between two scales. This functions is not used in the Pythia core code, but can be used by external programs to interface with the shower directly.

Reimplemented in SimpleTimeShower.

virtual void prepare ( int  ,
Event ,
bool  = true 
)
inlinevirtual

Prepare system for evolution after each new interaction; identify ME. Usage: prepare( iSys, event, limitPTmax).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.

virtual void prepareGlobal ( Event )
inlinevirtual

Global recoil: reset counters and store locations of outgoing partons. Usage: prepareGlobal( event).

Reimplemented in DireTimes, and SimpleTimeShower.

virtual void prepareProcess ( Event ,
Event ,
vector< int > &   
)
inlinevirtual

Prepare process-level event for shower + interleaved resonance decays. Usage: prepareProcess( process, event, iPos). iPos provides mapping from process to event entries (before showering).

Reimplemented in VinciaFSR, and SimpleTimeShower.

virtual double pTnext ( Event ,
double  ,
double  ,
bool  = false,
bool  = false 
)
inlinevirtual

Select next pT in downwards evolution. Usage: pTnext( event, pTbegAll, pTendAll, isFirstTrial, doTrialIn).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.

virtual void rescatterUpdate ( int  ,
Event  
)
inlinevirtual

Update dipole list after a multiparton interactions rescattering. Usage: rescatterUpdate( iSys, event).

Reimplemented in DireTimes, and SimpleTimeShower.

virtual bool resonanceShower ( Event ,
Event ,
vector< int > &  ,
double  = 0. 
)
inlinevirtual

Handle a resonance decay + resonance shower (including any nested decays). Assumes decay channel and kinematics already selected and present in either the process or event record. May be called recursively for nested decays. Usage: resonanceShower( process, event, iPos, pTmerge), where iPos maps process to event entries, and pTmerge is the scale at which this system should be merged into its parent system.

Reimplemented in VinciaFSR, and SimpleTimeShower.

virtual int shower ( int  ,
int  ,
Event ,
double  ,
int  = 0 
)
inlinevirtual

Top-level routine to do a full time-like shower in resonance decay. Usage: shower( iBeg, iEnd, event, pTmax, nBranchMax).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.

virtual int showerQED ( int  ,
int  ,
Event ,
double   
)
inlinevirtual

Top-level routine for QED radiation in hadronic decay to two leptons. Usage: showerQED( i1, i2, event, pTmax).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.

virtual int showerQEDafterRemnants ( Event )
inlinevirtual

Optional method to add QED showers after remnants have been added but before hadronisation. (Called from PartonLevel.)

Reimplemented in VinciaFSR.

virtual void update ( int  ,
Event ,
bool  = false 
)
inlinevirtual

Update dipole list after each ISR emission. Usage: update( iSys, event, hasWeakRad).

Reimplemented in VinciaFSR, DireTimes, and SimpleTimeShower.


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