herwig is hosted by Hepforge, IPPP Durham
Herwig++  2.7.0
Herwig::HwMEBase Class Reference

The HwMEBase class serves a number of purposes. More...

#include <HwMEBase.h>

Inheritance diagram for Herwig::HwMEBase:

List of all members.

Public Member Functions

 HwMEBase ()
 Default constructor.
Virtual functions required by the MEBase class.
virtual int nDim () const
 The number of internal degreed of freedom used in the matrix element.
virtual bool generateKinematics (const double *r)
 Generate internal degrees of freedom given 'nDim()' uniform random numbers in the interval ]0,1[.
virtual CrossSection dSigHatDR () const
 Return the matrix element for the kinematical configuation previously provided by the last call to setKinematics().
virtual void setKinematics ()
 Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me() and colourGeometries() according to the associated XComb object.
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently.
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently.

Static Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces.

Protected Member Functions

void massOption (vector< unsigned int > iopt)
 Set the treatment of the outgoing masses.
bool generateMasses (vector< Energy > &masses, double &mjac, const double *r)
 Generate the masses of the particles.
virtual double getCosTheta (double cthmin, double cthmax, const double r)
 Used internally by generateKinematics, after calculating the limits on cos(theta).
Access cached values in of the last set phase space point.
Energy2 tHat () const
 Return the $\hat{t}$ of the last set phase space point.
Energy2 uHat () const
 Return the $\hat{u}$ of the last set phase space point.
double phi () const
 Return the azimuth angle of the last set phase space point.
Set the cached values in of the last set phase space point.
void tHat (Energy2 e2)
 Set the $\hat{t}$ of the last set phase space point.
void uHat (Energy2 e2)
 Set the $\hat{u}$ of the last set phase space point.
void phi (double phi)
 Set the azimuth angle of the last set phase space point.
void rescalingOption (unsigned int iopt)
 Rescaled momenta for the helicity ME.
bool rescaleMomenta (const vector< Lorentz5Momentum > &, const cPDVector &)
 rescale the momenta for the computation of the helicity matrix element
const vector< Lorentz5Momentum > & rescaledMomenta () const
 Access to the rescaled momenta.

Private Member Functions

HwMEBaseoperator= (const HwMEBase &)
 The assignment operator is private and must never be called.

Private Attributes

vector< unsigned int > massOption_
 Option for the treatment of the particle masses.
Energy2 lastTHat_
 The $\hat{t}$ of the last set phase space point.
Energy2 lastUHat_
 The $\hat{u}$ of the last set phase space point.
double lastPhi_
 The azimuth angle of the last set phase space point.
unsigned int rescaleOption_
 Produced to produce rescaled momenta.
vector< Lorentz5Momentum > rescaledMomenta_
 Rescaled momenta for use in ME calculations.

Static Private Attributes

static
AbstractClassDescription
< HwMEBase
initHwMEBase
 The static object used to initialize the description of this class.
enum  POWHEGType { No, ISR, FSR, Both }
 Virtual members to be overridden by inheriting classes which implement hard corrections. More...
virtual POWHEGType hasPOWHEGCorrection ()
 Has a POWHEG style correction.
virtual bool hasMECorrection ()
 Has an old fashioned ME correction.
virtual void initializeMECorrection (ShowerTreePtr, double &, double &)
 Initialize the ME correction.
virtual void applyHardMatrixElementCorrection (ShowerTreePtr)
 Apply the hard matrix element correction to a given hard process or decay.
virtual bool softMatrixElementVeto (ShowerProgenitorPtr initial, ShowerParticlePtr parent, Branching br)
 Apply the soft matrix element correction.
virtual HardTreePtr generateHardest (ShowerTreePtr)
 Apply the POWHEG style correction.

Detailed Description

The HwMEBase class serves a number of purposes.

  • it implements the phase space for $2\to2$ scattering processes
  • it provides virtual members for the implementation of hard radiation
  • it gives us greater control over the masses of the outgoing particles so that they can be
    • set massless where required by gauge invariance
    • have their off-shell masses generated using the sophisticated approaches available in Herwig++.
See also:
The interfaces defined for HwMEBase.

Definition at line 38 of file HwMEBase.h.


Member Enumeration Documentation

Virtual members to be overridden by inheriting classes which implement hard corrections.

Type of POWHEG correction

Definition at line 90 of file HwMEBase.h.


Member Function Documentation

virtual bool Herwig::HwMEBase::generateKinematics ( const double *  r) [virtual]

Generate internal degrees of freedom given 'nDim()' uniform random numbers in the interval ]0,1[.

To help the phase space generator, the 'dSigHatDR()' should be a smooth function of these numbers, although this is not strictly necessary. Return false if the chosen points failed the kinematical cuts.

Implements ThePEG::MEBase.

Reimplemented in Herwig::MEPP2Higgs, Herwig::GeneralQQHiggs, Herwig::DISBase, Herwig::MEHiggsPair, Herwig::MEPP2QQHiggs, Herwig::MEfftoffH, Herwig::MEfftoVH, Herwig::MEPP2ZJet, Herwig::MEPP2WJet, Herwig::MEMinBias, Herwig::MEPP2HiggsPowheg, Herwig::MEqq2gZ2ffPowheg, Herwig::MEPP2VVPowheg, Herwig::MEqq2W2ffPowheg, Herwig::MEPP2WHPowheg, Herwig::MEPP2HiggsVBFPowheg, and Herwig::MEPP2ZHPowheg.

static void Herwig::HwMEBase::Init ( ) [static]

The standard Init function used to initialize the interfaces.

Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.

Reimplemented from ThePEG::MEBase.

Reimplemented in Herwig::MEHiggsPair, Herwig::GeneralQQHiggs, Herwig::MEPP2Higgs, Herwig::MEPP2QQHiggs, Herwig::GeneralHardME, Herwig::MEee2gZ2qq, Herwig::MEGammaP2Jets, Herwig::MEff2ff, Herwig::DrellYanBase, Herwig::MEfv2fs, Herwig::METRP2to2, Herwig::MEfftoffH, Herwig::MEfftoVH, Herwig::MEPP2ZJet, Herwig::DISBase, Herwig::MEPP2WJet, Herwig::MEfv2vf, Herwig::MEPP2HiggsVBF, Herwig::MEee2gZ2ll, Herwig::MEff2vv, Herwig::MEPP2GammaGamma, Herwig::MEPP2VV, Herwig::MEPP2GammaJet, Herwig::MEPP2QQ, Herwig::MEQCD2to2, Herwig::MEqq2gZ2ff, Herwig::MEqq2W2ff, Herwig::MEee2VV, RadiativeZPrime::MEqq2ZPrime2ZGamma, Herwig::MEQCD2to2Fast, Herwig::MEMinBias, Herwig::MEvv2ff, RadiativeZPrime::MEqq2ZPrime2ff, Herwig::MEGammaGamma2ff, Herwig::MEvv2ss, Herwig::MEvv2vv, Herwig::MEChargedCurrentDIS, Herwig::MEGammaGamma2WW, Herwig::MEPP2VGamma, Herwig::MEPP2VVPowheg, Herwig::MEPP2SingleTop, Herwig::MENeutralCurrentDIS, Herwig::MEff2sv, Herwig::MEff2vs, Herwig::MEff2ss, Herwig::MEff2tv, Herwig::MEvv2vs, Herwig::MEPP2HiggsPowheg, Herwig::MEqq2gZ2ffPowheg, Herwig::MEfv2tf, Herwig::MEqq2W2ffPowheg, Herwig::MEPP2WHPowheg, Herwig::MEPP2ZHPowheg, Herwig::MEPP2HiggsVBFPowheg, Herwig::MEvv2tv, Herwig::GeneralfftoffH, Herwig::GeneralfftoVH, Herwig::MEPP2WH, Herwig::MEPP2ZH, Herwig::MEee2ZH, and Herwig::MEee2HiggsVBF.

void Herwig::HwMEBase::massOption ( vector< unsigned int >  iopt) [inline, protected]

Set the treatment of the outgoing masses.

Parameters:
ioptThe option for the treatment of the mass

Definition at line 199 of file HwMEBase.h.

HwMEBase& Herwig::HwMEBase::operator= ( const HwMEBase ) [private]

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

void Herwig::HwMEBase::persistentInput ( PersistentIStream is,
int  version 
)
void Herwig::HwMEBase::rescalingOption ( unsigned int  iopt) [inline, protected]

Rescaled momenta for the helicity ME.

Set the treatment of the rescaling of the momenta for the matrix element calculation

Parameters:
ioptThe rescaling option

Definition at line 212 of file HwMEBase.h.

virtual bool Herwig::HwMEBase::softMatrixElementVeto ( ShowerProgenitorPtr  initial,
ShowerParticlePtr  parent,
Branching  br 
) [virtual]

Apply the soft matrix element correction.

Parameters:
initialThe particle from the hard process which started the shower
parentThe initial particle in the current branching
brThe branching struct
Returns:
If true the emission should be vetoed

Reimplemented in Herwig::MEPP2HiggsVBF, Herwig::MEPP2Higgs, Herwig::MEee2gZ2qq, Herwig::DrellYanBase, and Herwig::DISBase.


Member Data Documentation

The static object used to initialize the description of this class.

Indicates that this is an abstract class without persistent data.

Definition at line 248 of file HwMEBase.h.


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