PYTHIA  8.312
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Sigma2Process Class Reference

#include <SigmaProcess.h>

Inheritance diagram for Sigma2Process:
SigmaProcess PhysicsBase Sigma2ff2fftgmZ Sigma2ff2fftW Sigma2ffbar2A3H12 Sigma2ffbar2ffbarsgm Sigma2ffbar2ffbarsgmZ Sigma2ffbar2FFbarsgmZ Sigma2ffbar2ffbarsW Sigma2ffbar2FfbarsW Sigma2ffbar2fGfGbar Sigma2ffbar2gammagamma Sigma2ffbar2HchgchgHchgchg Sigma2ffbar2HchgH12 Sigma2ffbar2HposHneg Sigma2ffbar2HW Sigma2ffbar2HZ Sigma2ffbar2LEDgammagamma Sigma2ffbar2LEDllbar Sigma2ffbar2LEDUnparticlegamma Sigma2ffbar2LEDUnparticleZ Sigma2ffbar2TEVffbar Sigma2ffbar2ZpH Sigma2ffbargmZggm Sigma2ffbargmZWgmZW Sigma2ffbarWggm Sigma2gg2gammagamma Sigma2gg2gg Sigma2gg2ggamma Sigma2gg2GravitonStarg Sigma2gg2Hglt Sigma2gg2LEDgammagamma Sigma2gg2LEDgg Sigma2gg2LEDllbar Sigma2gg2LEDqqbar Sigma2gg2LEDUnparticleg Sigma2gg2LQLQbar Sigma2gg2qGqGbar Sigma2gg2QQbar Sigma2gg2qqbar Sigma2gg2QQbar3PJ1g Sigma2gg2QQbar3S11g Sigma2gg2QQbar3S11gm Sigma2gg2QQbar3S11QQbar3S11 Sigma2gg2QQbarX8g Sigma2gg2Sg2XXj Sigma2ggm2qqbar Sigma2gmgm2ffbar Sigma2lgm2Hchgchgl Sigma2QCffbar2llbar Sigma2QCqq2qq Sigma2QCqqbar2qqbar Sigma2qg2GravitonStarq Sigma2qg2Hchgq Sigma2qg2Hq Sigma2qg2Hqlt Sigma2qg2LEDqg Sigma2qg2LEDUnparticleq Sigma2qg2LeptoQuarkl Sigma2qg2qg Sigma2qg2qgamma Sigma2qgm2qg Sigma2qgm2qgm Sigma2qq2LEDqq Sigma2qq2qq Sigma2qq2QqtW Sigma2qq2qStarq Sigma2qqbar2DY Sigma2qqbar2gg Sigma2qqbar2ggamma Sigma2qqbar2GravitonStarg Sigma2qqbar2Hglt Sigma2qqbar2LEDgg Sigma2qqbar2LEDqqbarNew Sigma2qqbar2LEDUnparticleg Sigma2qqbar2LQLQbar Sigma2qqbar2lStarlbar Sigma2qqbar2lStarlStarBar Sigma2qqbar2qGqGbar Sigma2qqbar2QQbar Sigma2qqbar2QQbar3S11QQbar3S11 Sigma2qqbar2qqbarNew Sigma2qqbar2Zpg2XXj Sigma2SUSY

Public Member Functions

virtual ~Sigma2Process ()
 Destructor.
 
virtual int nFinal () const
 Number of final-state particles.
 
virtual void set2Kin (double x1in, double x2in, double sHin, double tHin, double m3in, double m4in, double runBW3in, double runBW4in)
 Input and complement kinematics for resolved 2 -> 2 process.
 
virtual void set2KinMPI (double x1in, double x2in, double sHin, double tHin, double uHin, double alpSin, double alpEMin, bool needMasses, double m3in, double m4in)
 Ditto, but for Multiparton Interactions applications, so different input.
 
virtual double sigmaHat ()
 Evaluate d(sigmaHat)/d(tHat) for resolved 2 -> 2 processes.
 
virtual double sigmaHatWrap (int id1in=0, int id2in=0)
 
virtual bool final2KinMPI (int i1Res=0, int i2Res=0, Vec4 p1Res=0., Vec4 p2Res=0., double m1Res=0., double m2Res=0.)
 Perform kinematics for a Multiparton Interaction, in its rest frame. More...
 
