herwig
is hosted by
Hepforge
,
IPPP Durham
Herwig
7.3.0
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::GeneralStatistics
General Monte Carlo statistics.
Definition:
GeneralStatistics.h:31
Herwig::GeneralStatistics::reset
void reset()
Reset these statistics.
Definition:
GeneralStatistics.h:63
Herwig::GeneralStatistics::GeneralStatistics
GeneralStatistics()
The default constructor.
Definition:
GeneralStatistics.h:40
Herwig::MultiIterationStatistics
Monte Carlo statistics for multiple iterations.
Definition:
MultiIterationStatistics.h:27
Herwig::MultiIterationStatistics::Init
static void Init()
The standard Init function used to initialize the interfaces.
Herwig::MultiIterationStatistics::toXML
XML::Element toXML() const
Return an XML element for the data of this statistics.
Herwig::MultiIterationStatistics::get
void get(PersistentIStream &is)
Function used to read in object persistently.
Herwig::MultiIterationStatistics::averageAbsWeightVariance
virtual double averageAbsWeightVariance(bool useAll=false) const
Return the variance of the average absolute weight.
Herwig::MultiIterationStatistics::put
void put(PersistentOStream &os) const
Function used to write out object persistently.
Herwig::MultiIterationStatistics::nextIteration
void nextIteration()
Indicate the start of a new iteration.
Definition:
MultiIterationStatistics.h:49
Herwig::MultiIterationStatistics::persistentOutput
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
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::chi2
virtual double chi2() const
Return the last calculated chi^2.
Herwig::MultiIterationStatistics::clone
virtual IBPtr clone() const
Make a simple clone of this object.
Herwig::MultiIterationStatistics::doUseAllIterations
void doUseAllIterations(bool yes=true)
Indicate that integrals should be combined from all iterations.
Definition:
MultiIterationStatistics.h:113
Herwig::MultiIterationStatistics::theUseAllIterations
bool theUseAllIterations
True if integrals should be combined from all iterations.
Definition:
MultiIterationStatistics.h:197
Herwig::MultiIterationStatistics::theIterations
vector< GeneralStatistics > theIterations
The currently accumulated iterations.
Definition:
MultiIterationStatistics.h:186
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::fullclone
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Herwig::MultiIterationStatistics::averageAbsWeight
virtual double averageAbsWeight(bool useAll=false) const
Return the average absolute weight.
Herwig::MultiIterationStatistics::averageWeight
virtual double averageWeight(bool useAll=false) const
Return the average weight.
Herwig::MultiIterationStatistics::persistentInput
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
Herwig::MultiIterationStatistics::iterations
vector< GeneralStatistics > & iterations()
Access the iterations done so far.
Definition:
MultiIterationStatistics.h:64
Herwig::MultiIterationStatistics::~MultiIterationStatistics
virtual ~MultiIterationStatistics()
The destructor.
Herwig::MultiIterationStatistics::MultiIterationStatistics
MultiIterationStatistics()
The default constructor.
Herwig::MultiIterationStatistics::iterations
const vector< GeneralStatistics > & iterations() const
Return the iterations done so far.
Definition:
MultiIterationStatistics.h:57
Herwig::MultiIterationStatistics::fromXML
void fromXML(const XML::Element &)
Fill statistics data from an XML element.
Herwig::MultiIterationStatistics::useAllIterations
bool useAllIterations() const
Return true if integrals should be combined from all iterations.
Definition:
MultiIterationStatistics.h:108
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
Herwig::MultiIterationStatistics::averageWeightVariance
virtual double averageWeightVariance(bool useAll=false) const
Return the variance of the average weight.
ThePEG::Interfaced
ThePEG::PersistentIStream
ThePEG::PersistentOStream
XML::Element
Element represents a (tree of) XML elements.
Definition:
Element.h:56
Herwig
-*- C++ -*-
Definition:
BasicConsistency.h:17
ThePEG
ThePEG::operator>>
PersistentIStream & operator>>(PersistentIStream &is, HandlerGroup< HDLR > &hg)
ThePEG::IBPtr
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
ThePEG::operator<<
ostream & operator<<(ostream &, const Collision &)
Generated on Thu Jun 20 2024 17:50:53 for Herwig by
1.9.6