PYTHIA  8.312
Public Member Functions | Public Attributes | Friends | List of all members
UserHooksVector Class Reference

UserHooksVector implements a vector of UserHooks and is itself a UserHooks. More...

#include <UserHooks.h>

Inheritance diagram for UserHooksVector:
UserHooks PhysicsBase

Public Member Functions

 UserHooksVector ()
 
virtual ~UserHooksVector ()
 Destructor.
 
virtual bool initAfterBeams ()
 
virtual bool canModifySigma ()
 Possibility to modify cross section of process.
 
virtual double multiplySigmaBy (const SigmaProcess *sigmaProcessPtr, const PhaseSpace *phaseSpacePtr, bool inEvent)
 Multiplicative factor modifying the cross section of a hard process.
 
virtual bool canBiasSelection ()
 Possibility to bias selection of events, compensated by a weight.
 
virtual double biasSelectionBy (const SigmaProcess *sigmaProcessPtr, const PhaseSpace *phaseSpacePtr, bool inEvent)
 Multiplicative factor in the phase space selection of a hard process.
 
virtual double biasedSelectionWeight ()
 Event weight to compensate for selection weight above.
 
virtual bool canVetoProcessLevel ()
 Possibility to veto event after process-level selection.
 
virtual bool doVetoProcessLevel (Event &e)
 
virtual bool canVetoResonanceDecays ()
 Possibility to veto resonance decay chain.
 
virtual bool doVetoResonanceDecays (Event &e)
 
virtual bool canVetoPT ()
 
virtual double scaleVetoPT ()
 Transverse-momentum scale for veto test.
 
virtual bool doVetoPT (int iPos, const Event &e)
 
virtual bool canVetoStep ()
 
virtual int numberVetoStep ()
 Up to how many ISR + FSR steps of hardest interaction should be checked.
 
virtual bool doVetoStep (int iPos, int nISR, int nFSR, const Event &e)
 
virtual bool canVetoMPIStep ()
 
virtual int numberVetoMPIStep ()
 Up to how many MPI steps should be checked.
 
virtual bool doVetoMPIStep (int nMPI, const Event &e)
 
virtual bool canVetoPartonLevelEarly ()
 
virtual bool doVetoPartonLevelEarly (const Event &e)
 
virtual bool retryPartonLevel ()
 
virtual bool canVetoPartonLevel ()
 Possibility to veto event after parton-level selection.
 
virtual bool doVetoPartonLevel (const Event &e)
 
virtual bool canSetResonanceScale ()
 Possibility to set initial scale in TimeShower for resonance decay.
 
virtual double scaleResonance (int iRes, const Event &e)
 
virtual bool canVetoISREmission ()
 Possibility to veto an emission in the ISR machinery.
 
virtual bool doVetoISREmission (int sizeOld, const Event &e, int iSys)
 
virtual bool canVetoFSREmission ()
 Possibility to veto an emission in the FSR machinery.
 
virtual bool doVetoFSREmission (int sizeOld, const Event &e, int iSys, bool inResonance=false)
 
virtual bool canVetoMPIEmission ()
 Possibility to veto an MPI.
 
virtual bool doVetoMPIEmission (int sizeOld, const Event &e)
 
virtual bool canReconnectResonanceSystems ()
 Possibility to reconnect colours from resonance decay systems.
 
virtual bool doReconnectResonanceSystems (int j, Event &e)
 
virtual bool canChangeFragPar ()
 Can change fragmentation parameters.
 
virtual void setStringEnds (const StringEnd *pos, const StringEnd *neg, vector< int > iPart)
 
virtual bool doChangeFragPar (StringFlav *sfIn, StringZ *zIn, StringPT *ptIn, int idIn, double mIn, vector< int > parIn, const StringEnd *endIn)
 
virtual bool doVetoFragmentation (Particle p, const StringEnd *nowEnd)
 Do a veto on a hadron just before it is added to the final state.
 
virtual bool doVetoFragmentation (Particle p1, Particle p2, const StringEnd *e1, const StringEnd *e2)
 
virtual bool canVetoAfterHadronization ()
 
