ThePEG 2.3.0
|
The SubProcessHandler class is used to handle a set of MEBase objects together with a PartonExtractor. More...
#include <SubProcessHandler.h>
Public Types | |
typedef vector< HandlerGroupBase * > | GroupVector |
A vector of HandlerGroup pointers. | |
typedef vector< ReweightPtr > | ReweightVector |
A vector of ReweightBase pointers. | |
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 Member Functions | |
Standard constructors and destructors. | |
SubProcessHandler () | |
Default constructor. | |
SubProcessHandler (const SubProcessHandler &) | |
Copy-constructor. | |
virtual | ~SubProcessHandler () |
Default destructor. | |
Access objects assigned to the SubProcessHandler. | |
tPExtrPtr | pExtractor () const |
Return a pointer to the parton extractor used. | |
const MEVector & | MEs () const |
Return a reference to the vector of parton matrix elements used. | |
tCutsPtr | cuts () const |
Return a pointer to the kinematical cuts used. | |
tCascHdlPtr | CKKWHandler () const |
Return a pointer (possibly null) to the assigned main CascadeHandler to be used as CKKW-reweighter. | |
const HandlerGroupBase & | handlerGroup (Group::Handler) const |
Access a step handler group. | |
const GroupVector & | groups () const |
Access the step handler groups. | |
MEVector & | MEs () |
Return a reference to the vector of parton matrix elements used. | |
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. | |
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 | dofinish () |
Finalize this object. | |
virtual IVector | getReferences () |
Return a vector of all pointers to Interfaced objects used in this object. | |
virtual void | rebind (const TranslationMap &) |
Rebind pointer to other Interfaced objects. | |
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. | |
PExtrPtr | thePartonExtractor |
The pointer to the parton extractor used. | |
MEVector | theMEs |
The vector of partonic matrix elements to be used. | |
CutsPtr | theCuts |
The pointer to the kinematical cuts used. | |
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. | |
ReweightVector | reweights |
The pre- and re-weight objects modifying all matrix element in this sub-process hander. | |
ReweightVector | preweights |
The pre- and re-weight objects modifying all matrix element in this sub-process hander. | |
static ClassDescription< SubProcessHandler > | initSubProcessHandler |
Describe a concreta class with persistent data. | |
virtual void | doinit () |
Initialize this object after the setup phase before saving an EventGenerator to disk. | |
virtual void | doinitrun () |
Initialize this object. | |
void | setupGroups () |
Setup the step handler groups. | |
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. | |
const SubProcessHandler & | operator= (const SubProcessHandler &)=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. | |
The SubProcessHandler class is used to handle a set of MEBase objects together with a PartonExtractor.
It is used by the StandardEventHandler to group together different ways of extracting partons from incoming particles with associated hard parton-parton matrix elements.
Just as the EventHandler class, a SubProcessHandler keeps a full set of HandlerGroup
s, which may be filled with defaults which overrides the ones specified in the EventHandler in each event the SubProcessHandler is chosen.
The SubProcessHandler has also a Cuts object which is responsible for restricting the kinematics of the sub-process and produced collision. This object takes precedence over the one in the EventHandler in each event the SubProcessHandler is chosen.
Definition at line 49 of file SubProcessHandler.h.
typedef vector<HandlerGroupBase *> ThePEG::SubProcessHandler::GroupVector |
A vector of HandlerGroup pointers.
Definition at line 54 of file SubProcessHandler.h.
typedef vector<ReweightPtr> ThePEG::SubProcessHandler::ReweightVector |
A vector of ReweightBase pointers.
Definition at line 57 of file SubProcessHandler.h.
|
protectedvirtual |
Make a simple clone of this object.
Implements ThePEG::InterfacedBase.
|
inline |
Return a pointer to the kinematical cuts used.
Definition at line 96 of file SubProcessHandler.h.
References theCuts.
|
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::InterfacedBase.
|
inline |
Access the step handler groups.
Definition at line 112 of file SubProcessHandler.h.
References theGroups.
|
inline |
Return a reference to the vector of parton matrix elements used.
Definition at line 117 of file SubProcessHandler.h.
References theMEs.
|
inline |
Return a reference to the vector of parton matrix elements used.
Definition at line 91 of file SubProcessHandler.h.
References theMEs.
void ThePEG::SubProcessHandler::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::SubProcessHandler::persistentOutput | ( | PersistentOStream & | os | ) | const |
Function used to write out object persistently.
os | the persistent output stream written to. |
|
inline |
Return a pointer to the parton extractor used.
Definition at line 86 of file SubProcessHandler.h.
References thePartonExtractor.
|
staticprivate |
Describe a concreta class with persistent data.
Definition at line 253 of file SubProcessHandler.h.
|
private |
The pre- and re-weight objects modifying all matrix element in this sub-process hander.
Definition at line 240 of file SubProcessHandler.h.
|
private |
The pre- and re-weight objects modifying all matrix element in this sub-process hander.
Definition at line 235 of file SubProcessHandler.h.
|
private |
The CascadeHandler group.
Definition at line 209 of file SubProcessHandler.h.
|
private |
The pointer to the kinematical cuts used.
Definition at line 199 of file SubProcessHandler.h.
Referenced by cuts().
|
private |
The DecayHandler group.
Definition at line 224 of file SubProcessHandler.h.
|
private |
The step handler groups.
Definition at line 229 of file SubProcessHandler.h.
Referenced by groups().
|
private |
The HadronizationHandler group.
Definition at line 219 of file SubProcessHandler.h.
|
private |
The vector of partonic matrix elements to be used.
Definition at line 194 of file SubProcessHandler.h.
Referenced by MEs().
|
private |
The MultipleInteractionHandler group.
Definition at line 214 of file SubProcessHandler.h.
|
private |
The pointer to the parton extractor used.
Definition at line 189 of file SubProcessHandler.h.
Referenced by pExtractor().
|
private |
The SubProcessHandler group.
Definition at line 204 of file SubProcessHandler.h.