PYTHIA  8.303
Public Member Functions | List of all members
PhaseSpace2to2nondiffractive Class Reference
Inheritance diagram for PhaseSpace2to2nondiffractive:
PhaseSpace PhysicsBase

Public Member Functions

 PhaseSpace2to2nondiffractive ()
 Constructor. More...
virtual bool setupSampling ()
 Construct the trial or final event kinematics. More...
virtual bool trialKin (bool, bool=false)
 Select a trial kinematics phase space point. Trivial if not photoproduction. More...
virtual bool finalKin ()
- Public Member Functions inherited from PhaseSpace
virtual ~PhaseSpace ()
void init (bool isFirst, SigmaProcess *sigmaProcessPtrIn)
 Perform simple initialization and store pointers. More...
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)
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

Additional Inherited Members

- Public Types inherited from PhysicsBase
enum  Status {
 Enumerate the different status codes the event generation can have.
- Protected Member Functions inherited from PhaseSpace
 PhaseSpace ()
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
 Pointer to cross section.
LHAupPtr lhaUpPtr
 Pointer to LHAup for generating external events.
 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 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
InfoinfoPtr = {}
SettingssettingsPtr = {}
 Pointer to the settings database.
ParticleDataparticleDataPtr = {}
 Pointer to the particle data table.
HadronWidthshadronWidthsPtr = {}
 Pointer to the hadron widths data table.
RndmrndmPtr = {}
 Pointer to the random number generator.
CoupSMcoupSMPtr = {}
 Pointers to SM and SUSY couplings.
CoupSUSYcoupSUSYPtr = {}
BeamParticlebeamAPtr = {}
BeamParticlebeamBPtr = {}
BeamParticlebeamPomAPtr = {}
BeamParticlebeamPomBPtr = {}
BeamParticlebeamGamAPtr = {}
BeamParticlebeamGamBPtr = {}
BeamParticlebeamVMDAPtr = {}
BeamParticlebeamVMDBPtr = {}
PartonSystemspartonSystemsPtr = {}
 Pointer to information on subcollision parton locations.
SigmaTotalsigmaTotPtr = {}
 Pointer to the total/elastic/diffractive cross sections.
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]

Constructor & Destructor Documentation


A derived class for nondiffractive events. Hardly does anything, since the real action is taken care of by the MultipartonInteractions class.

Member Function Documentation

virtual bool finalKin ( )

A pure virtual method, wherein the accepted event kinematics is to be constructed in the derived class.

Implements PhaseSpace.

bool setupSampling ( )

Construct the trial or final event kinematics.

Set up for phase space sampling. Trivial if not photoproduction.

PhaseSpace2to2nondiffractive class. 2 -> 2 kinematics for non-diffractive events.

Flag if a photon inside lepton beam.

Default behaviour with usual hadron beams.

Derive overestimate for sigmaND for photons in leptons.


Implements PhaseSpace.

bool trialKin ( bool  ,
bool  = false 

Select a trial kinematics phase space point. Trivial if not photoproduction.

Sample kinematics for gamma+gamma(hadron) sub-event and reject to account for over sampling.

Current weight.

Sample gamma kinematics.

Correct for the estimated sigmaND.

Calculate the total weight and warn if unphysical weight.

Correct for over-estimated cross section and x_gamma limits.


Implements PhaseSpace.

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