PYTHIA
8.312
|
#include <PhaseSpace.h>
Public Member Functions | |
PhaseSpace2to3tauycyl () | |
Constructor. | |
virtual bool | setupSampling () |
Optimize subsequent kinematics selection. | |
virtual bool | trialKin (bool inEvent=true, bool=false) |
Construct the trial kinematics. | |
virtual bool | finalKin () |
Construct the final event kinematics. More... | |
Public Member Functions inherited from PhaseSpace | |
virtual | ~PhaseSpace () |
Destructor. | |
void | init (bool isFirst, SigmaProcessPtr sigmaProcessPtrIn) |
Perform simple initialization and store pointers. More... | |
void | updateBeamIDs () |
Switch to new beam particle identities; for similar hadrons only. | |
void | newECM (double eCMin) |
Update the CM energy of the event. | |
void | setLHAPtr (LHAupPtr lhaUpPtrIn) |
Store or replace Les Houches pointer. | |
void | decayKinematics (Event &process) |
Allow for nonisotropic decays when ME's available. More... | |
double | sigmaNow () const |
Give back current or maximum cross section, or set latter. | |
double | sigmaMax () const |
double | biasSelectionWeight () const |
bool | newSigmaMax () const |
void | setSigmaMax (double sigmaMaxIn) |
double | sigmaMaxSwitch () |
New value for switched beam identity or energy (for SoftQCD processes). | |
virtual double | sigmaSumSigned () const |
For Les Houches with negative event weight needs. | |
Vec4 | p (int i) const |
Give back constructed four-vectors and known masses. | |
double | m (int i) const |
void | setP (int i, Vec4 pNew) |
Reset the four-momentum. | |
double | ecm () const |
Give back other event properties. | |
double | x1 () const |
double | x2 () const |
double | sHat () const |
double | tHat () const |
double | uHat () const |
double | pTHat () const |
double | thetaHat () const |
double | phiHat () const |
double | runBW3 () const |
double | runBW4 () const |
double | runBW5 () const |
virtual bool | isResolved () const |
Inform whether beam particles are resolved in partons or scatter directly. | |
virtual void | rescaleSigma (double) |
virtual void | rescaleMomenta (double) |
virtual double | weightGammaPDFApprox () |
Calculate the weight for over-estimated cross section. | |
virtual void | setGammaKinPtr (GammaKinematics *gammaKinPtrIn) |
Set the GammaKinematics pointer needed for soft photoproduction. | |
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 PhaseSpace | |
PhaseSpace () | |
Constructor. | |
void | decayKinematicsStep (Event &process, int iRes) |
Reselect decay products momenta isotropically in phase space. More... | |
void | setup3Body () |
Much common code for normal 2 -> 1, 2 -> 2 and 2 -> 3 cases: More... | |
bool | setupSampling123 (bool is2, bool is3) |
Determine how phase space should be sampled. More... | |
bool | trialKin123 (bool is2, bool is3, bool inEvent=true) |
Select a trial kinematics phase space point. More... | |
bool | limitTau (bool is2, bool is3) |
Calculate kinematical limits for 2 -> 1/2/3. More... | |
bool | limitY () |
Find range of allowed y values. More... | |
bool | limitZ () |
Find range of allowed z = cos(theta) values. More... | |
void | selectTau (int iTau, double tauVal, bool is2) |
Select kinematical variable between defined limits for 2 -> 1/2/3. More... | |
void | selectY (int iY, double yVal) |
Select y according to a choice of shapes. More... | |
void | selectZ (int iZ, double zVal) |
bool | select3Body () |
void | solveSys (int n, int bin[8], double vec[8], double mat[8][8], double coef[8]) |
Solve equation system for better phase space coefficients in 2 -> 1/2/3. More... | |
void | setupMass1 (int iM) |
Setup mass selection for one resonance at a time. Split in two parts. More... | |
void | setupMass2 (int iM, double distToThresh) |
Setup mass selection for one resonance at a time - part 2. More... | |
void | trialMass (int iM) |
Do mass selection and find the associated weight. More... | |
double | weightMass (int iM) |
pair< double, double > | tRange (double sIn, double s1In, double s2In, double s3In, double s4In) |
bool | tInRange (double tIn, double sIn, double s1In, double s2In, double s3In, double s4In) |
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 PhaseSpace | |
SigmaProcessPtr | sigmaProcessPtr |
Pointer to cross section. | |
LHAupPtr | lhaUpPtr |
Pointer to LHAup for generating external events. | |
GammaKinematics * | gammaKinPtr |
Pointer to object that samples photon kinematics from leptons. | |
bool | useBreitWigners |
Initialization data, normally only set once. | |
bool | doEnergySpread |
bool | showSearch |
bool | showViolation |
bool | increaseMaximum |
bool | hasQ2Min |
int | gmZmodeGlobal |
double | mHatGlobalMin |
double | mHatGlobalMax |
double | pTHatGlobalMin |
double | pTHatGlobalMax |
double | Q2GlobalMin |
double | pTHatMinDiverge |
double | minWidthBreitWigners |
double | minWidthNarrowBW |
int | idA |
Information on incoming beams. | |
int | idB |
int | idAold |
int | idBold |
int | idAgm |
int | idBgm |
double | mA |
double | mB |
double | eCM |
double | s |
double | sigmaMxGm |
bool | hasLeptonBeamA |
bool | hasLeptonBeamB |
bool | hasOneLeptonBeam |
bool | hasTwoLeptonBeams |
bool | hasPointGammaA |
bool | hasPointGammaB |
bool | hasOnePointParticle |
bool | hasTwoPointParticles |
bool | hasGamma |
bool | hasVMD |
bool | newSigmaMx |
Cross section information. | |
bool | canModifySigma |
bool | canBiasSelection |
bool | canBias2Sel |
int | gmZmode |
double | bias2SelPow |
double | bias2SelRef |
double | wtBW |
double | sigmaNw |
double | sigmaMx |
double | sigmaPos |
double | sigmaNeg |
double | biasWt |
double | mHatMin |
Process-specific kinematics properties, almost always available. | |
double | mHatMax |
double | sHatMin |
double | sHatMax |
double | pTHatMin |
double | pTHatMax |
double | pT2HatMin |
double | pT2HatMax |
double | x1H |
Event-specific kinematics properties, almost always available. | |
double | x2H |
double | m3 |
double | m4 |
double | m5 |
double | s3 |
double | s4 |
double | s5 |
double | mHat |
double | sH |
double | tH |
double | uH |
double | pAbs |
double | p2Abs |
double | pTH |
double | theta |
double | phi |
double | betaZ |
Vec4 | pH [12] |
double | mH [12] |
int | idResA |
Presence and properties of any s-channel resonances. | |
int | idResB |
double | mResA |
double | mResB |
double | GammaResA |
double | GammaResB |
double | tauResA |
double | tauResB |
double | widResA |
double | widResB |
bool | sameResMass |
bool | useMirrorWeight |
Kinematics properties specific to 2 -> 1/2/3. | |
bool | hasNegZ |
bool | hasPosZ |
double | tau |
double | y |
double | z |
double | tauMin |
double | tauMax |
double | yMax |
double | zMin |
double | zMax |
double | ratio34 |
double | unity34 |
double | zNeg |
double | zPos |
double | wtTau |
double | wtY |
double | wtZ |
double | wt3Body |
double | runBW3H |
double | runBW4H |
double | runBW5H |
double | intTau0 |
double | intTau1 |
double | intTau2 |
double | intTau3 |
double | intTau4 |
double | intTau5 |
double | intTau6 |
double | intY0 |
double | intY12 |
double | intY34 |
double | intY56 |
double | mTchan1 |
double | sTchan1 |
double | mTchan2 |
double | sTchan2 |
double | frac3Flat |
double | frac3Pow1 |
double | frac3Pow2 |
double | zNegMin |
double | zNegMax |
double | zPosMin |
double | zPosMax |
Vec4 | p3cm |
Vec4 | p4cm |
Vec4 | p5cm |
int | nTau |
Coefficients for optimized selection in 2 -> 1/2/3. | |
int | nY |
int | nZ |
double | tauCoef [8] |
double | yCoef [8] |
double | zCoef [8] |
double | tauCoefSum [8] |
double | yCoefSum [8] |
double | zCoefSum [8] |
bool | useBW [6] |
Properties specific to resonance mass selection in 2 -> 2 and 2 -> 3. | |
bool | useNarrowBW [6] |
int | idMass [6] |
double | mPeak [6] |
double | sPeak [6] |
double | mWidth [6] |
double | mMin [6] |
double | mMax [6] |
double | mw [6] |
double | wmRat [6] |
double | mLower [6] |
double | mUpper [6] |
double | sLower [6] |
double | sUpper [6] |
double | fracFlatS [6] |
double | fracFlatM [6] |
double | fracInv [6] |
double | fracInv2 [6] |
double | atanLower [6] |
double | atanUpper [6] |
double | intBW [6] |
double | intFlatS [6] |
double | intFlatM [6] |
double | intInv [6] |
double | intInv2 [6] |
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 |
Static Protected Attributes inherited from PhaseSpace | |
static const int | NMAXTRY = 2 |
Constants: could only be changed in the code itself. More... | |
static const int | NTRY3BODY = 20 |
Number of three-body trials in phase space optimization. | |
static const double | SAFETYMARGIN = 1.05 |
Maximum cross section increase, just in case true maximum not found. | |
static const double | TINY = 1e-20 |
Small number to avoid division by zero. | |
static const double | EVENFRAC = 0.4 |
Fraction of total weight that is shared evenly between all shapes. | |
static const double | SAMESIGMA = 1e-6 |
Two cross sections with a small relative error are assumed same. | |
static const double | MRESMINABS = 0.001 |
Do not allow resonance to have mass below 2 m_e. | |
static const double | WIDTHMARGIN = 20. |
Do not include resonances peaked too far outside allowed mass region. | |
static const double | SAMEMASS = 0.01 |
Special optimization treatment when two resonances at almost same mass. | |
static const double | MASSMARGIN = 0.01 |
Minimum phase space left when kinematics constraints are combined. | |
static const double | EXTRABWWTMAX = 1.25 |
When using Breit-Wigners in 2 -> 2 raise maximum weight estimate. | |
static const double | THRESHOLDSIZE = 3. |
Size of Breit-Wigner threshold region, for mass selection biasing. | |
static const double | THRESHOLDSTEP = 0.2 |
Step size in optimal-mass search, for mass selection biasing. | |
static const double | YRANGEMARGIN = 1e-6 |
Minimal rapidity range for allowed open range (in 2 -> 3). | |
static const double | LEPTONXMIN = 1e-10 |
static const double | LEPTONXMAX = 1. - 1e-10 |
static const double | LEPTONXLOGMIN = log(1e-10) |
static const double | LEPTONXLOGMAX = log(1. - 1e-10) |
static const double | LEPTONTAUMIN = 2e-10 |
static const double | SHATMINZ = 1. |
Safety to avoid division with unreasonably small value for z selection. | |
static const double | PT2RATMINZ = 0.0001 |
Regularization for small pT2min in z = cos(theta) selection. | |
static const double | WTCORRECTION [11] |
A derived class with 2 -> 3 kinematics 1 + 2 -> 3 + 4 + 5 set up in tau, y, pT2_4, pT2_5, phi_4, phi_5 and y_3 (partial cylindrical symmetry).
|
virtual |
Construct the final event kinematics.
Construct the four-vector kinematics from the trial values.
Assign masses to particles assumed massless in matrix elements.
Check that phase space still open after new mass assignment.
Particle masses; incoming always on mass shell.
Incoming partons along beam axes.
Begin three-momentum rescaling to compensate for masses.
Iterate rescaling solution five times, using Newton-Raphson.
Rescale momenta appropriately.
Outgoing partons initially in collision CM frame along beam axes.
Then boost them to overall CM frame
Store average pT of three final particles for documentation.
Done.
Implements PhaseSpace.