ThePEG
1.8.0
|
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>
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. | |
![]() | |
enum | ConsistencyLevel { clNoCheck, clCollision, clStep, clPrintCollision, clPrintStep } |
Enumerate the different levels of consistency checking. More... | |
typedef vector < HandlerGroupBase * > | GroupVector |
A vector of HandlerGroup s. | |
![]() | |
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 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. | |
![]() | |
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 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 | 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. | |
![]() | |
const XComb & | lastXComb () const |
Return a reference to the last selected XComb. | |
tXCPtr | lastXCombPtr () const |
Return a pointer to the last selected XComb. | |
const XComb & | 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. | |
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 ![]() | |
double | lastE2 () const |
Return 1-lastX2() to highest possible precision for x ![]() | |
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 ![]() | |
double | lastAlphaEM () const |
Get the ![]() | |
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 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. |
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. | |
![]() | |
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. | |
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. | |
![]() | |
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. | |
![]() | |
XCPtr | theLastXComb |
The pointer to the last selected XComb. |
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 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 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.
|
protectedvirtual |
Make a simple clone of this object.
Reimplemented from ThePEG::EventHandler.
|
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.
|
protectedvirtual |
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.
|
protectedvirtual |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
|
protectedvirtual |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::EventHandler.
|
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 |
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 |
The estimated total integrated cross section of the processes generated in this run.
Reimplemented from ThePEG::EventHandler.
|
virtual |
The estimated error in the total integrated cross section of the processes generated in this run.
Reimplemented from ThePEG::EventHandler.
|
private |
The assignment operator is private and must never be called.
In fact, it should not even be implemented.
|
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.
is | the persistent input stream read from. |
version | the 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.
os | the 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.
|
protected |
Collect statistics for this event handler.
To be used for histogram scaling.
Definition at line 306 of file LesHouchesEventHandler.h.
|
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.