herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
Shower
QTilde
Matching
MatchingHandler.h
1
// -*- C++ -*-
2
#ifndef Herwig_MatchingHandler_H
3
#define Herwig_MatchingHandler_H
4
//
5
// This is the declaration of the MatchingHandler class.
6
//
7
8
#include "Herwig/Shower/QTilde/QTildeShowerHandler.h"
9
#include "ThePEG/MatrixElement/MEBase.h"
10
#include "Herwig/MatrixElement/HwMEBase.h"
11
#include "ThePEG/MatrixElement/DiagramBase.fh"
12
#include "ThePEG/PDF/PartonExtractor.h"
13
#include "Herwig/Shower/QTilde/Base/HardBranching.h"
14
#include "ProtoTree.h"
15
#include "PotentialTree.h"
16
17
namespace
Herwig
{
18
19
using namespace
ThePEG
;
20
27
class
MatchingHandler
:
public
ShowerHandler
{
28
29
public
:
30
34
MatchingHandler
(
bool
reWeight =
false
);
35
42
void
persistentOutput
(
PersistentOStream
& os)
const
;
43
49
void
persistentInput
(
PersistentIStream
& is,
int
version);
51
58
static
void
Init
();
59
60
protected
:
61
69
virtual
void
doinit
();
71
72
protected
:
73
77
MEPtr
matrixElement
()
const
{
return
matrixElement_
;}
78
82
HwMEBasePtr
HWMatrixElement
()
const
{
return
HWmatrixElement_
;}
83
87
PExtrPtr
partonExtractor
() {
return
partonExtractor_
;}
88
93
PartonPairVec
partonBins
() {
return
partonBins_
;}
94
99
void
partonBins
(PartonPairVec bins) {
partonBins_
= bins;}
100
104
CutsPtr &
cuts
() {
return
cuts_
;}
105
109
void
initialiseMatching
(
int
minMult,
int
maxMult);
110
111
protected
:
112
116
ShowerAlphaPtr
alphaS
() {
return
alphaS_
;}
117
122
bool
rejectNonAngularOrdered
() {
return
rejectNonAO_
;}
123
128
bool
rejectNoShowerHistory
() {
return
rejectNOHistories_
;}
129
137
Energy2
sHat
()
const
{
return
sHat_
;}
138
142
void
sHat
(Energy2 in) {
sHat_
= in;}
143
147
Energy
pdfScale
()
const
{
return
pdfScale_
;}
148
152
void
pdfScale
(Energy in) {
pdfScale_
= in;}
153
157
double
alphaSMG
()
const
{
return
alphaSMG_
;}
158
162
void
alphaSMG
(
double
in) {
alphaSMG_
= in;}
163
167
bool
noShowerHistory
() {
return
noShowerHists_
;}
168
172
bool
highestMult
()
const
{
return
highestMult_
;}
173
177
bool
lowestMult
()
const
{
return
lowestMult_
;}
179
187
set<ProtoBranchingPtr> &
protoBranchings
() {
return
protoBranchings_
;}
188
192
set< ProtoTreePtr > &
protoTrees
() {
return
protoTrees_
;}
193
197
PotentialTree
&
hardTree
() {
return
hardTree_
;}
198
202
void
hardTree
(
PotentialTree
in) {
hardTree_
= in;}
203
207
CKKWTreePtr
getCKKWTree
()
const
{
return
hardTree_
.
tree
();}
208
212
vector< pair< PotentialTree, double > > &
hardTrees
() {
213
return
hardTrees_
;
214
}
215
219
vector< pair< PotentialTree, double > > &
nonOrderedTrees
() {
220
return
nonOrderedTrees_
;
221
}
223
227
double
getDiagram
(
PotentialTree
&);
228
233
void
fillProtoTrees
( ProtoTreePtr );
234
238
bool
updateSubProcess
();
239
243
PotentialTree
doClustering
();
244
248
virtual
double
sudakovWeight
( CKKWTreePtr ) = 0;
249
253
virtual
PotentialTree
chooseHardTree
(
double
totalWeight,
254
double
nonOrderedWeight) = 0;
255
262
tProtoBranchingPtr
getCluster
( tProtoBranchingPtr, tProtoBranchingPtr );
263
269
bool
repeatProtoTree
( ProtoTreePtr currentProtoTree );
270
274
BranchingElement
allowedFinalStateBranching
( tProtoBranchingPtr &,
275
tProtoBranchingPtr &);
276
280
BranchingElement
allowedInitialStateBranching
( tProtoBranchingPtr & ,
281
tProtoBranchingPtr &);
282
286
void
findDecayingParticles
(
PPtr
parent
);
287
291
map<PPtr,ParticleVector>::const_iterator
parent
(
PPtr
parent
);
292
296
void
addDecayProducts
(
SubProPtr
subProcess
,
PPtr
parent
,
297
map<PPtr,ParticleVector>::const_iterator
decay
,
298
const
LorentzRotation
& boost)
const
;
299
300
private
:
301
306
MatchingHandler
&
operator=
(
const
MatchingHandler
&) =
delete
;
307
308
private
:
309
313
bool
reWeight_
;
314
319
bool
rejectNonAO_
;
320
325
bool
rejectNOHistories_
;
326
330
bool
includeDecays_
;
331
335
MEPtr
matrixElement_
;
336
340
HwMEBasePtr
HWmatrixElement_
;
341
345
PExtrPtr
partonExtractor_
;
346
351
PartonPairVec
partonBins_
;
352
356
CutsPtr
cuts_
;
357
361
Energy2
sHat_
;
362
366
ShowerAlphaPtr
alphaS_
;
367
371
Energy
pdfScale_
;
372
376
double
alphaSMG_
;
377
378
private
:
379
387
set<ProtoBranchingPtr>
protoBranchings_
;
388
392
set< ProtoTreePtr >
protoTrees_
;
393
397
PotentialTree
hardTree_
;
398
402
vector< pair< PotentialTree, double > >
hardTrees_
;
403
407
vector< pair< PotentialTree, double > >
nonOrderedTrees_
;
408
412
map<PPtr,ParticleVector>
decayingParticles_
;
413
417
bool
noShowerHists_
;
418
422
bool
highestMult_
;
423
427
bool
lowestMult_
;
429
437
map<pair<long,long>,pair<SudakovPtr,IdList> >
allowedFinal_
;
438
442
multimap<long, pair<SudakovPtr,IdList> >
allowedInitial_
;
444
};
445
446
}
447
448
#endif
/* Herwig_MatchingHandler_H */
Herwig::MatchingHandler
Here is the documentation of the MatchingHandler class.
Definition:
MatchingHandler.h:27
Herwig::MatchingHandler::fillProtoTrees
void fillProtoTrees(ProtoTreePtr)
Recursive function to find all possible clustered trees.
Herwig::MatchingHandler::alphaSMG
double alphaSMG() const
The fixed alphaS value that was used to generate parton configurations.
Definition:
MatchingHandler.h:157
Herwig::MatchingHandler::protoBranchings
set< ProtoBranchingPtr > & protoBranchings()
Storage of potential shower interpretations.
Definition:
MatchingHandler.h:187
Herwig::MatchingHandler::allowedFinal_
map< pair< long, long >, pair< SudakovPtr, IdList > > allowedFinal_
Which branchings are allowed?
Definition:
MatchingHandler.h:437
Herwig::MatchingHandler::allowedFinalStateBranching
BranchingElement allowedFinalStateBranching(tProtoBranchingPtr &, tProtoBranchingPtr &)
Returns the branching element for an FS-FS clustering.
Herwig::MatchingHandler::rejectNonAngularOrdered
bool rejectNonAngularOrdered()
whether to just reject event if there are no angular ordered histories (true) or to choose one of the...
Definition:
MatchingHandler.h:122
Herwig::MatchingHandler::nonOrderedTrees
vector< pair< PotentialTree, double > > & nonOrderedTrees()
The possible shower configurations that are not angular-ordered.
Definition:
MatchingHandler.h:219
Herwig::MatchingHandler::hardTree
void hardTree(PotentialTree in)
Access to the select tree.
Definition:
MatchingHandler.h:202
Herwig::MatchingHandler::noShowerHistory
bool noShowerHistory()
Whether we are treating an event with no shower interpretation.
Definition:
MatchingHandler.h:167
Herwig::MatchingHandler::pdfScale
Energy pdfScale() const
The fixed factorization scale used in the MEs.
Definition:
MatchingHandler.h:147
Herwig::MatchingHandler::lowestMult_
bool lowestMult_
Whether we are treating the lowest multiplicity contribution.
Definition:
MatchingHandler.h:427
Herwig::MatchingHandler::partonExtractor
PExtrPtr partonExtractor()
The PartonExtractor object used to construct remnants.
Definition:
MatchingHandler.h:87
Herwig::MatchingHandler::pdfScale_
Energy pdfScale_
The fixed factorization scale used in the MEs.
Definition:
MatchingHandler.h:371
Herwig::MatchingHandler::addDecayProducts
void addDecayProducts(SubProPtr subProcess, PPtr parent, map< PPtr, ParticleVector >::const_iterator decay, const LorentzRotation &boost) const
Add the decay products of a particle to the new SubProcess.
Herwig::MatchingHandler::HWmatrixElement_
HwMEBasePtr HWmatrixElement_
The cast matrix element.
Definition:
MatchingHandler.h:340
Herwig::MatchingHandler::alphaSMG
void alphaSMG(double in)
The fixed alphaS value that was used to generate parton configurations.
Definition:
MatchingHandler.h:162
Herwig::MatchingHandler::pdfScale
void pdfScale(Energy in)
The fixed factorization scale used in the MEs.
Definition:
MatchingHandler.h:152
Herwig::MatchingHandler::highestMult
bool highestMult() const
whether the current event is a highest multiplicity event.
Definition:
MatchingHandler.h:172
Herwig::MatchingHandler::cuts_
CutsPtr cuts_
The Cuts object to be used for this reader.
Definition:
MatchingHandler.h:356
Herwig::MatchingHandler::partonBins
void partonBins(PartonPairVec bins)
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
MatchingHandler.h:99
Herwig::MatchingHandler::alphaSMG_
double alphaSMG_
The fixed alphaS value that was used to generate parton configurations.
Definition:
MatchingHandler.h:376
Herwig::MatchingHandler::operator=
MatchingHandler & operator=(const MatchingHandler &)=delete
The assignment operator is private and must never be called.
Herwig::MatchingHandler::allowedInitialStateBranching
BranchingElement allowedInitialStateBranching(tProtoBranchingPtr &, tProtoBranchingPtr &)
Returns the branching element for an IS-FS clustering.
Herwig::MatchingHandler::highestMult_
bool highestMult_
Whether we are treating the highest multiplicity contribution.
Definition:
MatchingHandler.h:422
Herwig::MatchingHandler::matrixElement_
MEPtr matrixElement_
The matrix element for the core process.
Definition:
MatchingHandler.h:335
Herwig::MatchingHandler::hardTree
PotentialTree & hardTree()
Access to the select tree.
Definition:
MatchingHandler.h:197
Herwig::MatchingHandler::hardTree_
PotentialTree hardTree_
The chosen hard tree.
Definition:
MatchingHandler.h:397
Herwig::MatchingHandler::alphaS
ShowerAlphaPtr alphaS()
Pointer to the object calculating the strong coupling.
Definition:
MatchingHandler.h:116
Herwig::MatchingHandler::chooseHardTree
virtual PotentialTree chooseHardTree(double totalWeight, double nonOrderedWeight)=0
Select the hard tree.
Herwig::MatchingHandler::repeatProtoTree
bool repeatProtoTree(ProtoTreePtr currentProtoTree)
Checks whether a ProtoTree containing the same branchings already exists in protoTrees_ in which case...
Herwig::MatchingHandler::protoBranchings_
set< ProtoBranchingPtr > protoBranchings_
Storage of the potential shower interpretation.
Definition:
MatchingHandler.h:387
Herwig::MatchingHandler::findDecayingParticles
void findDecayingParticles(PPtr parent)
Find decaying particles.
Herwig::MatchingHandler::sHat
Energy2 sHat() const
Access to basic info on the event.
Definition:
MatchingHandler.h:137
Herwig::MatchingHandler::rejectNOHistories_
bool rejectNOHistories_
whether to reject events (true) for which there is no parton shower interpretation or just shower the...
Definition:
MatchingHandler.h:325
Herwig::MatchingHandler::HWMatrixElement
HwMEBasePtr HWMatrixElement() const
Access to the core Hw++ matrix element.
Definition:
MatchingHandler.h:82
Herwig::MatchingHandler::sudakovWeight
virtual double sudakovWeight(CKKWTreePtr)=0
Calculate the Sudakov weight.
Herwig::MatchingHandler::nonOrderedTrees_
vector< pair< PotentialTree, double > > nonOrderedTrees_
The possible shower configurations that are not angular-ordered.
Definition:
MatchingHandler.h:407
Herwig::MatchingHandler::partonBins_
PartonPairVec partonBins_
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
MatchingHandler.h:351
Herwig::MatchingHandler::matrixElement
MEPtr matrixElement() const
Access to the core matrix element.
Definition:
MatchingHandler.h:77
Herwig::MatchingHandler::partonBins
PartonPairVec partonBins()
The pairs of PartonBin objects describing the partons which can be extracted by the PartonExtractor o...
Definition:
MatchingHandler.h:93
Herwig::MatchingHandler::sHat
void sHat(Energy2 in)
Centre of mass energy.
Definition:
MatchingHandler.h:142
Herwig::MatchingHandler::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MatchingHandler::protoTrees
set< ProtoTreePtr > & protoTrees()
The ProtoTrees which will become CKKWTrees.
Definition:
MatchingHandler.h:192
Herwig::MatchingHandler::partonExtractor_
PExtrPtr partonExtractor_
The PartonExtractor object used to construct remnants.
Definition:
MatchingHandler.h:345
Herwig::MatchingHandler::alphaS_
ShowerAlphaPtr alphaS_
Pointer to the object calculating the strong coupling.
Definition:
MatchingHandler.h:366
Herwig::MatchingHandler::MatchingHandler
MatchingHandler(bool reWeight=false)
The default constructor.
Herwig::MatchingHandler::getCKKWTree
CKKWTreePtr getCKKWTree() const
access to the hard tree object
Definition:
MatchingHandler.h:207
Herwig::MatchingHandler::allowedInitial_
multimap< long, pair< SudakovPtr, IdList > > allowedInitial_
The allowed initial-state branchings.
Definition:
MatchingHandler.h:442
Herwig::MatchingHandler::rejectNonAO_
bool rejectNonAO_
whether to just reject event if there are no angular ordered histories (true) or to choose one of the...
Definition:
MatchingHandler.h:319
Herwig::MatchingHandler::reWeight_
bool reWeight_
Whether or not to reweight.
Definition:
MatchingHandler.h:313
Herwig::MatchingHandler::hardTrees
vector< pair< PotentialTree, double > > & hardTrees()
The possible shower configurations that are angular-ordered.
Definition:
MatchingHandler.h:212
Herwig::MatchingHandler::getCluster
tProtoBranchingPtr getCluster(tProtoBranchingPtr, tProtoBranchingPtr)
Function looks to see if a cluster of the branchings already exists in protoBranchings_ if so returns...
Herwig::MatchingHandler::doinit
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
Herwig::MatchingHandler::noShowerHists_
bool noShowerHists_
Whether we are treating an event with no shower interpretation.
Definition:
MatchingHandler.h:417
Herwig::MatchingHandler::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MatchingHandler::lowestMult
bool lowestMult() const
whether the current event is a lowest multiplicity event
Definition:
MatchingHandler.h:177
Herwig::MatchingHandler::sHat_
Energy2 sHat_
Centre of mass energy.
Definition:
MatchingHandler.h:361
Herwig::MatchingHandler::cuts
CutsPtr & cuts()
The Cuts object to be used for this reader.
Definition:
MatchingHandler.h:104
Herwig::MatchingHandler::initialiseMatching
void initialiseMatching(int minMult, int maxMult)
Initialise the matching.
Herwig::MatchingHandler::hardTrees_
vector< pair< PotentialTree, double > > hardTrees_
The possible shower configurations that are angular-ordered.
Definition:
MatchingHandler.h:402
Herwig::MatchingHandler::parent
map< PPtr, ParticleVector >::const_iterator parent(PPtr parent)
Check if a decayed particle.
Herwig::MatchingHandler::getDiagram
double getDiagram(PotentialTree &)
Returns the diagram corresponding to the (leading-order) hardTree.
Herwig::MatchingHandler::rejectNoShowerHistory
bool rejectNoShowerHistory()
whether to reject events (true) for which there is no parton shower interpretation or just shower the...
Definition:
MatchingHandler.h:128
Herwig::MatchingHandler::decayingParticles_
map< PPtr, ParticleVector > decayingParticles_
Any decays.
Definition:
MatchingHandler.h:412
Herwig::MatchingHandler::updateSubProcess
bool updateSubProcess()
update sub process based on the CKKWTree and Diagram
Herwig::MatchingHandler::doClustering
PotentialTree doClustering()
Creates all (ordered) cluster histories and selects one.
Herwig::MatchingHandler::includeDecays_
bool includeDecays_
Include decaying particles.
Definition:
MatchingHandler.h:330
Herwig::MatchingHandler::protoTrees_
set< ProtoTreePtr > protoTrees_
The ProtoTrees which will become CKKWTrees.
Definition:
MatchingHandler.h:392
Herwig::MatchingHandler::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::ShowerHandler
This class is the main driver of the shower: it is responsible for the proper handling of all other s...
Definition:
ShowerHandler.h:40
Herwig::ShowerHandler::decay
tDMPtr decay(PerturbativeProcessPtr, DecayProcessMap &decay, bool radPhotons=false) const
Decay a particle.
ThePEG::LastXCombInfo::subProcess
tSubProPtr subProcess() const
ThePEG::LorentzRotation
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::SubProPtr
ThePEG::Ptr< SubProcess >::pointer SubProPtr
ThePEG::PPtr
ThePEG::Ptr< Particle >::pointer PPtr
ThePEG::PExtrPtr
ThePEG::Ptr< PartonExtractor >::pointer PExtrPtr
Herwig::BranchingElement
typedef to pair the SudakovFormFactor and the particles in a branching
Definition:
ShowerConfig.h:81
Herwig::PotentialTree
Struct to store a potential CKKWTree.
Definition:
PotentialTree.h:17
Herwig::PotentialTree::tree
CKKWTreePtr tree() const
Get the tree.
Definition:
PotentialTree.h:35
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6