#include <StandardEventHandler.h>
Public Types | |
typedef vector< SubHdlPtr > | SubHandlerList |
A vector of SubProcessHandler s. | |
typedef Selector< StdXCombPtr > | XSelector |
A weighted list of pointers to StandardXComb objects. | |
typedef vector< StdXCombPtr > | XVector |
A vector of pointers to StandardXComb objects. | |
typedef vector< CrossSection > | XSVector |
A vector of cross sections. | |
typedef map< tMEPtr, XVector > | MEXMap |
Map of pointers to StandardXComb objects indexed by pointers to the corresponding MEBase object. | |
Public Member 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 int total integrated cross section of the processes generated in this run. | |
Standard constructors and destructors. | |
StandardEventHandler () | |
Default constructor. | |
virtual | ~StandardEventHandler () |
Destructor. | |
Functions used for the actual generation | |
virtual CrossSection | dSigDR (const vector< double > &r) |
Return the cross section for the chosen phase space point. | |
virtual EventPtr | generateEvent () |
Generate an event. | |
virtual EventPtr | continueEvent () |
Continue generating an event if the generation has been stopped before finishing. | |
const LorentzRotation & | currentEventBoost () const |
Return the boost needed to transform the current event from the CMS system to the lab system. | |
Simple access functions | |
tCutsPtr | cuts () const |
Return a reference to the Cuts of this EventHandler. | |
int | nBins () const |
Return the number of separate bins of StandardXComb objects to sample. | |
int | maxDim (int bin) const |
Return the number of phase space dimensions needed for the sampling of indicated bin of StandardXComb objects. | |
bool | weighted () const |
Return true if this event handler should produce weightes events. | |
int | lumiDim () const |
The number of phase space dimensions used by the luminosity function. | |
int | nDim (int bin) const |
The number of dimensions of the basic phase space to generate sub-processes in for a given bin of StandardXComb objects. | |
Standard Interfaced functions. | |
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. | |
virtual void | dofinish () |
Finalize this 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 () |
Standard Init function used to initialize the interface. | |
Protected Member Functions | |
virtual CrossSection | dSigDR (const pair< double, double > ll, Energy2 maxS, int ibin, int nr, const double *r) |
Generate a phase space point and return the corresponding cross section. | |
tStdXCombPtr | select (int bin, double &weight) |
Select an StandardXComb. | |
void | addME (Energy maxEnergy, tSubHdlPtr sub, tPExtrPtr extractor, tCutsPtr cuts, tCascHdlPtr ckkw, tMEPtr me, const PBPair &pBins) |
Create and add StandardXComb objects. | |
tCollPtr | performCollision () |
For the sub-procss and phase-space point selected in the previous call to dSigDR, produce the first step of an actual Collision. | |
virtual void | initGroups () |
Initialize groups of StepHandler s. | |
LorentzRotation & | currentEventBoost () |
Return the boost needed to transform the current collision from the CMS system to the lab system. | |
void | setScale (Energy2) |
Set information about the current sub-process. | |
const XVector & | xCombs () const |
Return the vector of StandardXComb objects. | |
XVector & | xCombs () |
Return the vector of StandardXComb objects. | |
const XSVector & | xSecs () const |
Return the vector of cross sections. | |
XSVector & | xSecs () |
Return the vector of cross sections. | |
int | binStrategy () const |
Return the strategy to be used when sampling different StandardXComb objects. | |
void | reject (double weight) |
Reject a (partially) generated event. | |
tSamplerPtr | sampler () |
Return the sampler assigned to this event handler. | |
tcSamplerPtr | sampler () const |
Return the sampler assigned to this event handler. | |
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. | |
Private Member Functions | |
const SubHandlerList & | subProcesses () const |
Access the list of sub-process handlers. | |
SubHandlerList & | subProcesses () |
Access the list of sub-process handlers. | |
void | setIncomingA (PDPtr) |
Helper function for the interface. | |
void | setIncomingB (PDPtr) |
Helper function for the interface. | |
const StandardEventHandler & | operator= (const StandardEventHandler &) |
Private and non-existent assignment operator. | |
Private Attributes | |
PDPtr | theIncomingA |
The first of the incoming particle types. | |
PDPtr | theIncomingB |
The second of the incoming particle types. | |
SubHandlerList | theSubProcesses |
The list of SubProcessHandler s. | |
CutsPtr | theCuts |
The kinematical cuts used for this collision handler. | |
XVector | theXCombs |
The StandardXComb objects. | |
XSVector | theXSecs |
The (incrementally summed) cross sections associated with the StandardXComb objects for the last selected phase space point. | |
int | theBinStrategy |
The strategy to be used when sampling different StandardXComb objects. | |
MEXMap | theMEXMap |
The map used to store all XBins with the same matrix element for option 1 in theBinStrategy. | |
vector< int > | theMaxDims |
The number of degrees of freedom needed to generate the phase space for the different bins. | |
LorentzRotation | theCurrentEventBoost |
The boost needed to transform the current collision from the CMS system to the lab system. | |
bool | weightedEvents |
True if this event handler should produce weightes events. | |
SamplerPtr | theSampler |
The phase space sampler responsible for generating phase space points according to the cross section given by this event handler. | |
int | theLumiDim |
The number of phase space dimensions used by the luminosity function. | |
Static Private Attributes | |
static ClassDescription < StandardEventHandler > | initStandardEventHandler |
Standard Initialization object. |
It is derived from the basic EventHandler class.
Besides the standard doinit() method, the StandardEventHandler needs to be separately initialized with the initialize() method. In the dofinish() method statistics is written out to the EventGenerators default output file.
Definition at line 43 of file StandardEventHandler.h.
typedef vector<SubHdlPtr> ThePEG::StandardEventHandler::SubHandlerList |
A weighted list of pointers to StandardXComb objects.
Definition at line 51 of file StandardEventHandler.h.
typedef vector<StdXCombPtr> ThePEG::StandardEventHandler::XVector |
A vector of pointers to StandardXComb objects.
Definition at line 54 of file StandardEventHandler.h.
typedef vector<CrossSection> ThePEG::StandardEventHandler::XSVector |
typedef map<tMEPtr,XVector> ThePEG::StandardEventHandler::MEXMap |
Map of pointers to StandardXComb objects indexed by pointers to the corresponding MEBase object.
Definition at line 61 of file StandardEventHandler.h.
virtual CrossSection ThePEG::StandardEventHandler::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::StandardEventHandler::integratedXSec | ( | ) | const [virtual] |
The estimated total integrated cross section of the processes generated in this run.
Reimplemented from ThePEG::EventHandler.
virtual CrossSection ThePEG::StandardEventHandler::integratedXSecErr | ( | ) | const [virtual] |
The estimated error int total integrated cross section of the processes generated in this run.
Reimplemented from ThePEG::EventHandler.
virtual CrossSection ThePEG::StandardEventHandler::dSigDR | ( | const vector< double > & | r | ) | [virtual] |
Return the cross section for the chosen phase space point.
r | a vector of random numbers to be used in the generation of a phase space point. |
tCutsPtr ThePEG::StandardEventHandler::cuts | ( | ) | const [inline] |
Return a reference to the Cuts of this EventHandler.
Note that these cuts may be overridden by the SubProcess chosen.
Reimplemented from ThePEG::EventHandler.
Definition at line 147 of file StandardEventHandler.h.
References theCuts.
virtual CrossSection ThePEG::StandardEventHandler::dSigDR | ( | const pair< double, double > | ll, | |
Energy2 | maxS, | |||
int | ibin, | |||
int | nr, | |||
const double * | r | |||
) | [protected, virtual] |
Generate a phase space point and return the corresponding cross section.
Is called from sSigDR(const vector<double> &).
ll | a pair of doubles giving the logarithms of the (inverse energy fractions of the maximum CMS energy of the incoming particles. | |
maxS | the maximum squared CMS energy of the incoming particles. | |
ibin | the preselected bin of StandardXComb objects to choose sub-process from | |
nr | the number of random numbers availiable in r. | |
r | an array of random numbers to be used to generate a phase-space point. |
tStdXCombPtr ThePEG::StandardEventHandler::select | ( | int | bin, | |
double & | weight | |||
) | [protected] |
Select an StandardXComb.
Given a preselected bin, ibin of StandardXComb objects pick one to generate the corresponding sub-process with the given weight.
void ThePEG::StandardEventHandler::addME | ( | Energy | maxEnergy, | |
tSubHdlPtr | sub, | |||
tPExtrPtr | extractor, | |||
tCutsPtr | cuts, | |||
tCascHdlPtr | ckkw, | |||
tMEPtr | me, | |||
const PBPair & | pBins | |||
) | [protected] |
Create and add StandardXComb
objects.
maxEnergy | the maximum CMS energy of the incoming particles. | |
sub | a pointer to the SubProcessHandler object. | |
extractor | a pointer to the PartonExtractor object. | |
cuts | a pointer to the Cuts object. | |
ckkw | a pointer to a CascadeHandler to be used for CKKW reweighting. | |
me | a pointer to the MEBase object. | |
pBins | a pair of PartonBin s describing the partons extracted from the particles |
virtual void ThePEG::StandardEventHandler::initGroups | ( | ) | [protected, virtual] |
Initialize groups of StepHandler
s.
This overrides the method in the EventHandler, and the StepHandler
s given in the currently selected SubProcess take precedence over the ones specified in the EventHandler sub class.
Reimplemented from ThePEG::EventHandler.
LorentzRotation& ThePEG::StandardEventHandler::currentEventBoost | ( | ) | [inline, protected] |
Return the boost needed to transform the current collision from the CMS system to the lab system.
By default this is the unit transformation, but an EventHandler derived from this class may override it.
Definition at line 240 of file StandardEventHandler.h.
References theCurrentEventBoost.
int ThePEG::StandardEventHandler::binStrategy | ( | ) | const [inline, protected] |
Return the strategy to be used when sampling different StandardXComb objects.
Definition at line 274 of file StandardEventHandler.h.
References theBinStrategy.
virtual void ThePEG::StandardEventHandler::doinit | ( | ) | [virtual] |
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.
virtual void ThePEG::StandardEventHandler::doinitrun | ( | ) | [virtual] |
Initialize this object.
Called in the run phase just before a run begins.
Reimplemented from ThePEG::InterfacedBase.
virtual void ThePEG::StandardEventHandler::dofinish | ( | ) | [virtual] |
Finalize this object.
Called in the run phase just after a run has ended. Writes out statistics on the generation.
Reimplemented from ThePEG::EventHandler.
void ThePEG::StandardEventHandler::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
Reimplemented from ThePEG::EventHandler.
void ThePEG::StandardEventHandler::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.
virtual IBPtr ThePEG::StandardEventHandler::clone | ( | ) | const [protected, virtual] |
Make a simple clone of this object.
Reimplemented from ThePEG::EventHandler.
virtual IBPtr ThePEG::StandardEventHandler::fullclone | ( | ) | const [protected, virtual] |
Make a clone of this object, possibly modifying the cloned object to make it sane.
Reimplemented from ThePEG::EventHandler.
void ThePEG::StandardEventHandler::reject | ( | double | weight | ) | [protected] |
Reject a (partially) generated event.
weight | the weight given for the event. |
int ThePEG::StandardEventHandler::theBinStrategy [private] |
The strategy to be used when sampling different StandardXComb objects.
0 means all StandardXComb objects are sampled together. 1 means all StandardXComb objects which have the same matrix element object are sampled together. 2 means all StandardXComb objects are sampled separately.
Definition at line 412 of file StandardEventHandler.h.
Referenced by binStrategy().