#include <LesHouchesEventHandler.h>
Public Types | |
enum | WeightOpt { unitweight = 1, unitnegweight = -1, varweight = 2, varnegweight = -2 } |
Enumerate the weighting options. More... | |
typedef vector < LesHouchesReaderPtr > | ReaderVector |
A vector of LesHouchesReader objects. | |
typedef CompSelector< int, CrossSection > | ReaderSelector |
A selector of readers. | |
Public Member Functions | |
Standard constructors and destructors. | |
LesHouchesEventHandler () | |
The default constructor. | |
virtual | ~LesHouchesEventHandler () |
The destructor. | |
Initialization and finalization functions. | |
virtual void | initialize () |
Initialize this event handler and all related objects needed to generate events. | |
virtual void | statistics (ostream &) const |
Write out accumulated statistics about intergrated cross sections and stuff. | |
virtual CrossSection | histogramScale () const |
Histogram scale. | |
virtual CrossSection | integratedXSec () const |
The estimated total integrated cross section of the processes generated in this run. | |
virtual CrossSection | integratedXSecErr () const |
The estimated error in the total integrated cross section of the processes generated in this run. | |
Functions used for the actual generation | |
virtual EventPtr | generateEvent () |
Generate an event. | |
virtual tCollPtr | performCollision () |
Create the Event and Collision objects. | |
virtual EventPtr | continueEvent () |
Continue generating an event if the generation has been stopped before finishing. | |
Functions to manipulate statistics. | |
void | select (double weight) |
An event has been selected. | |
void | accept () |
Accept the current event, taking care of the statistics collection of the corresponding reader objects. | |
void | reject (double weight) |
Reject the current event, taking care of the statistics collection of the corresponding reader objects. | |
void | increaseMaxXSec (CrossSection maxxsec) |
Increase the overestimated cross section for the selected reader. | |
void | skipEvents () |
Skip some events. | |
Simple access functions. | |
WeightOpt | weightOption () const |
The way weights are to be treated. | |
double | unitTolerance () const |
If the weight option is set to unit weight, do not start compensating unless the weight is this much larger than unity. | |
const ReaderVector & | readers () const |
Access the list of readers. | |
const ReaderSelector & | selector () const |
The selector to choose readers according to their overestimated cross section. | |
tLesHouchesReaderPtr | currentReader () const |
The currently selected reader object. | |
void | currentReader (tLesHouchesReaderPtr x) |
Set the currently selected reader object. | |
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 Public Member Functions | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Protected Member Functions | |
ReaderVector & | readers () |
Access the list of readers. | |
ReaderSelector & | selector () |
The selector to choose readers according to their overestimated cross section. | |
void | setUnitTolerance (double) |
Helper function for the interface;. | |
Clone Methods. | |
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. | |
Standard Interfaced functions. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object. | |
virtual void | dofinish () |
Finalize this object. | |
Protected Attributes | |
XSecStat | stats |
Collect statistics for this event handler. | |
XSecStat | histStats |
Collect statistics for this event handler. | |
Private Member Functions | |
LesHouchesEventHandler & | operator= (const LesHouchesEventHandler &) |
The assignment operator is private and must never be called. | |
Private Attributes | |
ReaderVector | theReaders |
The list of readers. | |
ReaderSelector | theSelector |
The selector to choose readers according to their overestimated cross section. | |
WeightOpt | theWeightOption |
The way weights are to be treated. | |
double | theUnitTolerance |
If the weight option is set to unit weight, do not start compensating unless the weight is this much larger than unity. | |
tLesHouchesReaderPtr | theCurrentReader |
The currently selected reader object. | |
bool | warnPNum |
Warn if the same process number is used in more than one LesHouchesReader. | |
Static Private Attributes | |
static ClassDescription < LesHouchesEventHandler > | initLesHouchesEventHandler |
The static object used to initialize the description of this class. |
The class has a list of LesHouchesReader
s which typically are connected to files with event data produced by external matrix element generator programs. When an event is requested by LesHouchesEventHandler, one of the readers are chosen, an event is read in and then passed to the different StepHandler
defined in the underlying EventHandler class.
Definition at line 40 of file LesHouchesEventHandler.h.
Enumerate the weighting options.
unitweight |
All events have unit weight.
|
unitnegweight |
All events have wight +/- 1.
|
varweight |
Varying positive weights.
|
varnegweight |
Varying positive or negative weights.
|
Definition at line 57 of file LesHouchesEventHandler.h.
virtual CrossSection ThePEG::LesHouchesEventHandler::histogramScale | ( | ) | const [virtual] |
Histogram scale.
A histogram bin which has been filled with the weights associated with the Event objects should be scaled by this factor to give the correct cross section.
Reimplemented from ThePEG::EventHandler.
virtual CrossSection ThePEG::LesHouchesEventHandler::integratedXSec | ( | ) | const [virtual] |
The estimated total integrated cross section of the processes generated in this run.
Reimplemented from ThePEG::EventHandler.
virtual CrossSection ThePEG::LesHouchesEventHandler::integratedXSecErr | ( | ) | const [virtual] |
The estimated error in the total integrated cross section of the processes generated in this run.
Reimplemented from ThePEG::EventHandler.
virtual tCollPtr ThePEG::LesHouchesEventHandler::performCollision | ( | ) | [virtual] |
Create the Event and Collision objects.
Used by the generateEvent() function.
void ThePEG::LesHouchesEventHandler::select | ( | double | weight | ) |
An event has been selected.
Signal that an event has been selected with the given weight. If unit weights are requested, the event will be accepted with that weight. This also takes care of the statistics collection of the selected reader object.
void ThePEG::LesHouchesEventHandler::skipEvents | ( | ) |
Skip some events.
To ensure a reader file is scanned an even number of times, skip a number of events for the selected reader.
void ThePEG::LesHouchesEventHandler::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::EventHandler.
void ThePEG::LesHouchesEventHandler::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. |
Reimplemented from ThePEG::EventHandler.
static void ThePEG::LesHouchesEventHandler::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.
Reimplemented from ThePEG::EventHandler.
virtual IBPtr ThePEG::LesHouchesEventHandler::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Reimplemented from ThePEG::EventHandler.
virtual IBPtr ThePEG::LesHouchesEventHandler::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::EventHandler.
virtual void ThePEG::LesHouchesEventHandler::doinit | ( | ) | [protected, virtual] |
Initialize this object after the setup phase before saving an EventGenerator to disk.
InitException | if object could not be initialized properly. |
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::LesHouchesEventHandler::doinitrun | ( | ) | [protected, virtual] |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::LesHouchesEventHandler::dofinish | ( | ) | [protected, virtual] |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::EventHandler.
LesHouchesEventHandler& ThePEG::LesHouchesEventHandler::operator= | ( | const LesHouchesEventHandler & | ) | [private] |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
XSecStat ThePEG::LesHouchesEventHandler::histStats [protected] |
Collect statistics for this event handler.
To be used for histogram scaling.
Definition at line 306 of file LesHouchesEventHandler.h.
ClassDescription<LesHouchesEventHandler> ThePEG::LesHouchesEventHandler::initLesHouchesEventHandler [static, private] |
The static object used to initialize the description of this class.
Indicates that this is a concrete class with persistent data.
Definition at line 364 of file LesHouchesEventHandler.h.