herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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 */
Herwig::MatchboxAmplitude::value
virtual Complex value(const tcPDVector &particles, const vector< Lorentz5Momentum > &momenta, const vector< int > &helicities)
Return the amplitude.
Herwig::MatchboxOLPME
MatchboxOLPME implements OLP interfaces.
Definition:
MatchboxOLPME.h:27
Herwig::VBFNLOAmplitude
VBFNLOAmplitude implements an interface to VBFNLO.
Definition:
VBFNLOAmplitude.h:27
Herwig::VBFNLOAmplitude::signOLP
virtual void signOLP(const string &, const string &)
Start the one loop provider, if appropriate, giving order and contract files.
Herwig::VBFNLOAmplitude::isCS
virtual bool isCS() const
Set options.
Definition:
VBFNLOAmplitude.h:61
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::VBFNLOAmplitude
VBFNLOAmplitude()
The default constructor.
Herwig::VBFNLOAmplitude::spinColourCorrelatorResults
vector< double > spinColourCorrelatorResults
Store spin colour correlator results.
Definition:
VBFNLOAmplitude.h:219
Herwig::VBFNLOAmplitude::evalLargeNSubProcess
virtual void evalLargeNSubProcess(Ptr< ColourBasis >::tptr) const
Call OLP_EvalSubProcess in the large-N limit and fill in the results.
Herwig::VBFNLOAmplitude::evalLargeNColourCorrelator
virtual void evalLargeNColourCorrelator(pair< int, int > ij, Ptr< ColourBasis >::tptr) const
Fill in results for the given large-N colour correlator.
Herwig::VBFNLOAmplitude::evalSpinColourCorrelator
virtual void evalSpinColourCorrelator(pair< int, int > ij) const
Fill in results for the given colour/spin correlator.
Herwig::VBFNLOAmplitude::Init
static void Init()
The standard Init function used to initialize the interfaces.
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::isExpanded
virtual bool isExpanded() const
Return true, if one loop corrections are given in the conventions of everything expanded.
Definition:
VBFNLOAmplitude.h:62
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::isDR
virtual bool isDR() const
Return true, if one loop corrections have been calculated in dimensional reduction.
Definition:
VBFNLOAmplitude.h:64
Herwig::VBFNLOAmplitude::setOLPParameter
void setOLPParameter(const string &name, double value) const
Set an OLP parameter (assuming real parameters only)
Herwig::VBFNLOAmplitude::evalSubProcess
virtual void evalSubProcess() const
Call OLP_EvalSubProcess and fill in the results.
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::evalColourCorrelator
virtual void evalColourCorrelator(pair< int, int > ij) const
Fill in results for the given colour correlator.
Herwig::VBFNLOAmplitude::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::VBFNLOAmplitude::plusPolarization
virtual LorentzVector< Complex > plusPolarization(const Lorentz5Momentum &p, const Lorentz5Momentum &n, int id=-1) const
Return a positive helicity polarization vector for a gluon of momentum p (with reference vector n) to...
Herwig::VBFNLOAmplitude::~VBFNLOAmplitude
virtual ~VBFNLOAmplitude()
The destructor.
Herwig::VBFNLOAmplitude::operator=
VBFNLOAmplitude & operator=(const VBFNLOAmplitude &)=delete
The assignment operator is private and must never be called.
Herwig::VBFNLOAmplitude::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::VBFNLOAmplitude::largeNColourCorrelatedME2
virtual double largeNColourCorrelatedME2(pair< int, int >, Ptr< ColourBasis >::tptr) const
Return the large-N colour correlated matrix element.
Herwig::VBFNLOAmplitude::loadVBFNLO
void loadVBFNLO()
load the VBFNLO library
Herwig::VBFNLOAmplitude::startOLP
virtual bool startOLP(const map< pair< Process, int >, int > &procs)
Start the one loop provider, if appropriate.
Herwig::VBFNLOAmplitude::theAnomCoupl
bool theAnomCoupl
Switch for anomalous couplings.
Definition:
VBFNLOAmplitude.h:229
Herwig::VBFNLOAmplitude::largeNME2
virtual double largeNME2(Ptr< ColourBasis >::tptr) const
Return the large-N matrix element squared.
Herwig::VBFNLOAmplitude::colourCorrelatorResults
vector< double > colourCorrelatorResults
Store colour correlator results.
Definition:
VBFNLOAmplitude.h:214
Herwig::VBFNLOAmplitude::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::VBFNLOAmplitude::startOLP
virtual void startOLP(const string &, int &status)
Start the one loop provider, if appropriate.
Herwig::VBFNLOAmplitude::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::VBFNLOAmplitude::doinitrun
virtual void doinitrun()
Initialize this object.
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::VBFNLOlib_
string VBFNLOlib_
Location of the VBFNLO library.
Definition:
VBFNLOAmplitude.h:236
Herwig::VBFNLOAmplitude::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::VBFNLOAmplitude::theRanHelSum
bool theRanHelSum
Switch for random helicity summation.
Definition:
VBFNLOAmplitude.h:224
ThePEG::InterfacedBase::name
string name() const
ThePEG::LorentzVector
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Generated on Thu Jun 20 2024 17:50:52 for Herwig by
1.9.6