class Gambit::ColliderBit::Py8Collider

A specializable, recyclable class interfacing ColliderBit and Pythia. More…

#include <Py8Collider.hpp>

Inherits from Gambit::ColliderBit::BaseCollider

Public Classes

Name
classEventGenerationError
An exception for when Pythia fails to generate events.
classInitializationError
An exception for when Pythia fails to initialize.

Public Functions

Name
Py8Collider()
~Py8Collider()
virtual voidclear()
Reset this instance for reuse, avoiding the need for “new” or “delete”.
voidaddToSettings(const std::string & command)
Add a command to the list of settings used by “init”.
voidbanner(const std::string pythiaDocPath)
Create a useless Pythia instance just to print the banner.
virtual voidinit()
Initialize with no settings (error): override version.
virtual voidinit(const std::vector< std::string > & externalSettings)
voidinit(const std::string pythiaDocPath, const std::vector< std::string > & externalSettings, const SLHAea::Coll * slhaea =nullptr, std::ostream & os =std::cout)
voidinit_user_model(const std::string pythiaDocPath, const std::vector< std::string > & externalSettings, const SLHAea::Coll * slhaea =nullptr, std::ostream & os =std::cout)
voidinit(const std::string pythiaDocPath, const std::vector< std::string > & externalSettings, std::ostream & os)
Initialize from some external settings, assuming no given SLHAea instance.
voidinit_user_model(const std::string pythiaDocPath, const std::vector< std::string > & externalSettings, std::ostream & os)
Initialize from some external settings, assuming no given SLHAea instance.
voidnextEvent(EventT & event) const
Event generation for any Pythia interface to Gambit.
virtual doublexsec_fb() const
Report the total or process-specific cross section (in fb or pb).
virtual doublexsec_fb(int process_code) const
virtual doublexsec_pb() const
virtual doublexsec_pb(int process_code) const
virtual doublexsecErr_fb() const
Report the uncertainty in the total or process-specific cross section (in fb or pb).
virtual doublexsecErr_fb(int process_code) const
virtual doublexsecErr_pb() const
virtual doublexsecErr_pb(int process_code) const
virtual intprocess_code() const
Report an integer process code for the last generated event.
virtual std::vector< int >all_active_process_codes() const
Report the list of all active process codes.
const PythiaT *pythia() const
Get the Pythia instance.
boolSetupMatchingUserHook()

Protected Attributes

Name
PythiaT *_pythiaInstance
PythiaT *_pythiaBase
std::vector< std::string >_pythiaSettings

Additional inherited members

Public Functions inherited from Gambit::ColliderBit::BaseCollider

Name
BaseCollider()
Constructor.
virtual~BaseCollider()
Destructor.

Public Attributes inherited from Gambit::ColliderBit::BaseCollider

Name
boolpartonOnly
Flag indicating if events from this collider should be processed as parton-only or full events.
doubleantiktR
The jet radius used for the anti-kt jet clustering.

Detailed Description

template <typename PythiaT ,
typename EventT ,
typename hepmc_writerT >
class Gambit::ColliderBit::Py8Collider;

A specializable, recyclable class interfacing ColliderBit and Pythia.

Public Functions Documentation

function Py8Collider

inline Py8Collider()

function ~Py8Collider

inline ~Py8Collider()

function clear

inline virtual void clear()

Reset this instance for reuse, avoiding the need for “new” or “delete”.

Reimplements: Gambit::ColliderBit::BaseCollider::clear

function addToSettings

inline void addToSettings(
    const std::string & command
)

Add a command to the list of settings used by “init”.

function banner

inline void banner(
    const std::string pythiaDocPath
)

Create a useless Pythia instance just to print the banner.

function init

inline virtual void init()

Initialize with no settings (error): override version.

Reimplements: Gambit::ColliderBit::BaseCollider::init

function init

inline virtual void init(
    const std::vector< std::string > & externalSettings
)

Note:

  • A string denoting the path to Pythia’s xmldoc directory is
  • assumed to be at the end of the settings vector:

Reimplements: Gambit::ColliderBit::BaseCollider::init

Initialize from some external settings: override version.

function init

inline void init(
    const std::string pythiaDocPath,
    const std::vector< std::string > & externalSettings,
    const SLHAea::Coll * slhaea =nullptr,
    std::ostream & os =std::cout
)

Note: This override is most commonly used in ColliderBit.

Initialize from some external settings.

function init_user_model

inline void init_user_model(
    const std::string pythiaDocPath,
    const std::vector< std::string > & externalSettings,
    const SLHAea::Coll * slhaea =nullptr,
    std::ostream & os =std::cout
)

Initialize from some external settings. Special version of the init function for user defined models Needs to directly construct the new matrix elements (rather than use flags)

function init

inline void init(
    const std::string pythiaDocPath,
    const std::vector< std::string > & externalSettings,
    std::ostream & os
)

Initialize from some external settings, assuming no given SLHAea instance.

function init_user_model

inline void init_user_model(
    const std::string pythiaDocPath,
    const std::vector< std::string > & externalSettings,
    std::ostream & os
)

Initialize from some external settings, assuming no given SLHAea instance.

function nextEvent

inline void nextEvent(
    EventT & event
) const

Event generation for any Pythia interface to Gambit.

function xsec_fb

inline virtual double xsec_fb() const

Report the total or process-specific cross section (in fb or pb).

Reimplements: Gambit::ColliderBit::BaseCollider::xsec_fb

function xsec_fb

inline virtual double xsec_fb(
    int process_code
) const

Reimplements: Gambit::ColliderBit::BaseCollider::xsec_fb

function xsec_pb

inline virtual double xsec_pb() const

Reimplements: Gambit::ColliderBit::BaseCollider::xsec_pb

function xsec_pb

inline virtual double xsec_pb(
    int process_code
) const

Reimplements: Gambit::ColliderBit::BaseCollider::xsec_pb

function xsecErr_fb

inline virtual double xsecErr_fb() const

Report the uncertainty in the total or process-specific cross section (in fb or pb).

Reimplements: Gambit::ColliderBit::BaseCollider::xsecErr_fb

function xsecErr_fb

inline virtual double xsecErr_fb(
    int process_code
) const

Reimplements: Gambit::ColliderBit::BaseCollider::xsecErr_fb

function xsecErr_pb

inline virtual double xsecErr_pb() const

Reimplements: Gambit::ColliderBit::BaseCollider::xsecErr_pb

function xsecErr_pb

inline virtual double xsecErr_pb(
    int process_code
) const

Reimplements: Gambit::ColliderBit::BaseCollider::xsecErr_pb

function process_code

inline virtual int process_code() const

Report an integer process code for the last generated event.

Reimplements: Gambit::ColliderBit::BaseCollider::process_code

function all_active_process_codes

inline virtual std::vector< int > all_active_process_codes() const

Report the list of all active process codes.

Reimplements: Gambit::ColliderBit::BaseCollider::all_active_process_codes

function pythia

inline const PythiaT * pythia() const

Get the Pythia instance.

function SetupMatchingUserHook

inline bool SetupMatchingUserHook()

Protected Attributes Documentation

variable _pythiaInstance

PythiaT * _pythiaInstance;

variable _pythiaBase

PythiaT * _pythiaBase;

variable _pythiaSettings

std::vector< std::string > _pythiaSettings;

Updated on 2023-06-26 at 21:36:52 +0000