herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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::Rtilde_Ltilde_gq_on_x
double Rtilde_Ltilde_gq_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2HiggsPowheg::etabar
double etabar(double y) const
Calculate auxiliary function of , .
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::xp
double xp(double x, double y) const
Calculate the momentum fraction of the plus parton.
Herwig::MEPP2HiggsPowheg::beta0_
const double beta0_
(Proportional to) The beta function
Definition:
MEPP2HiggsPowheg.h:298
Herwig::MEPP2HiggsPowheg::t_u_M_R_qqbar
Energy2 t_u_M_R_qqbar(double xt, double y) const
The matrix element q + qbar -> n + g times tk*uk.
Herwig::MEPP2HiggsPowheg::etabarm_
double etabarm_
The sqrt(1-xbm_)
Definition:
MEPP2HiggsPowheg.h:369
Herwig::MEPP2HiggsPowheg::xm
double xm(double x, double y) const
Calculate the momentum fraction of the minus parton.
Herwig::MEPP2HiggsPowheg::lo_lumi_
double lo_lumi_
Values of the PDF's before radiation.
Definition:
MEPP2HiggsPowheg.h:334
Herwig::MEPP2HiggsPowheg::Vtilde_universal
double Vtilde_universal() const
Calculate the universal soft-virtual contribution to the NLO weight.
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::mu_F_
Energy mu_F_
The factorization scale.
Definition:
MEPP2HiggsPowheg.h:404
Herwig::MEPP2HiggsPowheg::p2_
Energy2 p2_
The invariant mass of the lo final state.
Definition:
MEPP2HiggsPowheg.h:344
Herwig::MEPP2HiggsPowheg::contrib_
unsigned int contrib_
Whether to generate the positive, negative or leading order contribution.
Definition:
MEPP2HiggsPowheg.h:303
Herwig::MEPP2HiggsPowheg::mu_UV_
Energy mu_UV_
The renormalization scale.
Definition:
MEPP2HiggsPowheg.h:409
Herwig::MEPP2HiggsPowheg::Rtilde_Ltilde_qbarq_on_x
double Rtilde_Ltilde_qbarq_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2HiggsPowheg::nDim
virtual int nDim() const
The number of internal degrees of freedom used in the matrix element.
Herwig::MEPP2HiggsPowheg::xbm_
double xbm_
The momentum fraction of the minus parton in the Born process.
Definition:
MEPP2HiggsPowheg.h:359
Herwig::MEPP2HiggsPowheg::nlf_
const int nlf_
Number of light flavours (in the beta function beta0_)
Definition:
MEPP2HiggsPowheg.h:293
Herwig::MEPP2HiggsPowheg::xbar
double xbar(double y) const
Calculate the minimum of .
Herwig::MEPP2HiggsPowheg::lo_ggME_
double lo_ggME_
The value of the leading order gg->H matrix element.
Definition:
MEPP2HiggsPowheg.h:339
Herwig::MEPP2HiggsPowheg::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2HiggsPowheg.h:262
Herwig::MEPP2HiggsPowheg::CF_
const double CF_
Parameters for the NLO weight.
Definition:
MEPP2HiggsPowheg.h:288
Herwig::MEPP2HiggsPowheg::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
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
Herwig::MEPP2HiggsPowheg::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEPP2HiggsPowheg::s2_
Energy2 s2_
The invariant mass of the lo final state.
Definition:
MEPP2HiggsPowheg.h:349
Herwig::MEPP2HiggsPowheg::MEPP2HiggsPowheg
MEPP2HiggsPowheg()
The default constructor.
Herwig::MEPP2HiggsPowheg::Ctilde_Ltilde_gg_on_x
double Ctilde_Ltilde_gg_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2HiggsPowheg::NLOweight
double NLOweight() const
Calculate the correction weight with which leading-order configurations are re-weighted.
Herwig::MEPP2HiggsPowheg::t_u_M_R_qbarq
Energy2 t_u_M_R_qbarq(double xt, double y) const
The matrix element qbar + q -> n + g times tk*uk.
Herwig::MEPP2HiggsPowheg::t_u_M_R_qg
Energy2 t_u_M_R_qg(double xt, double y) const
The matrix element q + g -> n + q times tk*uk.
Herwig::MEPP2HiggsPowheg::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval .
Herwig::MEPP2HiggsPowheg::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEPP2HiggsPowheg::Rtilde_Ltilde_gg_on_x
double Rtilde_Ltilde_gg_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2HiggsPowheg::etabarp_
double etabarp_
The sqrt(1-xbp_)
Definition:
MEPP2HiggsPowheg.h:364
Herwig::MEPP2HiggsPowheg::scaleopt_
unsigned int scaleopt_
Selects a dynamic (sHat) or fixed factorization scale.
Definition:
MEPP2HiggsPowheg.h:399
Herwig::MEPP2HiggsPowheg::Ctilde_Ltilde_qg_on_x
double Ctilde_Ltilde_qg_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2HiggsPowheg::a_lo_
tcPDPtr a_lo_
The ParticleData object for the plus lo parton.
Definition:
MEPP2HiggsPowheg.h:374
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
Herwig::MEPP2HiggsPowheg::xt_
double xt_
Radiation variables.
Definition:
MEPP2HiggsPowheg.h:323
Herwig::MEPP2HiggsPowheg::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::MEPP2HiggsPowheg::hadron_A_
Ptr< BeamParticleData >::transient_const_pointer hadron_A_
The BeamParticleData object for the plus direction hadron.
Definition:
MEPP2HiggsPowheg.h:384
Herwig::MEPP2HiggsPowheg::t_u_M_R_gg
Energy2 t_u_M_R_gg(double xt, double y) const
The matrix element g + g -> n + g times tk*uk.
Herwig::MEPP2HiggsPowheg::get_born_variables
void get_born_variables() const
Function to set the born variables.
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::xbp_
double xbp_
The momentum fraction of the plus parton in the Born process.
Definition:
MEPP2HiggsPowheg.h:354
Herwig::MEPP2HiggsPowheg::M_V_regular
double M_V_regular() const
The regular part of the virtual correction matrix element(s)
Herwig::MEPP2HiggsPowheg::Rtilde_Ltilde_qqbar_on_x
double Rtilde_Ltilde_qqbar_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2HiggsPowheg::operator=
MEPP2HiggsPowheg & operator=(const MEPP2HiggsPowheg &)=delete
The assignment operator is private and must never be called.
Herwig::MEPP2HiggsPowheg::alphaS_
double alphaS_
The value of used for the calculation.
Definition:
MEPP2HiggsPowheg.h:394
Herwig::MEPP2HiggsPowheg::scaleFact_
double scaleFact_
Prefactor if variable scale used.
Definition:
MEPP2HiggsPowheg.h:414
Herwig::MEPP2HiggsPowheg::t_u_M_R_gq
Energy2 t_u_M_R_gq(double xt, double y) const
The matrix element g + q -> n + q times tk*uk.
Herwig::MEPP2HiggsPowheg::Lhat_ab
double Lhat_ab(tcPDPtr a, tcPDPtr b, double x, double y) const
Calculate the ratio of the NLO luminosity to the LO luminosity function for the initiated channel.
Herwig::MEPP2HiggsPowheg::x
double x(double xt, double y) const
Calculate the variable from the integration variables.
Definition:
MEPP2HiggsPowheg.h:150
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
Herwig::MEPP2HiggsPowheg::b_lo_
tcPDPtr b_lo_
The ParticleData object for the minus lo parton.
Definition:
MEPP2HiggsPowheg.h:379
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
Herwig::MEPP2HiggsPowheg::me2
virtual double me2() const
The matrix element for the kinematical configuration previously provided by the last call to setKinem...
Herwig::MEPP2HiggsPowheg::y_
double y_
The angular variable.
Definition:
MEPP2HiggsPowheg.h:328
Herwig::MEPP2HiggsPowheg::Ctilde_Ltilde_gq_on_x
double Ctilde_Ltilde_gq_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2HiggsPowheg::Rtilde_Ltilde_qg_on_x
double Rtilde_Ltilde_qg_on_x(tcPDPtr a, tcPDPtr b, double xt, double y) const
Function for calculation of the initiated real contribution.
Herwig::MEPP2Higgs
The MEPP2Higgs class implements the matrix element for the process pp->Higgs with different Higgs sha...
Definition:
MEPP2Higgs.h:38
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::Helicity
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6