This abstract class is the base class from which all concrete
matrix element corrections inherit from. It provides a switch for
turning on/off the matrix element correction: in this way
this switch is automatically available for all the matrix element
corrections classes, without need to define it for each new one which is added.
Notice that each object of a class derived from MECorrection must have
a reference to:
the hard process and hard process plus jet matrix elements; OR
the decay process and decay process plus jet matrix elements;
according if this ME correction refers to, respectively,
a hard 2->N process or a decay 1->N process.
This class declares an important pure virtual method:
softMECorrection.
which must be defined by derived class. Another virtual (but non-pure)
method is hardMECorrection.
, which does nothing
by default, but it could be overriden if Sudakov-suppression of
->N+1 matrix elements has to be included.
Notice that:
- The approach to Matrix Element correction is quite different than
in Fortran Herwig. In fact, because ThePEG allows to have more
processes competing to each other, we allow the basic ->N
process and the ->N+1 one to compete to each other.
Therefore, in the case that the ->N+1 process has been
generated, we usually (i.e. without Sudakov suppression of M.E.)
apply the standard showering, without any rejection or soft M.E.
correction. If, instead, the ->N process is generated,
then beside the soft M.E. correction to the hardest emission so far
(exactly as in Fortran Herwig), a further check must be made that
such hardest emission is below some "cut", otherwise the all event
must be rejected (because it will be described by the ->N+1
process).
- ***LOOKHERE*** We are assuming that the above "cut", which determines
whether the all generated event will be kept or rejected, is described
in the KinematicalCut object accessible from either
hardProcessME() or decayProcessME().
- ***LOOKHERE*** We are assuming that in ThePEG there is a mechanism
(not yet implemented indeed) which allows to know that for each
process with M.E. correction, two processes must compete with each
other: the basic ->N process and the ->N+Jet one.