9 #ifndef THEPEG_LesHouchesEventHandler_H 10 #define THEPEG_LesHouchesEventHandler_H 15 #include "ThePEG/Handlers/EventHandler.h" 16 #include "LesHouchesEventHandler.fh" 17 #include "LesHouchesReader.fh" 18 #include "ThePEG/Utilities/CompSelector.h" 19 #include "ThePEG/Utilities/XSecStat.h" 149 void select(
double weight);
161 void reject(
double weight);
349 class LesHouchesInitError:
public InitException {};
355 class LesHouchesPNumException:
public InitException {};
378 #include "ThePEG/Utilities/ClassTraits.h" 398 static string className() {
return "ThePEG::LesHouchesEventHandler"; }
402 static string library() {
return "LesHouches.so"; }
PersistentIStream is used to read persistent objects from a stream where they were previously written...
double theUnitTolerance
If the weight option is set to unit weight, do not start compensating unless the weight is this much ...
ReaderVector theReaders
The list of readers.
virtual CrossSection histogramScale() const
Histogram scale.
ReaderSelector theSelector
The selector to choose readers according to their overestimated cross section.
LesHouchesEventHandler & operator=(const LesHouchesEventHandler &)
The assignment operator is private and must never be called.
The EventHandler is the base class used to implement event handlers in ThePEG.
WeightOpt weightOption() const
The way weights are to be treated.
The LesHouchesEventHandler inherits from the general EventHandler class and administers the reading o...
tLesHouchesReaderPtr currentReader() const
The currently selected reader object.
A concreate implementation of ClassDescriptionBase describing a concrete class with persistent data...
Varying positive or negative weights.
PersistentOStream is used to write objects persistently to a stream from which they can be read in ag...
ReaderSelector & selector()
The selector to choose readers according to their overestimated cross section.
tLesHouchesReaderPtr theCurrentReader
The currently selected reader object.
vector< LesHouchesReaderPtr > ReaderVector
A vector of LesHouchesReader objects.
LesHouchesEventHandler()
The default constructor.
virtual void initialize()
Initialize this event handler and all related objects needed to generate events.
TransientRCPtr is a simple wrapper around a bare pointer which can be assigned to and from an RCPtr a...
bool warnPNum
Warn if the same process number is used in more than one LesHouchesReader.
const ReaderVector & readers() const
Access the list of readers.
CompSelector< int, CrossSection > ReaderSelector
A selector of readers.
void tolerance(double t)
Set the tolerance for how much a weight is allowed to be larger than unity before starting the compen...
Varying positive weights.
This is the main namespace within which all identifiers in ThePEG are declared.
void currentReader(tLesHouchesReaderPtr x)
Set the currently selected reader object.
virtual IBPtr clone() const
Make a simple clone of this object.
void skipEvents()
Skip some events.
WeightOpt theWeightOption
The way weights are to be treated.
void accept()
Accept the current event, taking care of the statistics collection of the corresponding reader object...
All events have unit weight.
void increaseMaxXSec(CrossSection maxxsec)
Increase the overestimated cross section for the selected reader.
void persistentInput(PersistentIStream &is, int version)
Function used to read in object persistently.
XSecStat histStats
Collect statistics for this event handler.
double unitTolerance() const
If the weight option is set to unit weight, do not start compensating unless the weight is this much ...
void select(double weight)
An event has been selected.
virtual ~LesHouchesEventHandler()
The destructor.
virtual EventPtr generateEvent()
Generate an event.
virtual void doinitrun()
Initialize this object.
virtual void dofinish()
Finalize this object.
static ClassDescription< LesHouchesEventHandler > initLesHouchesEventHandler
The static object used to initialize the description of this class.
XSecStat stats
Collect statistics for this event handler.
RCPtr is a reference counted (smart) pointer.
WeightOpt
Enumerate the weighting options.
void persistentOutput(PersistentOStream &os) const
Function used to write out object persistently.
virtual CrossSection integratedXSecErr() const
The estimated error in the total integrated cross section of the processes generated in this run...
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
void setUnitTolerance(double)
Helper function for the interface;.
virtual EventPtr continueEvent()
Continue generating an event if the generation has been stopped before finishing. ...
The default concrete implementation of ClassTraitsBase.
This template class allows the compiler to check calculations with physical quantities for dimensiona...
virtual void doinit()
Initialize this object after the setup phase before saving an EventGenerator to disk.
static void Init()
The standard Init function used to initialize the interfaces.
virtual tCollPtr performCollision()
Create the Event and Collision objects.
All events have wight +/- 1.
virtual CrossSection integratedXSec() const
The estimated total integrated cross section of the processes generated in this run.
BaseClassTraits describes the base classes of the templated class.
XSecStat is a concrete helper class used to collect statistics about the cross section for a specific...
virtual void statistics(ostream &) const
Write out accumulated statistics about intergrated cross sections and stuff.
ReaderVector & readers()
Access the list of readers.
The templated ClassTraitsBase class defines a set of default information about classes used by ThePEG...
void reject(double weight)
Reject the current event, taking care of the statistics collection of the corresponding reader object...
const ReaderSelector & selector() const
The selector to choose readers according to their overestimated cross section.