Herwig 7.3.0
|
BinSampler samples XCombs bins. This default implementation performs flat MC integration. More...
#include <BinSampler.h>
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 | |
BinSampler () | |
The default constructor. | |
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. | |
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. | |
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. | |
virtual void | adapt () |
Adapt this sampler after an iteration has been run. | |
virtual void | initialize (bool progress) |
Initialize this bin sampler. | |
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. | |
Public Member Functions inherited from Herwig::MultiIterationStatistics | |
MultiIterationStatistics () | |
The default constructor. | |
virtual | ~MultiIterationStatistics () |
The destructor. | |
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 | put (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | get (PersistentIStream &is) |
Function used to read in object persistently. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
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. | |
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 |
Public Member Functions inherited from ThePEG::InterfacedBase | |
string | fullName () const |
string | name () const |
string | path () const |
string | comment () const |
void | setup (istream &is) |
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 |
virtual IBPtr | fullclone () const |
void | persistentOutput (PersistentOStream &os) const |
void | persistentInput (PersistentIStream &is, int version) |
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 |
virtual IBPtr | fullclone () const |
Public Member Functions inherited from ThePEG::Base | |
void | debug () const |
virtual void | debugme () 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 | |
GeneralStatistics () | |
The default constructor. | |
virtual | ~GeneralStatistics () |
The destructor. | |
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 | put (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | get (PersistentIStream &is) |
Function used to read in object persistently. | |
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. | |
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 |
Clone Methods. | |
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, Remapper > | remappers |
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. | |
virtual IBPtr | clone () const |
Make a simple clone of this object. | |
virtual IBPtr | fullclone () const |
Make a clone of this object, possibly modifying the cloned object to make it sane. | |
BinSampler & | operator= (const BinSampler &)=delete |
The assignment operator is private and must never be called. | |
Functions used by the persistent I/O system. | |
void | persistentOutput (PersistentOStream &os) const |
Function used to write out object persistently. | |
void | persistentInput (PersistentIStream &is, int version) |
Function used to read in object persistently. | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Additional Inherited Members | |
Static Public Member Functions inherited from Herwig::MultiIterationStatistics | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
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 () |
Protected Member Functions inherited from Herwig::MultiIterationStatistics | |
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 | |
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 IBPtr | clone () const=0 |
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 &) |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted (const ReferenceCounted &) | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
const string & | name (const string &newName) |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
BinSampler samples XCombs bins. This default implementation performs flat MC integration.
Definition at line 38 of file BinSampler.h.
typedef pair<string,size_t > Herwig::BinSampler::RandomNumberIndex |
Definition at line 330 of file BinSampler.h.
|
inlinevirtual |
Adapt this sampler after an iteration has been run.
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
Definition at line 221 of file BinSampler.h.
|
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 153 of file BinSampler.h.
|
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 68 of file BinSampler.h.
References theBias.
|
inline |
Set the bias with which this sampler is selected.
Definition at line 73 of file BinSampler.h.
References theBias.
|
inline |
Return the bin.
Definition at line 98 of file BinSampler.h.
References theBin.
Referenced by dimension().
|
inline |
|
inlinevirtual |
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.
Definition at line 146 of file BinSampler.h.
|
protectedvirtual |
Make a simple clone of this object.
Reimplemented from Herwig::MultiIterationStatistics.
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
Referenced by cloneMe().
|
inline |
|
inlinevirtual |
If this sampler features a compensation algorithm, return true if more events need to be generated to finish the compensation.
Definition at line 159 of file BinSampler.h.
|
inline |
Indicate that this sampler has already read grid data.
Definition at line 261 of file BinSampler.h.
References theHasGrids.
|
inline |
Return the dimension.
Definition at line 339 of file BinSampler.h.
References bin(), and theEventHandler.
|
inline |
Indicate that weighted events should be generated.
Definition at line 169 of file BinSampler.h.
References theWeighted.
|
inline |
Return the factor to enhance the number of points for the next iteration.
Definition at line 371 of file BinSampler.h.
References theEnhancementFactor.
|
inline |
Set the factor to enhance the number of points for the next iteration.
Definition at line 365 of file BinSampler.h.
References theEnhancementFactor.
|
inline |
|
inline |
|
inlinevirtual |
Return true, if grid data exists for this sampler.
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
Definition at line 251 of file BinSampler.h.
|
virtual |
Finalize this sampler.
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from Herwig::MultiIterationStatistics.
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
|
virtual |
Generate the next point and return its weight; store the point in lastPoint().
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
|
inline |
Return true, if this sampler has already read grid data.
Definition at line 256 of file BinSampler.h.
References theHasGrids.
|
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.
|
virtual |
Initialize this bin sampler.
This default version calls runIteration.
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
|
inline |
Return true, if this sampler has already been initialized.
Definition at line 231 of file BinSampler.h.
References theInitialized.
|
inline |
Return the number of points to be used for initial integration.
Definition at line 344 of file BinSampler.h.
References theInitialPoints.
|
inline |
Set the number of points to be used for initial integration.
Definition at line 349 of file BinSampler.h.
References theInitialPoints.
|
inline |
Return true, if integration has already been performed.
Definition at line 241 of file BinSampler.h.
References theIntegrated.
|
inlinevirtual |
Return the total integrated cross section determined from the Monte Carlo sampling so far.
Definition at line 272 of file BinSampler.h.
References Herwig::GeneralStatistics::averageWeight().
|
inlinevirtual |
Return the error on the total integrated cross section determined from the Monte Carlo sampling so far.
Definition at line 280 of file BinSampler.h.
References Herwig::GeneralStatistics::averageWeightVariance(), and ThePEG::sqrt().
|
inline |
Indicate that this sampler has already been initialized.
Definition at line 236 of file BinSampler.h.
References theInitialized.
|
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 385 of file BinSampler.h.
References theKappa.
|
inline |
Access the last generated point.
Definition at line 128 of file BinSampler.h.
References theLastPoint.
|
inline |
Return the last generated point.
Definition at line 123 of file BinSampler.h.
References theLastPoint.
|
inline |
Return the number of iterations to be considered for initialization.
Definition at line 354 of file BinSampler.h.
References theNIterations.
|
inline |
Set the number of iterations to be considered for initialization.
Definition at line 359 of file BinSampler.h.
References theNIterations.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::BinSampler::persistentInput | ( | PersistentIStream & | is, |
int | version | ||
) |
Function used to read in object persistently.
is | the persistent input stream read from. |
version | the version number of the object when written. |
void Herwig::BinSampler::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inline |
Return the folder for the random number plots.
Definition at line 376 of file BinSampler.h.
References theRandomNumbers.
|
inline |
Return the reference weight to be used.
Definition at line 133 of file BinSampler.h.
References theReferenceWeight.
|
inline |
Set the reference weight to be used.
Definition at line 138 of file BinSampler.h.
References theReferenceWeight.
|
inline |
Return true, if remappers have been set up.
Definition at line 246 of file BinSampler.h.
References theRemappersFilled.
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.
|
inlinevirtual |
Save grid data.
Reimplemented in Herwig::CellGridSampler, and Herwig::MonacoSampler.
Definition at line 200 of file BinSampler.h.
|
inline |
Return true, if weighted events should be generated.
Definition at line 164 of file BinSampler.h.
References theWeighted.
map<RandomNumberIndex,pair<RandomNumberHistogram,double> > Herwig::BinSampler::RandomNumberHistograms |
Definition at line 332 of file BinSampler.h.
|
private |
Remapper objects indexed by dimension.
Definition at line 519 of file BinSampler.h.
|
private |
The bias with which this sampler is selected.
Definition at line 439 of file BinSampler.h.
Referenced by bias().
|
private |
|
private |
Factor to enhance the number of points for the next iteration.
Definition at line 459 of file BinSampler.h.
Referenced by enhancementFactor().
|
private |
The event handler to be used.
Definition at line 504 of file BinSampler.h.
Referenced by dimension(), and eventHandler().
|
private |
The number of bins to be used for any other dimension.
Definition at line 539 of file BinSampler.h.
|
private |
Switch to require that we get half of the points in each iteration below the maximum weight of the iteration.
Definition at line 472 of file BinSampler.h.
|
private |
True, if this sampler has already read grid data.
Definition at line 559 of file BinSampler.h.
Referenced by didReadGrids(), and hasGrids().
|
private |
Wether or not this sampler has already been initialized.
Definition at line 494 of file BinSampler.h.
Referenced by initialized(), and isInitialized().
|
private |
The number of points to use for initial integration.
Definition at line 449 of file BinSampler.h.
Referenced by initialPoints().
|
private |
True, if integration has already be performed.
Definition at line 549 of file BinSampler.h.
Referenced by integrated().
|
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 570 of file BinSampler.h.
Referenced by kappa().
|
private |
|
private |
The number of bins to be used for luminosity dimensions.
Definition at line 534 of file BinSampler.h.
|
private |
The maximum number of allowed new maxima, in combination with HalfPoints, in order to prevent unstable processes.
Definition at line 479 of file BinSampler.h.
|
private |
The number of iterations to be considered for initialization.
Definition at line 454 of file BinSampler.h.
Referenced by nIterations().
|
private |
Switch to count only non zero weights in presampling.
Definition at line 465 of file BinSampler.h.
|
private |
Folder for the random number plots.
Definition at line 514 of file BinSampler.h.
Referenced by randomNumberString().
|
private |
The reference weight to be used.
Definition at line 484 of file BinSampler.h.
Referenced by referenceWeight().
|
private |
True if channels should get a remapper.
Definition at line 529 of file BinSampler.h.
|
private |
The minimum selection probability for remapper bins.
Definition at line 544 of file BinSampler.h.
|
private |
The number of points to be used for initial filling of the remappers.
Definition at line 524 of file BinSampler.h.
|
private |
True, if remappers have been set up.
Definition at line 554 of file BinSampler.h.
Referenced by remappersFilled().
|
private |
The containing sampler.
Definition at line 509 of file BinSampler.h.
|
private |
True, if weighted events should be generated.
Definition at line 444 of file BinSampler.h.
Referenced by doWeighted(), and weighted().