herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
MatrixElement
Matchbox
Base
MatchboxOLPME.h
1
// -*- C++ -*-
2
//
3
// MatchboxOLPME.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_MatchboxOLPME_H
10
#define Herwig_MatchboxOLPME_H
11
//
12
// This is the declaration of the MatchboxOLPME class.
13
//
14
15
#include "Herwig/MatrixElement/Matchbox/Base/MatchboxAmplitude.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
27
class
MatchboxOLPME
:
public
MatchboxAmplitude
{
28
29
public
:
30
36
MatchboxOLPME
();
37
41
virtual
~
MatchboxOLPME
();
43
44
public
:
45
49
virtual
bool
canHandle(
const
PDVector
& p,
50
Ptr<MatchboxFactory>::tptr,
51
bool
)
const
;
52
57
virtual
void
orderInGs
(
unsigned
int
ogs) { theOrderInGs = ogs; }
58
63
virtual
unsigned
int
orderInGs
()
const
{
return
theOrderInGs; }
64
69
virtual
void
orderInGem
(
unsigned
int
oge) { theOrderInGem = oge; }
70
75
virtual
unsigned
int
orderInGem
()
const
{
return
theOrderInGem; }
76
80
virtual
bool
isOLPTree
()
const
{
return
true
; }
81
85
virtual
bool
isOLPLoop
()
const
{
return
true
; }
86
91
virtual
bool
haveColourFlows
()
const
{
return
false
; }
92
96
virtual
void
setXComb(tStdXCombPtr xc);
97
102
virtual
void
prepareAmplitudes
(Ptr<MatchboxMEBase>::tcptr) {}
103
107
virtual
double
me2()
const
;
108
112
virtual
double
colourCorrelatedME2(pair<int,int> ij)
const
;
113
117
virtual
double
largeNColourCorrelatedME2(pair<int,int>,
118
Ptr<ColourBasis>::tptr)
const
;
119
123
virtual
double
largeNME2(Ptr<ColourBasis>::tptr largeNBasis)
const
;
124
128
virtual
double
spinColourCorrelatedME2(pair<int,int> ij,
129
const
SpinCorrelationTensor
& c)
const
;
130
134
virtual
double
spinCorrelatedME2(pair<int,int> ij,
135
const
SpinCorrelationTensor
& c)
const
;
136
140
virtual
bool
treeAmplitudes
()
const
{
return
false
; }
141
146
virtual
bool
haveOneLoop
()
const
{
return
true
; }
147
152
virtual
bool
onlyOneLoop
()
const
{
return
false
; }
153
157
virtual
bool
oneLoopAmplitudes
()
const
{
return
false
; }
158
163
virtual
bool
isExpanded
()
const
{
return
true
; }
164
170
virtual
Energy2 mu2()
const
;
171
175
virtual
bool
hasRunningAlphaS()
const
;
176
180
virtual
bool
hasRunningAlphaEW()
const
;
181
185
virtual
double
oneLoopDoublePole()
const
;
186
190
virtual
double
oneLoopSinglePole()
const
;
191
196
virtual
void
prepareOneLoopAmplitudes
(Ptr<MatchboxMEBase>::tcptr) {}
197
201
virtual
double
oneLoopInterference()
const
;
202
203
public
:
204
208
virtual
void
evalSubProcess()
const
= 0;
209
213
virtual
void
evalColourCorrelator(pair<int,int> ij)
const
= 0;
214
218
virtual
void
evalSpinColourCorrelator(pair<int,int> ij)
const
= 0;
219
223
virtual
void
evalSpinCorrelator(pair<int,int> ij)
const
;
224
225
public
:
226
233
void
persistentOutput(
PersistentOStream
& os)
const
;
234
240
void
persistentInput(
PersistentIStream
& is,
int
version);
242
249
static
void
Init();
250
251
252
// If needed, insert declarations of virtual function defined in the
253
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
254
255
256
protected
:
257
265
virtual
void
doinit();
266
271
virtual
void
doinitrun();
273
277
static
string
&
optionalContractFile
() {
278
static
string
s =
""
;
279
return
s;
280
}
281
285
static
bool
&
didStartOLP
() {
286
static
bool
f =
false
;
287
return
f;
288
}
289
290
private
:
291
296
MatchboxOLPME
& operator=(
const
MatchboxOLPME
&) =
delete
;
297
302
unsigned
int
theOrderInGs
;
303
308
unsigned
int
theOrderInGem
;
309
314
bool
theSetMuToMuR
;
315
320
bool
theUseRunningAlphaS
;
321
326
bool
theUseRunningAlphaEW
;
327
328
};
329
330
}
331
332
#endif
/* Herwig_MatchboxOLPME_H */
Herwig::MatchboxOLPME::isExpanded
virtual bool isExpanded() const
Return true, if one loop corrections are given in the conventions of everything expanded.
Definition:
MatchboxOLPME.h:163
ThePEG::PersistentIStream
Herwig::MatchboxOLPME::theOrderInGs
unsigned int theOrderInGs
The (tree-level) order in in which this matrix element is given.
Definition:
MatchboxOLPME.h:302
Herwig::MatchboxOLPME::oneLoopAmplitudes
virtual bool oneLoopAmplitudes() const
Return true, if one-loop contributions will be evaluated at amplitude level.
Definition:
MatchboxOLPME.h:157
Herwig::MatchboxOLPME::orderInGem
virtual void orderInGem(unsigned int oge)
Set the (tree-level) order in in which this matrix element should be evaluated.
Definition:
MatchboxOLPME.h:69
Herwig::MatchboxOLPME::isOLPTree
virtual bool isOLPTree() const
Return true, if this amplitude is handled by a BLHA one-loop provider.
Definition:
MatchboxOLPME.h:80
ThePEG::PersistentOStream
Herwig::MatchboxOLPME::treeAmplitudes
virtual bool treeAmplitudes() const
Return true, if tree-level contributions will be evaluated at amplitude level.
Definition:
MatchboxOLPME.h:140
ThePEG
Herwig::MatchboxOLPME::orderInGem
virtual unsigned int orderInGem() const
Return the (tree-level) order in in which this matrix element is given.
Definition:
MatchboxOLPME.h:75
Herwig::MatchboxOLPME::prepareOneLoopAmplitudes
virtual void prepareOneLoopAmplitudes(Ptr< MatchboxMEBase >::tcptr)
Calculate the one-loop amplitudes for the phasespace point stored in lastXComb, if provided...
Definition:
MatchboxOLPME.h:196
Herwig::MatchboxAmplitude
MatchboxAmplitude is the base class for amplitude implementations inside Matchbox.
Definition:
MatchboxAmplitude.h:108
Herwig::MatchboxOLPME::didStartOLP
static bool & didStartOLP()
Indicate that the OLP has been started.
Definition:
MatchboxOLPME.h:285
Herwig::MatchboxOLPME::isOLPLoop
virtual bool isOLPLoop() const
Return true, if this amplitude is handled by a BLHA one-loop provider.
Definition:
MatchboxOLPME.h:85
Herwig::MatchboxOLPME::theSetMuToMuR
bool theSetMuToMuR
Set the value of the dimensional regularization parameter to the value of the renormalization scale...
Definition:
MatchboxOLPME.h:314
Herwig::MatchboxOLPME::haveOneLoop
virtual bool haveOneLoop() const
Return true, if this amplitude is capable of calculating one-loop (QCD) corrections.
Definition:
MatchboxOLPME.h:146
Herwig::MatchboxOLPME::optionalContractFile
static string & optionalContractFile()
Set an optional contract file name to be used.
Definition:
MatchboxOLPME.h:277
Herwig::MatchboxOLPME::haveColourFlows
virtual bool haveColourFlows() const
Return true, if the colour basis is capable of assigning colour flows.
Definition:
MatchboxOLPME.h:91
Herwig::MatchboxOLPME::orderInGs
virtual unsigned int orderInGs() const
Return the (tree-level) order in in which this matrix element is given.
Definition:
MatchboxOLPME.h:63
Herwig::MatchboxOLPME::orderInGs
virtual void orderInGs(unsigned int ogs)
Set the (tree-level) order in in which this matrix element should be evaluated.
Definition:
MatchboxOLPME.h:57
Herwig::MatchboxOLPME::theOrderInGem
unsigned int theOrderInGem
The (tree-level) order in in which this matrix element is given.
Definition:
MatchboxOLPME.h:308
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::PDVector
vector< PDPtr > PDVector
Herwig::MatchboxOLPME::onlyOneLoop
virtual bool onlyOneLoop() const
Return true, if this amplitude only provides one-loop (QCD) corrections.
Definition:
MatchboxOLPME.h:152
Herwig::MatchboxOLPME::theUseRunningAlphaS
bool theUseRunningAlphaS
Use the running alpha_s instead of the reference alpha_s.
Definition:
MatchboxOLPME.h:320
Herwig::MatchboxOLPME::prepareAmplitudes
virtual void prepareAmplitudes(Ptr< MatchboxMEBase >::tcptr)
Calculate the tree level amplitudes for the phasespace point stored in lastXComb. ...
Definition:
MatchboxOLPME.h:102
Herwig::MatchboxOLPME
MatchboxOLPME implements OLP interfaces.
Definition:
MatchboxOLPME.h:27
Herwig::MatchboxOLPME::theUseRunningAlphaEW
bool theUseRunningAlphaEW
Use the running alpha_ew instead of the reference alpha_ew.
Definition:
MatchboxOLPME.h:326
Herwig::SpinCorrelationTensor
SpinCorrelationTensor represents a spin correlation tensor of the form.
Definition:
SpinCorrelationTensor.h:28
Generated on Sat Apr 11 2020 14:50:30 for Herwig by
1.8.13