StRoot
1
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Groups
Pages
StarGenerator
Pythia8_1_86
include
Pythia8
Merging.h
1
// Merging.h is a part of the PYTHIA event generator.
2
// Copyright (C) 2014 Torbjorn Sjostrand.
3
// PYTHIA is licenced under the GNU GPL version 2, see COPYING for details.
4
// Please respect the MCnet Guidelines, see GUIDELINES for details.
5
6
// This file is written by Stefan Prestel.
7
// Merging: Wpapper class to interface matrix element merging schemes with
8
// Pythia
9
10
#ifndef Pythia8_Merging_H
11
#define Pythia8_Merging_H
12
13
#include "Pythia8/Basics.h"
14
#include "Pythia8/BeamParticle.h"
15
#include "Pythia8/Event.h"
16
#include "Pythia8/Info.h"
17
#include "Pythia8/ParticleData.h"
18
#include "Pythia8/PythiaStdlib.h"
19
#include "Pythia8/Settings.h"
20
#include "Pythia8/PartonLevel.h"
21
#include "Pythia8/MergingHooks.h"
22
#include "Pythia8/History.h"
23
24
namespace
Pythia8 {
25
26
//==========================================================================
27
28
// Merging is a wrapper class for the interface of matrix element merging and
29
// Pythia8.
30
31
class
Merging
{
32
33
public
:
34
35
// Constructor.
36
Merging
() { settingsPtr = 0; infoPtr = 0; particleDataPtr = 0;
37
rndmPtr = 0; beamAPtr = 0; beamBPtr = 0; trialPartonLevelPtr = 0;
38
mergingHooksPtr = 0; }
39
40
// Make Pythia class friend
41
friend
class
Pythia
;
42
43
// Destructor.
44
~
Merging
(){}
45
46
protected
:
47
48
//----------------------------------------------------------------------//
49
// The members
50
//----------------------------------------------------------------------//
51
52
53
// Settings: databases of flags/modes/parms/words to control run.
54
Settings
* settingsPtr;
55
56
// Pointer to various information on the generation.
57
Info
* infoPtr;
58
59
// Pointer to the particle data table.
60
ParticleData
* particleDataPtr;
61
62
// Pointer to random number generator.
63
Rndm
* rndmPtr;
64
65
// Pointer to trial PartonLevel object
66
PartonLevel
* trialPartonLevelPtr;
67
68
// Pointer to trial MergingHooks object
69
MergingHooks
* mergingHooksPtr;
70
71
// Pointers to beam particles.
72
BeamParticle
* beamAPtr;
73
BeamParticle
* beamBPtr;
74
75
// Minimal value found for the merging scale in events.
76
double
tmsNowMin;
77
static
const
double
TMSMISMATCH;
78
79
// Initialisation function for internal use inside Pythia source code
80
void
init(
Settings
* settingsPtrIn,
Info
* infoPtrIn,
81
ParticleData
* particleDataPtrIn,
Rndm
* rndmPtrIn,
82
BeamParticle
* beamAPtrIn,
BeamParticle
* beamBPtrIn,
83
MergingHooks
* mergingHooksPtrIn,
PartonLevel
* trialPartonLevelPtrIn );
84
85
// Function to print statistics.
86
void
statistics(ostream& os = cout);
87
88
//----------------------------------------------------------------------//
89
// Functions that implement matrix element merging.
90
//----------------------------------------------------------------------//
91
92
// Function to steer different merging prescriptions.
93
int
mergeProcess(
Event
& process);
94
95
// Function to perform CKKW-L merging on the event.
96
int
mergeProcessCKKWL(
Event
& process);
97
98
// Function to perform UMEPS merging on the event.
99
int
mergeProcessUMEPS(
Event
& process);
100
101
// Function to perform NL3 NLO merging on the event.
102
int
mergeProcessNL3(
Event
& process);
103
104
// Function to perform UNLOPS merging on the event.
105
int
mergeProcessUNLOPS(
Event
& process);
106
107
// Function to apply the merging scale cut on an input event.
108
bool
cutOnProcess(
Event
& process);
109
110
};
111
112
//==========================================================================
113
114
}
// end namespace Pythia8
115
116
#endif // Pythia8_Merging_H
Pythia8::Info
Definition:
Info.h:25
Pythia8::Event
Definition:
Event.h:355
Pythia8::BeamParticle
Definition:
BeamParticle.h:115
Pythia8::Merging
Definition:
Merging.h:31
Pythia8::Rndm
Definition:
Basics.h:46
Pythia8::PartonLevel
Definition:
PartonLevel.h:37
Pythia8::Pythia
Definition:
Pythia.h:45
Pythia8::MergingHooks
Definition:
MergingHooks.h:146
Pythia8::ParticleData
Definition:
ParticleData.h:332
Pythia8::Settings
Definition:
Settings.h:106
Generated by
1.8.5