PYTHIA  8.312
Public Member Functions | List of all members
PhaseSpace2to2tauyz Class Reference

A derived class with 2 -> 2 kinematics set up in tau, y, z = cos(theta). More...

#include <PhaseSpace.h>

Inheritance diagram for PhaseSpace2to2tauyz:
PhaseSpace PhysicsBase

Public Member Functions

 PhaseSpace2to2tauyz ()
 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...
 
virtual void rescaleMomenta (double sHatNew)
 
virtual void rescaleSigma (double sHatNew)
 Recalculates cross section with rescaled sHat. More...
 
virtual double weightGammaPDFApprox ()
 Calculate the weight for over-estimated cross section. 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 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.
 
GammaKinematicsgammaKinPtr
 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
InfoinfoPtr = {}
 
SettingssettingsPtr = {}
 Pointer to the settings database.
 
ParticleDataparticleDataPtr = {}
 Pointer to the particle data table.
 
LoggerloggerPtr = {}
 Pointer to logger.
 
HadronWidthshadronWidthsPtr = {}
 Pointer to the hadron widths data table.
 
RndmrndmPtr = {}
 Pointer to the random number generator.
 
CoupSMcoupSMPtr = {}
 Pointers to SM and SUSY couplings.
 
CoupSUSYcoupSUSYPtr = {}
 
BeamSetupbeamSetupPtr = {}
 
BeamParticlebeamAPtr = {}
 
BeamParticlebeamBPtr = {}
 
BeamParticlebeamPomAPtr = {}
 
BeamParticlebeamPomBPtr = {}
 
BeamParticlebeamGamAPtr = {}
 
BeamParticlebeamGamBPtr = {}
 
BeamParticlebeamVMDAPtr = {}
 
BeamParticlebeamVMDBPtr = {}
 
PartonSystemspartonSystemsPtr = {}
 Pointer to information on subcollision parton locations.
 
SigmaTotalsigmaTotPtr = {}
 Pointers to the total/elastic/diffractive cross sections.
 
SigmaCombinedsigmaCmbPtr = {}
 
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]
 

Detailed Description

A derived class with 2 -> 2 kinematics set up in tau, y, z = cos(theta).

Member Function Documentation

bool finalKin ( )
virtual

Construct the final event kinematics.

Construct the four-vector kinematics from the trial values.

Assign masses to particles assumed massless in matrix elements.

Sometimes swap tHat <-> uHat to reflect chosen final-state order.

Check that phase space still open after new mass assignment.

Particle masses; incoming always on mass shell.

Special kinematics for direct photon+hadron (massless+massive) to fulfill s = x1 * x2 * sHat and to retain the momentum of the massless photon beam.

Special kinematics for DIS to preserve lepton mass.

Default kinematics with incoming partons along beam axes.

Outgoing partons initially in collision CM frame along beam axes.

Then rotate and boost them to overall CM frame.

Done.

Implements PhaseSpace.

void rescaleMomenta ( double  sHatNew)
virtual

Rescales the momenta of incoming and outgoing partons according to new sHat.

Rescales the momenta of incoming and outgoing partons according to new sHat sampled in GammaKinematics.

Loop over initial and final partons.

Either final or initial partons.

Original momenta of partons.

Calculate new momenta in CM-frame.

Find boost to original frame.

Boost outgoing partons to original frame and replace the momenta.

Reimplemented from PhaseSpace.

void rescaleSigma ( double  sHatNew)
virtual

Recalculates cross section with rescaled sHat.

Calculate the cross section with rescaled sHat.

With massless matrix element derive tHat without masses.

Update variables according to new sHat.

Calculate the cross section for the process with rescaled kinematics if original cross section non-zero.

Reimplemented from PhaseSpace.

double weightGammaPDFApprox ( )
virtual

Calculate the weight for over-estimated cross section.

Calculates the cross-section weight for overestimated photon flux.

No need for reweighting if only direct photons.

Get the combined x and x_gamma values and derive x'. Start with negative values as these are not reweighted.

Find the correct values for each case.

For photon-hadron case do not reweight the hadron side.

Calculate the over-estimated PDF convolution and the current one.

Make sure that the overestimate is finite.

Return weight.

Reimplemented from PhaseSpace.


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