ThePEG 2.3.0
|
The EventHandler is the base class used to implement event handlers in ThePEG. More...
#include <EventHandler.h>
Public Types | |
enum | ConsistencyLevel { clNoCheck , clCollision , clStep , clPrintCollision , clPrintStep } |
Enumerate the different levels of consistency checking. More... | |
typedef vector< HandlerGroupBase * > | GroupVector |
A vector of HandlerGroup s. | |
Public Types inherited from ThePEG::InterfacedBase | |
enum | InitState { initializing = -1 , uninitialized = 0 , initialized = 1 , runready = 2 } |
Enumeration reflecting the state of an InterfacedBase object. More... | |
Public Types inherited from ThePEG::Pointer::ReferenceCounted | |
typedef unsigned int | CounterType |
The integer type used for counting. | |
Public Types inherited from ThePEG::LastXCombInfo< XC > | |
typedef ThePEG::Ptr< XC >::pointer | XCPtr |
Alias for a reference counted pointer to XC . | |
typedef ThePEG::Ptr< XC >::const_pointer | cXCPtr |
Alias for a reference counted pointer to a const XC . | |
typedef ThePEG::Ptr< XC >::transient_pointer | tXCPtr |
Alias for a transient pointer to XC . | |
typedef ThePEG::Ptr< XC >::transient_const_pointer | tcXCPtr |
Alias for a transient pointer to a const XC . | |
Public Member Functions | |
Standard constructors and destructors. | |
EventHandler (bool warnincomplete=true) | |
Default constructor. | |
EventHandler (const EventHandler &) | |
Copy-constructor. | |
virtual | ~EventHandler () |
Destructor. | |
Main functions, some of which may be overridden by subclasses. | |
virtual void | initialize () |
Initialize this event handler and all related objects needed to generate events. | |
virtual EventPtr | generateEvent () |
Generate an event. | |
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. | |
virtual EventPtr | continueEvent () |
Continue generating an event if the generation has been stopped before finishing. | |
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;. | |
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 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. | |
Simple access functions. | |
long | maxLoop () const |
Return the maximum number attemts allowed to select a sub-process for each event. | |
const cPDPair & | incoming () const |
The pair of incoming particle types. | |
const LuminosityFunction & | lumiFn () 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 | cascadeHandler () const |
Return a pointer (possibly null) to the assigned main CascadeHandler. | |
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. | |
bool | weighted () const |
Return true if this event handler should produce weightes events. | |
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. | |
Internal functions used by main functions and possibly | |
from the outside. | |
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::HandlerBaseT< UseRandom > | |
virtual | ~HandlerBaseT () |
Destructor. | |
double | rnd () const |
Return a simple flat random number in the range ]0,1[. | |
double | rnd (double xu) const |
Return a simple flat random number in the range ]0,xu[. | |
double | rnd (double xl, double xu) const |
Return a simple flat random number in the range ]xl,xu[. | |
bool | rndbool () const |
Return true with 50% probability. | |
bool | rndbool (double p) const |
Return a true with probability p. | |
bool | rndbool (double p1, double p2) const |
Return a true with probability p1/(p1+p2). | |
int | rndsign (double p1, double p2, double p3) const |
Return -1, 0, or 1 with relative probabilities p1, p2, p3. | |
int | rnd2 (double p0, double p1) const |
Return an integer \(i\) with probability p \(i\)/(p0+p1). | |
int | rnd3 (double p0, double p1, double p2) const |
Return an integer \(i\) with probability p \(i\)/(p0+p1+p2). | |
int | rnd4 (double p0, double p1, double p2, double p3) const |
Return an integer/ \(i\) with probability p \(i\)(p0+p1+p2+p3). | |
long | irnd (long xu=2) const |
Return a simple flat random integrer number in the range [0,xu[. | |
long | irnd (long xl, long xu) const |
Return a simple flat random integrer number in the range [xl,xu[. | |
const StandardModelBase & | SM () const |
Return a reference to the object containing the standard model parameters for this run. | |
tSMPtr | standardModel () const |
Return a pointer to the object containing the standard model parameters for this run. | |
Public Member Functions inherited from ThePEG::Interfaced | |
virtual | ~Interfaced () |
Empty virtual destructor. | |
virtual bool | defaultInit () |
Functions which are to be used during the actual event generation, after the setup is complete. | |
PPtr | getParticle (PID) const |
Create a new Particle instance given a id number. | |
PDPtr | getParticleData (PID) const |
Return a pointer to the ParticleData object corresponding to the given id number. | |
bool | used () const |
Returns true if this object has actally been used. | |
void | useMe () const |
Should be called to indicate that this object has actually been used. | |
tEGPtr | generator () const |
Return a pointer to the EventGenerator controlling the run. | |
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::InterfacedBase | |
virtual | ~InterfacedBase () |
The virtual (empty) destructor;. | |
string | fullName () const |
Returns the full name of this object including its path, e.g. | |
string | name () const |
Returns the name of this object, without the path. | |
string | path () const |
Returns the path to this object including the trailing '/'. | |
string | comment () const |
Returns a comment assigned to this object. | |
void | setup (istream &is) |
Read setup info from a standard istream is. | |
void | update () |
Calls the doupdate() function with recursion prevention. | |
void | init () |
Calls the doinit() function with recursion prevention. | |
virtual bool | preInitialize () const |
Return true if this object needs to be initialized before all other objects (except those for which this function also returns true). | |
void | initrun () |
Calls the doinitrun() function with recursion prevention. | |
void | finish () |
Calls the dofinish() function with recursion prevention. | |
void | touch () |
This function should be called every time something in this object has changed in a way that a sanity check with update() is needed. | |
void | reset () |
Set the state of this object to uninitialized. | |
void | clear () |
Calls reset() and unTouch(). | |
InitState | state () const |
Return the state of initialization of this object. | |
bool | locked () const |
Return true if the BaseRepository is not allowed to change the state of this object. | |
bool | touched () const |
Return true if the state of this object has been changed since the last call to update(). | |
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. | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. | |
Public Member Functions inherited from ThePEG::Base | |
virtual | ~Base () |
The virtual destructor. | |
void | debug () const |
Print out debugging information for this object on std::cerr. | |
virtual void | debugme () const |
Print out debugging information for this object on std::cerr. | |
Public Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
CounterType | referenceCount () const |
Return the reference count. | |
Public Member Functions inherited from ThePEG::Named | |
Named (const string &newName=string()) | |
Constructor with name. | |
Named (const Named &)=default | |
Explicit default copy-constructor (too avoid compiler warnings) | |
const string & | name () const |
Return name. | |
bool | operator== (const Named &other) const |
Test for equality. | |
bool | operator< (const Named &other) const |
Lexicographical comparison. | |
Public Member Functions inherited from ThePEG::LastXCombInfo< XC > | |
const XC & | lastXComb () const |
Return a reference to the last selected XComb. | |
tXCPtr | lastXCombPtr () const |
Return a pointer to the last selected XComb. | |
const XC & | lastHeadXComb () 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 EventHandler & | lastEventHandler () const |
Return a reference to the currently used EventHandler. | |
tPExtrPtr | lastExtractor () const |
A pointer to the currently used parton extractor. | |
template<typename PDFT > | |
PDFT | pdf (tcPPtr parton) const |
Return the parton density used to extract the given parton. | |
const Cuts & | lastCuts () const |
A reference to the currently used kinematical cuts. | |
tCutsPtr | lastCutsPtr () const |
A pointer to the currently used kinematical cuts. | |
const PPair & | lastParticles () const |
Return the pair of incoming parton instances. | |
Energy2 | lastS () const |
The last generated total energy squared of the incoming particles. | |
const PPair & | lastPartons () 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 | lastPreweight () const |
Return the last preweight factor. | |
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. | |
double | lastMECouplings () const |
Return the coupling weight as calculated for the last phase space point. | |
tSubProPtr | subProcess () const |
Return the SubProcess object corresponding to the last generated sub-process. | |
const cPDVector & | mePartonData () 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. | |
Protected Member Functions | |
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. | |
Protected Member Functions inherited from ThePEG::Interfaced | |
void | reporeg (IBPtr object, string name) const |
Register the given object in the Repository with the given name in a subdirectory with the same name as this object. | |
template<typename PtrT > | |
bool | setDefaultReference (PtrT &ptr, string classname, string objectname) |
If the pointer, ptr, to an object is not set, create an object of class classname and register it with the Repository with the given objectname in a sib-directory with the same name as this object. | |
Interfaced () | |
Protected default constructor. | |
Interfaced (const string &newName) | |
Protected constructor taking a name as argument. | |
Interfaced (const Interfaced &i) | |
Protected copy-constructor. | |
void | setGenerator (tEGPtr generator) |
Protected function to reset the generator pointer, required for automatic decayer generation in Herwig++ BSM models. | |
Protected Member Functions inherited from ThePEG::InterfacedBase | |
virtual void | readSetup (istream &is) |
Read setup info from a standard istream is. | |
virtual void | doupdate () |
Check sanity of the object during the setup phase. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object. | |
InterfacedBase () | |
Protected default constructor. | |
InterfacedBase (string newName) | |
Protected constructor with the name given as argument. | |
InterfacedBase (const InterfacedBase &i) | |
Protected copy-constructor. | |
Protected Member Functions inherited from ThePEG::Pointer::ReferenceCounted | |
ReferenceCounted () | |
Default constructor. | |
ReferenceCounted (const ReferenceCounted &) | |
Copy-constructor. | |
ReferenceCounted & | operator= (const ReferenceCounted &) |
Assignment. | |
Protected Member Functions inherited from ThePEG::Named | |
const Named & | operator= (const Named &other) |
Assignment. | |
const string & | name (const string &newName) |
Set new name. | |
Standard Interfaced functions. | |
long | theMaxLoop |
The maximum number of attempts to select a sub-process allowed per event. | |
bool | weightedEvents |
True if this event handler should produce weightes events. | |
int | theStatLevel |
Controlls the amount of statistics written out after each run to the EventGenerators .out file. | |
ConsistencyLevel | theConsistencyLevel |
Determines how often the event handler should check for charge and energy-momentum conservation. | |
double | theConsistencyEpsilon |
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. | |
LumiFnPtr | theLumiFn |
Pointer to a luminosity function tobe used by subclasses. | |
CutsPtr | theCuts |
The kinematical cuts to used by subclasses which do not provide their own. | |
PExtrPtr | thePartonExtractor |
A PartonExtractor object to be used by sub classes which do not provide their own. | |
HandlerGroup< SubProcessHandler > | theSubprocessGroup |
The SubProcessHandler group. | |
HandlerGroup< CascadeHandler > | theCascadeGroup |
The CascadeHandler group. | |
HandlerGroup< MultipleInteractionHandler > | theMultiGroup |
The MultipleInteractionHandler group. | |
HandlerGroup< HadronizationHandler > | theHadronizationGroup |
The HadronizationHandler group. | |
HandlerGroup< DecayHandler > | theDecayGroup |
The DecayHandler group. | |
GroupVector | theGroups |
The step handler groups. | |
EventPtr | theCurrentEvent |
The current Event. | |
CollPtr | theCurrentCollision |
The current Collision. | |
StepPtr | theCurrentStep |
The current Step. | |
StepHdlPtr | theCurrentStepHandler |
The current StepHandler. | |
HandlerGroup< SubProcessHandler > | optSubprocessGroup |
Utility object to facilitate default selection of step handlers. | |
HandlerGroup< CascadeHandler > | optCascadeGroup |
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< DecayHandler > | optDecayGroup |
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. | |
static ClassDescription< EventHandler > | initEventHandler |
Describe a concrete class with persistent data. | |
virtual void | dofinish () |
Finalize this object. | |
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. | |
LuminosityFunction & | lumiFn () |
Access to the luminosity function. | |
void | setupGroups () |
Setup the step handler groups. | |
GroupVector & | groups () |
Access the step handler groups. | |
const GroupVector & | groups () const |
Access the step handler groups. | |
void | lumiFn (LumiFnPtr) |
Set the luminosity function. | |
void | interfaceSetPostSubProcessHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPostSubProcessHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePostSubProcessHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPostSubProcessHandler () const |
Utility function for the interface. | |
void | interfaceSetPreCascadeHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPreCascadeHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePreCascadeHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPreCascadeHandler () const |
Utility function for the interface. | |
void | interfaceSetCascadeHandler (CascHdlPtr) |
Utility function for the interface. | |
CascHdlPtr | interfaceGetCascadeHandler () const |
Utility function for the interface. | |
void | interfaceSetPostCascadeHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPostCascadeHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePostCascadeHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPostCascadeHandler () const |
Utility function for the interface. | |
void | interfaceSetPreMultipleInteractionHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPreMultipleInteractionHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePreMultipleInteractionHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPreMultipleInteractionHandler () const |
Utility function for the interface. | |
void | interfaceSetMultipleInteractionHandler (MIHdlPtr) |
Utility function for the interface. | |
MIHdlPtr | interfaceGetMultipleInteractionHandler () const |
Utility function for the interface. | |
void | interfaceSetPostMultipleInteractionHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPostMultipleInteractionHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePostMultipleInteractionHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPostMultipleInteractionHandler () const |
Utility function for the interface. | |
void | interfaceSetPreHadronizationHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPreHadronizationHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePreHadronizationHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPreHadronizationHandler () const |
Utility function for the interface. | |
void | interfaceSetHadronizationHandler (HadrHdlPtr) |
Utility function for the interface. | |
HadrHdlPtr | interfaceGetHadronizationHandler () const |
Utility function for the interface. | |
void | interfaceSetPostHadronizationHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPostHadronizationHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePostHadronizationHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPostHadronizationHandler () const |
Utility function for the interface. | |
void | interfaceSetPreDecayHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPreDecayHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePreDecayHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPreDecayHandler () const |
Utility function for the interface. | |
void | interfaceSetDecayHandler (DecayHdlPtr) |
Utility function for the interface. | |
DecayHdlPtr | interfaceGetDecayHandler () const |
Utility function for the interface. | |
void | interfaceSetPostDecayHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceInsertPostDecayHandler (StepHdlPtr, int) |
Utility function for the interface. | |
void | interfaceErasePostDecayHandler (int) |
Utility function for the interface. | |
vector< StepHdlPtr > | interfaceGetPostDecayHandler () const |
Utility function for the interface. | |
EventHandler & | operator= (const EventHandler &)=delete |
Private and non-existent assignment operator. | |
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 void | Init () |
Standard Init function used to initialize the interface. | |
Additional Inherited Members | |
Static Public Member Functions inherited from ThePEG::HandlerBase | |
static void | Init () |
Standard Init function used to initialize the interface. | |
Static Public Member Functions inherited from ThePEG::Interfaced | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::InterfacedBase | |
static void | Init () |
Standard Init function. | |
Static Public Member Functions inherited from ThePEG::Base | |
static void | Init () |
The standard Init function used to initialize the interfaces. | |
Public Attributes inherited from ThePEG::Pointer::ReferenceCounted | |
const unsigned long | uniqueId |
The unique ID. | |
Static Protected Member Functions inherited from ThePEG::Interfaced | |
static void | registerRepository (IBPtr) |
Register an Interfaced object with the Repository. | |
static void | registerRepository (IBPtr, string newName) |
Register an Interfaced object with the Repository, giving it a name. | |
Protected Attributes inherited from ThePEG::LastXCombInfo< XC > | |
XCPtr | theLastXComb |
The pointer to the last selected XComb. | |
The EventHandler is the base class used to implement event handlers in ThePEG.
Objects of this class is assigned to an EventGenerator object which supervises a run. This base class is not able to generate complete events, although it does have a virtual generateEvent(). If the EventGenerator to which an EventGenerator is assinged is asked to generate a full event, it will call the generateEvent() function which will write an error message and abort the run.
Objects of this base class can, however, be used to administer the evolution of a partially generated event supplied from the outside. To specify this event evolution the EventHandler maintains five groups of so-called StepHandlers implemented as HandlerGroups. Each group have a main step handler: SubProcessHandler, CascadeHandler, MultipleInteractionHandler, HadronizationHandler and DecayHandler respectively, whereof the first group only uses the post-handler part of the group.
The EventHandler class inherits from the LastXCombInfo class to have easy interface to the information in the last selected XComb which carries information about the hard sub-process in the event.
If a sub-class implements the generation of sub-processes and thus becomes a full event handler it should implement the generateEvent() function appropriately. It should also set the flag warnIncomplete to false, to avoid warnings when initialized as the main EventHandler of an Eventgenerator.
Definition at line 63 of file EventHandler.h.
typedef vector<HandlerGroupBase *> ThePEG::EventHandler::GroupVector |
A vector of HandlerGroup
s.
Definition at line 77 of file EventHandler.h.
Enumerate the different levels of consistency checking.
Enumerator | |
---|---|
clNoCheck | Do not perform consistency checks. |
clCollision | Check every Collision. |
clStep | Check every Step. |
clPrintCollision | Check every Collision. Print event if inconsistent. |
clPrintStep | Check every Step. Print event if inconsistent. |
Definition at line 68 of file EventHandler.h.
|
virtual |
Check that the charge and energy-momentum in the last step of the current collision is consistent with the incoming particles.
If not, a warning will be generated.
|
inline |
Return a pointer (possibly null) to the assigned main CascadeHandler to be used as CKKW-reweighter.
Definition at line 244 of file EventHandler.h.
References cascadeHandler().
|
virtual |
Throw away the last generated event before generating a new one.
Reimplemented in ThePEG::StandardEventHandler.
Referenced by dofinish().
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
inline |
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.
Definition at line 284 of file EventHandler.h.
References theConsistencyEpsilon.
|
inline |
Determines how often the event handler should check for charge and energy-momentum conservation.
Definition at line 277 of file EventHandler.h.
References theConsistencyLevel.
tCollPtr ThePEG::EventHandler::continueCollision | ( | ) |
Continue the generation of a Collision.
Used if the generation was previously interrupted.
|
virtual |
Continue generating an event if the generation has been stopped before finishing.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
inline |
Get current collision.
Definition at line 254 of file EventHandler.h.
References theCurrentCollision.
|
inline |
Set current collision.
Definition at line 334 of file EventHandler.h.
References theCurrentCollision.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Get current StepHandler.
Definition at line 344 of file EventHandler.h.
References theCurrentStepHandler.
|
inline |
Set current StepHandler.
Definition at line 349 of file EventHandler.h.
References theCurrentStepHandler.
|
inline |
The kinematical cuts to used by subclasses which do not provide their own.
Definition at line 226 of file EventHandler.h.
References theCuts.
|
inlineprotectedvirtual |
Finalize this object.
Called in the run phase just after a run has ended. Used eg. to write out statistics.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
Definition at line 416 of file EventHandler.h.
References clean(), and ThePEG::InterfacedBase::dofinish().
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::InterfacedBase.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
virtual |
Generate an event.
This base class is not capable of generating complete events and calling this function will result in an exception. Sub-classes which are capable of generating complete events from scratch must override this function.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
protectedvirtual |
Return a vector of all pointers to Interfaced objects used in this object.
Reimplemented from ThePEG::InterfacedBase.
|
inlineprotected |
Access the step handler groups.
Definition at line 456 of file EventHandler.h.
References theGroups.
|
inlineprotected |
Access the step handler groups.
Definition at line 461 of file EventHandler.h.
References theGroups.
|
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. This version of the function will produce an error message. It is up to a sub-class able to generate full events to return the correct value.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
inline |
The pair of incoming particle types.
These are null if not set by a subclass.
Definition at line 206 of file EventHandler.h.
References theIncoming.
|
virtual |
Initialize the groups of step handlers.
Reimplemented in ThePEG::StandardEventHandler.
|
virtual |
Initialize this event handler and all related objects needed to generate events.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
virtual |
The total integrated cross section of the processes generated in this run.
This version of the function will produce an error message. It is up to a sub-class able to generate full events to return the correct value.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
virtual |
The estimated error in the total integrated cross section of the processes generated in this run.
This version of the function will produce an error message. It is up to a sub-class able to generate full events to return the correct value.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
inlineprotected |
Access to the luminosity function.
Definition at line 446 of file EventHandler.h.
References theLumiFn.
|
inline |
Access the luminosity function.
Definition at line 211 of file EventHandler.h.
References theLumiFn.
|
inline |
Access to the luminosity function.
Definition at line 221 of file EventHandler.h.
References theLumiFn.
|
inline |
Access the luminosity function.
Definition at line 216 of file EventHandler.h.
References theLumiFn.
|
inline |
Return the maximum number attemts allowed to select a sub-process for each event.
Definition at line 200 of file EventHandler.h.
References theMaxLoop.
|
inline |
Create a new step and make it current.
A StepHandler should be supplied which will be set as the handler for the created Step.
Definition at line 308 of file EventHandler.h.
References currentCollision(), currentStep(), and newStep().
Referenced by newStep().
|
inline |
A PartonExtractor object to be used by sub classes which do not provide their own.
Definition at line 232 of file EventHandler.h.
References thePartonExtractor.
void ThePEG::EventHandler::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 ThePEG::EventHandler::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inline |
Remove the last step.
Definition at line 316 of file EventHandler.h.
References currentCollision(), and currentStep().
|
protectedvirtual |
Rebind pointer to other Interfaced objects.
Called in the setup phase after all objects used in an EventGenerator has been cloned so that the pointers will refer to the cloned objects afterwards.
trans | a TranslationMap relating the original objects to their respective clones. |
RebindException | if no cloned object was found for a given pointer. |
Reimplemented from ThePEG::InterfacedBase.
|
virtual |
Change the XComb object.
Reimplemented in ThePEG::StandardEventHandler.
|
virtual |
Write out accumulated statistics about intergrated cross sections and stuff.
Reimplemented in ThePEG::StandardEventHandler, and ThePEG::LesHouchesEventHandler.
|
inline |
The level of statistics.
Controlls the amount of statistics written out after each run to the EventGenerator
s .out
file.
Definition at line 271 of file EventHandler.h.
References theStatLevel.
|
inline |
Return true if this event handler should produce weightes events.
Definition at line 264 of file EventHandler.h.
References weightedEvents.
|
staticprivate |
Describe a concrete class with persistent data.
Definition at line 666 of file EventHandler.h.
|
protected |
Utility object to facilitate default selection of step handlers.
Definition at line 580 of file EventHandler.h.
|
protected |
Utility object to facilitate default selection of step handlers.
Definition at line 595 of file EventHandler.h.
|
protected |
Utility object to facilitate default selection of step handlers.
Definition at line 602 of file EventHandler.h.
|
protected |
Utility object to facilitate default selection of step handlers.
Definition at line 590 of file EventHandler.h.
|
protected |
Utility object to facilitate default selection of step handlers.
Definition at line 585 of file EventHandler.h.
|
protected |
Utility object to facilitate default selection of step handlers.
Definition at line 575 of file EventHandler.h.
|
private |
The CascadeHandler group.
Definition at line 528 of file EventHandler.h.
|
private |
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.
Definition at line 501 of file EventHandler.h.
Referenced by consistencyEpsilon().
|
private |
Determines how often the event handler should check for charge and energy-momentum conservation.
Definition at line 494 of file EventHandler.h.
Referenced by consistencyLevel().
|
private |
The current Collision.
Definition at line 558 of file EventHandler.h.
Referenced by currentCollision().
|
private |
|
private |
|
private |
The current StepHandler.
Definition at line 568 of file EventHandler.h.
Referenced by currentStepHandler().
|
private |
The kinematical cuts to used by subclasses which do not provide their own.
Definition at line 512 of file EventHandler.h.
Referenced by cuts().
|
private |
The DecayHandler group.
Definition at line 543 of file EventHandler.h.
|
private |
|
private |
The HadronizationHandler group.
Definition at line 538 of file EventHandler.h.
|
protected |
The pair of incoming particle types.
Should be set by a subclass which implements a complete EventHandler.
Definition at line 615 of file EventHandler.h.
Referenced by incoming().
|
private |
Pointer to a luminosity function tobe used by subclasses.
Definition at line 506 of file EventHandler.h.
Referenced by lumiFn(), and lumiFnPtr().
|
private |
The maximum number of attempts to select a sub-process allowed per event.
Definition at line 477 of file EventHandler.h.
Referenced by maxLoop().
|
private |
The MultipleInteractionHandler group.
Definition at line 533 of file EventHandler.h.
|
private |
A PartonExtractor object to be used by sub classes which do not provide their own.
Definition at line 518 of file EventHandler.h.
Referenced by partonExtractor().
|
private |
Controlls the amount of statistics written out after each run to the EventGenerators .out file.
Definition at line 488 of file EventHandler.h.
Referenced by statLevel().
|
private |
The SubProcessHandler group.
Definition at line 523 of file EventHandler.h.
|
protected |
Emit warning that this EventHandler is incomplete.
Definition at line 609 of file EventHandler.h.
|
private |
True if this event handler should produce weightes events.
Definition at line 482 of file EventHandler.h.
Referenced by weighted().