ThePEG::LesHouchesEventHandler Class Reference

The LesHouchesEventHandler inherits from the general EventHandler class and administers the reading of events generated by external matrix element generator programs according to the Les Houches accord. More...

#include <LesHouchesEventHandler.h>

Inheritance diagram for ThePEG::LesHouchesEventHandler:

ThePEG::EventHandler ThePEG::HandlerBase ThePEG::LastXCombInfo< XC > ThePEG::HandlerBaseT< T > ThePEG::Interfaced ThePEG::InterfacedBase ThePEG::Base ThePEG::Named ThePEG::Pointer::ReferenceCounted

List of all members.

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 ReaderVectorreaders () const
 Access the list of readers.
const ReaderSelectorselector () 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

ReaderVectorreaders ()
 Access the list of readers.
ReaderSelectorselector ()
 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

LesHouchesEventHandleroperator= (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.


Detailed Description

The LesHouchesEventHandler inherits from the general EventHandler class and administers the reading of events generated by external matrix element generator programs according to the Les Houches accord.

The class has a list of LesHouchesReaders 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.

See also:
The interfaces defined for LesHouchesEventHandler.

Definition at line 40 of file LesHouchesEventHandler.h.


Member Enumeration Documentation

Enumerate the weighting options.

Enumerator:
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.


Member Function Documentation

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.

Returns:
0 if no integrated cross section could be estimated.

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.

Returns:
0 if no integrated cross section error could be estimated.

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.

Parameters:
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.

Parameters:
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.

Returns:
a pointer to the new 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.

Returns:
a pointer to the new object.

Reimplemented from ThePEG::EventHandler.

virtual void ThePEG::LesHouchesEventHandler::doinit (  )  [protected, virtual]

Initialize this object after the setup phase before saving an EventGenerator to disk.

Exceptions:
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.


Member Data Documentation

Collect statistics for this event handler.

To be used for histogram scaling.

Definition at line 306 of file LesHouchesEventHandler.h.

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.


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

Generated on Thu Apr 29 12:43:09 2010 for ThePEG by  doxygen 1.5.5