PYTHIA
8.312
|
The PartonVertex class sets parton-level vertex information. More...
#include <PartonVertex.h>
Public Member Functions | |
PartonVertex () | |
Constructor. | |
virtual | ~PartonVertex () |
Destructor. | |
virtual void | init () |
Initialize a few parameters from Settings. More... | |
virtual void | vertexBeam (int iBeam, vector< int > &iRemn, vector< int > &iInit, Event &event) |
Select vertex for a beam particle. More... | |
virtual void | vertexMPI (int iBeg, int nAdd, double bNowIn, Event &event) |
Select vertex for an MPI. More... | |
virtual void | vertexFSR (int iNow, Event &event) |
Select vertex for an FSR branching. More... | |
virtual void | vertexISR (int iNow, Event &event) |
Select vertex for an ISR branching. More... | |
virtual void | vertexHadrons (int nBefFrag, Event &event) |
Propagate parton vertex information to hadrons. More... | |
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 |
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. | |
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 |
The PartonVertex class sets parton-level vertex information.
|
virtual |
|
virtual |
Select vertex for a beam particle.
Set vertices for a beam particle and the beam remnants.
Set vertex for incoming beam particle itself.
Variables for further use.
Loop over all remnants and set their location relative to the beam.
Sample according to sphere.
Sample according to Gaussian.
Save. Calculate energy-weighted center and displacement weight.
Add initiator energy-weighted center relative to proton center.
Distribute recoil among remnants to ensure that center is centered. (But scale down if suspiciously large shift.)
|
virtual |
Select vertex for an FSR branching.
Start from known vertex, or mother one.
Add Gaussian smearing.
|
virtual |
Propagate parton vertex information to hadrons.
Propagate parton vertex information to hadrons. Still to be improved for closed gluon loops and junction topologies.
Identify known cases and else return.
Use middle of endpoints for collapse to single hadron.
Simple qqbar strings or closed gluon loops. Warning: for the latter still to transfer info on first breakup, so not correct as is, but still good enough for smearing purposes?
Initial values and variables.
Loop over new primary hadrons. Midpoint energy of new hadron.
Step up to parton pair that spans hadron midpoint energy.
Add weighted average of parton vertices to hadron vertex.
Done for simple cases.
Junction systems: identify order of hadrons produced.
Repair cases where one colour end is not identified.
Initial values for the two lowest-energy legs.
Loop over primary hadrons in two lowest-energy legs.
Step up to parton pair that spans hadron midpoint energy.
If only one parton left then set entirely by it, else weight.
Initial values for last leg.
Loop over primary hadrons in last leg.
Step up to parton pair that spans hadron midpoint energy.
If only one parton left then set entirely by it, else weight. Warning: could do better for junction baryon and hadron after it.
|
virtual |
Select vertex for an ISR branching.
Start from known vertex or mother/daughter one.
Add Gaussian smearing.
|
virtual |
Select vertex for an MPI.
Convert the impact parameter to physical units. Prepare selection.
Sample x and y inside a box, and then require it to be within sphere.
Sample x and y according to two-dimensional Gaussian.
Option with elliptic shape.
Option with azimuthal distribution 1 + epsilon * cos(2 * phi).
Set production vertices.