herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
MatrixElement
Matchbox
Tests
HardProcessAnalysis.h
1
// -*- C++ -*-
2
#ifndef Herwig_HardProcessAnalysis_H
3
#define Herwig_HardProcessAnalysis_H
4
//
5
// This is the declaration of the HardProcessAnalysis class.
6
//
7
8
#include "ThePEG/Handlers/AnalysisHandler.h"
9
#include "Herwig/Utilities/Histogram.h"
10
11
namespace
Herwig
{
12
13
using namespace
ThePEG
;
14
21
class
HardProcessAnalysis
:
public
AnalysisHandler
{
22
23
public
:
24
28
HardProcessAnalysis
();
29
30
public
:
31
51
virtual
void
analyze
(
tEventPtr
event,
long
ieve,
int
loop,
int
state
);
52
54
55
protected
:
56
61
virtual
void
doinitrun
();
62
67
virtual
void
dofinish
();
68
69
70
public
:
71
78
void
persistentOutput
(
PersistentOStream
& os)
const
;
79
85
void
persistentInput
(
PersistentIStream
& is,
int
version);
87
94
static
void
Init
();
95
96
protected
:
97
104
virtual
IBPtr
clone
()
const
;
105
110
virtual
IBPtr
fullclone
()
const
;
112
113
114
// If needed, insert declarations of virtual function defined in the
115
// InterfacedBase class here (using ThePEG-interfaced-decl in Emacs).
116
117
118
private
:
119
124
HardProcessAnalysis
&
operator=
(
const
HardProcessAnalysis
&) =
delete
;
125
129
struct
Histograms
{
130
134
Histograms
() {}
135
139
explicit
Histograms
(Energy ECM,
unsigned
int
theNBins
);
140
144
void
fill
(
const
Lorentz5Momentum& p,
double
weight);
145
149
void
finalize
(ostream& dat,
150
ostream& plot,
151
const
string
& subpro,
152
size_t
legid,
153
double
norm,
154
bool
theUnitWeights
);
155
159
HistogramPtr
transverse
;
160
164
HistogramPtr
rapidity
;
165
169
HistogramPtr
phi
;
170
171
};
172
176
struct
AllHistograms
{
177
181
vector<Histograms>
outgoing
;
182
186
HistogramPtr
x1
;
187
191
HistogramPtr
x2
;
192
196
HistogramPtr
sshat
;
197
201
HistogramPtr
rapidity
;
202
206
double
sumWeights
;
207
208
};
209
213
map<vector<string>,
AllHistograms
>
histogramData
;
214
218
double
sumWeights
;
219
223
void
fill
(
PPair
,
ParticleVector
,
double
);
224
228
unsigned
int
theNBins
;
229
233
bool
theUnitWeights
;
234
238
bool
theSplitInitialStates
;
239
243
bool
thePartonsAreJets
;
244
245
};
246
247
}
248
249
#endif
/* Herwig_HardProcessAnalysis_H */
Herwig::HardProcessAnalysis
Here is the documentation of the HardProcessAnalysis class.
Definition:
HardProcessAnalysis.h:21
Herwig::HardProcessAnalysis::doinitrun
virtual void doinitrun()
Initialize this object.
Herwig::HardProcessAnalysis::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::HardProcessAnalysis::fill
void fill(PPair, ParticleVector, double)
Analyze a given final state.
Herwig::HardProcessAnalysis::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::HardProcessAnalysis::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::HardProcessAnalysis::thePartonsAreJets
bool thePartonsAreJets
True, if partons should be handled as jets irrespective of flavour.
Definition:
HardProcessAnalysis.h:243
Herwig::HardProcessAnalysis::dofinish
virtual void dofinish()
Finalize this object.
Herwig::HardProcessAnalysis::histogramData
map< vector< string >, AllHistograms > histogramData
Histograms per subprocess.
Definition:
HardProcessAnalysis.h:213
Herwig::HardProcessAnalysis::theNBins
unsigned int theNBins
The number of bins to use.
Definition:
HardProcessAnalysis.h:228
Herwig::HardProcessAnalysis::operator=
HardProcessAnalysis & operator=(const HardProcessAnalysis &)=delete
The assignment operator is private and must never be called.
Herwig::HardProcessAnalysis::HardProcessAnalysis
HardProcessAnalysis()
The default constructor.
Herwig::HardProcessAnalysis::theUnitWeights
bool theUnitWeights
True, if unit weights should be booked.
Definition:
HardProcessAnalysis.h:233
Herwig::HardProcessAnalysis::sumWeights
double sumWeights
The total sum of weights.
Definition:
HardProcessAnalysis.h:218
Herwig::HardProcessAnalysis::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::HardProcessAnalysis::theSplitInitialStates
bool theSplitInitialStates
True, if subprocesses should be distinguished by initial state.
Definition:
HardProcessAnalysis.h:238
Herwig::HardProcessAnalysis::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::HardProcessAnalysis::analyze
virtual void analyze(tEventPtr event, long ieve, int loop, int state)
Analyze a given Event.
ThePEG::AnalysisHandler
ThePEG::InterfacedBase::state
InitState state() const
ThePEG::PersistentIStream
ThePEG::PersistentOStream
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::PPair
pair< PPtr, PPtr > PPair
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::tEventPtr
ThePEG::Ptr< Event >::transient_pointer tEventPtr
ThePEG::ParticleVector
vector< PPtr > ParticleVector
Herwig::HardProcessAnalysis::AllHistograms
Outgoing partons and x distributions.
Definition:
HardProcessAnalysis.h:176
Herwig::HardProcessAnalysis::AllHistograms::sshat
HistogramPtr sshat
sqrt(shat) distribution
Definition:
HardProcessAnalysis.h:196
Herwig::HardProcessAnalysis::AllHistograms::rapidity
HistogramPtr rapidity
y distribution
Definition:
HardProcessAnalysis.h:201
Herwig::HardProcessAnalysis::AllHistograms::x1
HistogramPtr x1
x1 distribution
Definition:
HardProcessAnalysis.h:186
Herwig::HardProcessAnalysis::AllHistograms::sumWeights
double sumWeights
The sum of weights.
Definition:
HardProcessAnalysis.h:206
Herwig::HardProcessAnalysis::AllHistograms::outgoing
vector< Histograms > outgoing
Outgoing partons.
Definition:
HardProcessAnalysis.h:181
Herwig::HardProcessAnalysis::AllHistograms::x2
HistogramPtr x2
x2 distribution
Definition:
HardProcessAnalysis.h:191
Herwig::HardProcessAnalysis::Histograms
Differential information per outgoing parton.
Definition:
HardProcessAnalysis.h:129
Herwig::HardProcessAnalysis::Histograms::phi
HistogramPtr phi
Azimuthal angle distribution.
Definition:
HardProcessAnalysis.h:169
Herwig::HardProcessAnalysis::Histograms::rapidity
HistogramPtr rapidity
Rapidity distribution.
Definition:
HardProcessAnalysis.h:164
Herwig::HardProcessAnalysis::Histograms::transverse
HistogramPtr transverse
Pt spectrum.
Definition:
HardProcessAnalysis.h:159
Herwig::HardProcessAnalysis::Histograms::finalize
void finalize(ostream &dat, ostream &plot, const string &subpro, size_t legid, double norm, bool theUnitWeights)
Finalize given process id and cross section.
Herwig::HardProcessAnalysis::Histograms::Histograms
Histograms(Energy ECM, unsigned int theNBins)
The constructor.
Herwig::HardProcessAnalysis::Histograms::Histograms
Histograms()
The constructor.
Definition:
HardProcessAnalysis.h:134
Herwig::HardProcessAnalysis::Histograms::fill
void fill(const Lorentz5Momentum &p, double weight)
Analyse given momentum.
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6