herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
Herwig::BinSampler Class Reference

BinSampler samples XCombs bins. This default implementation performs flat MC integration. More...

#include <BinSampler.h>

Inheritance diagram for Herwig::BinSampler:

Classes

struct  NextIteration
 Exception to be thrown if cross section information should be updated. More...
 
struct  RandomNumberHistogram
 Define the key for the collinear subtraction data. More...
 

Public Types

typedef pair< string, size_t > RandomNumberIndex
 
- Public Types inherited from ThePEG::InterfacedBase
enum  InitState
 
- Public Types inherited from ThePEG::Pointer::ReferenceCounted
typedef unsigned int CounterType
 

Public Member Functions

Ptr< BinSampler >::ptr cloneMe () const
 Clone this object.
 
double evaluate (vector< double > p, bool remap=true)
 Evaluate the cross section.
 
double bias () const
 Return the bias with which this sampler is selected. More...
 
void bias (double b)
 Set the bias with which this sampler is selected.
 
void eventHandler (tStdEHPtr eh)
 Set the event handler.
 
tStdEHPtr eventHandler () const
 Return the event handler.
 
void sampler (Ptr< GeneralSampler >::tptr)
 Set the containing sampler.
 
Ptr< GeneralSampler >::tptr sampler () const
 Get the containing sampler.
 
int bin () const
 Return the bin.
 
void bin (int b)
 Set the bin.
 
string process () const
 Return a string describing the process handled by this sampler.
 
string shortprocess () const
 Return a short string describing the process handled by this sampler.
 
string id () const
 Return a string identifying the process handled by this sampler.
 
const vector< double > & lastPoint () const
 Return the last generated point.
 
vector< double > & lastPoint ()
 Access the last generated point.
 
double referenceWeight () const
 Return the reference weight to be used.
 
void referenceWeight (double w)
 Set the reference weight to be used.
 
virtual bool canUnweight () const
 Return true, if this sampler can provide unweighted events; if the proposal density is not an overestimate, weights larger than one can be generated, the handling of these points being subject to the GeneralSampler class.
 
virtual bool adaptsOnTheFly () const
 Return true, if this sampler adapts on the fly while generating events. More...
 
virtual bool compensating () const
 If this sampler features a compensation algorithm, return true if more events need to be generated to finish the compensation.
 
bool weighted () const
 Return true, if weighted events should be generated.
 
void doWeighted (bool yes=true)
 Indicate that weighted events should be generated.
 
virtual double generate ()
 Generate the next point and return its weight; store the point in lastPoint().
 
void fillRemappers (bool progress)
 Fill and finalize the remappers present.
 
void saveRemappers () const
 Write remappers to grid file.
 
void saveIntegrationData () const
 Write integration data to grid files.
 
virtual void saveGrid () const
 Save grid data.
 
void readIntegrationData ()
 Read integration data from grid files.
 
void setupRemappers (bool progress)
 Read remappers from grid file.
 
void runIteration (unsigned long n, bool progress)
 Run a single iteration of n points, optionally printing a progress bar to cout. More...
 
virtual void adapt ()
 Adapt this sampler after an iteration has been run.
 
virtual void initialize (bool progress)
 Initialize this bin sampler. More...
 
bool initialized () const
 Return true, if this sampler has already been initialized.
 
void isInitialized ()
 Indicate that this sampler has already been initialized.
 
bool integrated () const
 Return true, if integration has already been performed.
 
bool remappersFilled () const
 Return true, if remappers have been set up.
 
virtual bool existsGrid () const
 Return true, if grid data exists for this sampler.
 
bool hasGrids () const
 Return true, if this sampler has already read grid data.
 
void didReadGrids ()
 Indicate that this sampler has already read grid data.
 
virtual void finalize (bool)
 Finalize this sampler.
 
virtual CrossSection integratedXSec () const
 Return the total integrated cross section determined from the Monte Carlo sampling so far.
 
virtual CrossSection integratedXSecErr () const
 Return the error on the total integrated cross section determined from the Monte Carlo sampling so far.
 
int dimension () const
 Return the dimension.
 
unsigned long initialPoints () const
 Return the number of points to be used for initial integration.
 
void initialPoints (unsigned long n)
 Set the number of points to be used for initial integration.
 
