ThePEG  1.8.0
Public Types | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | Static Private Attributes
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:
Inheritance graph
[legend]

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 Types inherited from ThePEG::EventHandler
enum  ConsistencyLevel {
  clNoCheck, clCollision, clStep, clPrintCollision,
  clPrintStep
}
 Enumerate the different levels of consistency checking. More...
typedef vector
< HandlerGroupBase * > 
GroupVector
 A vector of HandlerGroups.
- Public Types inherited from ThePEG::LastXCombInfo<>
typedef ThePEG::Ptr< XComb >
::pointer 
XCPtr
 Alias for a reference counted pointer to XC .
typedef ThePEG::Ptr< XComb >
::const_pointer 
cXCPtr
 Alias for a reference counted pointer to a const XC .
typedef ThePEG::Ptr< XComb >
::transient_pointer 
tXCPtr
 Alias for a transient pointer to XC .
typedef ThePEG::Ptr< XComb >
::transient_const_pointer 
tcXCPtr
 Alias for a transient pointer to a const XC .

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.
- Public Member Functions inherited from ThePEG::EventHandler
 EventHandler (bool warnincomplete=true)
 Default constructor.
 EventHandler (const EventHandler &)
 Copy-constructor.
virtual ~EventHandler ()
 Destructor.
tEventPtr generateEvent (tEventPtr e)
 Generate an Event, where the initial state is supplied from the outside.
tEventPtr generateEvent (tStepPtr s)
 Generate an Event, where the initial state is supplied as a single step from the outside.
tCollPtr continueCollision ()
 Continue the generation of a Collision.
void clearEvent ()
 Clear all step handlers, making the handler ready for a new event.
virtual void select (tXCombPtr newXComb)
 Change the XComb object.
virtual bool empty () const
 Returns true if there are no step handlers left to apply to the current event;.
long maxLoop () const
 Return the maximum number attemts allowed to select a sub-process for each event.
const cPDPairincoming () const
 The pair of incoming particle types.
const LuminosityFunctionlumiFn () const
 Access the luminosity function.
tcLumiFnPtr lumiFnPtr () const
 Access the luminosity function.
tLumiFnPtr lumiFnPtr ()
 Access to the luminosity function.
tCutsPtr cuts () const
 The kinematical cuts to used by subclasses which do not provide their own.
tPExtrPtr partonExtractor () const
 A PartonExtractor object to be used by sub classes which do not provide their own.
tCascHdlPtr CKKWHandler () const
 Return a pointer (possibly null) to the assigned main CascadeHandler to be used as CKKW-reweighter.
tEventPtr currentEvent () const
 Gget current event.
tCollPtr currentCollision () const
 Get current collision.
tStepPtr currentStep () const
 Get current step.
int statLevel () const
 The level of statistics.
ConsistencyLevel consistencyLevel () const
 Determines how often the event handler should check for charge and energy-momentum conservation.
double consistencyEpsilon () const
 The maximum fraction of the total invariant mass of a collision that any of the components of the summed momentum is allowed to change during the generation.
void performStep (tStepHdlPtr handler, tHintPtr hint)
 Perform a given step using a handler and a hint.
void addStep (Group::Level, Group::Handler, tStepHdlPtr=tStepHdlPtr(), tHintPtr=tHintPtr())
 In the curresnt list of step handlers to go through, add another step handler and/or hint.
tStepPtr newStep (tcStepHdlPtr sh)
 Create a new step and make it current.
void popStep ()
 Remove the last step.
virtual void initGroups ()
 Initialize the groups of step handlers.
void currentEvent (tEventPtr e)
 Set current event.
void currentCollision (tCollPtr c)
 Set current collision.
void currentStep (tStepPtr s)
 Set current step.
tStepHdlPtr currentStepHandler () const
 Get current StepHandler.
void currentStepHandler (tStepHdlPtr sh)
 Set current StepHandler.
void throwCurrent ()
 Throw away the current event/collision.
virtual void clean ()
 Throw away the last generated event before generating a new one.
virtual void checkConsistency () const
 Check that the charge and energy-momentum in the last step of the current collision is consistent with the incoming particles.
- Public Member Functions inherited from ThePEG::LastXCombInfo<>
const XComblastXComb () const
 Return a reference to the last selected XComb.
tXCPtr lastXCombPtr () const
 Return a pointer to the last selected XComb.
const XComblastHeadXComb () const
 If the last selected XComb object belongs to a group of XComb's return a reference to the head XComb object for this group.
tXCPtr lastHeadXCombPtr () const
 If the last selected XComb object belongs to a group of XComb's return a pointer to the head XComb object for this group.
const EventHandlerlastEventHandler () const
 Return a reference to the currently used EventHandler.
tPExtrPtr lastExtractor () const
 A pointer to the currently used parton extractor.
PDFT pdf (tcPPtr parton) const
 Return the parton density used to extract the given parton.
const CutslastCuts () const
 A reference to the currently used kinematical cuts.
tCutsPtr lastCutsPtr () const
 A pointer to the currently used kinematical cuts.
const PPairlastParticles () const
 Return the pair of incoming parton instances.
Energy2 lastS () const
 The last generated total energy squared of the incoming particles.
const PPairlastPartons () const
 Return the pair of incoming parton instances.
Energy2 lastSHat () const
 The last used interval in total parton-parton energy squared.
double lastTau () const
 Return lastSHat()/lastS().
