herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
Merging
MergingFactory.h
1
//
5
//
8
//
9
#ifndef HERWIG_MergingFactory_H
10
#define HERWIG_MergingFactory_H
11
//
13
//
14
15
#include "MergingFactory.fh"
16
#include "Herwig/MatrixElement/Matchbox/MatchboxFactory.h"
17
#include "Node.fh"
18
#include "Merger.h"
19
#include "ThePEG/Persistency/PersistentOStream.h"
20
#include "ThePEG/Persistency/PersistentIStream.h"
21
namespace
Herwig
{
22
23
using namespace
ThePEG
;
24
35
class
MergingFactory
:
public
MatchboxFactory
{
36
public
:
38
void
productionMode();
40
virtual
void
setup();
42
void
fillMEsMap();
44
void
prepare_BV(
int
i);
46
void
prepare_R(
int
i);
48
void
pushB(MatchboxMEBasePtr,
int
);
49
//push the virtual contributions to the ME vector.
50
void
pushV(MatchboxMEBasePtr,
int
);
52
void
pushR(MatchboxMEBasePtr,
int
);
54
void
orderOLPs();
57
int
onlymulti
()
const
{
58
return
theonlymulti==-1?-1:(theonlymulti+int(processMap.find(0)->second.size()));
59
}
61
MergerPtr
MH
() {
return
theMergingHelper;}
63
int
M
()
const
{
return
theM-1;}
65
int
N
()
const
{
return
theN;}
68
const
map<int, vector<MatchboxMEBasePtr> >&
pureMEsMap
()
const
{
69
return
thePureMEsMap;
70
}
73
map<int, vector<MatchboxMEBasePtr> >&
pureMEsMap
() {
74
return
thePureMEsMap;
75
}
76
//Parse a process description
77
virtual
vector<string> parseProcess(
string
);
78
// fill the virtuals vector (these are IPK-operators)
79
void
getVirtuals(MatchboxMEBasePtr nlo,
bool
clone );
80
// In the merged setup we only produce single phase space points.
81
bool
subProcessGroups
()
const
{
return
false
;}
82
// Cut on non-QCD observables.
83
Ptr<Cuts>::ptr nonQCDCuts(){
return
theNonQCDCuts;}
84
85
public
:
86
93
void
persistentOutput(
PersistentOStream
& os)
const
;
94
100
void
persistentInput(
PersistentIStream
& is,
int
);
102
103
static
void
Init();
104
105
protected
:
106
114
virtual
void
doinit();
115
117
118
protected
:
119
126
virtual
IBPtr
clone()
const
;
127
133
virtual
IBPtr
fullclone()
const
;
135
136
private
:
137
139
bool
unitarized =
true
;
141
bool
ransetup =
false
;
144
int
theonlymulti = -1;
146
int
theM = -1;
148
int
theN = -1;
150
map< int, vector<string> >
processMap
;
151
//The matrix elements: int = number of additional jets
152
map< int, vector<MatchboxMEBasePtr> > thePureMEsMap;
154
MergerPtr
theMergingHelper
;
156
Ptr<Cuts>::ptr
theNonQCDCuts
;
157
162
int
theChunk=0;
165
int
theChunkPart=0;
166
167
172
MergingFactory
& operator=(
const
MergingFactory
&) =
delete
;
173
174
175
};
176
177
}
178
179
#endif
/* HERWIG_MergingFactory_H */
ThePEG::PersistentIStream
Herwig::MergingFactory::processMap
map< int, vector< string > > processMap
map for processes.
Definition:
MergingFactory.h:150
ThePEG::PersistentOStream
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MergingFactory::theNonQCDCuts
Ptr< Cuts >::ptr theNonQCDCuts
Cut on non-QCD modified observables.
Definition:
MergingFactory.h:156
ThePEG
Herwig::MergingFactory
MergingFactory automatically sets up a NLO QCD merging.
Definition:
MergingFactory.h:35
Herwig::MergingFactory::subProcessGroups
bool subProcessGroups() const
Return true, if SubProcessGroups should be setup from this MEGroup.
Definition:
MergingFactory.h:81
Herwig::MergingFactory::onlymulti
int onlymulti() const
Debugging: push only multiplicities to the ME vector in range of specified mulltiplicity.
Definition:
MergingFactory.h:57
Herwig::MergingFactory::theMergingHelper
MergerPtr theMergingHelper
the merging helper
Definition:
MergingFactory.h:154
Herwig::MatchboxFactory
MatchboxFactory automatically sets up a NLO QCD calculation carried out in dipole subtraction...
Definition:
MatchboxFactory.h:40
Herwig::MergingFactory::pureMEsMap
map< int, vector< MatchboxMEBasePtr > > & pureMEsMap()
Access the Map of matrix elements to be considered (the Key is the number of additional jets) ...
Definition:
MergingFactory.h:73
Herwig::MergingFactory::M
int M() const
maximal NLO mulitplicity: 0=NLO corrections to the productio process.
Definition:
MergingFactory.h:63
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MergingFactory::pureMEsMap
const map< int, vector< MatchboxMEBasePtr > > & pureMEsMap() const
Return the Map of matrix elements to be considered (the Key is the number of additional jets) ...
Definition:
MergingFactory.h:68
Herwig::MergingFactory::N
int N() const
leg size of highest multiplicity.
Definition:
MergingFactory.h:65
Herwig::MergingFactory::MH
MergerPtr MH()
pointer to the merging helper.
Definition:
MergingFactory.h:61
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13