Herwig++
2.7.0
|
The HwMEBase class serves a number of purposes. More...
#include <HwMEBase.h>
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 ![]() | |
Energy2 | uHat () const |
Return the ![]() | |
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 ![]() | |
void | uHat (Energy2 e2) |
Set the ![]() | |
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 | |
HwMEBase & | operator= (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 ![]() | |
Energy2 | lastUHat_ |
The ![]() | |
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. |
The HwMEBase class serves a number of purposes.
Definition at line 38 of file HwMEBase.h.
Virtual members to be overridden by inheriting classes which implement hard corrections.
Type of POWHEG correction
Definition at line 90 of file HwMEBase.h.
virtual CrossSection Herwig::HwMEBase::dSigHatDR | ( | ) | const [virtual] |
Return the matrix element for the kinematical configuation previously provided by the last call to setKinematics().
Uses me().
Implements ThePEG::MEBase.
Reimplemented in Herwig::GeneralQQHiggs, Herwig::DISBase, Herwig::MEHiggsPair, Herwig::MEPP2QQHiggs, Herwig::MEfftoffH, Herwig::MEfftoVH, Herwig::MEPP2ZJet, Herwig::MEPP2WJet, Herwig::MEMinBias, Herwig::MEqq2gZ2ffPowheg, Herwig::MEqq2W2ffPowheg, Herwig::MEPP2WHPowheg, Herwig::MEPP2ZHPowheg, Herwig::MEPP2HiggsVBFPowheg, and Herwig::MEPP2Higgs.
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.
iopt | The option for the treatment of the mass |
Definition at line 199 of file HwMEBase.h.
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 | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
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::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, and Herwig::MEPP2ZH.
void Herwig::HwMEBase::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
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::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, and Herwig::MEPP2ZH.
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
iopt | The 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.
initial | The particle from the hard process which started the shower |
parent | The initial particle in the current branching |
br | The branching struct |
Reimplemented in Herwig::MEPP2HiggsVBF, Herwig::MEPP2Higgs, Herwig::MEee2gZ2qq, Herwig::DrellYanBase, and Herwig::DISBase.
AbstractClassDescription<HwMEBase> Herwig::HwMEBase::initHwMEBase [static, private] |
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.