herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Powheg
MEPP2HiggsPowheg.h
1
// -*- C++ -*-
2
//
3
// MEPP2HiggsPowheg.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4
// Copyright (C) 2002-2019 The Herwig Collaboration
5
//
6
// Herwig is licenced under version 3 of the GPL, see COPYING for details.
7
// Please respect the MCnet academic guidelines, see GUIDELINES for details.
8
//
9
#ifndef HERWIG_MEPP2HiggsPowheg_H
10
#define HERWIG_MEPP2HiggsPowheg_H
11
//
12
// This is the declaration of the MEPP2HiggsPowheg class.
13
//
14
15
#include "Herwig/MatrixElement/Hadron/MEPP2Higgs.h"
16
#include "ThePEG/PDF/BeamParticleData.h"
17
18
namespace
Herwig
{
19
using namespace
ThePEG
;
20
using namespace
ThePEG::Helicity
;
21
30
class
MEPP2HiggsPowheg
:
public
MEPP2Higgs
{
31
32
public
:
33
37
MEPP2HiggsPowheg
();
38
39
public
:
40
50
virtual
double
me2()
const
;
51
60
virtual
bool
generateKinematics(
const
double
* r);
61
65
virtual
Energy2 scale()
const
;
66
71
virtual
int
nDim()
const
;
73
74
public
:
75
82
void
persistentOutput(
PersistentOStream
& os)
const
;
83
89
void
persistentInput(
PersistentIStream
& is,
int
version);
91
98
static
void
Init();
99
103
void
get_born_variables()
const
;
104
109
double
NLOweight()
const
;
110
115
Energy2
s
(
double
xt,
double
y)
const
{
116
return
p2_/x(xt,y);
117
}
118
123
Energy2
tk
(
double
xt,
double
y)
const
{
124
double
x_xt_y(x(xt,y));
125
return
-0.5*p2_/x_xt_y*(1.- x_xt_y)*(1.-y);
126
}
127
132
Energy2
uk
(
double
xt,
double
y)
const
{
133
double
x_xt_y(x(xt,y));
134
return
-0.5*p2_/x_xt_y*(1.- x_xt_y)*(1.+y);
135
}
136
140
double
xbar(
double
y)
const
;
141
145
double
etabar(
double
y)
const
;
146
150
double
x
(
double
xt,
double
y)
const
{
151
double
x0(xbar(y));
152
return
x0+(1.-x0)*xt;
153
}
154
158
double
xp(
double
x,
double
y)
const
;
159
163
double
xm(
double
x,
double
y)
const
;
164
169
double
Lhat_ab(
tcPDPtr
a,
tcPDPtr
b,
double
x,
double
y)
const
;
170
174
double
Vtilde_universal()
const
;
175
180
double
Ctilde_Ltilde_gg_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
181
186
double
Ctilde_Ltilde_qg_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
187
192
double
Ctilde_Ltilde_gq_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
193
197
double
M_V_regular()
const
;
198
202
Energy2 t_u_M_R_qqbar(
double
xt,
double
y)
const
;
203
207
Energy2 t_u_M_R_qbarq(
double
xt,
double
y)
const
;
208
212
Energy2 t_u_M_R_gg(
double
xt,
double
y)
const
;
213
217
Energy2 t_u_M_R_qg(
double
xt,
double
y)
const
;
218
222
Energy2 t_u_M_R_gq(
double
xt,
double
y)
const
;
223
228
double
Rtilde_Ltilde_qqbar_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
229
234
double
Rtilde_Ltilde_qbarq_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
235
240
double
Rtilde_Ltilde_gg_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
241
246
double
Rtilde_Ltilde_qg_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
247
252
double
Rtilde_Ltilde_gq_on_x(
tcPDPtr
a,
tcPDPtr
b,
double
xt,
double
y)
const
;
253
254
protected
:
255
262
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
); }
263
268
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
); }
270
271
private
:
272
277
MEPP2HiggsPowheg
& operator=(
const
MEPP2HiggsPowheg
&) =
delete
;
278
279
private
:
280
288
const
double
CF_
, CA_ , TR_;
289
293
const
int
nlf_
;
294
298
const
double
beta0_
;
299
303
unsigned
int
contrib_
;
304
308
unsigned
int
nlo_alphaS_opt_
;
309
313
double
fixed_alphaS_
;
315
323
double
xt_
;
324
328
double
y_
;
330
334
mutable
double
lo_lumi_
;
335
339
mutable
double
lo_ggME_
;
340
344
mutable
Energy2
p2_
;
345
349
mutable
Energy2
s2_
;
350
354
mutable
double
xbp_
;
355
359
mutable
double
xbm_
;
360
364
mutable
double
etabarp_
;
365
369
mutable
double
etabarm_
;
370
374
mutable
tcPDPtr
a_lo_
;
375
379
mutable
tcPDPtr
b_lo_
;
380
384
mutable
Ptr<BeamParticleData>::transient_const_pointer
hadron_A_
;
385
389
mutable
Ptr<BeamParticleData>::transient_const_pointer
hadron_B_
;
390
394
mutable
double
alphaS_
;
395
399
unsigned
int
scaleopt_
;
400
404
Energy
mu_F_
;
405
409
Energy
mu_UV_
;
410
414
double
scaleFact_
;
415
};
416
417
}
418
419
#endif
/* HERWIG_MEPP2HiggsPowheg_H */
Herwig::MEPP2HiggsPowheg
The MEPP2HiggsPowheg class implements the matrix element for the process pp->Higgs with different Hig...
Definition:
MEPP2HiggsPowheg.h:30
Herwig::MEPP2HiggsPowheg::etabarp_
double etabarp_
The sqrt(1-xbp_)
Definition:
MEPP2HiggsPowheg.h:364
Herwig::MEPP2HiggsPowheg::hadron_A_
Ptr< BeamParticleData >::transient_const_pointer hadron_A_
The BeamParticleData object for the plus direction hadron.
Definition:
MEPP2HiggsPowheg.h:384
ThePEG::PersistentIStream
Herwig::MEPP2HiggsPowheg::fixed_alphaS_
double fixed_alphaS_
The value of alphaS to use for the nlo weight if nlo_alphaS_opt_=1.
Definition:
MEPP2HiggsPowheg.h:313
ThePEG::Helicity
Herwig::MEPP2HiggsPowheg::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEPP2HiggsPowheg.h:268
Herwig::MEPP2HiggsPowheg::nlo_alphaS_opt_
unsigned int nlo_alphaS_opt_
Whether to use a fixed or a running QCD coupling for the NLO weight.
Definition:
MEPP2HiggsPowheg.h:308
ThePEG::PersistentOStream
Herwig::MEPP2HiggsPowheg::xt_
double xt_
Radiation variables.
Definition:
MEPP2HiggsPowheg.h:323
Herwig::MEPP2HiggsPowheg::s
Energy2 s(double xt, double y) const
Invariant required for the evaluation of next-to-leading order quantities (Frixione et al...
Definition:
MEPP2HiggsPowheg.h:115
Herwig::MEPP2HiggsPowheg::alphaS_
double alphaS_
The value of used for the calculation.
Definition:
MEPP2HiggsPowheg.h:394
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MEPP2HiggsPowheg::etabarm_
double etabarm_
The sqrt(1-xbm_)
Definition:
MEPP2HiggsPowheg.h:369
Herwig::MEPP2HiggsPowheg::tk
Energy2 tk(double xt, double y) const
Invariant required for the evaluation of next-to-leading order quantities (Frixione et al...
Definition:
MEPP2HiggsPowheg.h:123
ThePEG
Herwig::MEPP2HiggsPowheg::lo_ggME_
double lo_ggME_
The value of the leading order gg->H matrix element.
Definition:
MEPP2HiggsPowheg.h:339
Herwig::MEPP2HiggsPowheg::hadron_B_
Ptr< BeamParticleData >::transient_const_pointer hadron_B_
The BeamParticleData object for the minus direction hadron.
Definition:
MEPP2HiggsPowheg.h:389
Herwig::MEPP2HiggsPowheg::scaleFact_
double scaleFact_
Prefactor if variable scale used.
Definition:
MEPP2HiggsPowheg.h:414
Herwig::MEPP2HiggsPowheg::mu_UV_
Energy mu_UV_
The renormalization scale.
Definition:
MEPP2HiggsPowheg.h:409
Herwig::MEPP2HiggsPowheg::p2_
Energy2 p2_
The invariant mass of the lo final state.
Definition:
MEPP2HiggsPowheg.h:344
Herwig::MEPP2HiggsPowheg::uk
Energy2 uk(double xt, double y) const
Invariant required for the evaluation of next-to-leading order quantities (Frixione et al...
Definition:
MEPP2HiggsPowheg.h:132
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::MEPP2HiggsPowheg::nlf_
const int nlf_
Number of light flavours (in the beta function beta0_)
Definition:
MEPP2HiggsPowheg.h:293
Herwig::MEPP2HiggsPowheg::beta0_
const double beta0_
(Proportional to) The beta function
Definition:
MEPP2HiggsPowheg.h:298
Herwig::MEPP2HiggsPowheg::x
double x(double xt, double y) const
Calculate the variable from the integration variables.
Definition:
MEPP2HiggsPowheg.h:150
Herwig::MEPP2HiggsPowheg::contrib_
unsigned int contrib_
Whether to generate the positive, negative or leading order contribution.
Definition:
MEPP2HiggsPowheg.h:303
Herwig::MEPP2Higgs
The MEPP2Higgs class implements the matrix element for the process pp->Higgs with different Higgs sha...
Definition:
MEPP2Higgs.h:38
Herwig::MEPP2HiggsPowheg::mu_F_
Energy mu_F_
The factorization scale.
Definition:
MEPP2HiggsPowheg.h:404
Herwig::MEPP2HiggsPowheg::b_lo_
tcPDPtr b_lo_
The ParticleData object for the minus lo parton.
Definition:
MEPP2HiggsPowheg.h:379
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MEPP2HiggsPowheg::y_
double y_
The angular variable.
Definition:
MEPP2HiggsPowheg.h:328
Herwig::MEPP2HiggsPowheg::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2HiggsPowheg.h:262
Herwig::MEPP2HiggsPowheg::xbm_
double xbm_
The momentum fraction of the minus parton in the Born process.
Definition:
MEPP2HiggsPowheg.h:359
Herwig::MEPP2HiggsPowheg::a_lo_
tcPDPtr a_lo_
The ParticleData object for the plus lo parton.
Definition:
MEPP2HiggsPowheg.h:374
Herwig::MEPP2HiggsPowheg::xbp_
double xbp_
The momentum fraction of the plus parton in the Born process.
Definition:
MEPP2HiggsPowheg.h:354
Herwig::MEPP2HiggsPowheg::lo_lumi_
double lo_lumi_
Values of the PDF's before radiation.
Definition:
MEPP2HiggsPowheg.h:334
Herwig::MEPP2HiggsPowheg::CF_
const double CF_
Parameters for the NLO weight.
Definition:
MEPP2HiggsPowheg.h:288
Herwig::MEPP2HiggsPowheg::scaleopt_
unsigned int scaleopt_
Selects a dynamic (sHat) or fixed factorization scale.
Definition:
MEPP2HiggsPowheg.h:399
Herwig::MEPP2HiggsPowheg::s2_
Energy2 s2_
The invariant mass of the lo final state.
Definition:
MEPP2HiggsPowheg.h:349
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13