herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Hadron
MEPP2HiggsVBF.h
1
// -*- C++ -*-
2
#ifndef HERWIG_MEPP2HiggsVBF_H
3
#define HERWIG_MEPP2HiggsVBF_H
4
//
5
// This is the declaration of the MEPP2HiggsVBF class.
6
//
7
8
#include "Herwig/MatrixElement/MEfftoffH.h"
9
#include "Herwig/Shower/ShowerAlpha.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
23
class
MEPP2HiggsVBF
:
public
MEfftoffH
{
24
28
struct
tChannelPair
{
29
33
PPtr
hadron
;
34
38
tcBeamPtr
beam
;
39
43
PPtr
incoming
;
44
48
PPtr
outgoing
;
49
53
tcPDFPtr
pdf
;
54
};
55
56
public
:
57
61
MEPP2HiggsVBF
();
62
65
69
virtual
void
getDiagrams()
const
;
71
80
virtual
POWHEGType
hasPOWHEGCorrection
() {
return
Both;}
81
85
virtual
bool
hasMECorrection
() {
return
true
;}
86
90
virtual
void
initializeMECorrection(RealEmissionProcessPtr,
double
&,
91
double
& );
92
96
virtual
RealEmissionProcessPtr applyHardMatrixElementCorrection(RealEmissionProcessPtr);
97
110
virtual
bool
softMatrixElementVeto(
PPtr
parent,
111
PPtr
progenitor,
112
const
bool
& fs,
113
const
Energy & highestpT,
114
const
vector<tcPDPtr> & ids,
115
const
double
& z,
116
const
Energy & scale,
117
const
Energy & pT);
118
122
virtual
RealEmissionProcessPtr generateHardest(RealEmissionProcessPtr,
123
ShowerInteraction
);
125
126
public
:
127
134
void
persistentOutput(
PersistentOStream
& os)
const
;
135
141
void
persistentInput(
PersistentIStream
& is,
int
version);
143
150
static
void
Init();
151
152
protected
:
153
161
void
generateCompton(
unsigned
int
system);
162
166
void
generateBGF(
unsigned
int
system);
167
171
double
comptonME(
unsigned
int
system,
172
double
xT,
double
xp,
double
zp,
double
phi);
173
177
double
BGFME(
unsigned
int
system,
178
double
xT,
double
xp,
double
zp,
double
phi);
179
183
Energy4 loMatrixElement(
const
Lorentz5Momentum &p1,
184
const
Lorentz5Momentum &p2,
185
const
Lorentz5Momentum &q1,
186
const
Lorentz5Momentum &q2,
187
double
G1,
double
G2)
const
;
189
199
double
generateComptonPoint(
double
&xp,
double
& zp);
200
206
double
generateBGFPoint(
double
&xp,
double
& zp);
207
220
vector<double> ComptonME(
double
xp,
double
x2,
double
xperp,
221
LorentzVector<double>
l,
222
LorentzVector<double>
m);
223
237
vector<double> BGFME(
double
xp,
double
x2,
double
x3,
double
xperp,
238
LorentzVector<double>
l,
239
LorentzVector<double>
m);
240
244
double
A(
tcPDPtr
qin1,
tcPDPtr
qout1,
tcPDPtr
qin2,
tcPDPtr
qout2);
246
247
protected
:
248
256
virtual
void
doinit();
257
262
virtual
void
dofinish();
264
265
protected
:
266
273
virtual
IBPtr
clone
()
const
{
return
new_ptr(*
this
); }
274
279
virtual
IBPtr
fullclone
()
const
{
return
new_ptr(*
this
); }
281
282
private
:
283
288
MEPP2HiggsVBF
& operator=(
const
MEPP2HiggsVBF
&) =
delete
;
289
290
private
:
291
299
ShowerAlphaPtr
alpha_
;
300
304
double
comptonWeight_
;
305
309
double
BGFWeight_
;
310
314
Energy
pTmin_
;
315
319
PDPtr
gluon_
;
321
329
tcBeamPtr
beam_[2];
330
334
tcPDFPtr
pdf_[2];
335
339
tcPDPtr
partons_[2][4];
340
344
Lorentz5Momentum q_[2];
345
349
Energy2 q2_[2];
350
354
double
acoeff_
;
355
359
LorentzVector<double>
l_
;
360
364
LorentzVector<double>
m_
;
365
369
double
xB_[2];
370
374
LorentzRotation
rot_[2];
375
379
Lorentz5Momentum pother_[2][2];
380
384
Lorentz5Momentum psystem_[2][2];
385
389
Lorentz5Momentum phiggs_[2];
390
394
Energy pTCompton_[2];
395
399
Energy pTBGF_[2];
400
404
bool
ComptonISFS_[2];
405
409
vector<Lorentz5Momentum> ComptonMomenta_[2];
410
414
vector<Lorentz5Momentum> BGFMomenta_[2];
415
419
vector<tChannelPair>
systems_
;
420
424
PPtr
higgs_
;
426
434
double
initial_
;
435
439
double
final_
;
440
444
double
procProb_
;
445
449
double
comptonInt_
;
450
454
double
bgfInt_
;
455
459
unsigned
int
nover_
;
460
464
pair<double,double>
maxwgt_
;
466
467
};
468
469
}
470
471
#endif
/* HERWIG_MEPP2HiggsVBF_H */
Herwig::MEPP2HiggsVBF::alpha_
ShowerAlphaPtr alpha_
Parameters for the hard POWHEG emission.
Definition:
MEPP2HiggsVBF.h:299
Herwig::tcBeamPtr
Ptr< BeamParticleData >::transient_const_pointer tcBeamPtr
A typedef for the BeamParticleData.
Definition:
HwMEBase.h:20
Herwig::MEPP2HiggsVBF::tChannelPair::incoming
PPtr incoming
The incoming particle.
Definition:
MEPP2HiggsVBF.h:43
Herwig::MEPP2HiggsVBF::comptonInt_
double comptonInt_
Integral for compton process.
Definition:
MEPP2HiggsVBF.h:449
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
Herwig::MEPP2HiggsVBF::higgs_
PPtr higgs_
Higgs boson.
Definition:
MEPP2HiggsVBF.h:424
ThePEG::PersistentIStream
ThePEG::LorentzVector< double >
Herwig::MEPP2HiggsVBF::comptonWeight_
double comptonWeight_
Weight for the compton channel.
Definition:
MEPP2HiggsVBF.h:304
Herwig::MEPP2HiggsVBF::hasPOWHEGCorrection
virtual POWHEGType hasPOWHEGCorrection()
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
MEPP2HiggsVBF.h:80
Herwig::ShowerInteraction
ShowerInteraction
Handy header file to be included in all Shower classes.
Definition:
ShowerInteraction.h:23
Herwig::MEPP2HiggsVBF::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition:
MEPP2HiggsVBF.h:279
Herwig::MEPP2HiggsVBF::acoeff_
double acoeff_
Coupling factor.
Definition:
MEPP2HiggsVBF.h:354
Herwig::MEPP2HiggsVBF
The MEPP2HiggsVBF class provides the matrix elements for the production of the Higgs boson via the ve...
Definition:
MEPP2HiggsVBF.h:23
Herwig::MEPP2HiggsVBF::bgfInt_
double bgfInt_
Integral for BGF process.
Definition:
MEPP2HiggsVBF.h:454
ThePEG::PersistentOStream
ThePEG::tcPDFPtr
ThePEG::Ptr< PDFBase >::transient_const_pointer tcPDFPtr
Herwig::MEPP2HiggsVBF::tChannelPair::outgoing
PPtr outgoing
The outgoing particle.
Definition:
MEPP2HiggsVBF.h:48
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::LorentzRotation
Herwig::MEPP2HiggsVBF::tChannelPair
Struct to contain the hadronic system.
Definition:
MEPP2HiggsVBF.h:28
Herwig::MEPP2HiggsVBF::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2HiggsVBF.h:273
ThePEG
Herwig::MEPP2HiggsVBF::gluon_
PDPtr gluon_
Gluon particle data object.
Definition:
MEPP2HiggsVBF.h:319
Herwig::MEPP2HiggsVBF::procProb_
double procProb_
Relative fraction of compton and BGF processes to generate.
Definition:
MEPP2HiggsVBF.h:444
Herwig::MEfftoffH
The MEfftoffH class is the base class for vector boson fusion type processes in Herwig.
Definition:
MEfftoffH.h:25
Herwig::MEPP2HiggsVBF::final_
double final_
Enchancement factor for FSR.
Definition:
MEPP2HiggsVBF.h:439
Herwig::MEPP2HiggsVBF::maxwgt_
pair< double, double > maxwgt_
Maximum weight.
Definition:
MEPP2HiggsVBF.h:464
Herwig::MEPP2HiggsVBF::pTmin_
Energy pTmin_
Minimum value of .
Definition:
MEPP2HiggsVBF.h:314
Herwig::MEPP2HiggsVBF::hasMECorrection
virtual bool hasMECorrection()
Has an old fashioned ME correction.
Definition:
MEPP2HiggsVBF.h:85
Herwig::MEPP2HiggsVBF::l_
LorentzVector< double > l_
Lorentz vectors for the matrix element.
Definition:
MEPP2HiggsVBF.h:359
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Herwig::MEPP2HiggsVBF::BGFWeight_
double BGFWeight_
Weight for the BGF channel.
Definition:
MEPP2HiggsVBF.h:309
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Herwig::MEPP2HiggsVBF::m_
LorentzVector< double > m_
Lorentz vectors for the matrix element.
Definition:
MEPP2HiggsVBF.h:364
Herwig::HwMEBase::POWHEGType
POWHEGType
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
HwMEBase.h:87
Herwig::MEPP2HiggsVBF::initial_
double initial_
Parameters for the matrix element correction.
Definition:
MEPP2HiggsVBF.h:434
Herwig::MEPP2HiggsVBF::tChannelPair::beam
tcBeamPtr beam
The beam particle data object.
Definition:
MEPP2HiggsVBF.h:38
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MEPP2HiggsVBF::tChannelPair::hadron
PPtr hadron
The hadron.
Definition:
MEPP2HiggsVBF.h:33
Herwig::MEPP2HiggsVBF::tChannelPair::pdf
tcPDFPtr pdf
The PDF.
Definition:
MEPP2HiggsVBF.h:53
Herwig::MEPP2HiggsVBF::nover_
unsigned int nover_
Number of weights greater than 1.
Definition:
MEPP2HiggsVBF.h:459
Herwig::MEPP2HiggsVBF::systems_
vector< tChannelPair > systems_
the systems
Definition:
MEPP2HiggsVBF.h:419
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13