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

Class to sample the virtuality and transverse momentum of emitted photons. More...

#include <GammaKinematics.h>

Inheritance diagram for GammaKinematics:
PhysicsBase

Public Member Functions

 GammaKinematics ()
 Constructor.
 
bool init ()
 Sample the trial or final event kinematics. More...
 
bool sampleKTgamma (bool nonDiff=false)
 Sampling of the kinematics of the intermediate photon. More...
 
bool deriveKin (double xGamma, double Q2gamma, double m2beam, double eCM2)
 
bool finalize ()
 Save the accepted values for further use. More...
 
bool trialKinSoftPhaseSpaceSampling ()
 Sample photon kinematics for soft events. More...
 
double fluxWeight ()
 Calculate weight from oversampling with approximated flux. More...
 
double setupSoftPhaseSpaceSampling (double sigmaMax)
 Set up phase-space sampling for soft events. More...
 
double calcNewSHat (double sHatOld)
 Calculate and return rescaled sHat according to the process. More...
 
double getQ2gamma1 () const
 Methods to pass along the sampled values.
 
double getQ2gamma2 () const
 
double getPhi1 () const
 
double getPhi2 () const
 
double getKT1 () const
 
double getKT2 () const
 
double eCMsub () const
 
double weight () const
 
int idInA () const
 
int idInB () const
 
bool hasNewSHat () const
 
- 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
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
 

Detailed Description

Class to sample the virtuality and transverse momentum of emitted photons.

Member Function Documentation

double calcNewSHat ( double  sHatOld)

Calculate and return rescaled sHat according to the process.

Calculates the new sHat for direct-direct and direct-resolved processes.

Need to recalculate only if two photons.

Calculate the new sHat for direct-resolved system.

Otherwise no need for a new value.

bool deriveKin ( double  xGamma,
double  Q2gamma,
double  m2Beam,
double  eCM2 
)

Sample the Q2 values and phi angles for each beam and derive kT according to sampled x_gamma. Check that sampled values within required limits.

Sample azimuthal angle from flat [0,2*pi[.

Calculate kT^2 for photon from particle with non-zero mass.

If no virtuality sampled set transverse momentum to zero.

Check that physical values for kT (very rarely fails if ever but may cause numerical issues).

Calculate the transverse and longitudinal momenta and scattering angle of the beam particle.

Done.

bool finalize ( )

Save the accepted values for further use.

Propagate the sampled values for beam particles.

Set the sampled values also to Info object.

Keep old mGmGm for 2->1 processes with direct photons.

Done.

double fluxWeight ( )

Calculate weight from oversampling with approximated flux.

Initially unit weight.

Calculate the weight according to accurate flux.

When no sampling of virtuality use the Q2-integrated flux.

Done.

bool init ( )

Sample the trial or final event kinematics.

Initialize phase space limits.

The GammaKinematics class. Generates the kinematics of emitted photons according to phase space limits.

Rejection based on theta only when beams set in CM frame.

Save the applied cuts.

Initial choice for the process type and whether to use over-estimated flux for sampling.

Flag from virtuality sampling.

Check if photons from both beams or only from one beam.

Get the masses and collision energy and derive useful ratios.

Id of the beam if not a photon inside the beam.

Calculate the CM-energies of incoming beams.

Derive ratios used often.

Derive the kinematic limits.

No limits for xGamma if Q2-integrated flux.

If Wmax below Wmin (negative by default) use the total invariant mass.

Done.

bool sampleKTgamma ( bool  nonDiff = false)

Sampling of the kinematics of the intermediate photon.

Sample kinematics of one or two photon beams from the original beams.

Get the sampled x_gamma values from beams.

Type of current process.

Reject already sampled x_gamma values outside kinematic bounds.

Sample virtuality for photon A.

Sample the x_gamma value if needed and check that value is valid.

Derive the accurate lower Q2 limit and sample value.

Sample the Q2 if requested, otherwise pick use the maximum value.

Reject sampled values outside limits (relevant for external flux).

Sample virtuality for photon B.

Sample the x_gamma value if needed and check that value is valid.

Derive the accurate lower Q2 limit and sample value.

Sample the Q2 if requested, otherwise pick use the maximum value.

Reject sampled values outside limits (relevant for external flux).

Derive the full photon momenta from the sampled values.

Reject kinematics if a scattering angle above cut.

Reject kinematics if a scattering angle above cut.

Invariant mass of photon-photon system.

Derive the invariant mass and check the kinematic limits.

Check if derived value within bounds set by user.

Calculate invariant mass now that the square is positive.

Invariant mass of photon-hadron system.

Derive the invariant mass and check the limits. Solve the longitudinal momentum of beam particles in CM frame.

Pick the correct beam mass and photon kinematics.

Calculate the invariant mass of the photon-hadron pair and check limits.

double setupSoftPhaseSpaceSampling ( double  sigmaMax)

Set up phase-space sampling for soft events.

Classification, constant and initial value.

Get the masses of beam particles and derive useful ratios.

Calculate the square of the minimum invariant mass for sampling.

Default values to be modified.

Calculate limit for x1 (if applicable) and derive useful logs.

Calculate limit for x2 (if applicable) and derive useful logs.

Derive the over-estimates either with accurate or approximated fluxes.

Return the estimate.

bool trialKinSoftPhaseSpaceSampling ( )

Sample photon kinematics for soft events.

Current weight.

Sample x_gamma's when using an accurate photon flux.

Save the x_gamma values to beam particles for further use.

Sample x_gamma's when using an accurate photon flux.

Save the x_gamma values to beam particles for further use.

Sample the kT of photons, special behaviour for non-diffractive events.

Save the sampled x_gamma values with over-estimated fluxes.

Correct for x1 and x2 oversampling.

Calculate the weight for beam A from oversampling.

For external flux weight depends whether Q2 is sampled.

Calculate the weight for beam B from oversampling.

For external flux weight depends whether Q2 is sampled.

Correct for alpha_EM with the sampled Q2 values.

Combine weights.


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