herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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::HwMEBase::phi
double phi() const
Return the azimuth angle of the last set phase space point.
Definition:
HwMEBase.h:181
Herwig::HwMEBase::POWHEGType
POWHEGType
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
HwMEBase.h:87
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::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MEPP2HiggsVBF::generateComptonPoint
double generateComptonPoint(double &xp, double &zp)
Generate the hard emission in the old-fashioned matrix element correction approach.
Herwig::MEPP2HiggsVBF::pTmin_
Energy pTmin_
Minimum value of .
Definition:
MEPP2HiggsVBF.h:314
Herwig::MEPP2HiggsVBF::applyHardMatrixElementCorrection
virtual RealEmissionProcessPtr applyHardMatrixElementCorrection(RealEmissionProcessPtr)
Apply the hard matrix element correction to a given hard process or decay.
Herwig::MEPP2HiggsVBF::ComptonME
vector< double > ComptonME(double xp, double x2, double xperp, LorentzVector< double > l, LorentzVector< double > m)
Return the coefficients for the matrix element piece for the QCD compton case.
Herwig::MEPP2HiggsVBF::dofinish
virtual void dofinish()
Finalize this object.
Herwig::MEPP2HiggsVBF::loMatrixElement
Energy4 loMatrixElement(const Lorentz5Momentum &p1, const Lorentz5Momentum &p2, const Lorentz5Momentum &q1, const Lorentz5Momentum &q2, double G1, double G2) const
Leading order matrix element.
Herwig::MEPP2HiggsVBF::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MEPP2HiggsVBF::pTBGF_
Energy pTBGF_[2]
Transverse momenta for the BGF emissions.
Definition:
MEPP2HiggsVBF.h:399
Herwig::MEPP2HiggsVBF::generateBGF
void generateBGF(unsigned int system)
Generate a BGF process.
Herwig::MEPP2HiggsVBF::generateHardest
virtual RealEmissionProcessPtr generateHardest(RealEmissionProcessPtr, ShowerInteraction)
Apply the POWHEG style correction.
Herwig::MEPP2HiggsVBF::m_
LorentzVector< double > m_
Lorentz vectors for the matrix element.
Definition:
MEPP2HiggsVBF.h:364
Herwig::MEPP2HiggsVBF::pTCompton_
Energy pTCompton_[2]
Transverse momenta for the compton emissions.
Definition:
MEPP2HiggsVBF.h:394
Herwig::MEPP2HiggsVBF::systems_
vector< tChannelPair > systems_
the systems
Definition:
MEPP2HiggsVBF.h:419
Herwig::MEPP2HiggsVBF::bgfInt_
double bgfInt_
Integral for BGF process.
Definition:
MEPP2HiggsVBF.h:454
Herwig::MEPP2HiggsVBF::q_
Lorentz5Momentum q_[2]
q
Definition:
MEPP2HiggsVBF.h:344
Herwig::MEPP2HiggsVBF::l_
LorentzVector< double > l_
Lorentz vectors for the matrix element.
Definition:
MEPP2HiggsVBF.h:359
Herwig::MEPP2HiggsVBF::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MEPP2HiggsVBF::rot_
LorentzRotation rot_[2]
Rotation to the Breit frame.
Definition:
MEPP2HiggsVBF.h:374
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::A
double A(tcPDPtr qin1, tcPDPtr qout1, tcPDPtr qin2, tcPDPtr qout2)
Calculate the coefficient A for the correlations.
Herwig::MEPP2HiggsVBF::beam_
tcBeamPtr beam_[2]
Properties of the emission.
Definition:
MEPP2HiggsVBF.h:329
Herwig::MEPP2HiggsVBF::final_
double final_
Enchancement factor for FSR.
Definition:
MEPP2HiggsVBF.h:439
Herwig::MEPP2HiggsVBF::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MEPP2HiggsVBF::phiggs_
Lorentz5Momentum phiggs_[2]
Higgs momenta.
Definition:
MEPP2HiggsVBF.h:389
Herwig::MEPP2HiggsVBF::hasMECorrection
virtual bool hasMECorrection()
Has an old fashioned ME correction.
Definition:
MEPP2HiggsVBF.h:85
Herwig::MEPP2HiggsVBF::comptonInt_
double comptonInt_
Integral for compton process.
Definition:
MEPP2HiggsVBF.h:449
Herwig::MEPP2HiggsVBF::higgs_
PPtr higgs_
Higgs boson.
Definition:
MEPP2HiggsVBF.h:424
Herwig::MEPP2HiggsVBF::softMatrixElementVeto
virtual bool softMatrixElementVeto(PPtr parent, PPtr progenitor, const bool &fs, const Energy &highestpT, const vector< tcPDPtr > &ids, const double &z, const Energy &scale, const Energy &pT)
Apply the soft matrix element correction.
Herwig::MEPP2HiggsVBF::BGFMomenta_
vector< Lorentz5Momentum > BGFMomenta_[2]
Momenta of the particles for a BGF emission.
Definition:
MEPP2HiggsVBF.h:414
Herwig::MEPP2HiggsVBF::comptonWeight_
double comptonWeight_
Weight for the compton channel.
Definition:
MEPP2HiggsVBF.h:304
Herwig::MEPP2HiggsVBF::alpha_
ShowerAlphaPtr alpha_
Parameters for the hard POWHEG emission.
Definition:
MEPP2HiggsVBF.h:299
Herwig::MEPP2HiggsVBF::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Definition:
MEPP2HiggsVBF.h:273
Herwig::MEPP2HiggsVBF::q2_
Energy2 q2_[2]
Definition:
MEPP2HiggsVBF.h:349
Herwig::MEPP2HiggsVBF::ComptonISFS_
bool ComptonISFS_[2]
Whether the Compton radiation is ISR or FSR.
Definition:
MEPP2HiggsVBF.h:404
Herwig::MEPP2HiggsVBF::acoeff_
double acoeff_
Coupling factor.
Definition:
MEPP2HiggsVBF.h:354
Herwig::MEPP2HiggsVBF::xB_
double xB_[2]
Born momentum fraction.
Definition:
MEPP2HiggsVBF.h:369
Herwig::MEPP2HiggsVBF::generateBGFPoint
double generateBGFPoint(double &xp, double &zp)
Generate the values of and .
Herwig::MEPP2HiggsVBF::maxwgt_
pair< double, double > maxwgt_
Maximum weight.
Definition:
MEPP2HiggsVBF.h:464
Herwig::MEPP2HiggsVBF::BGFWeight_
double BGFWeight_
Weight for the BGF channel.
Definition:
MEPP2HiggsVBF.h:309
Herwig::MEPP2HiggsVBF::MEPP2HiggsVBF
MEPP2HiggsVBF()
The default constructor.
Herwig::MEPP2HiggsVBF::BGFME
vector< double > BGFME(double xp, double x2, double x3, double xperp, LorentzVector< double > l, LorentzVector< double > m)
Return the coefficients for the matrix element piece for the QCD compton case.
Herwig::MEPP2HiggsVBF::gluon_
PDPtr gluon_
Gluon particle data object.
Definition:
MEPP2HiggsVBF.h:319
Herwig::MEPP2HiggsVBF::initializeMECorrection
virtual void initializeMECorrection(RealEmissionProcessPtr, double &, double &)
Initialize the ME correction.
Herwig::MEPP2HiggsVBF::pother_
Lorentz5Momentum pother_[2][2]
Quark momenta for spectator system.
Definition:
MEPP2HiggsVBF.h:379
Herwig::MEPP2HiggsVBF::initial_
double initial_
Parameters for the matrix element correction.
Definition:
MEPP2HiggsVBF.h:434
Herwig::MEPP2HiggsVBF::comptonME
double comptonME(unsigned int system, double xT, double xp, double zp, double phi)
Matrix element piece for the Compton process.
Herwig::MEPP2HiggsVBF::ComptonMomenta_
vector< Lorentz5Momentum > ComptonMomenta_[2]
Momenta of the particles for a compton emission.
Definition:
MEPP2HiggsVBF.h:409
Herwig::MEPP2HiggsVBF::partons_
tcPDPtr partons_[2][4]
Partons.
Definition:
MEPP2HiggsVBF.h:339
Herwig::MEPP2HiggsVBF::procProb_
double procProb_
Relative fraction of compton and BGF processes to generate.
Definition:
MEPP2HiggsVBF.h:444
Herwig::MEPP2HiggsVBF::getDiagrams
virtual void getDiagrams() const
Add all possible diagrams with the add() function.
Herwig::MEPP2HiggsVBF::psystem_
Lorentz5Momentum psystem_[2][2]
Quark momenta for emitting system.
Definition:
MEPP2HiggsVBF.h:384
Herwig::MEPP2HiggsVBF::pdf_
tcPDFPtr pdf_[2]
PDF object.
Definition:
MEPP2HiggsVBF.h:334
Herwig::MEPP2HiggsVBF::nover_
unsigned int nover_
Number of weights greater than 1.
Definition:
MEPP2HiggsVBF.h:459
Herwig::MEPP2HiggsVBF::hasPOWHEGCorrection
virtual POWHEGType hasPOWHEGCorrection()
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
MEPP2HiggsVBF.h:80
Herwig::MEPP2HiggsVBF::BGFME
double BGFME(unsigned int system, double xT, double xp, double zp, double phi)
Matrix element piece for the Compton process.
Herwig::MEPP2HiggsVBF::generateCompton
void generateCompton(unsigned int system)
Generate the hardest emission in the POWHEG approach.
Herwig::MEPP2HiggsVBF::operator=
MEPP2HiggsVBF & operator=(const MEPP2HiggsVBF &)=delete
The assignment operator is private and must never be called.
Herwig::MEfftoffH
The MEfftoffH class is the base class for vector boson fusion type processes in Herwig.
Definition:
MEfftoffH.h:25
Herwig::MEfftoffH::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
ThePEG::LorentzRotation
ThePEG::LorentzVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig::ShowerInteraction
ShowerInteraction
Handy header file to be included in all Shower classes.
Definition:
ShowerInteraction.h:23
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::tcBeamPtr
Ptr< BeamParticleData >::transient_const_pointer tcBeamPtr
A typedef for the BeamParticleData.
Definition:
HwMEBase.h:20
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tcPDFPtr
ThePEG::Ptr< PDFBase >::transient_const_pointer tcPDFPtr
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
ThePEG::tcPDPtr
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
ThePEG::PDPtr
ThePEG::Ptr< ParticleData >::pointer PDPtr
Herwig::MEPP2HiggsVBF::tChannelPair
Struct to contain the hadronic system.
Definition:
MEPP2HiggsVBF.h:28
Herwig::MEPP2HiggsVBF::tChannelPair::incoming
PPtr incoming
The incoming particle.
Definition:
MEPP2HiggsVBF.h:43
Herwig::MEPP2HiggsVBF::tChannelPair::outgoing
PPtr outgoing
The outgoing particle.
Definition:
MEPP2HiggsVBF.h:48
Herwig::MEPP2HiggsVBF::tChannelPair::hadron
PPtr hadron
The hadron.
Definition:
MEPP2HiggsVBF.h:33
Herwig::MEPP2HiggsVBF::tChannelPair::beam
tcBeamPtr beam
The beam particle data object.
Definition:
MEPP2HiggsVBF.h:38
Herwig::MEPP2HiggsVBF::tChannelPair::pdf
tcPDFPtr pdf
The PDF.
Definition:
MEPP2HiggsVBF.h:53
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6