- Public Member Functions inherited from SigmaProcess
virtual ~SigmaProcess ()
 Destructor.
 
void init (BeamParticle *beamAPtrIn, BeamParticle *beamBPtrIn, SLHAinterface *slhaInterfacePtrIn=0)
 Perform simple initialization and store pointers. More...
 
void setLHAPtr (LHAupPtr lhaUpPtrIn)
 Store or replace Les Houches pointer.
 
void updateBeamIDs ()
 Switch to new beam particle identities; for similar hadrons only.
 
virtual void initProc ()
 Initialize process. Only used for some processes.
 
virtual bool initFlux ()
 Set up allowed flux of incoming partons. Default is no flux. More...
 
virtual void set1Kin (double, double, double)
 
virtual void set3Kin (double, double, double, Vec4, Vec4, Vec4, double, double, double, double, double, double)
 
virtual void sigmaKin ()
 Calculate flavour-independent parts of cross section.
 
virtual double sigmaPDF (bool initPS=false, bool samexGamma=false, bool useNewXvalues=false, double x1New=0., double x2New=0.)
 
void pickInState (int id1in=0, int id2in=0)
 Select incoming parton channel and extract parton densities (resolved). More...
 
virtual void setIdColAcol ()
 Select flavour, colour and anticolour.
 
virtual double weightDecay (Event &, int, int)
 
virtual void setScale ()
 Set scale, when that is missing for an external LHA process.
 
virtual string name () const
 Process name and code, and the number of final-state particles.
 
virtual int code () const
 
virtual string inFlux () const
 Need to know which incoming partons to set up interaction for.
 
virtual bool convert2mb () const
 Need to know whether to convert cross section answer from GeV^-2 to mb.
 
virtual bool convertM2 () const
 For 2 -> 2 process optional conversion from |M|^2 to d(sigmaHat)/d(tHat).
 
virtual bool isLHA () const
 Special treatment needed for Les Houches processes.
 
virtual bool isNonDiff () const
 Special treatment needed for elastic and diffractive processes.
 
virtual bool isResolved () const
 
virtual bool isDiffA () const
 
virtual bool isDiffB () const
 
virtual bool isDiffC () const
 
virtual bool isSUSY () const
 Special treatment needed for SUSY processes.
 
virtual bool allowNegativeSigma () const
 Special treatment needed if negative cross sections allowed.
 
virtual int id3Mass () const
 
virtual int id4Mass () const
 
virtual int id5Mass () const
 
virtual int resonanceA () const
 Special treatment needed if process contains an s-channel resonance.
 
virtual int resonanceB () const
 
virtual bool isSChannel () const
 2 -> 2 and 2 -> 3 processes only through s-channel exchange.
 
virtual int idSChannel () const
 NOAM: Insert an intermediate resonance in 2 -> 1 -> 2 (or 3) listings.
 
virtual bool isQCD3body () const
 QCD 2 -> 3 processes need special phase space selection machinery.
 
virtual int idTchan1 () const
 Special treatment in 2 -> 3 with two massive propagators.
 
virtual int idTchan2 () const
 
virtual double tChanFracPow1 () const
 
virtual double tChanFracPow2 () const
 
virtual bool useMirrorWeight () const
 
virtual int gmZmode () const
 Special process-specific gamma*/Z0 choice if >=0 (e.g. f fbar -> H0 Z0).
 
bool swappedTU () const
 Tell whether tHat and uHat are swapped (= same as swap 3 and 4).
 
int id (int i) const
 Give back particle properties: flavours, colours, masses, or all.
 
int col (int i) const
 
int acol (int i) const
 
double m (int i) const
 
Particle getParton (int i) const
 
double Q2Ren () const
 
double alphaEMRen () const
 
double alphaSRen () const
 
double Q2Fac () const
 
double pdf1 () const
 
double pdf2 () const
 
double thetaMPI () const
 Give back angles; relevant only for multipe-interactions processes.
 
double phiMPI () const
 
double sHBetaMPI () const
 
double pT2MPI () const
 
double pTMPIFin () const
 
void saveKin ()
 Save and load kinematics for trial interactions.
 
void loadKin ()
 
void swapKin ()
 
