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

The GeneralQQHiggs class implements the matrix elements for $gg\to Q \bar Q h^0$ and $q\bar q\to Q \bar Q h^0$. More...

#include <GeneralQQHiggs.h>

Inheritance diagram for Herwig::GeneralQQHiggs:

List of all members.

Public Member Functions

void setProcessInfo (unsigned int quark, PDPtr higgs, AbstractFFSVertexPtr vertex, unsigned int shapeOpt, unsigned int proc)
 Initialisation if used in a general model.
Standard constructors and destructors.
 GeneralQQHiggs ()
 The default constructor.
Virtual functions required by the HwMEBase class.
virtual unsigned int orderInAlphaS () const
 Return the order in $\alpha_S$ in which this matrix element is given.
virtual unsigned int orderInAlphaEW () const
 Return the order in $\alpha_{EW}$ in which this matrix element is given.
virtual double me2 () const
 The matrix element for the kinematical configuration previously provided by the last call to setKinematics(), suitably scaled by sHat() to give a dimension-less number.
virtual Energy2 scale () const
 Return the scale associated with the last set phase space point.
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.
virtual int nDim () const
 The number of internal degrees 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 squared differential in the variables given by the last call to generateKinematics().
virtual void getDiagrams () const
 Add all possible diagrams with the add() function.
virtual Selector< DiagramIndexdiagrams (const DiagramVector &dv) const
 Get diagram selector.
virtual Selector< const
ColourLines * > 
colourGeometries (tcDiagPtr diag) const
 Return a Selector with possible colour geometries for the selected diagram weighted by their relative probabilities.
virtual void constructVertex (tSubProPtr)
 Construct the vertex of spin correlations.
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

double ggME (vector< VectorWaveFunction > &g1, vector< VectorWaveFunction > &g2, vector< SpinorBarWaveFunction > &q, vector< SpinorWaveFunction > &qbar, ScalarWaveFunction &h, unsigned int flow) const
 Members to calculate the matrix elements.
double qqME (vector< SpinorWaveFunction > &q1, vector< SpinorBarWaveFunction > &q2, vector< SpinorBarWaveFunction > &q3, vector< SpinorWaveFunction > &q4, ScalarWaveFunction &h, unsigned int flow) const
 Matrix element for $q\bar{q}\to Q\bar{Q}h^0$.
Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object.
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane.
Standard Interfaced functions.
virtual void doinit ()
 Initialize this object after the setup phase before saving an EventGenerator to disk.

Private Member Functions

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

Private Attributes

unsigned int flow_
 Colour flow.
unsigned int diagram_
 Diagram.
ProductionMatrixElement me_
 Matrix element.
unsigned int quarkFlavour_
 Switches to control the subprocess.
unsigned int process_
 Processes to include.
unsigned int shapeOpt_
 Switches etc for the Higgs mass generation.
Energy mh_
 On-shell mass for the higgs.
Energy wh_
 On-shell width for the higgs.
GenericMassGeneratorPtr hmass_
 The mass generator for the Higgs.
AbstractVVVVertexPtr GGGVertex_
 Vertices needed to compute the diagrams.
AbstractFFVVertexPtr QQGVertex_
 $q\bar{q}g$ vertex
AbstractFFSVertexPtr QQHVertex_
 $q\bar q h^0$ vertex
PDPtr gluon_
 ParticleData objects of the particles.
PDPtr higgs_
 The Higgs boson.
vector< PDPtrquark_
 the quarks
vector< PDPtrantiquark_
 the antiquarks
double alpha_
 Parameters for the phase-space generation.

Static Private Attributes

static ClassDescription
< GeneralQQHiggs
initGeneralQQHiggs
 The static object used to initialize the description of this class.

Detailed Description

The GeneralQQHiggs class implements the matrix elements for $gg\to Q \bar Q h^0$ and $q\bar q\to Q \bar Q h^0$.

See also:
The interfaces defined for GeneralQQHiggs.

Definition at line 31 of file GeneralQQHiggs.h.


Member Function Documentation

virtual IBPtr Herwig::GeneralQQHiggs::clone ( ) const [protected, virtual]

Make a simple clone of this object.

Returns:
a pointer to the new object.

Implements ThePEG::InterfacedBase.

virtual Selector<const ColourLines *> Herwig::GeneralQQHiggs::colourGeometries ( tcDiagPtr  diag) const [virtual]

Return a Selector with possible colour geometries for the selected diagram weighted by their relative probabilities.

Parameters:
diagthe diagram chosen.
Returns:
the possible colour geometries weighted by their relative probabilities.

