|
PYTHIA
8.316
|
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 | canVetoFragmentation () |
| Can veto hadrons in the fragmentation. | |
| 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 | doVetoFinalTwo (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. | |
| virtual void | onStat (vector< PhysicsBase * >, Pythia *) |
| 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 |
| mutex * | mutexPtr |
| Mutex that should be locked for thread-unsafe code. | |
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). Note that a veto from this function will regenerate the final two. If the refragmentation of the whole string is desired, the doVetoFragmentation function should be used instead.
Reimplemented from UserHooks.
|
inlinevirtual |
Do a veto on a hadron just before it is added to the final state (final two hadron case). Note that a veto from this function will refragment the whole string. If only the regeneration of the final two is desired, the doVetoFinalTwo function should be used instead.
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.
1.8.11