File: DrellYanMECorrection.h
Description:
This class is responsible for the matrix element correction
for Drell-Yan processes.
***LOOKHERE*** Of course there is no jet real matrix element correction.
This class serves now only just a prototype for the
interfaces that all matrix element correctins will have.
See
also:
namespace Herwig
CLASS
DrellYanMECorrection:
Base class:
Public members:
inline DrellYanMECorrection();
inline DrellYanMECorrection(const DrellYanMECorrection &);
virtual ~DrellYanMECorrection();
Standard ctors and dtor.
virtual void hardMECorrection() throw(Veto, Stop, Exception);
Override this method only if Sudakov suppression of
hard 2->N+1 processes or decay 1->N+1 processes
has to be included, in which case the all event could be rejected.
virtual bool softMECorrection( Lorentz5Momentum pEmissionHardestSoFar )
throw(Veto, Stop, Exception);
In the case that the "basic" hard 2->N process or
decay 1->N process has been generated, then for each emission
which is the hardest (in Pt w.r.t. to the emitting parent) so far
the following two checks are made:
--- first, if it is above a certain value (which we assume can be
got from KinematicalCut accessed via the basic process pointer)
then the all event is rejected (because it should be described
by the corresponding ->N+1 process);
--- second, the soft M.E. correction is applied, which consists in
accepting/vetoing such emission, which corresponds, respectively,
to returning false/true in this method (be careful: "true" means
that we have to apply a correction to the normal showering,
which means, in this case, to reject the emission).
Notice that this method needs only one input, the momentum of the
hardest emission so far, because the other N momenta are
always the N-outgoing momenta of the hard 2->N process
or decay 1->N process, whose values we can always get
from the object pointed by hardProcessME() and
decayProcessME().
static void Init();
Standard Init function used to initialize the interfaces.
Protected members:
inline virtual IBPtr clone() const;
inline virtual IBPtr fullclone() const;
Standard clone methods.
Private members:
static ClassDescription<DrellYanMECorrection> initDrellYanMECorrection;
Describe a concrete class with persistent data.
DrellYanMECorrection & operator=(const DrellYanMECorrection &);
Private and non-existent assignment operator.
DEFINED MACROS
HERWIG_DrellYanMECorrection_H
INCLUDED FILES
MECorrection.h
ShowerConfig.h
Herwig++/Utilities/GlobalParameters.h