virtual bool doVetoAfterHadronization (const Event &e)
 Do the actual veto after hadronization.
 
virtual bool canSetImpactParameter () const
 Can set the overall impact parameter for the MPI treatment.
 
virtual double doSetImpactParameter ()
 Set the overall impact parameter for the MPI treatment.
 
- Public Member Functions inherited from UserHooks
virtual ~UserHooks ()
 Destructor.
 
virtual bool canSetLowEnergySigma (int, int) const
 
virtual double doSetLowEnergySigma (int, int, double, double, double) const
 
virtual bool onEndHadronLevel (HadronLevel &, Event &)
 Custom processing at the end of HadronLevel::next.
 
- 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

vector< shared_ptr< UserHooks > > hooks = {}
 The vector of user hooks.
 

Friends

class Pythia
 

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 UserHooks
 UserHooks ()
 Constructor.
 
virtual void onInitInfoPtr () override
 After initInfoPtr, initialize workEvent. More...
 
void omitResonanceDecays (const Event &process, bool finalOnly=false)
 omitResonanceDecays omits resonance decay chains from process record. More...
 
void subEvent (const Event &event, bool isHardest=true)
 subEvent extracts currently resolved partons in the hard process. More...
 
- Protected Member Functions inherited from PhysicsBase
 PhysicsBase ()
 Default constructor.
 
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.
 
- Protected Attributes inherited from UserHooks
Event workEvent = {}
 Have one event object around as work area.
 
double selBias = 1.
 User-imposed selection bias.
 
double enhancedEventWeight = {}
 Bookkept quantities for boosted event weights.
 
double pTEnhanced = {}
 
double wtEnhanced = {}
 
- 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
 

Detailed Description

UserHooksVector implements a vector of UserHooks and is itself a UserHooks.

Constructor & Destructor Documentation

UserHooksVector ( )
inline

The default constructor is private, and should only be used internally in Pythia.

Member Function Documentation

virtual bool canVetoAfterHadronization ( )
inlinevirtual

Possibility to veto an event after hadronization based on event contents. Works as an early trigger to avoid running the time consuming rescattering process on uninteresting events.

Reimplemented from UserHooks.

virtual bool canVetoMPIStep ( )
inlinevirtual

Possibility to veto MPI + ISR + FSR evolution and kill event, making decision after fixed number of MPI steps.

Reimplemented from UserHooks.

virtual bool canVetoPartonLevelEarly ( )
inlinevirtual

Possibility to veto event after ISR + FSR + MPI in parton level, but before beam remnants and resonance decays.

Reimplemented from UserHooks.

virtual bool canVetoPT ( )
inlinevirtual

Possibility to veto MPI + ISR + FSR evolution and kill event, making decision at a fixed pT scale. Useful for MLM-style matching.

Reimplemented from UserHooks.

virtual bool canVetoStep ( )
inlinevirtual

Possibility to veto MPI + ISR + FSR evolution and kill event, making decision after fixed number of ISR or FSR steps.

Reimplemented from UserHooks.

virtual bool doChangeFragPar ( StringFlav sfIn,
StringZ zIn,
StringPT ptIn,
int  idIn,
double  mIn,
vector< int >  parIn,
const StringEnd endIn 
)
inlinevirtual

Do change fragmentation parameters. Input: flavPtr, zPtr, pTPtr, idEnd, m2Had, iParton and posEnd (or negEnd).

Reimplemented from UserHooks.

virtual bool doReconnectResonanceSystems ( int  j,
Event e 
)
inlinevirtual

Do reconnect colours from resonance decay systems. Usage: doVetoFSREmission( oldSizeEvt, event) where oldSizeEvent is the event size before resonance decays. Should normally return true, while false means serious failure. Value of PartonLevel:earlyResDec determines where method is called.

Reimplemented from UserHooks.

virtual bool doVetoFragmentation ( Particle  ,
Particle  ,
const StringEnd ,
const StringEnd  
)
inlinevirtual

Do a veto on a hadron just before it is added to the final state (final two hadron case).

Reimplemented from UserHooks.