size_t nIterations () const
 Return the number of iterations to be considered for initialization.
 
void nIterations (size_t n)
 Set the number of iterations to be considered for initialization.
 
void enhancementFactor (double f)
 Set the factor to enhance the number of points for the next iteration.
 
double enhancementFactor () const
 Return the factor to enhance the number of points for the next iteration.
 
string randomNumberString () const
 Return the folder for the random number plots.
 
double kappa () const
 In the AlmostUnweighted mode we do not need to unweight the events to the reference weight. More...
 
Standard constructors and destructors.
 BinSampler ()
 The default constructor.
 
virtual ~BinSampler ()
 The destructor.
 
Functions used by the persistent I/O system.
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from Herwig::MultiIterationStatistics
void nextIteration ()
 Indicate the start of a new iteration.
 
const vector< GeneralStatistics > & iterations () const
 Return the iterations done so far.
 
vector< GeneralStatistics > & iterations ()
 Access the iterations done so far.
 
virtual double chi2 () const
 Return the last calculated chi^2.
 
virtual double averageWeight (bool useAll=false) const
 Return the average weight.
 
virtual double averageAbsWeight (bool useAll=false) const
 Return the average absolute weight.
 
virtual double averageWeightVariance (bool useAll=false) const
 Return the variance of the average weight.
 
virtual double averageAbsWeightVariance (bool useAll=false) const
 Return the variance of the average absolute weight.
 
unsigned int minIterationPoints () const
 Return the minimum number of events per iteration to take this iteration into account when calculating the total cross section.
 
void minIterationPoints (unsigned int n)
 Set the minimum number of events per iteration to take this iteration into account when calculating the total cross section.
 
bool useAllIterations () const
 Return true if integrals should be combined from all iterations.
 
void doUseAllIterations (bool yes=true)
 Indicate that integrals should be combined from all iterations.
 
void fromXML (const XML::Element &)
 Fill statistics data from an XML element.
 
XML::Element toXML () const
 Return an XML element for the data of this statistics.
 
 MultiIterationStatistics ()
 The default constructor.
 
virtual ~MultiIterationStatistics ()
 The destructor.
 
