File: QtildaShowerKinematics1to2.h
Description:
This abstract class describes the common features for initial and final
state radiation kinematics for 1 -> 2 branchings and for
the choice of Qtilda as evolution variable.
See
also:
namespace Herwig
CLASS
QtildaShowerKinematics1to2:
Base class:
Public members:
inline QtildaShowerKinematics1to2();
inline QtildaShowerKinematics1to2(const QtildaShowerKinematics1to2 &);
virtual ~QtildaShowerKinematics1to2();
Standard ctors and dtor.
inline QtildaShowerKinematics1to2( const Lorentz5Momentum & p,
const Lorentz5Momentum & n );
Creator with the two defining vectors p and n
virtual void updateChildren( const double parentSudAlpha,
const Energy parentSudPx, const Energy parentSudPy,
vector<double> & sudAlphaVect,
vector<Energy> & sudPxVect, vector<Energy> & sudPyVect ) = 0;
Along with the showering evolution --- going forward for
time-like (forward) evolution, and going backward for space-like
(backward) evolution --- the Sudakov variables associated to the
branching products are calcalted and returned, from the knowledge
of the parent Sudakov variables.
Note that only alpha and p_perp can be reconstructed
at this moment and we will obtain instead beta only later,
using updateParent().
virtual void updateChildren( const tShowerParticlePtr theParent,
const ParticleVector theChildren ) = 0;
Along with the showering evolution --- going forward for
time-like (forward) evolution, and going backward for space-like
(backward) evolution --- the kinematical variables of the
branching products are calculated and updated from the knowledge
of the parent kinematics. This method is used by the
ForwardShowerEvolver. ***ACHTUNG*** Might be
extended to update colour connections as well.
virtual void updateParent( const tShowerParticlePtr theParent,
const ParticleVector theChildren ) = 0;
update the parent Kinematics from the knowledge of the kinematics
of the children. This method will be used by the
KinematicsReconstructor.
virtual void updateLast( const tShowerParticlePtr theLast ) = 0;
update the kinematical data of a particle when a reconstruction
fixpoint was found. This will highly depend on the kind of
kinematics chosen and will be defined in the inherited concrete
classes. This method will be used by the
KinematicsReconstructor.
virtual Energy jetMass() = 0;
Pure virtual method, to be defined in a derived class.
The method returns the mass of jet.
It should be used only if isTheJetStartingPoint() is true,
and only after the jet kinematics reconstruction.
(performed by the KinematicsReconstructor class).
virtual vector<Lorentz5Momentum> getBasis();
virtual function to return a set of basis vectors, specific to
the type of evolution. this function will be used by the
ForwardShowerEvolver in order to access p
and n, which in turn are members of the concrete class
QtildaShowerKinematics1to2.
inline double z() const;
inline void z( const double inputZ );
inline double phi() const;
inline void phi( const double inputPhi );
Access/set to the generated kinematics variables of the splitting 1->2.
inline const Lorentz5Momentum & pVector() const;
inline const Lorentz5Momentum & nVector() const;
inline const double p_dot_n() const;
Access to the p and n vectors used to describe the kinematics.
Private members:
QtildaShowerKinematics1to2 & operator=(const QtildaShowerKinematics1to2 &);
Private and non-existent assignment operator.
Protected members:
double _z;
double _phi;
const Lorentz5Momentum _pVector;
const Lorentz5Momentum _nVector;
Lorentz5Momentum sudakov2Momentum(double alpha, double beta, Energy px, Energy py);
converts a Sudakov parametrization of a momentum w.r.t. the given
basis p and n into a 5 momentum.
DEFINED MACROS
HERWIG_QtildaShowerKinematics1to2_H
INCLUDED FILES
ShowerKinematics.h
ThePEG/CLHEPWrap/Lorentz5Vector.h
Herwig++/Utilities/HwDebug.h
ThePEG/Repository/EventGenerator.h
QtildaShowerKinematics1to2.icc