double lastY () const
 The generated rapidity of the hard scattering sub-system.
double lastP1 () const
 Log of one over the momentum fraction of the first incoming particle w.r.t.
double lastP2 () const
 Log of one over the momentum fraction of the second incoming particle w.r.t.
double lastL1 () const
 Log of one over the first incoming parton momentum fraction w.r.t.
double lastL2 () const
 Log of one over the second incoming parton momentum fraction w.r.t.
double lastX1 () const
 The first incoming parton momentum fraction w.r.t.
double lastX2 () const
 The second incoming parton momentum fraction w.r.t.
double lastE1 () const
 Return 1-lastX1() to highest possible precision for x $\rightarrow$ 1.
double lastE2 () const
 Return 1-lastX2() to highest possible precision for x $\rightarrow$ 1.
double lastFL1L2 () const
 The product of the parton density functions at the last generated phase-space point.
Energy2 lastScale () const
 The chosen scale of the hard scattering.
double lastAlphaS () const
 Get the $\alpha_S$ used in the hard scattering.
double lastAlphaEM () const
 Get the $\alpha_{EM}$ used in the hard scattering.
const vector< Lorentz5Momentum > & meMomenta () const
 Return the momenta of the incoming and outgoing partons to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.
double lastME2 () const
 Return the matrix element squared as calculated for the last phase space point.
double jacobian () const
 Get the last jacobian obtained when generating the kinematics for the call to dSigHatDR.
CrossSection lastMECrossSection () const
 Return the partonic cross section as calculated for the last phase space point.
double lastMEPDFWeight () const
 Return the PDF weight as calculated for the last phase space point, if the matrix element does supply PDF weights.
tSubProPtr subProcess () const
 Return the SubProcess object corresponding to the last generated sub-process.
const cPDVectormePartonData () const
 Return the incoming and outgoing parton types to be used by the matrix element object, in the order specified by the TreeDiagram objects given by the matrix element.

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 Member Functions inherited from ThePEG::EventHandler
LuminosityFunctionlumiFn ()
 Access to the luminosity function.
void setupGroups ()
 Setup the step handler groups.
GroupVectorgroups ()
 Access the step handler groups.
const GroupVectorgroups () const
 Access the step handler groups.
void lumiFn (LumiFnPtr)
 Set the luminosity function.
virtual void rebind (const TranslationMap &trans)
 Rebind pointer to other Interfaced objects.
virtual IVector getReferences ()
 Return a vector of all pointers to Interfaced objects used in this object.

Protected Attributes

XSecStat stats
 Collect statistics for this event handler.
XSecStat histStats
 Collect statistics for this event handler.
- Protected Attributes inherited from ThePEG::EventHandler
HandlerGroup< SubProcessHandleroptSubprocessGroup
 Utility object to facilitate default selection of step handlers.
HandlerGroup< CascadeHandleroptCascadeGroup
 Utility object to facilitate default selection of step handlers.
HandlerGroup
< MultipleInteractionHandler
optMultiGroup
 Utility object to facilitate default selection of step handlers.
HandlerGroup
< HadronizationHandler
optHadronizationGroup
 Utility object to facilitate default selection of step handlers.
HandlerGroup< DecayHandleroptDecayGroup
 Utility object to facilitate default selection of step handlers.
GroupVector optGroups
 Utility object to facilitate default selection of step handlers.
bool warnIncomplete
 Emit warning that this EventHandler is incomplete.
cPDPair theIncoming
 The pair of incoming particle types.
- Protected Attributes inherited from ThePEG::LastXCombInfo<>
XCPtr theLastXComb
 The pointer to the last selected XComb.

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 IBPtr ThePEG::LesHouchesEventHandler::clone ( ) const
protectedvirtual

Make a simple clone of this object.

Returns:
a pointer to the new object.

Reimplemented from ThePEG::EventHandler.

virtual void ThePEG::LesHouchesEventHandler::dofinish ( )
protectedvirtual

Finalize this object.

Called in the run phase just after a run has ended. Used eg. to write out statistics.

Reimplemented from ThePEG::EventHandler.

virtual void ThePEG::LesHouchesEventHandler::doinit ( )
protectedvirtual

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

Exceptions:
InitExceptionif object could not be initialized properly.

Reimplemented from ThePEG::InterfacedBase.

virtual void ThePEG::LesHouchesEventHandler::doinitrun ( )
protectedvirtual

Initialize this object.

Called in the run phase just before a run begins.

Reimplemented from ThePEG::InterfacedBase.

virtual IBPtr ThePEG::LesHouchesEventHandler::fullclone ( ) const
protectedvirtual

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

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

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.

virtual tCollPtr ThePEG::LesHouchesEventHandler::performCollision ( )
virtual

Create the Event and Collision objects.

Used by the generateEvent() function.

void ThePEG::LesHouchesEventHandler::persistentInput ( PersistentIStream is,
int  version 
)

Function used to read in object persistently.

Parameters:
isthe persistent input stream read from.
versionthe version number of the object when written.

Reimplemented from ThePEG::EventHandler.

void ThePEG::LesHouchesEventHandler::persistentOutput ( PersistentOStream os) const

Function used to write out object persistently.

Parameters:
osthe persistent output stream written to.

Reimplemented from ThePEG::EventHandler.

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.


Member Data Documentation

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
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 364 of file LesHouchesEventHandler.h.


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