herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.2.1
Sampling
MultiIterationStatistics.h
1
// -*- C++ -*-
2
//
3
// MultiIterationStatictis.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_MultiIterationStatistics_H
10
#define Herwig_MultiIterationStatistics_H
11
//
12
// This is the declaration of the MultiIterationStatistics class.
13
//
14
15
#include "ThePEG/Interface/Interfaced.h"
16
#include "GeneralStatistics.h"
17
18
namespace
Herwig
{
19
20
using namespace
ThePEG
;
21
27
class
MultiIterationStatistics
:
public
Interfaced
,
public
Herwig::GeneralStatistics
{
28
29
public
:
30
36
MultiIterationStatistics
();
37
41
virtual
~
MultiIterationStatistics
();
43
44
public
:
45
49
void
nextIteration
() {
50
iterations().push_back(
GeneralStatistics
(*
this
));
51
GeneralStatistics::reset
();
52
}
53
57
const
vector<GeneralStatistics>&
iterations
()
const
{
58
return
theIterations;
59
}
60
64
vector<GeneralStatistics>&
iterations
() {
65
return
theIterations;
66
}
67
71
virtual
double
chi2()
const
;
72
76
virtual
double
averageWeight(
bool
useAll =
false
)
const
;
77
81
virtual
double
averageAbsWeight(
bool
useAll =
false
)
const
;
82
86
virtual
double
averageWeightVariance(
bool
useAll =
false
)
const
;
87
91
virtual
double
averageAbsWeightVariance(
bool
useAll =
false
)
const
;
92
97
unsigned
int
minIterationPoints
()
const
{
return
theMinIterationPoints; }
98
103
void
minIterationPoints
(
unsigned
int
n) { theMinIterationPoints = n; }
104
108
bool
useAllIterations
()
const
{
return
theUseAllIterations; }
109
113
void
doUseAllIterations
(
bool
yes =
true
) { theUseAllIterations = yes; };
114
115
public
:
116
123
void
put(
PersistentOStream
& os)
const
;
124
130
void
get
(
PersistentIStream
& is);
131
136
void
persistentOutput(
PersistentOStream
& os)
const
;
137
143
void
persistentInput(
PersistentIStream
& is,
int
version);
145
149
void
fromXML(
const
XML::Element
&);
150
154
XML::Element
toXML()
const
;
155
162
static
void
Init();
163
164
protected
:
165
172
virtual
IBPtr
clone()
const
;
173
178
virtual
IBPtr
fullclone()
const
;
180
181
private
:
182
186
vector<GeneralStatistics>
theIterations
;
187
192
unsigned
int
theMinIterationPoints
;
193
197
bool
theUseAllIterations
;
198
199
};
200
201
inline
PersistentOStream
&
operator<<
(
PersistentOStream
& os,
const
MultiIterationStatistics
& s) {
202
s.
put
(os);
return
os;
203
}
204
205
inline
PersistentIStream
&
operator>>
(
PersistentIStream
& is,
MultiIterationStatistics
& s) {
206
s.
get
(is);
return
is;
207
}
208
209
}
210
211
#endif
/* Herwig_MultiIterationStatistics_H */
Herwig::MultiIterationStatistics::put
void put(PersistentOStream &os) const
Function used to write out object persistently.
ThePEG::PersistentIStream
Herwig::MultiIterationStatistics::iterations
const vector< GeneralStatistics > & iterations() const
Return the iterations done so far.
Definition:
MultiIterationStatistics.h:57
ThePEG::PersistentOStream
Herwig::MultiIterationStatistics::minIterationPoints
unsigned int minIterationPoints() const
Return the minimum number of events per iteration to take this iteration into account when calculatin...
Definition:
MultiIterationStatistics.h:97
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
Herwig::MultiIterationStatistics::get
void get(PersistentIStream &is)
Function used to read in object persistently.
Herwig::GeneralStatistics
General Monte Carlo statistics.
Definition:
GeneralStatistics.h:31
ThePEG
Herwig::GeneralStatistics::reset
void reset()
Reset these statistics.
Definition:
GeneralStatistics.h:63
Herwig::operator<<
ostream & operator<<(ostream &, const DecayIntegrator &)
Output information on the DecayIntegrator for debugging purposes.
Herwig::MultiIterationStatistics::iterations
vector< GeneralStatistics > & iterations()
Access the iterations done so far.
Definition:
MultiIterationStatistics.h:64
Herwig::MultiIterationStatistics
Monte Carlo statistics for multiple iterations.
Definition:
MultiIterationStatistics.h:27
Herwig::operator>>
PersistentIStream & operator>>(PersistentIStream &is, map< ShowerInteraction, T, Cmp, A > &m)
Read a map with ShowerInteraction as the key.
Definition:
GeneralTwoBodyDecayer.h:288
Herwig::MultiIterationStatistics::minIterationPoints
void minIterationPoints(unsigned int n)
Set the minimum number of events per iteration to take this iteration into account when calculating t...
Definition:
MultiIterationStatistics.h:103
Herwig::MultiIterationStatistics::nextIteration
void nextIteration()
Indicate the start of a new iteration.
Definition:
MultiIterationStatistics.h:49
Herwig::MultiIterationStatistics::doUseAllIterations
void doUseAllIterations(bool yes=true)
Indicate that integrals should be combined from all iterations.
Definition:
MultiIterationStatistics.h:113
ThePEG::Interfaced
XML::Element
Element represents a (tree of) XML elements.
Definition:
Element.h:56
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
Herwig::MultiIterationStatistics::useAllIterations
bool useAllIterations() const
Return true if integrals should be combined from all iterations.
Definition:
MultiIterationStatistics.h:108
Herwig::MultiIterationStatistics::theUseAllIterations
bool theUseAllIterations
True if integrals should be combined from all iterations.
Definition:
MultiIterationStatistics.h:197
Herwig::MultiIterationStatistics::theMinIterationPoints
unsigned int theMinIterationPoints
The minimum number of events per iteration to take this iteration into account when calculating the t...
Definition:
MultiIterationStatistics.h:192
Herwig::MultiIterationStatistics::theIterations
vector< GeneralStatistics > theIterations
The currently accumulated iterations.
Definition:
MultiIterationStatistics.h:186
Generated on Sat Apr 11 2020 14:50:31 for Herwig by
1.8.13