virtual bool doVetoFSREmission ( int  sizeOld,
const Event e,
int  iSys,
bool  inResonance = false 
)
inlinevirtual

Decide whether to veto current emission or not, based on event record. Usage: doVetoFSREmission( sizeOld, event, iSys, inResonance) where sizeOld is size of event record before current emission-to-be-scrutinized was added, iSys is the system of the radiation (according to PartonSystems), and inResonance is true if the emission takes place in a resonance decay.

Reimplemented from UserHooks.

virtual bool doVetoISREmission ( int  sizeOld,
const Event e,
int  iSys 
)
inlinevirtual

Decide whether to veto current emission or not, based on event record. Usage: doVetoISREmission( sizeOld, event, iSys) where sizeOld is size of event record before current emission-to-be-scrutinized was added, and iSys is the system of the radiation (according to PartonSystems).

Reimplemented from UserHooks.

virtual bool doVetoMPIEmission ( int  sizeOld,
const Event e 
)
inlinevirtual

Decide whether to veto an MPI based on event record. Usage: doVetoMPIEmission( sizeOld, event) where sizeOld is size of event record before the current MPI.

Reimplemented from UserHooks.

virtual bool doVetoMPIStep ( int  nMPI,
const Event e 
)
inlinevirtual

Decide whether to veto current event or not, based on event record. Usage: doVetoMPIStep( nMPI, event), where nMPI is number of MPI's so far.

Reimplemented from UserHooks.

virtual bool doVetoPartonLevel ( const Event e)
inlinevirtual

Decide whether to veto current partons or not, based on event record. Usage: doVetoPartonLevel( event).

Reimplemented from UserHooks.

virtual bool doVetoPartonLevelEarly ( const Event e)
inlinevirtual

Decide whether to veto current partons or not, based on event record. Usage: doVetoPartonLevelEarly( event).

Reimplemented from UserHooks.

virtual bool doVetoProcessLevel ( Event e)
inlinevirtual

Decide whether to veto current process or not, based on process record. Usage: doVetoProcessLevel( process).

Reimplemented from UserHooks.

virtual bool doVetoPT ( int  iPos,
const Event e 
)
inlinevirtual

Decide whether to veto current event or not, based on event record. Usage: doVetoPT( iPos, event), where iPos = 0: no emissions so far; iPos = 1/2/3 joint evolution, latest step was MPI/ISR/FSR; iPos = 4: FSR only afterwards; iPos = 5: FSR in resonance decay.

Reimplemented from UserHooks.

virtual bool doVetoResonanceDecays ( Event e)
inlinevirtual

Decide whether to veto current resonance decay chain or not, based on process record. Usage: doVetoProcessLevel( process).

Reimplemented from UserHooks.

virtual bool doVetoStep ( int  iPos,
int  nISR,
int  nFSR,
const Event e 
)
inlinevirtual

Decide whether to veto current event or not, based on event record. Usage: doVetoStep( iPos, nISR, nFSR, event), where iPos as above, nISR and nFSR number of emissions so far for hard interaction only.

Reimplemented from UserHooks.

virtual bool initAfterBeams ( )
inlinevirtual

Initialisation after beams have been set by Pythia::init(). Check that there are no (obvious) clashes.

Reimplemented from UserHooks.

virtual bool retryPartonLevel ( )
inlinevirtual

Retry same ProcessLevel with a new PartonLevel after a veto in doVetoPT, doVetoStep, doVetoMPIStep or doVetoPartonLevelEarly if you overload this method to return true.

Reimplemented from UserHooks.

virtual double scaleResonance ( int  iRes,
const Event e 
)
inlinevirtual

Initial scale for TimeShower evolution. Usage: scaleResonance( iRes, event), where iRes is location of decaying resonance in the event record.

Reimplemented from UserHooks.

virtual void setStringEnds ( const StringEnd pos,
const StringEnd neg,
vector< int >  iPart 
)
inlinevirtual

Set initial ends of a string to be fragmented. This is done once for each string. Note that the second string end may be zero in case we are hadronising a string piece leading to a junction.

Reimplemented from UserHooks.


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