herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Shower
Dipole
DipoleShowerHandler.h
1
// -*- C++ -*-
2
//
3
// DipoleShowerHandler.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_DipoleShowerHandler_H
10
#define HERWIG_DipoleShowerHandler_H
11
//
12
// This is the declaration of the DipoleShowerHandler class.
13
//
14
15
#include "Herwig/Shower/ShowerHandler.h"
16
17
#include "Herwig/Shower/Dipole/DipoleShowerHandler.fh"
18
#include "Herwig/Shower/Dipole/Base/DipoleSplittingInfo.h"
19
#include "Herwig/Shower/Dipole/Base/DipoleSplittingReweight.h"
20
#include "Herwig/Shower/Dipole/Kernels/DipoleSplittingKernel.h"
21
#include "Herwig/Shower/Dipole/Base/DipoleSplittingGenerator.h"
22
#include "Herwig/Shower/Dipole/Base/DipoleEventRecord.h"
23
#include "Herwig/Shower/Dipole/Base/DipoleEvolutionOrdering.h"
24
#include "Herwig/Shower/Dipole/Base/DipoleEventReweight.h"
25
#include "Herwig/Shower/Dipole/Utility/ConstituentReshuffler.h"
26
#include "Herwig/Shower/Dipole/Utility/IntrinsicPtGenerator.h"
27
#include "Herwig/MatrixElement/Matchbox/Base/MergerBase.h"
28
#include "Herwig/MatrixElement/Matchbox/Matching/ShowerApproximation.h"
29
30
#include "Herwig/Shower/Dipole/SpinCorrelations/DipoleVertexRecord.h"
31
#include "Herwig/MatrixElement/Matchbox/Utility/DensityOperator.h"
32
33
#include <tuple>
34
35
namespace
Herwig
{
36
37
using namespace
ThePEG
;
38
49
class
DipoleShowerHandler
:
public
ShowerHandler
{
50
51
52
friend
class
Merger
;
53
54
public
:
55
61
DipoleShowerHandler
();
62
66
virtual
~
DipoleShowerHandler
();
68
69
public
:
70
71
72
inline
void
colourPrint();
73
77
struct
RedoShower
{};
78
82
void
addSplitting
(Ptr<DipoleSplittingKernel>::ptr sp) {
83
kernels.push_back(sp);
84
}
85
89
void
resetAlphaS(
Ptr<AlphaSBase>::tptr
);
90
91
92
virtual
void
cascade(
tPVector
);
93
97
void
resetReweight(Ptr<DipoleSplittingReweight>::tptr);
98
103
virtual
bool
canHandleMatchboxTrunc
()
const
{
return
false
; }
104
109
virtual
bool
isReshuffling
()
const
{
return
false
; }
110
114
virtual
Energy
hardScale
()
const
{
115
return
muPt;
116
}
117
122
double
as
(Energy Q)
const
{
return
theGlobalAlphaS->value(
sqr
(Q));}
123
129
double
Nf
(Energy Q)
const
{
return
theGlobalAlphaS->Nf(
sqr
(Q));}
130
131
/*
132
* Access the vertex record
133
*/
134
DipoleVertexRecord
& vertexRecord() {
return
theVertexRecord; }
135
139
const
DipoleVertexRecord
&
vertexRecord
()
const
{
return
theVertexRecord; }
140
141
146
void
setMerger
(Ptr<MergerBase>::ptr mh){theMergingHelper=mh;}
147
148
149
150
public
:
151
156
const
map<PPtr,size_t>&
particleIndices
()
const
{
return
eventRecord().particleIndices(); }
157
162
const
cPDVector
&
particlesAfter
()
const
{
return
eventRecord().particlesAfter(); }
163
167
DensityOperator
&
densityOperator
() {
return
eventRecord().densityOperator(); }
168
173
const
map<pair<vector<PDT::Colour>,pair<size_t,size_t> >,
double
>&
correlatorMap
()
const
{
174
return
eventRecord().densityOperator().correlatorMap();
175
}
176
180
Ptr<ColourBasis>::tptr
colourBasis
() {
181
return
eventRecord().densityOperator().colourBasis();
182
}
183
187
bool
continueSubleadingNc
()
const
{
return
eventRecord().getContinueSubleadingNc(); }
188
189
protected
:
190
194
void
addCandidates(
PPair
particles, list<DipoleSplittingInfo>& clist)
const
;
195
199
void
getCandidates(list<DipoleSplittingInfo>& clist)
const
;
200
204
void
performSplitting(
DipoleSplittingInfo
&)
const
;
205
209
Energy nextSubleadingSplitting(Energy hardPt,
210
Energy optHardPt, Energy optCutoff,
211
const
bool
decay);
212
213
protected
:
214
215
typedef
multimap<DipoleIndex,Ptr<DipoleSplittingGenerator>::ptr> GeneratorMap;
216
220
virtual
tPPair
cascade
(
tSubProPtr
sub,
XCombPtr
xcomb) {
221
return
cascade(sub,xcomb,
ZERO
,
ZERO
);
222
}
223
227
tPPair
cascade(
tSubProPtr
sub,
XCombPtr
xcomb,
228
Energy optHardPt, Energy optCutoff);
229
234
void
getGenerators(
const
DipoleIndex
&,
235
Ptr<DipoleSplittingReweight>::tptr rw =
236
Ptr<DipoleSplittingReweight>::tptr());
237
241
void
hardScales(Energy2 scale);
242
246
void
hardScalesSubleading(list<DipoleSplittingInfo> candidates,Energy hardPt);
247
251
Ptr<DipoleEvolutionOrdering>::tptr
evolutionOrdering
()
const
{
return
theEvolutionOrdering; }
252
256
void
constituentReshuffle();
257
261
void
decayConstituentReshuffle( PerturbativeProcessPtr decayProc);
262
266
GeneratorMap&
generators
() {
return
theGenerators; }
267
271
DipoleEventRecord
&
eventRecord
() {
return
theEventRecord; }
272
276
const
DipoleEventRecord
&
eventRecord
()
const
{
return
theEventRecord; }
277
281
const
vector<Ptr<DipoleSplittingKernel>::ptr>&
splittingKernels
()
const
{
282
return
kernels;
283
}
284
288
const
set<long>&
offShellPartons
() {
return
theColouredOffShellInShower; }
289
294
bool
realign();
295
299
virtual
int
showerPhaseSpaceOption
()
const
{
300
return
theZBoundaries;
301
}
302
303
protected
:
304
308
void
doCascade(
unsigned
int
& emDone,
309
Energy optHardPt =
ZERO
,
310
Energy optCutoff =
ZERO
,
311
const
bool
decay =
false
);
315
void
setNEmissions
(
unsigned
int
n){nEmissions=n;}
316
317
322
Energy getWinner(
DipoleSplittingInfo
& winner,
323
const
Dipole
& dip,
324
pair<bool,bool> conf,
325
Energy optHardPt =
ZERO
,
326
Energy optCutoff =
ZERO
);
327
332
Energy getWinner(
DipoleSplittingInfo
& winner,
333
Energy optHardPt =
ZERO
,
334
Energy optCutoff =
ZERO
);
335
340
Energy getWinner(
SubleadingSplittingInfo
& winner,
341
Energy optHardPt =
ZERO
,
342
Energy optCutoff =
ZERO
);
343
348
Energy getWinner(
DipoleSplittingInfo
& winner,
349
const
DipoleIndex
& index,
350
double
emitterX,
double
spectatorX,
351
pair<bool,bool> conf,
352
tPPtr
emitter,
tPPtr
spectator,
353
Energy startScale,
354
Energy optHardPt =
ZERO
,
355
Energy optCutoff =
ZERO
);
356
357
public
:
358
365
void
persistentOutput(
PersistentOStream
& os)
const
;
366
372
void
persistentInput(
PersistentIStream
& is,
int
version);
374
381
static
void
Init();
382
383
protected
:
384
391
virtual
IBPtr
clone()
const
;
392
397
virtual
IBPtr
fullclone()
const
;
399
400
401
// If needed, insert declarations of virtual function defined in the
402
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
403
404
405
protected
:
406
414
virtual
void
doinit();
415
420
virtual
void
doinitrun();
421
426
virtual
void
dofinish();
428
429
430
private
:
431
435
vector<Ptr<DipoleSplittingKernel>::ptr>
kernels
;
436
440
Ptr<DipoleEvolutionOrdering>::ptr
theEvolutionOrdering
;
441
445
Ptr<ConstituentReshuffler>::ptr
constituentReshuffler
;
446
450
Ptr<IntrinsicPtGenerator>::ptr
intrinsicPtGenerator
;
451
455
Ptr<AlphaSBase>::ptr
theGlobalAlphaS
;
456
461
bool
chainOrderVetoScales
;
462
467
unsigned
int
nEmissions
;
468
472
bool
discardNoEmissions
;
473
477
bool
firstMCatNLOEmission
;
478
482
bool
thePowhegDecayEmission
;
483
488
//bool theAnalyseSpinCorrelations;
489
493
int
realignmentScheme
;
494
498
bool
doSubleadingNc
;
499
503
size_t
subleadingNcEmissionsLimit
;
504
509
int
currentReferenceWeight
;
510
519
int
densityOperatorEvolution
;
520
525
Energy2
densityOperatorCutoff
;
526
530
bool
doPartialUnweightingAtEmission
;
531
535
bool
doPartialUnweighting
;
536
540
double
referenceWeight
;
541
545
double
cmecReweightFactor
;
546
550
double
negCMECScaling
;
551
552
private
:
553
563
int
verbosity
;
564
568
int
printEvent
;
569
570
private
:
571
576
GeneratorMap
theGenerators
;
577
581
DipoleEventRecord
theEventRecord
;
582
586
DipoleVertexRecord
theVertexRecord
;
587
591
unsigned
int
nTries
;
592
596
bool
didRadiate
;
597
601
bool
didRealign
;
602
608
vector<vector<std::tuple<Energy,double,bool> > >
theWeightsVector
;
609
613
size_t
winnerIndex
;
//debug
614
size_t
kernelIndex;
//debug
615
size_t
winningKernelIndex;
//debug
616
vector<Energy> scales;
//debug
617
618
private
:
619
623
Energy
theRenormalizationScaleFreeze
;
624
628
Energy
theFactorizationScaleFreeze
;
629
633
Ptr<ShowerApproximation>::tptr
theShowerApproximation
;
634
638
bool
theDoCompensate
;
639
644
unsigned
long
theFreezeGrid
;
645
649
double
theDetuning
;
650
654
Ptr<DipoleEventReweight>::ptr
theEventReweight
;
655
659
Ptr<DipoleSplittingReweight>::ptr
theSplittingReweight
;
660
664
static
bool
firstWarn
;
665
669
Energy
maxPt
;
670
674
Energy
muPt
;
675
676
683
Ptr<MergerBase>::ptr
theMergingHelper
;
684
685
690
set<long>
theColouredOffShellInShower
;
691
696
vector<long>
theInputColouredOffShellInShower
;
697
701
int
theZBoundaries
;
702
703
private
:
704
709
static
ClassDescription<DipoleShowerHandler>
initDipoleShowerHandler
;
710
715
DipoleShowerHandler
& operator=(
const
DipoleShowerHandler
&) =
delete
;
716
717
};
718
719
}
720
721
#include "ThePEG/Utilities/ClassTraits.h"
722
723
namespace
ThePEG
{
724
729
template
<>
730
struct
BaseClassTrait
<Herwig::
DipoleShowerHandler
,1> {
732
typedef
Herwig::ShowerHandler
NthBase;
733
};
734
737
template
<>
738
struct
ClassTraits
<Herwig::
DipoleShowerHandler
>
739
:
public
ClassTraitsBase
<Herwig::DipoleShowerHandler> {
741
static
string
className() {
return
"Herwig::DipoleShowerHandler"
; }
749
static
string
library() {
return
"HwDipoleShower.so"
; }
750
};
751
754
}
755
756
#endif
/* HERWIG_DipoleShowerHandler_H */
Herwig::DipoleShowerHandler::initDipoleShowerHandler
static ClassDescription< DipoleShowerHandler > initDipoleShowerHandler
The static object used to initialize the description of this class.
Definition:
DipoleShowerHandler.h:709
ThePEG::XCombPtr
ThePEG::Ptr< XComb >::pointer XCombPtr
ThePEG::PersistentIStream
Herwig::DipoleShowerHandler::colourBasis
Ptr< ColourBasis >::tptr colourBasis()
Return the colour basis used in the density operator.
Definition:
DipoleShowerHandler.h:180
Herwig::DipoleShowerHandler::theFactorizationScaleFreeze
Energy theFactorizationScaleFreeze
A freezing value for the factorization scale.
Definition:
DipoleShowerHandler.h:628
Herwig::SubleadingSplittingInfo
Generalized dipole splitting info to deal with subleading-N splittings.
Definition:
DipoleEventRecord.h:35
Herwig::DipoleShowerHandler::isReshuffling
virtual bool isReshuffling() const
Return true, if this cascade handler will perform reshuffling from hard process masses.
Definition:
DipoleShowerHandler.h:109
Herwig::DipoleShowerHandler::realignmentScheme
int realignmentScheme
Switch to record information required for the nearest neighbour analysis.
Definition:
DipoleShowerHandler.h:493
Herwig::DipoleShowerHandler::muPt
Energy muPt
The shower hard scale for the last event encountered.
Definition:
DipoleShowerHandler.h:674
Herwig::DipoleShowerHandler::didRadiate
bool didRadiate
Whether or not we did radiate anything.
Definition:
DipoleShowerHandler.h:596
Ptr< AlphaSBase >::tptr
transient_pointer tptr
Herwig::DipoleShowerHandler::generators
GeneratorMap & generators()
Access the generator map.
Definition:
DipoleShowerHandler.h:266
Herwig::DipoleShowerHandler::thePowhegDecayEmission
bool thePowhegDecayEmission
True if powheg style emissions are to be used in the decays.
Definition:
DipoleShowerHandler.h:482
Herwig::DipoleShowerHandler::offShellPartons
const set< long > & offShellPartons()
Return the set of offshell parton ids.
Definition:
DipoleShowerHandler.h:288
Herwig::DipoleShowerHandler::constituentReshuffler
Ptr< ConstituentReshuffler >::ptr constituentReshuffler
The ConstituentReshuffler to be used.
Definition:
DipoleShowerHandler.h:445
Herwig::DipoleShowerHandler::as
double as(Energy Q) const
Calculate the alpha_s value the shower uses for Q.
Definition:
DipoleShowerHandler.h:122
Herwig::DipoleShowerHandler::currentReferenceWeight
int currentReferenceWeight
Current reference weight used for partial unweighting of the subleading colour shower (updated each e...
Definition:
DipoleShowerHandler.h:509
Herwig::DensityOperator
Here is the documentation of the DensityOperator class.
Definition:
DensityOperator.h:37
ThePEG::ClassDescription
Herwig::DipoleShowerHandler::evolutionOrdering
Ptr< DipoleEvolutionOrdering >::tptr evolutionOrdering() const
Return the evolution ordering.
Definition:
DipoleShowerHandler.h:251
Herwig::DipoleShowerHandler::didRealign
bool didRealign
Whether or not we did realign the event.
Definition:
DipoleShowerHandler.h:601
Herwig::DipoleShowerHandler::subleadingNcEmissionsLimit
size_t subleadingNcEmissionsLimit
Number of emissions to do subleading Nc corrections to.
Definition:
DipoleShowerHandler.h:503
Herwig::DipoleShowerHandler::eventRecord
const DipoleEventRecord & eventRecord() const
Return the event record.
Definition:
DipoleShowerHandler.h:276
ThePEG::PersistentOStream
Herwig::DipoleShowerHandler::setMerger
void setMerger(Ptr< MergerBase >::ptr mh)
Set the pointer to the Merging Helper.
Definition:
DipoleShowerHandler.h:146
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::DipoleIndex
DipoleIndex is used to index splitting generators for a particular dipole.
Definition:
DipoleSplittingInfo.h:35
Herwig::DipoleShowerHandler::densityOperatorEvolution
int densityOperatorEvolution
Integer used to set which method of evolving the density operator to use: 0 - Vijk is Eikonal but the...
Definition:
DipoleShowerHandler.h:519
sqr
constexpr auto sqr(const T &x) -> decltype(x *x)
Herwig::DipoleShowerHandler::RedoShower
Indicate a problem in the shower.
Definition:
DipoleShowerHandler.h:77
Herwig::DipoleShowerHandler::kernels
vector< Ptr< DipoleSplittingKernel >::ptr > kernels
The splitting kernels to be used.
Definition:
DipoleShowerHandler.h:435
Herwig::Merger
Merger handles the Merger ....... //TODO .
Definition:
Merger.h:70
Herwig::DipoleShowerHandler::theDoCompensate
bool theDoCompensate
True, if sampler should apply compensation.
Definition:
DipoleShowerHandler.h:638
ThePEG
Herwig::DipoleShowerHandler::intrinsicPtGenerator
Ptr< IntrinsicPtGenerator >::ptr intrinsicPtGenerator
The intrinsic pt generator to be used.
Definition:
DipoleShowerHandler.h:450
Herwig::DipoleShowerHandler::theEventReweight
Ptr< DipoleEventReweight >::ptr theEventReweight
A pointer to the dipole event reweight object.
Definition:
DipoleShowerHandler.h:654
Herwig::DipoleShowerHandler::theVertexRecord
DipoleVertexRecord theVertexRecord
The vertex record.
Definition:
DipoleShowerHandler.h:586
Herwig::DipoleVertexRecord
Here is the documentation of the DipoleVertexRecord class.
Definition:
DipoleVertexRecord.h:21
Herwig::DipoleShowerHandler::doPartialUnweightingAtEmission
bool doPartialUnweightingAtEmission
Switch on or off partial unweighting in after each subleading emission.
Definition:
DipoleShowerHandler.h:530
Herwig::DipoleShowerHandler::particlesAfter
const cPDVector & particlesAfter() const
Return the particle data vector of the particles in the event, will be empty if subleading Nc is turn...
Definition:
DipoleShowerHandler.h:162
Herwig::DipoleShowerHandler::vertexRecord
const DipoleVertexRecord & vertexRecord() const
Return the event record.
Definition:
DipoleShowerHandler.h:139
Herwig::DipoleShowerHandler::cmecReweightFactor
double cmecReweightFactor
Factor changing the acceptance probability for the veto algorithm.
Definition:
DipoleShowerHandler.h:545
Herwig::DipoleShowerHandler::continueSubleadingNc
bool continueSubleadingNc() const
Return the continue subleading Nc flag from the event record.
Definition:
DipoleShowerHandler.h:187
ThePEG::tPPair
pair< tPPtr, tPPtr > tPPair
Herwig::DipoleShowerHandler::theWeightsVector
vector< vector< std::tuple< Energy, double, bool > > > theWeightsVector
Vector of candidate splittings containing a vector of the weights, scale and a bool for every step in...
Definition:
DipoleShowerHandler.h:608
Herwig::DipoleShowerHandler::doPartialUnweighting
bool doPartialUnweighting
Switch on or off partial unweighting in the splitting generator.
Definition:
DipoleShowerHandler.h:535
Herwig::DipoleShowerHandler::theZBoundaries
int theZBoundaries
The choice of z boundaries; 0 = restricted, 1 = open, 2 = mixed/other.
Definition:
DipoleShowerHandler.h:701
Herwig::DipoleShowerHandler::verbosity
int verbosity
The verbosity level.
Definition:
DipoleShowerHandler.h:563
Herwig::DipoleShowerHandler::cascade
virtual tPPair cascade(tSubProPtr sub, XCombPtr xcomb)
The main method which manages the showering of a subprocess.
Definition:
DipoleShowerHandler.h:220
Herwig::DipoleShowerHandler::theSplittingReweight
Ptr< DipoleSplittingReweight >::ptr theSplittingReweight
A pointer to a global dipole splitting reweight.
Definition:
DipoleShowerHandler.h:659
Herwig::DipoleShowerHandler::canHandleMatchboxTrunc
virtual bool canHandleMatchboxTrunc() const
Return true, if the shower handler can generate a truncated shower for POWHEG style events generated ...
Definition:
DipoleShowerHandler.h:103
Herwig::DipoleShowerHandler::maxPt
Energy maxPt
The shower starting scale for the last event encountered.
Definition:
DipoleShowerHandler.h:669
Herwig::DipoleShowerHandler
The DipoleShowerHandler class manages the showering using the dipole shower algorithm.
Definition:
DipoleShowerHandler.h:49
Herwig::DipoleShowerHandler::theRenormalizationScaleFreeze
Energy theRenormalizationScaleFreeze
A freezing value for the renormalization scale.
Definition:
DipoleShowerHandler.h:623
ThePEG::tSubProPtr
ThePEG::Ptr< SubProcess >::transient_pointer tSubProPtr
Herwig::DipoleShowerHandler::theEventRecord
DipoleEventRecord theEventRecord
The evnt record used.
Definition:
DipoleShowerHandler.h:581
Herwig::DipoleShowerHandler::theColouredOffShellInShower
set< long > theColouredOffShellInShower
PDG codes of the partons which can have an off-shell mass, this is fast storage for use during runnin...
Definition:
DipoleShowerHandler.h:690
Herwig::DipoleShowerHandler::theInputColouredOffShellInShower
vector< long > theInputColouredOffShellInShower
PDG codes of the partons which can have an off-shell mass, this is a vector that is interfaced so the...
Definition:
DipoleShowerHandler.h:696
ThePEG::PPair
pair< PPtr, PPtr > PPair
Herwig::DipoleShowerHandler::addSplitting
void addSplitting(Ptr< DipoleSplittingKernel >::ptr sp)
Insert an additional splitting kernel.
Definition:
DipoleShowerHandler.h:82
Herwig::DipoleShowerHandler::theGenerators
GeneratorMap theGenerators
The splitting generators indexed by the dipole indices they can work on.
Definition:
DipoleShowerHandler.h:576
Herwig::DipoleShowerHandler::theMergingHelper
Ptr< MergerBase >::ptr theMergingHelper
The merging helper takes care of merging multiple LO and NLO cross sections.
Definition:
DipoleShowerHandler.h:683
Herwig::Dipole
The Dipole class is used by the dipole shower to represent a dipole of two coloured partons...
Definition:
Dipole.h:30
ThePEG::tPPtr
ThePEG::Ptr< Particle >::transient_pointer tPPtr
Herwig::DipoleShowerHandler::theFreezeGrid
unsigned long theFreezeGrid
Return the number of accepted points after which the grid should be frozen.
Definition:
DipoleShowerHandler.h:644
ThePEG::cPDVector
vector< cPDPtr > cPDVector
Herwig::DipoleShowerHandler::setNEmissions
void setNEmissions(unsigned int n)
Set the number of emissions.
Definition:
DipoleShowerHandler.h:315
Herwig::DipoleShowerHandler::nEmissions
unsigned int nEmissions
Limit the number of emissions.
Definition:
DipoleShowerHandler.h:467
Herwig::DipoleShowerHandler::theDetuning
double theDetuning
The detuning factor applied to the sampling overestimate kernel.
Definition:
DipoleShowerHandler.h:649
Herwig::DipoleShowerHandler::referenceWeight
double referenceWeight
Reference weight for the partial unweighting.
Definition:
DipoleShowerHandler.h:540
Herwig::DipoleShowerHandler::correlatorMap
const map< pair< vector< PDT::Colour >, pair< size_t, size_t > >, double > & correlatorMap() const
Return the colour matrix element correction map, will be empty if subleading Nc is turned off...
Definition:
DipoleShowerHandler.h:173
Herwig::DipoleShowerHandler::doSubleadingNc
bool doSubleadingNc
Switch on or off subleading Nc corrections.
Definition:
DipoleShowerHandler.h:498
Herwig::DipoleShowerHandler::printEvent
int printEvent
See verbosity.
Definition:
DipoleShowerHandler.h:568
Herwig::DipoleShowerHandler::particleIndices
const map< PPtr, size_t > & particleIndices() const
Return the dictionary for the incoming particles and outgoing partons in the event, will be empty if subleading Nc is turned off.
Definition:
DipoleShowerHandler.h:156
Herwig::DipoleShowerHandler::theEvolutionOrdering
Ptr< DipoleEvolutionOrdering >::ptr theEvolutionOrdering
The evolution ordering considered.
Definition:
DipoleShowerHandler.h:440
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG::ClassTraits
Herwig::DipoleShowerHandler::firstMCatNLOEmission
bool firstMCatNLOEmission
Perform the first MC emission only.
Definition:
DipoleShowerHandler.h:477
Herwig::DipoleShowerHandler::negCMECScaling
double negCMECScaling
Scaling factor for the negative colour matrix element corrections.
Definition:
DipoleShowerHandler.h:550
Herwig::DipoleShowerHandler::Nf
double Nf(Energy Q) const
Return the number of scale dependent active flavours from the alpha_s object.
Definition:
DipoleShowerHandler.h:129
Herwig::DipoleShowerHandler::discardNoEmissions
bool discardNoEmissions
Discard events which did not radiate.
Definition:
DipoleShowerHandler.h:472
Herwig::DipoleShowerHandler::theGlobalAlphaS
Ptr< AlphaSBase >::ptr theGlobalAlphaS
A global alpha_s to be used for all splitting kernels.
Definition:
DipoleShowerHandler.h:455
Herwig::DipoleEventRecord
The DipoleEventRecord class is used internally by the dipole shower.
Definition:
DipoleEventRecord.h:132
Herwig::DipoleShowerHandler::firstWarn
static bool firstWarn
True if no warnings have been issued yet.
Definition:
DipoleShowerHandler.h:664
Herwig::DipoleShowerHandler::theShowerApproximation
Ptr< ShowerApproximation >::tptr theShowerApproximation
The matching subtraction, if appropriate.
Definition:
DipoleShowerHandler.h:633
Herwig::DipoleShowerHandler::densityOperatorCutoff
Energy2 densityOperatorCutoff
Cutoff scale for the invariants (e.g.
Definition:
DipoleShowerHandler.h:525
Herwig::DipoleSplittingInfo
DipoleSplittingInfo contains all parameters to generate a full dipole splitting.
Definition:
DipoleSplittingInfo.h:209
Herwig::DipoleShowerHandler::nTries
unsigned int nTries
The number of shoer tries so far.
Definition:
DipoleShowerHandler.h:591
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::DipoleShowerHandler::winnerIndex
size_t winnerIndex
Winning candidate index.
Definition:
DipoleShowerHandler.h:613
ThePEG::tPVector
vector< tPPtr > tPVector
Herwig::DipoleShowerHandler::splittingKernels
const vector< Ptr< DipoleSplittingKernel >::ptr > & splittingKernels() const
Return the splitting kernels.
Definition:
DipoleShowerHandler.h:281
ThePEG::BaseClassTrait
ZERO
constexpr ZeroUnit ZERO
Herwig::DipoleShowerHandler::chainOrderVetoScales
bool chainOrderVetoScales
Apply chain ordering to events from matrix element corrections.
Definition:
DipoleShowerHandler.h:461
Herwig::DipoleShowerHandler::eventRecord
DipoleEventRecord & eventRecord()
Access the event record.
Definition:
DipoleShowerHandler.h:271
Ptr< AlphaSBase >::ptr
pointer ptr
ThePEG::ClassTraitsBase
Herwig::DipoleShowerHandler::densityOperator
DensityOperator & densityOperator()
Return the density operator from the event record.
Definition:
DipoleShowerHandler.h:167
Herwig::DipoleShowerHandler::hardScale
virtual Energy hardScale() const
Return the relevant hard scale to be used in the profile scales.
Definition:
DipoleShowerHandler.h:114
Herwig::DipoleShowerHandler::showerPhaseSpaceOption
virtual int showerPhaseSpaceOption() const
The choice of z boundaries; 0 = restricted, 1 = open, 2 = mixed/other.
Definition:
DipoleShowerHandler.h:299
Generated on Sat Apr 11 2020 14:50:29 for Herwig by
1.8.13