Herwig
7.2.1
|
The generator for sudakov-type distributions. More...
#include <exponential_generator.h>
Public Member Functions | |
exponential_generator () | |
default constructor | |
void | initialize () |
initialize this generator | |
void | finalize () |
finalize this generator | |
double | generate (double enhance=1.) |
generate an event, returning the sign of the weight or zero for an event below the evolution cutoff | |
double | generate (double cutoff, double enhance) |
generate an event, returning the sign of the weight or zero for an event below the evolution cutoff | |
const std::vector< double > & | last_point () const |
return the last sampled phase space point | |
double | last_value () const |
return the last evaluated function | |
void | reject () |
indicate that the last generated point has been rejected | |
bool | initialized () const |
return true, if this generator has been initialized | |
bool | did_split () const |
return true, if at least one split has been performed | |
Function & | function () |
access the function | |
void | function (Function *f) |
set the function | |
adaption_info & | sampling_parameters () |
access the adaption_info object | |
void | docompensate (bool yes=true) |
indicate, if compensation should be applied | |
void | detuning (double val) |
set the detuning parameter | |
template<class OStream > | |
void | put (OStream &os) const |
put to ostream | |
template<class IStream > | |
void | get (IStream &is) |
get from istream | |
Private Member Functions | |
bool | split () |
check for and possibly split the last selected cell | |
void | get_exponent () |
get the projection of the density integrating over every variable to be sampled, except the evolution variable for the indicated parameter point. More... | |
void | compensate () |
compensate | |
std::set< std::vector< double > > | parameter_points () |
get all parameter points to build all possible sub tree hashes | |
void | recursive_parameter_points (std::set< std::vector< double > > &, std::vector< double > &, size_t) |
get all parameter points to build all possible sub tree hashes | |
Private Attributes | |
Function * | function_ |
function to be sampled | |
unsigned long | check_events_ |
the number of events after which a cell is checked for splits | |
adaption_info | adaption_info_ |
the adaption info object | |
binary_tree< cell > | root_cell_ |
the root cell | |
rnd_generator< Random > | rnd_gen_ |
the random number generator to be used | |
bool | did_split_ |
wether a split has already been performed | |
bool | initialized_ |
wether this generator has been initialized | |
std::size_t | evolution_variable_ |
the position of the evolution variable | |
double | evolution_cutoff_ |
the cutoff on the evolution variable | |
std::vector< bool > | sample_variables_ |
flags of variables to be sampled including the evolution variable | |
std::vector< bool > | sample_other_variables_ |
flags of variables to be sampled excluding the evolution variable | |
std::map< std::size_t, std::vector< double > > | parameter_splits_ |
the splits in any parameter done so far (including the evolution variable) | |
binary_tree< cell >::iterator | last_cell_ |
the last selected cell | |
std::vector< double > | last_point_ |
the last sampled phasespace point | |
double | last_value_ |
the last function value | |
bit_container< parameter_hash_bits > | last_parameter_bin_ |
the last parameter bin id | |
std::map< bit_container< parameter_hash_bits >, linear_interpolator > | exponents_ |
map parameter bin ids to exponent interpolations | |
std::vector< double > | last_exponent_integrand_ |
the last exponent integrand | |
std::map< bit_container< parameter_hash_bits >, linear_interpolator >::iterator | last_exponent_ |
the last exponent | |
bool | compensating_ |
wether or not we are compensating | |
integral_accessor | integral_accessor_ |
the integral accessor to be used | |
parametric_missing_accessor | missing_accessor_ |
the missing events accessor to be used | |
parametric_selector | parametric_selector_ |
the parametric selector to be used | |
parametric_selector | exponent_selector_ |
the parametric selector to be used for parameter bins | |
parametric_sampling_selector< rnd_generator< Random > > | parametric_sampler_ |
the parametric sampler to be used | |
unsigned long | attempts_ |
the number of trials in the veto loo so far | |
unsigned long | accepts_ |
the number of accepted events so far | |
unsigned long | splits_ |
number of splits done | |
bool | docompensate_ |
true, if compensation should be applied | |
double | detuning_ |
a detuning factor to be applied to the overestimate | |
The generator for sudakov-type distributions.
Definition at line 28 of file exponential_generator.h.
|
private |
get the projection of the density integrating over every variable to be sampled, except the evolution variable for the indicated parameter point.
the k'th entry in last_exponent_integrand_ is the value in the evolution variable bin from evolution_splits_[k] to evolution_splits_[k+1]