void put (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void get (PersistentIStream &is)
 Function used to read in object persistently. More...
 
void persistentOutput (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void persistentInput (PersistentIStream &is, int version)
 Function used to read in object persistently. More...
 
- Public Member Functions inherited from ThePEG::Interfaced
virtual bool defaultInit ()
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
PPtr getParticle (PID) const
 
PDPtr getParticleData (PID) const
 
bool used () const
 
void useMe () const
 
tEGPtr generator () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::InterfacedBase
string fullName () const
 
string name () const
 
string path () const
 
string comment () const
 
void setup (istream &is)
 
virtual void debugme () const
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
void update ()
 
void init ()
 
virtual bool preInitialize () const
 
void initrun ()
 
void finish ()
 
void touch ()
 
void reset ()
 
void clear ()
 
InitState state () const
 
bool locked () const
 
bool touched () const
 
void persistentOutput (PersistentOStream &os) const
 
void persistentInput (PersistentIStream &is, int version)
 
- Public Member Functions inherited from ThePEG::Base
void debug () const
 
- Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted
CounterType referenceCount () const
 
- Public Member Functions inherited from ThePEG::Named
 Named (const string &newName=string())
 
 Named (const Named &)=default
 
const string & name () const
 
bool operator== (const Named &other) const
 
bool operator< (const Named &other) const
 
- Public Member Functions inherited from Herwig::GeneralStatistics
void reset ()
 Reset these statistics.
 
double lastWeight () const
 Return the last weight encountered.
 
double maxWeight () const
 Return the maximum absolute weight.
 
double minWeight () const
 Return the minimum absolute weight.
 
void maxWeight (double w)
 Set the maximum absolute weight.
 
void minWeight (double w)
 Set the minimum absolute weight.
 
double sumWeights () const
 Return the sum of weights.
 
double sumSquaredWeights () const
 Return the sum of squared weights.
 
double sumAbsWeights () const
 Return the sum of absolute weights.
 
unsigned long selectedPoints () const
 Return the number of selected points.
 
unsigned long acceptedPoints () const
 Return the nnumber of accepted points.
 
unsigned long nanPoints () const
 Return the number of points where a nan or inf weight has been encountered.
 
unsigned long allPoints () const
 Return the number of all points.
 
virtual double averageWeight () const
 Return the average weight.
 
virtual double averageAbsWeight () const
 Return the average absolute weight.
 
double weightVariance () const
 Return the variance of weights.
 
double absWeightVariance () const
 Return the variance of absolute weights.
 
virtual double averageWeightVariance () const
 Return the variance of the average weight.
 
virtual double averageAbsWeightVariance () const
 Return the variance of the average absolute weight.
 
virtual void select (double weight, bool doIntegral=true)
 Select an event.
 
virtual void accept ()
 Accept an event.
 
virtual void reject ()
 Reject an event.
 
void fromXML (const XML::Element &)
 Fill statistics data from an XML element.
 
XML::Element toXML () const
 Return an XML element for the data of this statistics.
 
 GeneralStatistics ()
 The default constructor.
 
virtual ~GeneralStatistics ()
 The destructor.
 
void put (PersistentOStream &os) const
 Function used to write out object persistently. More...
 
void get (PersistentIStream &is)
 Function used to read in object persistently. More...
 

Static Public Member Functions

static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from Herwig::MultiIterationStatistics
static void Init ()
 The standard Init function used to initialize the interfaces. More...
 
- Static Public Member Functions inherited from ThePEG::Interfaced
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::InterfacedBase
static void Init ()
 
- Static Public Member Functions inherited from ThePEG::Base
static void Init ()
 

Public Attributes

map< RandomNumberIndex, pair< RandomNumberHistogram, double > > RandomNumberHistograms
 
- Public Attributes inherited from ThePEG::InterfacedBase
 initializing
 
 uninitialized
 
 initialized
 
 runready
 
- Public Attributes inherited from ThePEG::Pointer::ReferenceCounted
const unsigned long uniqueId
 

Protected Member Functions

Clone Methods.
virtual IBPtr clone () const
 Make a simple clone of this object. More...
 
virtual IBPtr fullclone () const
 Make a clone of this object, possibly modifying the cloned object to make it sane. More...
 
Clone Methods.
- Protected Member Functions inherited from ThePEG::Interfaced
void reporeg (IBPtr object, string name) const
 
bool setDefaultReference (PtrT &ptr, string classname, string objectname)
 
 Interfaced (const string &newName)
 
 Interfaced (const Interfaced &i)
 
void setGenerator (tEGPtr generator)
 
- Protected Member Functions inherited from ThePEG::InterfacedBase
 InterfacedBase (string newName)
 
 InterfacedBase (const InterfacedBase &i)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinit ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
virtual void readSetup (istream &is)
 
virtual void doupdate ()
 
virtual void doinit ()
 
virtual void doinitrun ()
 
virtual void dofinish ()
 
virtual IVector getReferences ()
 
virtual void rebind (const TranslationMap &)
 
- Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
 ReferenceCounted (const ReferenceCounted &)
 
ReferenceCountedoperator= (const ReferenceCounted &)
 
- Protected Member Functions inherited from ThePEG::Named
const Namedoperator= (const Named &other)
 
const string & name (const string &newName)
 

Private Member Functions

BinSampleroperator= (const BinSampler &)=delete
 The assignment operator is private and must never be called. More...
 

Private Attributes

double theBias
 The bias with which this sampler is selected.
 
bool theWeighted
 True, if weighted events should be generated.
 
unsigned long theInitialPoints
 The number of points to use for initial integration.
 
size_t theNIterations
 The number of iterations to be considered for initialization.
 
double theEnhancementFactor
 Factor to enhance the number of points for the next iteration.
 
bool theNonZeroInPresampling
 Switch to count only non zero weights in presampling.
 
bool theHalfPoints
 Switch to require that we get half of the points in each iteration below the maximum weight of the iteration.
 
int theMaxNewMax
 The maximum number of allowed new maxima, in combination with HalfPoints, in order to prevent unstable processes.
 
double theReferenceWeight
 The reference weight to be used.
 
int theBin
 The bin to be sampled.
 
bool theInitialized
 Wether or not this sampler has already been initialized.
 
vector< double > theLastPoint
 The last generated point.
 
tStdEHPtr theEventHandler
 The event handler to be used.
 
Ptr< GeneralSampler >::tptr theSampler
 The containing sampler.
 
string theRandomNumbers
 Folder for the random number plots.
 
map< size_t, Remapperremappers
 Remapper objects indexed by dimension.
 
unsigned long theRemapperPoints
 The number of points to be used for initial filling of the remappers.
 
bool theRemapChannelDimension
 True if channels should get a remapper.
 
unsigned long theLuminosityMapperBins
 The number of bins to be used for luminosity dimensions.
 
unsigned long theGeneralMapperBins
 The number of bins to be used for any other dimension.
 
double theRemapperMinSelection
 The minimum selection probability for remapper bins.
 
bool theIntegrated
 True, if integration has already be performed.
 
bool theRemappersFilled
 True, if remappers have been set up.
 
bool theHasGrids
 True, if this sampler has already read grid data.
 
double theKappa
 In the AlmostUnweighted mode we do not need to unweight the events to the reference weight. More...
 

Additional Inherited Members

- Static Protected Member Functions inherited from ThePEG::Interfaced
static void registerRepository (IBPtr)
 
static void registerRepository (IBPtr, string newName)
 

Detailed Description

BinSampler samples XCombs bins. This default implementation performs flat MC integration.

Author
Simon Platzer
See also
The interfaces defined for BinSampler.

Definition at line 38 of file BinSampler.h.

Member Function Documentation

◆ adaptsOnTheFly()

virtual bool Herwig::BinSampler::adaptsOnTheFly ( ) const
inlinevirtual

Return true, if this sampler adapts on the fly while generating events.

Cross sections in the GeneralSampler class are calculated from adding up the cross sections quoted by individual samplers.

Definition at line 161 of file BinSampler.h.

◆ bias()

double Herwig::BinSampler::bias ( ) const
inline

Return the bias with which this sampler is selected.

The sampler needs to divide out this bias in its weight calculation.

Definition at line 76 of file BinSampler.h.

◆ clone()

virtual IBPtr Herwig::BinSampler::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns
a pointer to the new object.

Reimplemented from Herwig::MultiIterationStatistics.

Reimplemented in Herwig::MonacoSampler, and Herwig::CellGridSampler.

◆ fullclone()

virtual IBPtr Herwig::BinSampler::fullclone ( ) const
protectedvirtual

Make a clone of this object, possibly modifying the cloned object to make it sane.

Returns
a pointer to the new object.

Reimplemented from Herwig::MultiIterationStatistics.

Reimplemented in Herwig::MonacoSampler, and Herwig::CellGridSampler.

◆ Init()

static void Herwig::BinSampler::Init ( )
static

The standard Init function used to initialize the interfaces.

Called exactly once for each class by the class description system before the main function starts or when this class is dynamically loaded.

◆ initialize()

virtual void Herwig::BinSampler::initialize ( bool  progress)
virtual

Initialize this bin sampler.

This default version calls runIteration.

Reimplemented in Herwig::MonacoSampler, and Herwig::CellGridSampler.

◆ kappa()

double Herwig::BinSampler::kappa ( ) const
inline

In the AlmostUnweighted mode we do not need to unweight the events to the reference weight.

Kappa reduces effectivly the reference weight. This can be used for processes, where unweighting is hardly feasable.

Definition at line 393 of file BinSampler.h.

◆ operator=()

BinSampler& Herwig::BinSampler::operator= ( const BinSampler )
privatedelete

The assignment operator is private and must never be called.

In fact, it should not even be implemented.

◆ persistentInput()

void Herwig::BinSampler::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters
isthe persistent input stream read from.
versionthe version number of the object when written.

◆ persistentOutput()

void Herwig::BinSampler::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters
osthe persistent output stream written to.

◆ runIteration()

void Herwig::BinSampler::runIteration ( unsigned long  n,
bool  progress 
)

Run a single iteration of n points, optionally printing a progress bar to cout.

Calls generate n times.

Member Data Documentation

◆ theKappa

double Herwig::BinSampler::theKappa
private

In the AlmostUnweighted mode we do not need to unweight the events to the reference weight.

Kappa reduces effectivly the reference weight. This can be used for processes, where unweighting is hardly feasable.

Definition at line 578 of file BinSampler.h.


The documentation for this class was generated from the following file: