herwig is hosted by Hepforge, IPPP Durham
Herwig 7.3.0
MEPP2WHPowheg.h
1// -*- C++ -*-
2#ifndef HERWIG_MEPP2WHPowheg_H
3#define HERWIG_MEPP2WHPowheg_H
4//
5// This is the declaration of the MEPP2WHPowheg class.
6//
7
8#include "Herwig/MatrixElement/Hadron/MEPP2WH.h"
9#include "ThePEG/PDF/BeamParticleData.h"
10
11namespace Herwig {
12
13using namespace ThePEG;
14
23class MEPP2WHPowheg: public MEPP2WH {
24
25public:
26
31
37 virtual Energy2 scale() const;
38
43 virtual int nDim() const;
44
52 virtual bool generateKinematics(const double * r);
53
59 virtual CrossSection dSigHatDR() const;
61
62public:
63
71
77 void persistentInput(PersistentIStream & is, int version);
79
86 static void Init();
87
88protected:
89
94 double NLOweight() const;
95
99 double x(double xt, double v) const;
100
104 double x_a(double x, double v) const;
105
109 double x_b(double x, double v) const;
110
114 double xbar(double v) const;
115
120 double Ltilde_qg(double x, double v) const;
121
126 double Ltilde_gq(double x, double v) const;
127
132 double Ltilde_qq(double x, double v) const;
133
137 double Vtilde_qq() const;
138
143 double Ccalbar_qg(double x) const;
144
149 double Fcal_qg(double x, double v) const;
150
155 double Fcal_gq(double x, double v) const;
156
161 double Fcal_qq(double x, double v) const;
162
167 double Ftilde_qg(double xt, double v) const;
168
173 double Ftilde_gq(double xt, double v) const;
174
179 double Ftilde_qq(double xt, double v) const;
180
185 double Ctilde_qg(double x, double v) const;
186
191 double Ctilde_gq(double x, double v) const;
192
197 double Ctilde_qq(double x, double v) const;
198
199protected:
200
207 virtual IBPtr clone() const { return new_ptr(*this); }
208
213 virtual IBPtr fullclone() const { return new_ptr(*this); }
215
216protected:
217
225 virtual void doinit();
227
228private:
229
235
236private:
237
241 mutable double _xb_a;
242
246 mutable double _xb_b;
247
252
257
261 mutable Ptr<BeamParticleData>::transient_const_pointer _hadron_A;
262
266 mutable Ptr<BeamParticleData>::transient_const_pointer _hadron_B;
267
272
276 const double TR_;
277
281 const double CF_;
282
286 mutable double _alphaS2Pi;
287
291 mutable Energy2 _mll2;
292
296 mutable Energy2 _mu2;
297
305 unsigned int _contrib;
306
310 unsigned int _nlo_alphaS_opt;
311
316
320 double _a;
321
325 double _p;
326
328
336 unsigned int _scaleopt;
337
342
348
356 double _xt;
357
361 double _v;
363
371 mutable double _oldq;
372
376 mutable double _oldqbar;
378};
379
380}
381
382#endif /* HERWIG_MEPP2WHPowheg_H */
The MEPP2WHPowheg class provides the next-to-leading order matrix elements for in assoication with a...
Definition: MEPP2WHPowheg.h:23
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given 'nDim()' uniform random numbers in the interval ]0,...
virtual int nDim() const
The number of internal degreed of freedom used in the matrix element.
double x_a(double x, double v) const
Calculate the momentum fraction of the first parton.
double Ftilde_qg(double xt, double v) const
Function for calculation of the initiated real contribution.
double _xt
Radiation variables.
double x(double xt, double v) const
Calculate the variable from the integration variables.
double _fixed_alphaS
The value of alphaS to use for the nlo weight if _nloalphaSopt=1.
double Ctilde_qq(double x, double v) const
Function for calculation of the initiated real contribution.
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 _xb_b
The momentum fraction of the second parton in the Born process.
double Ftilde_qq(double xt, double v) const
Function for calculation of the initiated real contribution.
double Fcal_qq(double x, double v) const
Function for calculation of the initiated real contribution.
virtual IBPtr clone() const
Make a simple clone of this object.
double _oldq
Values of the PDF's before radiation.
Energy2 _mll2
The mass squared of the lepton pair.
tcPDPtr _parton_a
The ParticleData object for the first parton in the Born process.
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 _a
The magnitude of the correction term to reduce the negative contribution.
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
MEPP2WHPowheg()
Default constructor.
double NLOweight() const
Calculate the correction weight with which leading-order configurations are re-weighted.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
double Ftilde_gq(double xt, double v) const
Function for calculation of the initiated real contribution.
unsigned int _contrib
Parameters for the NLO weight.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Ptr< BeamParticleData >::transient_const_pointer _hadron_A
The BeamParticleData object for the first hadron.
double xbar(double v) const
Calculate the minimum of .
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 _v
The angular variable.
Energy2 _mu2
The renormalization/factorization scale.
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
MEPP2WHPowheg & operator=(const MEPP2WHPowheg &)=delete
The assignment operator is private and must never be called.
tcPDPtr _parton_b
The ParticleData object for the second parton in the Born process.
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
double Fcal_gq(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.
const double TR_
The colour factor.
Energy _fixedScale
Fixed scale if used.
double Ctilde_qg(double x, double v) const
Function for calculation of the initiated real contribution.
virtual CrossSection dSigHatDR() const
Return the matrix element for the kinematical configuation previously provided by the last call to se...
double _oldqbar
For the antiquark.
double Ccalbar_qg(double x) const
Function for calculation of the and initiated real contribution.
Ptr< BeamParticleData >::transient_const_pointer _hadron_B
The BeamParticleData object for the second hadron.
double Vtilde_qq() const
Calculate the soft-virtual contribution to the NLO weight.
double _scaleFact
Prefactor if variable scale used.
unsigned int _nlo_alphaS_opt
Whether to use a fixed or a running QCD coupling for the NLO weight.
double _p
The power of the correction term to reduce the negative contribution.
double x_b(double x, double v) const
Calculate the momentum fraction of second parton.
unsigned int _scaleopt
Choice of the scale.
const double CF_
The colour factor.
double _alphaS2Pi
The value of used for the calculation.
double Ctilde_gq(double x, double v) const
Function for calculation of the initiated real contribution.
double _xb_a
The momentum fraction of the first parton in the Born process.
tcPDPtr _gluon
the ParticleData object for the gluon
double Fcal_qg(double x, double v) const
Function for calculation of the initiated real contribution.
The MEPP2WH class provides the matrix elements for the production of the boson in association with t...
Definition: MEPP2WH.h:21
-*- C++ -*-
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr