herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
DIS
DISBase.h
1
// -*- C++ -*-
2
#ifndef HERWIG_DISBase_H
3
#define HERWIG_DISBase_H
4
//
5
// This is the declaration of the DISBase class.
6
//
7
8
#include "Herwig/MatrixElement/HwMEBase.h"
9
#include "Herwig/Shower/ShowerAlpha.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
23
class
DISBase
:
public
HwMEBase
{
24
25
public
:
26
30
DISBase
();
31
35
virtual
~DISBase
();
36
44
virtual
bool
hasMECorrection
() {
return
true
;}
45
49
virtual
void
initializeMECorrection
(RealEmissionProcessPtr,
double
&,
50
double
& );
51
55
virtual
RealEmissionProcessPtr
applyHardMatrixElementCorrection
(RealEmissionProcessPtr);
56
69
virtual
bool
softMatrixElementVeto
(
PPtr
parent,
70
PPtr
progenitor,
71
const
bool
& fs,
72
const
Energy & highestpT,
73
const
vector<tcPDPtr> & ids,
74
const
double
& z,
75
const
Energy &
scale
,
76
const
Energy & pT);
78
86
virtual
POWHEGType
hasPOWHEGCorrection
() {
return
Both;}
87
91
virtual
RealEmissionProcessPtr
generateHardest
(RealEmissionProcessPtr,
92
ShowerInteraction
);
94
95
public
:
96
102
virtual
Energy2
scale
()
const
;
103
108
virtual
int
nDim
()
const
;
109
118
virtual
bool
generateKinematics
(
const
double
* r);
119
124
virtual
CrossSection
dSigHatDR
()
const
;
126
127
128
public
:
129
136
void
persistentOutput
(
PersistentOStream
& os)
const
;
137
143
void
persistentInput
(
PersistentIStream
& is,
int
version);
145
152
static
void
Init
();
153
154
protected
:
155
163
virtual
void
doinit
();
165
166
private
:
167
172
DISBase
&
operator=
(
const
DISBase
&) =
delete
;
173
174
protected
:
175
179
double
NLOWeight
()
const
;
180
184
virtual
double
A
(
tcPDPtr
lin,
tcPDPtr
lout,
tcPDPtr
qin,
tcPDPtr
qout,
185
Energy2
scale
)
const
=0;
186
196
double
generateComptonPoint
(
double
&xp,
double
& zp);
197
203
double
generateBGFPoint
(
double
&xp,
double
& zp);
204
215
vector<double>
ComptonME
(
double
xp,
double
x2,
double
xperp,
216
bool
norm);
217
229
vector<double>
BGFME
(
double
xp,
double
x2,
double
x3,
double
xperp,
230
bool
norm);
232
240
void
generateCompton
();
241
245
void
generateBGF
();
247
248
private
:
249
257
double
initial_
;
258
262
double
final_
;
263
267
double
procProb_
;
268
272
double
comptonInt_
;
273
277
double
bgfInt_
;
279
287
double
comptonWeight_
;
288
292
double
BGFWeight_
;
293
297
Energy
pTmin_
;
299
307
Energy2
q2_
;
308
312
double
l_;
313
317
double
xB_
;
318
322
tcBeamPtr
beam_
;
323
327
tcPDPtr
partons_
[2];
328
332
tcPDPtr
leptons_
[2];
333
337
tcPDFPtr
pdf_
;
341
LorentzRotation
rot_
;
342
346
Lorentz5Momentum
pl_
[2];
347
351
Lorentz5Momentum
pq_
[2];
352
356
Lorentz5Momentum
q_
;
357
361
Energy
pTCompton_
;
362
bool
ComptonISFS_;
363
vector<Lorentz5Momentum> ComptonMomenta_;
364
368
Energy
pTBGF_
;
369
vector<Lorentz5Momentum> BGFMomenta_;
371
375
double
acoeff_
;
376
380
ShowerAlphaPtr
alpha_
;
381
385
PDPtr
gluon_
;
386
387
private
:
388
396
double
xp_
;
398
402
tcBeamPtr
hadron_
;
403
407
unsigned
int
scaleOpt_
;
408
412
Energy
muF_
;
413
417
double
scaleFact_
;
418
422
unsigned
int
contrib_
;
423
427
double
power_
;
428
432
double
jac_
;
433
434
};
435
436
}
437
438
#endif
/* HERWIG_DISBase_H */
Herwig::DISBase
The DISBase class is the base class for the implementation of DIS type processes including correction...
Definition:
DISBase.h:23
Herwig::DISBase::generateHardest
virtual RealEmissionProcessPtr generateHardest(RealEmissionProcessPtr, ShowerInteraction)
Apply the POWHEG style correction.
Herwig::DISBase::q2_
Energy2 q2_
Parameters for the point being generated.
Definition:
DISBase.h:307
Herwig::DISBase::xB_
double xB_
Borm momentum fraction.
Definition:
DISBase.h:317
Herwig::DISBase::comptonWeight_
double comptonWeight_
Parameters for the POWHEG correction.
Definition:
DISBase.h:287
Herwig::DISBase::operator=
DISBase & operator=(const DISBase &)=delete
The assignment operator is private and must never be called.
Herwig::DISBase::power_
double power_
Power for sampling .
Definition:
DISBase.h:427
Herwig::DISBase::pq_
Lorentz5Momentum pq_[2]
Quark momenta.
Definition:
DISBase.h:351
Herwig::DISBase::gluon_
PDPtr gluon_
Gluon particle data object.
Definition:
DISBase.h:385
Herwig::DISBase::q_
Lorentz5Momentum q_
q
Definition:
DISBase.h:356
Herwig::DISBase::contrib_
unsigned int contrib_
Whether to generate the positive, negative or leading order contribution.
Definition:
DISBase.h:422
Herwig::DISBase::acoeff_
double acoeff_
The coefficient for the correlations.
Definition:
DISBase.h:375
Herwig::DISBase::final_
double final_
Enchancement factor for FSR.
Definition:
DISBase.h:262
Herwig::DISBase::BGFWeight_
double BGFWeight_
Weight for the BGF channel.
Definition:
DISBase.h:292
Herwig::DISBase::alpha_
ShowerAlphaPtr alpha_
Coupling.
Definition:
DISBase.h:380
Herwig::DISBase::ComptonME
vector< double > ComptonME(double xp, double x2, double xperp, bool norm)
Return the coefficients for the matrix element piece for the QCD compton case.
Herwig::DISBase::generateCompton
void generateCompton()
Members for the POWHEG correction.
Herwig::DISBase::initial_
double initial_
Parameters for the matrix element correction.
Definition:
DISBase.h:257
Herwig::DISBase::initializeMECorrection
virtual void initializeMECorrection(RealEmissionProcessPtr, double &, double &)
Initialize the ME correction.
Herwig::DISBase::xp_
double xp_
The radiative variables.
Definition:
DISBase.h:396
Herwig::DISBase::pTCompton_
Energy pTCompton_
Compton parameters.
Definition:
DISBase.h:361
Herwig::DISBase::generateBGF
void generateBGF()
Generate a BGF process.
Herwig::DISBase::comptonInt_
double comptonInt_
Integral for compton process.
Definition:
DISBase.h:272
Herwig::DISBase::jac_
double jac_
Jacobian for integral.
Definition:
DISBase.h:432
Herwig::DISBase::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::DISBase::scaleOpt_
unsigned int scaleOpt_
Selects a dynamic or fixed factorization scale.
Definition:
DISBase.h:407
Herwig::DISBase::scale
virtual Energy2 scale() const
Return the scale associated with the last set phase space point.
Herwig::DISBase::dSigHatDR
virtual CrossSection dSigHatDR() const
Return the matrix element squared differential in the variables given by the last call to generateKin...
Herwig::DISBase::pTBGF_
Energy pTBGF_
BGF parameters.
Definition:
DISBase.h:368
Herwig::DISBase::hasMECorrection
virtual bool hasMECorrection()
Members for the old-fashioned matrix element correction.
Definition:
DISBase.h:44
Herwig::DISBase::DISBase
DISBase()
The default constructor.
Herwig::DISBase::pTmin_
Energy pTmin_
Minimum value of .
Definition:
DISBase.h:297
Herwig::DISBase::NLOWeight
double NLOWeight() const
The NLO weight.
Herwig::DISBase::generateBGFPoint
double generateBGFPoint(double &xp, double &zp)
Generate the values of and .
Herwig::DISBase::scaleFact_
double scaleFact_
Prefactor if variable scale used.
Definition:
DISBase.h:417
Herwig::DISBase::partons_
tcPDPtr partons_[2]
Partons.
Definition:
DISBase.h:327
Herwig::DISBase::~DISBase
virtual ~DISBase()
The default constructor.
Herwig::DISBase::pdf_
tcPDFPtr pdf_
PDF object.
Definition:
DISBase.h:337
Herwig::DISBase::nDim
virtual int nDim() const
The number of internal degrees of freedom used in the matrix element.
Herwig::DISBase::procProb_
double procProb_
Relative fraction of compton and BGF processes to generate.
Definition:
DISBase.h:267
Herwig::DISBase::pl_
Lorentz5Momentum pl_[2]
Lepton momenta.
Definition:
DISBase.h:346
Herwig::DISBase::rot_
LorentzRotation rot_
Rotation to the Breit frame.
Definition:
DISBase.h:341
Herwig::DISBase::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::DISBase::A
virtual double A(tcPDPtr lin, tcPDPtr lout, tcPDPtr qin, tcPDPtr qout, Energy2 scale) const =0
Calculate the coefficient A for the correlations.
Herwig::DISBase::generateKinematics
virtual bool generateKinematics(const double *r)
Generate internal degrees of freedom given nDim() uniform random numbers in the interval .
Herwig::DISBase::hasPOWHEGCorrection
virtual POWHEGType hasPOWHEGCorrection()
Members for the POWHEG stype correction.
Definition:
DISBase.h:86
Herwig::DISBase::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::DISBase::hadron_
tcBeamPtr hadron_
The hadron.
Definition:
DISBase.h:402
Herwig::DISBase::leptons_
tcPDPtr leptons_[2]
Leptons.
Definition:
DISBase.h:332
Herwig::DISBase::muF_
Energy muF_
The factorization scale.
Definition:
DISBase.h:412
Herwig::DISBase::BGFME
vector< double > BGFME(double xp, double x2, double x3, double xperp, bool norm)
Return the coefficients for the matrix element piece for the QCD compton case.
Herwig::DISBase::generateComptonPoint
double generateComptonPoint(double &xp, double &zp)
Members for the matrix element correction.
Herwig::DISBase::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::DISBase::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::DISBase::applyHardMatrixElementCorrection
virtual RealEmissionProcessPtr applyHardMatrixElementCorrection(RealEmissionProcessPtr)
Apply the hard matrix element correction to a given hard process or decay.
Herwig::DISBase::beam_
tcBeamPtr beam_
Beam particle.
Definition:
DISBase.h:322
Herwig::DISBase::bgfInt_
double bgfInt_
Integral for BGF process.
Definition:
DISBase.h:277
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::HwMEBase::POWHEGType
POWHEGType
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
HwMEBase.h:87
ThePEG::LorentzRotation
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::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
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6