Implements ThePEG::MEBase.

virtual Selector<DiagramIndex> Herwig::GeneralQQHiggs::diagrams ( const DiagramVector dv) const [virtual]

Get diagram selector.

With the information previously supplied with the setKinematics method, a derived class may optionally override this method to weight the given diagrams with their (although certainly not physical) relative probabilities.

Parameters:
dvthe diagrams to be weighted.
Returns:
a Selector relating the given diagrams to their weights.

Reimplemented from ThePEG::MEBase.

virtual void Herwig::GeneralQQHiggs::doinit ( ) [protected, virtual]

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions:
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::InterfacedBase.

virtual IBPtr Herwig::GeneralQQHiggs::fullclone ( ) const [protected, virtual]

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns:
a pointer to the new object.

Reimplemented from ThePEG::InterfacedBase.

virtual bool Herwig::GeneralQQHiggs::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.

Parameters:
ra pointer to the first of nDim() consecutive random numbers.
Returns:
true if the generation succeeded, otherwise false.

Reimplemented from Herwig::HwMEBase.

double Herwig::GeneralQQHiggs::ggME ( vector< VectorWaveFunction > &  g1,
vector< VectorWaveFunction > &  g2,
vector< SpinorBarWaveFunction > &  q,
vector< SpinorWaveFunction > &  qbar,
ScalarWaveFunction h,
unsigned int  flow 
) const [protected]

Members to calculate the matrix elements.

Matrix element for $gg\to Q\bar{Q}h^0$

Parameters:
g1The wavefunctions for the first incoming gluon
g2The wavefunctions for the second incoming gluon
qThe wavefunction for the outgoing quark
qbarThe wavefunction for the outgoing antiquark
hThe wavefunction for the outgoing Higgs boson
flowThe colour flow
static void Herwig::GeneralQQHiggs::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 Herwig::HwMEBase.

virtual double Herwig::GeneralQQHiggs::me2 ( ) const [virtual]

The matrix element for the kinematical configuration previously provided by the last call to setKinematics(), suitably scaled by sHat() to give a dimension-less number.

Returns:
the matrix element scaled with sHat() to give a dimensionless number.

Implements ThePEG::MEBase.

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

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

Function used to read in object persistently.

Parameters:
isthe persistent input stream read from.
versionthe version number of the object when written.

Reimplemented from Herwig::HwMEBase.

Function used to write out object persistently.

Parameters:
osthe persistent output stream written to.

Reimplemented from Herwig::HwMEBase.

double Herwig::GeneralQQHiggs::qqME ( vector< SpinorWaveFunction > &  q1,
vector< SpinorBarWaveFunction > &  q2,
vector< SpinorBarWaveFunction > &  q3,
vector< SpinorWaveFunction > &  q4,
ScalarWaveFunction h,
unsigned int  flow 
) const [protected]

Matrix element for $q\bar{q}\to Q\bar{Q}h^0$.

Parameters:
q1The wavefunction for the incoming quark
q2The wavefunction for the incoming antiquark
q3The wavefunction for the outgoing quark
q4The wavefunction for the outgoing antiquark
hThe wavefunction for the outgoing Higgs boson
flowThe colour flow
virtual void Herwig::GeneralQQHiggs::setKinematics ( ) [virtual]

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.

If the function is overridden in a sub class the new function must call the base class one first.

Reimplemented from Herwig::HwMEBase.

void Herwig::GeneralQQHiggs::setProcessInfo ( unsigned int  quark,
PDPtr  higgs,
AbstractFFSVertexPtr  vertex,
unsigned int  shapeOpt,
unsigned int  proc 
)

Initialisation if used in a general model.

Set up the matrix element


Member Data Documentation

Parameters for the phase-space generation.

Power for the phase-space mapping

Definition at line 348 of file GeneralQQHiggs.h.

Vertices needed to compute the diagrams.

$ggg$ vertex

Definition at line 302 of file GeneralQQHiggs.h.

ParticleData objects of the particles.

The gluon

Definition at line 323 of file GeneralQQHiggs.h.

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

Indicates that this is a concrete class with persistent data.

Definition at line 245 of file GeneralQQHiggs.h.

unsigned int Herwig::GeneralQQHiggs::quarkFlavour_ [private]

Switches to control the subprocess.

Quark Flavour

Definition at line 262 of file GeneralQQHiggs.h.

unsigned int Herwig::GeneralQQHiggs::shapeOpt_ [private]

Switches etc for the Higgs mass generation.

Defines the Higgs resonance shape

Definition at line 277 of file GeneralQQHiggs.h.


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