PYTHIA
8.312
|
UserHooksVector implements a vector of UserHooks and is itself a UserHooks. More...
#include <UserHooks.h>
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 | |
Info * | infoPtr = {} |
Settings * | settingsPtr = {} |
Pointer to the settings database. | |
ParticleData * | particleDataPtr = {} |
Pointer to the particle data table. | |
Logger * | loggerPtr = {} |
Pointer to logger. | |
HadronWidths * | hadronWidthsPtr = {} |
Pointer to the hadron widths data table. | |
Rndm * | rndmPtr = {} |
Pointer to the random number generator. | |
CoupSM * | coupSMPtr = {} |
Pointers to SM and SUSY couplings. | |
CoupSUSY * | coupSUSYPtr = {} |
BeamSetup * | beamSetupPtr = {} |
BeamParticle * | beamAPtr = {} |
BeamParticle * | beamBPtr = {} |
BeamParticle * | beamPomAPtr = {} |
BeamParticle * | beamPomBPtr = {} |
BeamParticle * | beamGamAPtr = {} |
BeamParticle * | beamGamBPtr = {} |
BeamParticle * | beamVMDAPtr = {} |
BeamParticle * | beamVMDBPtr = {} |
PartonSystems * | partonSystemsPtr = {} |
Pointer to information on subcollision parton locations. | |
SigmaTotal * | sigmaTotPtr = {} |
Pointers to the total/elastic/diffractive cross sections. | |
SigmaCombined * | sigmaCmbPtr = {} |
set< PhysicsBase * > | subObjects |
UserHooksPtr | userHooksPtr |
UserHooksVector implements a vector of UserHooks and is itself a UserHooks.
|
inline |
The default constructor is private, and should only be used internally in Pythia.
|
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.
|
inlinevirtual |
Possibility to veto MPI + ISR + FSR evolution and kill event, making decision after fixed number of MPI steps.
Reimplemented from UserHooks.
|
inlinevirtual |
Possibility to veto event after ISR + FSR + MPI in parton level, but before beam remnants and resonance decays.
Reimplemented from UserHooks.
|
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.
|
inlinevirtual |
Possibility to veto MPI + ISR + FSR evolution and kill event, making decision after fixed number of ISR or FSR steps.
Reimplemented from UserHooks.
|
inlinevirtual |
Do change fragmentation parameters. Input: flavPtr, zPtr, pTPtr, idEnd, m2Had, iParton and posEnd (or negEnd).
Reimplemented from UserHooks.
|
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.
|
inlinevirtual |
Do a veto on a hadron just before it is added to the final state (final two hadron case).
Reimplemented from UserHooks.
|
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.
|
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.
|
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.
|
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.
|
inlinevirtual |
Decide whether to veto current partons or not, based on event record. Usage: doVetoPartonLevel( event).
Reimplemented from UserHooks.
|
inlinevirtual |
Decide whether to veto current partons or not, based on event record. Usage: doVetoPartonLevelEarly( event).
Reimplemented from UserHooks.
|
inlinevirtual |
Decide whether to veto current process or not, based on process record. Usage: doVetoProcessLevel( process).
Reimplemented from UserHooks.
|
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.
|
inlinevirtual |
Decide whether to veto current resonance decay chain or not, based on process record. Usage: doVetoProcessLevel( process).
Reimplemented from UserHooks.
|
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.
|
inlinevirtual |
Initialisation after beams have been set by Pythia::init(). Check that there are no (obvious) clashes.
Reimplemented from UserHooks.
|
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.
|
inlinevirtual |
Initial scale for TimeShower evolution. Usage: scaleResonance( iRes, event), where iRes is location of decaying resonance in the event record.
Reimplemented from UserHooks.
|
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.