virtual void setIdInDiff (int, int)
 Set the incoming ids for diffraction.
 
- 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
 

Protected Member Functions

 Sigma2Process ()
 Constructor.
 
virtual void store2Kin (double x1in, double x2in, double sHin, double tHin, double m3in, double m4in, double runBW3in, double runBW4in)
 Store kinematics and set scales for resolved 2 -> 2 process. More...
 
virtual void store2KinMPI (double x1in, double x2in, double sHin, double tHin, double uHin, double alpSin, double alpEMin, bool needMasses, double m3in, double m4in)
 As above, special kinematics for multiparton interactions. More...
 
virtual bool setupForME ()
 Calculate modified masses and four-vectors for matrix elements. More...
 
- Protected Member Functions inherited from SigmaProcess
 SigmaProcess ()
 Constructor.
 
void addBeamA (int idIn)
 
void addBeamB (int idIn)
 
int sizeBeamA () const
 
int sizeBeamB () const
 
void addPair (int idAIn, int idBIn)
 
int sizePair () const
 
bool setupForMEin ()
 Calculate incoming modified masses and four-vectors for matrix elements. More...
 
void setId (int id1in=0, int id2in=0, int id3in=0, int id4in=0, int id5in=0)
 Set flavour, colour and anticolour.
 
void setColAcol (int col1=0, int acol1=0, int col2=0, int acol2=0, int col3=0, int acol3=0, int col4=0, int acol4=0, int col5=0, int acol5=0)
 
void swapColAcol ()
 
void swapCol1234 ()
 
void swapCol12 ()
 
void swapCol34 ()
 
double weightTopDecay (Event &process, int iResBeg, int iResEnd)
 Common code for top and Higgs secondary decay angular weights. More...
 
double weightHiggsDecay (Event &process, int iResBeg, int iResEnd)
 
- 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

double tH
 Store subprocess kinematics quantities.
 
double uH
 
double tH2
 
double uH2
 
double m3
 
double s3
 
double m4
 
double s4
 
double pT2
 
double runBW3
 
double runBW4
 
- Protected Attributes inherited from SigmaProcess
SusyLesHouchesslhaPtr
 Pointer to an SLHA object.
 
LHAupPtr lhaUpPtr
 Pointer to LHAup for generating external events.
 
bool doVarE
 Initialization data, normally only set once.
 
int nQuarkIn
 
int renormScale1
 
int renormScale2
 
int renormScale3
 
int renormScale3VV
 
int factorScale1
 
int factorScale2
 
int factorScale3
 
int factorScale3VV
 
double Kfactor
 
double mcME
 
double mbME
 
double mmuME
 
double mtauME
 
double renormMultFac
 
double renormFixScale
 
double factorMultFac
 
double factorFixScale
 
int higgsH1parity
 CP violation parameters for Higgs sector, normally only set once.
 
int higgsH2parity
 
int higgsA3parity
 
double higgsH1eta
 
double higgsH2eta
 
double higgsA3eta
 
double higgsH1phi
 
double higgsH2phi
 
double higgsA3phi
 
int idA
 Information on incoming beams.
 
int idB
 
double mA
 
double mB
 
bool isLeptonA
 
bool isLeptonB
 
bool hasLeptonBeams
 
bool beamA2gamma
 
bool beamB2gamma
 
bool hasGamma
 
vector< InBeaminBeamA
 Partons in beams, with PDF's.
 
vector< InBeaminBeamB
 
vector< InPairinPair
 Allowed colliding parton pairs, with pdf's.
 
double mH
 Store common subprocess kinematics quantities.
 
double sH
 
double sH2
 
double Q2RenSave
 Store Q2 renormalization and factorization scales, and related values.
 
double alpEM
 
double alpS
 
double Q2FacSave
 
double x1Save
 
double x2Save
 
double pdf1Save
 
double pdf2Save
 
double sigmaSumSave
 
int id1
 Store flavour, colour, anticolour, mass, angles and the whole particle.
 
int id2
 
int id3
 
int id4
 
int id5
 
int idSave [12]
 
int colSave [12]
 
int acolSave [12]
 
double mSave [12]
 
double cosTheta
 
double sinTheta
 
double phi
 
double sHMass
 
double sHBeta
 
