herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
DrellYanBase.h
1
// -*- C++ -*-
2
#ifndef HERWIG_DrellYanBase_H
3
#define HERWIG_DrellYanBase_H
4
//
5
// This is the declaration of the DrellYanBase class.
6
//
7
8
#include "HwMEBase.h"
9
#include "Herwig/Shower/ShowerAlpha.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
23
class
DrellYanBase
:
public
HwMEBase
{
24
25
public
:
26
30
DrellYanBase
();
31
35
//virtual bool hasPOWHEGCorrection() {return _alpha;}
36
37
virtual
POWHEGType
hasPOWHEGCorrection
() {
return
ISR;}
38
39
43
virtual
bool
hasMECorrection
() {
return
_alpha
;}
44
48
virtual
void
initializeMECorrection
(RealEmissionProcessPtr,
double
& initial,
49
double
&
final
) {
50
final
= 1.;
51
initial = 1.;
52
}
53
57
virtual
RealEmissionProcessPtr
applyHardMatrixElementCorrection
(RealEmissionProcessPtr);
58
71
virtual
bool
softMatrixElementVeto
(
PPtr
parent,
72
PPtr
progenitor,
73
const
bool
& fs,
74
const
Energy & highestpT,
75
const
vector<tcPDPtr> & ids,
76
const
double
& z,
77
const
Energy &
scale
,
78
const
Energy & pT);
79
83
virtual
RealEmissionProcessPtr
generateHardest
(RealEmissionProcessPtr,
84
ShowerInteraction
);
85
91
virtual
void
setKinematics
() {
92
HwMEBase::setKinematics
();
93
mb2_
=
sHat
();
94
}
95
96
protected
:
97
112
bool
applyHard
(
ParticleVector
& quarks,
113
vector<tcBeamPtr> beams,
114
Lorentz5Momentum boson,
unsigned
int
& iemit,
115
unsigned
int
& itype,vector<Lorentz5Momentum> & pnew,
116
LorentzRotation
& trans, pair<double,double> & xnew,
117
Energy2 shad);
118
127
double
getResult
(
int
emis_type, Energy pt,
double
yj);
128
135
bool
getEvent
(vector<Lorentz5Momentum> & pnew,
int
& emissiontype);
136
137
public
:
138
145
void
persistentOutput
(
PersistentOStream
& os)
const
;
146
152
void
persistentInput
(
PersistentIStream
& is,
int
version);
154
161
static
void
Init
();
162
163
protected
:
164
172
virtual
void
doinit
();
173
178
virtual
void
dofinish
();
180
181
private
:
182
187
DrellYanBase
&
operator=
(
const
DrellYanBase
&) =
delete
;
188
189
private
:
190
194
Energy2
mb2_
;
195
203
double
_channelwgtA
;
204
208
double
_channelwgtB
;
209
213
vector<double>
_channelweights
;
214
218
unsigned
int
_nover
;
219
223
double
_maxwgt
;
225
234
double
_power
;
235
239
double
_preqqbar
;
240
244
double
_preqg
;
245
249
double
_pregqbar
;
250
254
vector<double>
_prefactor
;
256
264
vector<tcBeamPtr>
_beams
;
265
269
vector<tcPDPtr>
_partons
;
271
279
double
_yb
;
280
284
Energy
_mass
;
285
289
bool
_quarkplus
;
290
294
double
_yj
;
295
299
Energy
_pt
;
301
305
Energy
_min_pt
;
306
310
ShowerAlphaPtr
_alpha
;
311
};
312
313
}
314
315
#endif
/* HERWIG_DrellYanBase_H */
Herwig::DrellYanBase
The DrellYanBase class class provides a base class for the implemented of Drell-Yan type processes an...
Definition:
DrellYanBase.h:23
Herwig::DrellYanBase::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::DrellYanBase::hasPOWHEGCorrection
virtual POWHEGType hasPOWHEGCorrection()
Has a POWHEG style correction.
Definition:
DrellYanBase.h:37
Herwig::DrellYanBase::_maxwgt
double _maxwgt
Maximum weight.
Definition:
DrellYanBase.h:223
Herwig::DrellYanBase::applyHardMatrixElementCorrection
virtual RealEmissionProcessPtr applyHardMatrixElementCorrection(RealEmissionProcessPtr)
Apply the hard matrix element correction to a given hard process or decay.
Herwig::DrellYanBase::_yj
double _yj
the rapidity of the jet
Definition:
DrellYanBase.h:294
Herwig::DrellYanBase::_nover
unsigned int _nover
Number of weights greater than 1.
Definition:
DrellYanBase.h:218
Herwig::DrellYanBase::_partons
vector< tcPDPtr > _partons
Pointers to the ParticleDataObjects for the partons.
Definition:
DrellYanBase.h:269
Herwig::DrellYanBase::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::DrellYanBase::_quarkplus
bool _quarkplus
Whether the quark is in the + or - z direction.
Definition:
DrellYanBase.h:289
Herwig::DrellYanBase::getResult
double getResult(int emis_type, Energy pt, double yj)
Returns the matrix element for a given type of process, rapidity of the jet and transverse momentum ...
Herwig::DrellYanBase::_channelweights
vector< double > _channelweights
Weights for the channels as a vector.
Definition:
DrellYanBase.h:213
Herwig::DrellYanBase::_min_pt
Energy _min_pt
The transverse momentum of the jet.
Definition:
DrellYanBase.h:305
Herwig::DrellYanBase::operator=
DrellYanBase & operator=(const DrellYanBase &)=delete
The assignment operator is private and must never be called.
Herwig::DrellYanBase::getEvent
bool getEvent(vector< Lorentz5Momentum > &pnew, int &emissiontype)
generates the hardest emission (yj,p)
Herwig::DrellYanBase::dofinish
virtual void dofinish()
Finalize this object.
Herwig::DrellYanBase::_alpha
ShowerAlphaPtr _alpha
Pointer to the object calculating the strong coupling.
Definition:
DrellYanBase.h:310
Herwig::DrellYanBase::DrellYanBase
DrellYanBase()
The default constructor.
Herwig::DrellYanBase::_pregqbar
double _pregqbar
The prefactor, for the channel.
Definition:
DrellYanBase.h:249
Herwig::DrellYanBase::_yb
double _yb
Properties of the boson and jets.
Definition:
DrellYanBase.h:279
Herwig::DrellYanBase::_preqg
double _preqg
The prefactor, for the channel.
Definition:
DrellYanBase.h:244
Herwig::DrellYanBase::_beams
vector< tcBeamPtr > _beams
Properties of the incoming particles.
Definition:
DrellYanBase.h:264
Herwig::DrellYanBase::applyHard
bool applyHard(ParticleVector &quarks, vector< tcBeamPtr > beams, Lorentz5Momentum boson, unsigned int &iemit, unsigned int &itype, vector< Lorentz5Momentum > &pnew, LorentzRotation &trans, pair< double, double > &xnew, Energy2 shad)
Return the momenta and type of hard matrix element correction.
Herwig::DrellYanBase::_channelwgtB
double _channelwgtB
Relative weight for the and channels.
Definition:
DrellYanBase.h:208
Herwig::DrellYanBase::mb2_
Energy2 mb2_
Mass squared of the vector boson.
Definition:
DrellYanBase.h:194
Herwig::DrellYanBase::_pt
Energy _pt
The transverse momentum of the jet.
Definition:
DrellYanBase.h:299
Herwig::DrellYanBase::_power
double _power
Constants for the sampling.
Definition:
DrellYanBase.h:234
Herwig::DrellYanBase::setKinematics
virtual void setKinematics()
Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me()...
Definition:
DrellYanBase.h:91
Herwig::DrellYanBase::initializeMECorrection
virtual void initializeMECorrection(RealEmissionProcessPtr, double &initial, double &final)
Initialize the ME correction.
Definition:
DrellYanBase.h:48
Herwig::DrellYanBase::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::DrellYanBase::_mass
Energy _mass
The mass of the gauge boson.
Definition:
DrellYanBase.h:284
Herwig::DrellYanBase::hasMECorrection
virtual bool hasMECorrection()
Has an old fashioned ME correction.
Definition:
DrellYanBase.h:43
Herwig::DrellYanBase::_preqqbar
double _preqqbar
The prefactor, for the channel.
Definition:
DrellYanBase.h:239
Herwig::DrellYanBase::_prefactor
vector< double > _prefactor
The prefactors as a vector for easy use.
Definition:
DrellYanBase.h:254
Herwig::DrellYanBase::generateHardest
virtual RealEmissionProcessPtr generateHardest(RealEmissionProcessPtr, ShowerInteraction)
Apply the POWHEG style correction.
Herwig::DrellYanBase::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::DrellYanBase::_channelwgtA
double _channelwgtA
Parameters for the old-style ME correction.
Definition:
DrellYanBase.h:203
Herwig::DrellYanBase::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::HwMEBase
The HwMEBase class serves a number of purposes.
Definition:
HwMEBase.h:35
Herwig::HwMEBase::setKinematics
virtual void setKinematics()
Set the typed and momenta of the incoming and outgoing partons to be used in subsequent calls to me()...
Herwig::HwMEBase::POWHEGType
POWHEGType
Virtual members to be overridden by inheriting classes which implement hard corrections.
Definition:
HwMEBase.h:87
ThePEG::LorentzRotation
ThePEG::MEBase::scale
virtual Energy2 scale() const=0
ThePEG::MEBase::sHat
Energy2 sHat() const
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
ThePEG
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6