Herwig
7.2.1
|
DipoleSplittingGenerator is used by the dipole shower to sample splittings from a given dipole splitting kernel. More...
#include <DipoleSplittingGenerator.h>
Public Member Functions | |
Ptr< DipoleSplittingKernel >::tptr | splittingKernel () const |
Return the dipole splitting kernel. | |
Ptr< DipoleSplittingReweight >::tptr | splittingReweight () const |
Return the dipole splitting reweight. | |
Ptr< DipoleSplittingKinematics >::tptr | splittingKinematics () const |
Return the dipole splitting kinematics. | |
void | splittingKernel (Ptr< DipoleSplittingKernel >::tptr sp) |
Set the dipole splitting kernel. | |
void | splittingReweight (Ptr< DipoleSplittingReweight >::tptr sp) |
Set the dipole splitting reweight. | |
void | wrap (Ptr< DipoleSplittingGenerator >::ptr other) |
Make a wrapper around another generator. | |
bool | wrapping () const |
Return true, if this is actually a wrapper around another splitting generator. | |
void | resetVariations () |
Reset the current variations to one. | |
void | prepare (const DipoleSplittingInfo &) |
Prepare to fill the given splitting. | |
Energy | generate (const DipoleSplittingInfo &, map< string, double > &variations, Energy optHardPt=ZERO, Energy optCutoff=ZERO) |
Fix parameters from the given DipoleSplittingInfo and generate the next splitting. More... | |
Energy | generateWrapped (DipoleSplittingInfo &, map< string, double > &variations, Energy optHardPt=ZERO, Energy optCutoff=ZERO) |
Fix parameters from the fiven DipoleSplittingInfo and generate the next splitting. More... | |
void | completeSplitting (DipoleSplittingInfo &) const |
Complete the given splitting. | |
const DipoleSplittingInfo & | lastSplitting () const |
Return the last generated splitting. | |
double | sudakov (const DipoleSplittingInfo &, Energy down) |
Sample the Sudakov in monte carlo fashion. | |
double | dosudakov (const DipoleSplittingInfo &, Energy down) |
do the actiual calculation of the sudakov exponent. | |
double | wrappedSudakov (DipoleSplittingInfo &split, Energy down) |
wrapper for sudakovExpansion for identical dipoles. | |
double | sudakovExpansion (const DipoleSplittingInfo &, Energy down, Energy fixedScale) |
Sample the Sudakov exponent for sudakovExpansion weights. | |
double | dosudakovExpansion (const DipoleSplittingInfo &, Energy down, Energy fixedScale) |
do the actual calculation for the sudakov expansion. | |
double | wrappedSudakovExpansion (DipoleSplittingInfo &split, Energy down, Energy fixedScale) |
wrapper for sudakovExpansion | |
void | doPartialUnweighting (double wref) |
Turn on partial unweighting and set the reference weight. | |
void | debugGenerator (ostream &) const |
Print debug information on the splitting handled. | |
void | debugLastEvent (ostream &) const |
Print debug information on the last generated event. | |
int | nDim () const |
Return the number of random numbers needed to sample this kernel. | |
const vector< bool > & | sampleFlags () |
Flag, which variables are free variables. | |
const pair< vector< double >, vector< double > > & | support () |
Return the support of the splitting kernel. More... | |
const vector< double > & | parameterPoint () const |
Return the parameter point associated to the splitting previously supplied through fixParameters. | |
void | startPresampling () |
Indicate that presampling of this kernel will be performed in the next calls to evaluate until stopPresampling() is called. | |
void | stopPresampling () |
Indicate that presampling of this kernel is done until startPresampling() is called. | |
unsigned long | presamplingPoints () const |
Return the number of points to presample this splitting generator. | |
unsigned long | maxtry () const |
Return the maximum number of trials to generate a splitting. | |
unsigned long | freezeGrid () const |
Return the number of accepted points after which the grid should be frozen. | |
double | detuning () const |
Return the detuning factor applied to the sampling overestimate kernel. | |
bool | haveOverestimate () const |
Return true, if this splitting generator is able to deliver an overestimate to the sampled kernel. | |
double | overestimate (const vector< double > &) |
Return an overestimate to the sampled kernel. | |
double | invertOverestimateIntegral (double) const |
Invert the integral over the overestimate to equal the given value. | |
double | evaluate (const vector< double > &) |
Evalute the splitting kernel. | |
void | veto (const vector< double > &, double p, double r) |
Indicate that a veto with the given kernel value and overestimate has occured. | |
void | accept (const vector< double > &, double p, double r) |
Indicate that an accept with the given kernel value and overestimate has occured. | |
double | splittingWeight () const |
Return the weight associated to the currently generated splitting. | |
void | doCompensate (bool yes=true) |
True, if sampler should apply compensation. | |
vector< std::tuple< Energy, double, bool > > | splittingWeightVector () const |
Return the weight vector associated to the currently generated splitting. | |
Standard constructors and destructors. | |
DipoleSplittingGenerator () | |
The default constructor. | |
virtual | ~DipoleSplittingGenerator () |
The destructor. | |
Wrap to the exsample2 interface until this is finally cleaned up. | |
const vector< bool > & | variable_flags () |
size_t | evolution_variable () const |
double | evolution_cutoff () |
const vector< double > & | parameter_point () const |
void | start_presampling () |
void | stop_presampling () |
size_t | dimension () const |
unsigned long | presampling_points () const |
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 HandlerBaseT< UseRandom > | |
double | rnd () const |
double | rnd (double xu) const |
double | rnd (double xl, double xu) const |
bool | rndbool () const |
bool | rndbool (double p) const |
bool | rndbool (double p1, double p2) const |
int | rndsign (double p1, double p2, double p3) const |
int | rnd2 (double p0, double p1) const |
int | rnd3 (double p0, double p1, double p2) const |
int | rnd4 (double p0, double p1, double p2, double p3) const |
long | irnd (long xu=2) const |
long | irnd (long xl, long xu) const |
const StandardModelBase & | SM () const |
tSMPtr | standardModel () const |
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 |
Static Public Member Functions | |
static void | Init () |
The standard Init function used to initialize the interfaces. More... | |
Static Public Member Functions inherited from ThePEG::HandlerBase | |
static void | Init () |
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 | |
void | fixParameters (const DipoleSplittingInfo &, Energy optHardPt=ZERO) |
Update parameters given a splitting. | |
void | doGenerate (map< string, double > &variations, Energy optCutoff=ZERO) |
With the parameters previuosly supplied through fixParameters generate the next splitting. | |
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... | |
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 &) | |
ReferenceCounted & | operator= (const 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) |
Private Member Functions | |
DipoleSplittingGenerator & | operator= (const DipoleSplittingGenerator &)=delete |
The assignment operator is private and must never be called. More... | |
Private Attributes | |
Ptr< DipoleSplittingGenerator >::ptr | theOtherGenerator |
Pointer to another generator to wrap around. | |
Ptr< DipoleSplittingKernel >::ptr | theSplittingKernel |
The dipole splitting kernel to sample splitting from. | |
Ptr< DipoleSplittingReweight >::ptr | theSplittingReweight |
The dipole splitting reweight. | |
exsample::exponential_generator< DipoleSplittingGenerator, UseRandom > * | theExponentialGenerator |
Pointer to the exponential generator. | |
DipoleSplittingInfo | generatedSplitting |
The dipole splitting to be completed. | |
DipoleSplittingInfo | presampledSplitting |
A backup of the dipole splitting to be completed, if this generator is presampled. | |
bool | prepared |
True, if prepared to sample splittings of a given kind. | |
bool | presampling |
Wether or not the kernel is currently being presampled. | |
vector< double > | parameters |
The parameter point. | |
vector< bool > | theFlags |
The sampling flags. | |
pair< vector< double >, vector< double > > | theSupport |
The support. | |
Ptr< DipoleMCCheck >::ptr | theMCCheck |
Pointer to a check histogram object. | |
bool | theDoCompensate |
True, if sampler should apply compensation. | |
map< string, double > | currentWeights |
The currently used weight map. | |
double | theSplittingWeight |
The weight associated to the currently generated splitting. | |
double | theSudakovAccuracy =0.05 |
Sudakov sampling accuracy. | |
double | theReferenceWeight |
Reference weight to improve convergence for subleading Nc corrections (by reducing time spent on events with very small weights) | |
bool | partialUnweighting = false |
Flag for partial unweighting. | |
vector< std::tuple< Energy, double, bool > > | theSplittingWeightVector |
The scale, weight and a bool for all veto steps and the accept step. More... | |
Static Private Attributes | |
static ClassDescription< DipoleSplittingGenerator > | initDipoleSplittingGenerator |
The static object used to initialize the description of this class. More... | |
Additional Inherited Members | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
Public Attributes inherited from ThePEG::InterfacedBase | |
initializing | |
uninitialized | |
initialized | |
runready | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
static void | registerRepository (IBPtr, string newName) |
DipoleSplittingGenerator is used by the dipole shower to sample splittings from a given dipole splitting kernel.
Definition at line 38 of file DipoleSplittingGenerator.h.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Energy Herwig::DipoleSplittingGenerator::generate | ( | const DipoleSplittingInfo & | , |
map< string, double > & | variations, | ||
Energy | optHardPt = ZERO , |
||
Energy | optCutoff = ZERO |
||
) |
Fix parameters from the given DipoleSplittingInfo and generate the next splitting.
Return the pt selected for the next splitting.
Energy Herwig::DipoleSplittingGenerator::generateWrapped | ( | DipoleSplittingInfo & | , |
map< string, double > & | variations, | ||
Energy | optHardPt = ZERO , |
||
Energy | optCutoff = ZERO |
||
) |
Fix parameters from the fiven DipoleSplittingInfo and generate the next splitting.
Return the pt selected for the next splitting when called from a wrapping generator.
|
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.
|
privatedelete |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
void Herwig::DipoleSplittingGenerator::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::DipoleSplittingGenerator::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
const pair<vector<double>,vector<double> >& Herwig::DipoleSplittingGenerator::support | ( | ) |
Return the support of the splitting kernel.
The lower bound on the first variable is assumed to correspond to the cutoff on the evolution variable.
|
staticprivate |
The static object used to initialize the description of this class.
Indicates that this is a concrete class with persistent data.
Definition at line 501 of file DipoleSplittingGenerator.h.
|
private |
The scale, weight and a bool for all veto steps and the accept step.
The bool is false for a veto step and true for an accept step.
Definition at line 493 of file DipoleSplittingGenerator.h.