double pT2Mass
 
double pTFin
 
Particle parton [12]
 
Particle partonT [12]
 
double mSaveT [12]
 
double pTFinT
 
double cosThetaT
 
double sinThetaT
 
double phiT
 
double mME [12]
 
Vec4 pME [12]
 
bool swapTU
 Store whether tHat and uHat are swapped (= same as swap 3 and 4).
 
- 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
 

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.
 
- Public Attributes inherited from SigmaProcess
Z0 gamma *Z0Usage: weightDecayFlav( process). */ virtual double weightDecayFlav( Event&) {return 1.
 
- Static Protected Attributes inherited from SigmaProcess
static const double CONVERT2MB = 0.389380
 Constants: could only be changed in the code itself. More...
 
static const double MASSMARGIN = 0.1
 The sum of outgoing masses must not be too close to the cm energy.
 
static const double COMPRELERR = 1e-10
 
static const int NCOMPSTEP = 10
 

Detailed Description

Sigma2Process is the base class for 2 -> 2 processes. It is derived from SigmaProcess.

Member Function Documentation

bool final2KinMPI ( int  i1Res = 0,
int  i2Res = 0,
Vec4  p1Res = 0.,
Vec4  p2Res = 0.,
double  m1Res = 0.,
double  m2Res = 0. 
)
virtual

Perform kinematics for a Multiparton Interaction, in its rest frame.

Perform kinematics for a multiparton interaction, including a rescattering.

Have to set flavours and colours.

Check that masses of outgoing particles not too big.

Do kinematics of the production; without or with masses.

Do kinematics of the decay.

Fill particle info.

Boost particles from subprocess rest frame to event rest frame. Normal multiparton interaction: only longitudinal boost.

Rescattering: generic rotation and boost required.

Done.

Reimplemented from SigmaProcess.

bool setupForME ( )
protectedvirtual

Calculate modified masses and four-vectors for matrix elements.

Common initial-state handling.

Correct outgoing c, b, mu and tau to be massive or not.

If kinematically impossible turn to massless case, but set error.

Calculate scattering angle in subsystem rest frame.

Setup massive kinematics with preserved scattering angle.

Normally allowed with unequal (or vanishing) masses.

For equal (anti)particles (e.g. W+ W-) use averaged mass.

Done.

Reimplemented from SigmaProcess.

virtual double sigmaHatWrap ( int  id1in = 0,
int  id2in = 0 
)
inlinevirtual

Wrapper to sigmaHat, to (a) store current incoming flavours, (b) convert from GeV^-2 to mb where required, and (c) convert from |M|^2 to d(sigmaHat)/d(tHat) where required.

Reimplemented from SigmaProcess.

void store2Kin ( double  x1in,
double  x2in,
double  sHin,
double  tHin,
double  m3in,
double  m4in,
double  runBW3in,
double  runBW4in 
)
protectedvirtual

Store kinematics and set scales for resolved 2 -> 2 process.

Input and complement kinematics for resolved 2 -> 2 process.

The Sigma2Process class. Base class for resolved 2 -> 2 cross sections; derived from SigmaProcess.

Default ordering of particles 3 and 4.

Incoming parton momentum fractions.

Incoming masses and their squares.

Standard Mandelstam variables and their squares.

The nominal Breit-Wigner factors with running width.

Calculate squared transverse momentum.

Special case: pick scale as if 2 -> 1 process in disguise.

Different options for renormalization scale, but normally sHat.

Different options for factorization scale, but normally sHat.

Normal case with "true" 2 -> 2.

Different options for renormalization scale.

Different options for factorization scale.

Evaluate alpha_strong and alpha_EM.

void store2KinMPI ( double  x1in,
double  x2in,
double  sHin,
double  tHin,
double  uHin,
double  alpSin,
double  alpEMin,
bool  needMasses,
double  m3in,
double  m4in 
)
protectedvirtual

As above, special kinematics for multiparton interactions.

Default ordering of particles 3 and 4.

Incoming x values.

Standard Mandelstam variables and their squares.

Strong and electroweak couplings.

Assume vanishing masses. (Will be modified in final kinematics.)

Scattering angle.

In some cases must use masses and redefine meaning of tHat and uHat.

pT2 with masses (at this stage) included.


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