herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEPP2ZHPowheg.h
1// -*- C++ -*-
2#ifndef HERWIG_MEPP2ZHPowheg_H
3#define HERWIG_MEPP2ZHPowheg_H
4//
5// This is the declaration of the MEPP2ZHPowheg class.
6//
7
8#include "Herwig/MatrixElement/Hadron/MEPP2ZH.h"
9#include "ThePEG/PDF/BeamParticleData.h"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
22class MEPP2ZHPowheg: public MEPP2ZH {
23
24public:
25
30
36 virtual Energy2 scale() const;
37
42 virtual int nDim() const;
43
51 virtual bool generateKinematics(const double * r);
52
58 virtual CrossSection dSigHatDR() const;
60
61public:
62
70
76 void persistentInput(PersistentIStream & is, int version);
78
85 static void Init();
86
87protected:
92 double NLOweight() const;
93
97 double x(double xt, double v) const;
98
102 double x_a(double x, double v) const;
103
107 double x_b(double x, double v) const;
108
112 double xbar(double v) const;
113
118 double Ltilde_qg(double x, double v) const;
119
124 double Ltilde_gq(double x, double v) const;
125
130 double Ltilde_qq(double x, double v) const;
131
135 double Vtilde_qq() const;
136
141 double Ccalbar_qg(double x) const;
142
147 double Fcal_qg(double x, double v) const;
148
153 double Fcal_gq(double x, double v) const;
154
159 double Fcal_qq(double x, double v) const;
160
165 double Ftilde_qg(double xt, double v) const;
166
171 double Ftilde_gq(double xt, double v) const;
172
177 double Ftilde_qq(double xt, double v) const;
178
183 double Ctilde_qg(double x, double v) const;
184
189 double Ctilde_gq(double x, double v) const;
190
195 double Ctilde_qq(double x, double v) const;
196
197protected:
198
205 virtual IBPtr clone() const { return new_ptr(*this); }
206
211 virtual IBPtr fullclone() const { return new_ptr(*this); }
213
214protected:
215
223 virtual void doinit();
225
226private:
227
233
234private:
235
239 mutable double _xb_a;
240
244 mutable double _xb_b;
245
250
255
259 mutable Ptr<BeamParticleData>::transient_const_pointer _hadron_A;
260
264 mutable Ptr<BeamParticleData>::transient_const_pointer _hadron_B;
265
270
274 const double TR_;
275
279 const double CF_;
280
284 mutable double _alphaS2Pi;
285
289 mutable Energy2 _mll2;
290
294 mutable Energy2 _mu2;
295
303 unsigned int _contrib;
304
308 unsigned int _nlo_alphaS_opt;
309
314
318 double _a;
319
323 double _p;
324
326
334 unsigned int _scaleopt;
335
340
346
354 double _xt;
355
359 double _v;
361
369 mutable double _oldq;
370
374 mutable double _oldqbar;
376};
377
378}
379
380#endif /* HERWIG_MEPP2ZHPowheg_H */
The MEPP2ZHPowheg class implements the matrix element for .
Definition: MEPP2ZHPowheg.h:22
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Ptr< BeamParticleData >::transient_const_pointer _hadron_B
The BeamParticleData object for the second hadron.
const double CF_
The colour factor.
double Fcal_qq(double x, double v) const
Function for calculation of the initiated real contribution.
double x(double xt, double v) const
Calculate the variable from the integration variables.
double Ltilde_qg(double x, double v) const
Calculate the ratio of the radiative luminosity funcion to the Born luminosity function for the init...
double Fcal_gq(double x, double v) const
Function for calculation of the initiated real contribution.
tcPDPtr _gluon
the ParticleData object for the gluon
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
double Ltilde_gq(double x, double v) const
Calculate the ratio of the radiative luminosity funcion to the Born luminosity function for the init...
double Ftilde_gq(double xt, double v) const
Function for calculation of the initiated real contribution.
unsigned int _scaleopt
Choice of the scale.
virtual CrossSection dSigHatDR() const
Return the matrix element for the kinematical configuation previously provided by the last call to se...
double x_b(double x, double v) const
Calculate the momentum fraction of second parton.
Ptr< BeamParticleData >::transient_const_pointer _hadron_A
The BeamParticleData object for the first hadron.
double xbar(double v) const
Calculate the minimum of .
double _xt
Radiation variables.
double Ftilde_qq(double xt, double v) const
Function for calculation of the initiated real contribution.
tcPDPtr _parton_b
The ParticleData object for the second parton in the Born process.
tcPDPtr _parton_a
The ParticleData object for the first parton in the Born process.
double Ccalbar_qg(double x) const
Function for calculation of the and initiated real contribution.
Energy2 _mu2
The renormalization/factorization scale.
const double TR_
The colour factor.
virtual int nDim() const
The number of internal degreed of freedom used in the matrix element.
unsigned int _contrib
Parameters for the NLO weight.
double _fixed_alphaS
The value of alphaS to use for the nlo weight if _nloalphaSopt=1.
double _p
The power of the correction term to reduce the negative contribution.
double NLOweight() const
Calculate the correction weight with which leading-order configurations are re-weighted.
double Fcal_qg(double x, double v) const
Function for calculation of the initiated real contribution.
static void Init()
The standard Init function used to initialize the interfaces.
double _oldq
Values of the PDF's before radiation.
double x_a(double x, double v) const
Calculate the momentum fraction of the first parton.
double Vtilde_qq() const
Calculate the soft-virtual contribution to the NLO weight.
double _v
The angular variable.
double Ltilde_qq(double x, double v) const
Calculate the ratio of the radiative luminosity funcion to the Born luminosity function for the init...
double _xb_b
The momentum fraction of the second parton in the Born process.
double _a
The magnitude of the correction term to reduce the negative contribution.
virtual IBPtr clone() const
Make a simple clone of this object.
double Ctilde_qg(double x, double v) const
Function for calculation of the initiated real contribution.
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
double Ctilde_gq(double x, double v) const
Function for calculation of the initiated real contribution.
double _alphaS2Pi
The value of used for the calculation.
MEPP2ZHPowheg()
The default constructor.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
MEPP2ZHPowheg & operator=(const MEPP2ZHPowheg &)=delete
The assignment operator is private and must never be called.
double _scaleFact
Prefactor if variable scale used.
double _xb_a
The momentum fraction of the first parton in the Born process.
Energy2 _mll2
The mass squared of the lepton pair.
Energy _fixedScale
Fixed scale if used.
unsigned int _nlo_alphaS_opt
Whether to use a fixed or a running QCD coupling for the NLO weight.
double Ctilde_qq(double x, double v) const
Function for calculation of the initiated real contribution.
double Ftilde_qg(double xt, double v) const
Function for calculation of the initiated real contribution.
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given 'nDim()' uniform random numbers in the interval ]0,...
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
double _oldqbar
For the antiquark.
The MEPP2ZH class implements the matrix element for .
Definition: MEPP2ZH.h:21
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr