herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Matchbox
External
VBFNLO
VBFNLOAmplitude.h
1
// -*- C++ -*-
2
//
3
// VBFNLOAmplitude.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_VBFNLOAmplitude_H
10
#define Herwig_VBFNLOAmplitude_H
11
//
12
// This is the declaration of the VBFNLOAmplitude class.
13
//
14
15
#include "Herwig/MatrixElement/Matchbox/Base/MatchboxOLPME.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
27
class
VBFNLOAmplitude
:
public
MatchboxOLPME
{
28
29
public
:
30
36
VBFNLOAmplitude
();
37
41
virtual
~
VBFNLOAmplitude
();
43
44
public
:
45
50
virtual
bool
hasInitialAverage
()
const
{
return
false
; }
51
56
virtual
bool
hasFinalStateSymmetry
()
const
{
return
false
; }
57
61
virtual
bool
isCS
()
const
{
return
false
; }
62
virtual
bool
isExpanded
()
const
{
return
true
; }
63
virtual
bool
isBDK
()
const
{
return
false
; }
64
virtual
bool
isDR
()
const
{
return
false
; }
65
virtual
bool
isDRbar
()
const
{
return
false
; }
66
71
virtual
int
nDimAdditional
()
const
{
return
theRanHelSum?1:0; }
72
76
void
setOLPParameter(
const
string
& name,
double
value)
const
;
77
82
virtual
void
signOLP(
const
string
&,
const
string
&);
83
87
virtual
void
startOLP(
const
string
&,
int
& status);
88
93
virtual
bool
startOLP(
const
map<pair<Process,int>,
int
>& procs);
94
98
virtual
void
evalSubProcess()
const
;
99
103
virtual
void
evalColourCorrelator(pair<int,int> ij)
const
;
104
108
virtual
double
largeNME2(Ptr<ColourBasis>::tptr)
const
;
109
113
virtual
void
evalLargeNSubProcess(Ptr<ColourBasis>::tptr)
const
;
114
118
virtual
double
largeNColourCorrelatedME2(pair<int,int>,
119
Ptr<ColourBasis>::tptr)
const
;
120
124
virtual
void
evalLargeNColourCorrelator(pair<int,int> ij,
125
Ptr<ColourBasis>::tptr)
const
;
126
132
virtual
LorentzVector<Complex>
plusPolarization(
const
Lorentz5Momentum& p,
133
const
Lorentz5Momentum& n,
134
int
id
= -1)
const
;
135
139
virtual
void
evalSpinColourCorrelator(pair<int,int> ij)
const
;
140
141
public
:
142
149
void
persistentOutput(
PersistentOStream
& os)
const
;
150
156
void
persistentInput(
PersistentIStream
& is,
int
version);
158
165
static
void
Init();
166
167
protected
:
168
171
177
virtual
void
doinit();
178
183
virtual
void
doinitrun();
185
186
protected
:
187
194
virtual
IBPtr
clone()
const
;
195
200
virtual
IBPtr
fullclone()
const
;
202
203
private
:
204
209
VBFNLOAmplitude
& operator=(
const
VBFNLOAmplitude
&) =
delete
;
210
214
mutable
vector<double>
colourCorrelatorResults
;
215
219
mutable
vector<double>
spinColourCorrelatorResults
;
220
224
bool
theRanHelSum
;
225
229
bool
theAnomCoupl
;
230
231
protected
:
232
236
string
VBFNLOlib_
;
237
241
void
loadVBFNLO();
242
243
};
244
245
}
246
247
#endif
/* Herwig_VBFNLOAmplitude_H */
ThePEG::PersistentIStream
ThePEG::LorentzVector< Complex >
Herwig::VBFNLOAmplitude::isDR
virtual bool isDR() const
Return true, if one loop corrections have been calculated in dimensional reduction.
Definition:
VBFNLOAmplitude.h:64
Herwig::VBFNLOAmplitude::isCS
virtual bool isCS() const
Set options.
Definition:
VBFNLOAmplitude.h:61
Herwig::VBFNLOAmplitude::VBFNLOlib_
string VBFNLOlib_
Location of the VBFNLO library.
Definition:
VBFNLOAmplitude.h:236
Herwig::VBFNLOAmplitude::theAnomCoupl
bool theAnomCoupl
Switch for anomalous couplings.
Definition:
VBFNLOAmplitude.h:229
ThePEG::PersistentOStream
Herwig::VBFNLOAmplitude::nDimAdditional
virtual int nDimAdditional() const
Request an additional random number if we are doing random helicity summation.
Definition:
VBFNLOAmplitude.h:71
Herwig::VBFNLOAmplitude::isExpanded
virtual bool isExpanded() const
Return true, if one loop corrections are given in the conventions of everything expanded.
Definition:
VBFNLOAmplitude.h:62
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG
Herwig::VBFNLOAmplitude::hasFinalStateSymmetry
virtual bool hasFinalStateSymmetry() const
Return true, if this amplitude already includes symmetry factors for identical outgoing particles...
Definition:
VBFNLOAmplitude.h:56
Herwig::VBFNLOAmplitude::spinColourCorrelatorResults
vector< double > spinColourCorrelatorResults
Store spin colour correlator results.
Definition:
VBFNLOAmplitude.h:219
Herwig::VBFNLOAmplitude::isDRbar
virtual bool isDRbar() const
Return true, if the amplitude is DRbar renormalized, otherwise MSbar is assumed.
Definition:
VBFNLOAmplitude.h:65
Herwig::VBFNLOAmplitude::colourCorrelatorResults
vector< double > colourCorrelatorResults
Store colour correlator results.
Definition:
VBFNLOAmplitude.h:214
Herwig::VBFNLOAmplitude::hasInitialAverage
virtual bool hasInitialAverage() const
Return true, if this amplitude already includes averaging over incoming parton's quantum numbers...
Definition:
VBFNLOAmplitude.h:50
Herwig::VBFNLOAmplitude
VBFNLOAmplitude implements an interface to VBFNLO.
Definition:
VBFNLOAmplitude.h:27
Herwig::VBFNLOAmplitude::isBDK
virtual bool isBDK() const
Return true, if one loop corrections are given in the conventions of BDK.
Definition:
VBFNLOAmplitude.h:63
Herwig::VBFNLOAmplitude::theRanHelSum
bool theRanHelSum
Switch for random helicity summation.
Definition:
VBFNLOAmplitude.h:224
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MatchboxOLPME
MatchboxOLPME implements OLP interfaces.
Definition:
MatchboxOLPME.h:27
Generated on Sat Apr 11 2020 14:50:32 for Herwig by
1.8.13