gambit is hosted by Hepforge, IPPP Durham
GAMBIT  v1.5.0-2191-ga4742ac
a Global And Modular Bsm Inference Tool
getPy8Collider.hpp File Reference

ColliderBit event loop functions returning collider Monte Carlo event simulators. More...

Include dependency graph for getPy8Collider.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Gambit
 TODO: see if we can use this one:
 
 Gambit::ColliderBit
 

Macros

#define DEBUG_PREFIX   "DEBUG: OMP thread " << omp_get_thread_num() << ": "
 
#define GET_SPECTRUM_AND_DECAYS_FOR_PYTHIA_SUSY(NAME, SPECTRUM)
 
#define GET_SPECTRUM_AND_DECAYS_FOR_PYTHIA_NONSUSY(NAME, SPECTRUM)
 
#define HEPMC_TYPE(PYTHIA_NS)   PYTHIA_NS::Pythia8::GAMBIT_hepmc_writer
 Work out last template arg of Py8Collider depending on whether we are using HepMC. More...
 
#define GET_SPECIFIC_PYTHIA(NAME, PYTHIA_NS, MODEL_EXTENSION)
 Retrieve a specific Pythia hard-scattering Monte Carlo simulation. More...
 
#define GET_SPECIFIC_PYTHIA_SLHA(NAME, PYTHIA_NS, MODEL_EXTENSION)
 Retrieve a specific Pythia hard-scattering Monte Carlo simulation from reading a SLHA file rather than getting a Spectrum + DecayTable. More...
 
#define GET_PYTHIA_AS_BASE_COLLIDER(NAME)
 Get a specific Pythia hard-scattering sim as a generator-independent pointer-to-BaseCollider. More...
 

Functions

template<typename PythiaT , typename EventT , typename hepmc_writerT >
void Gambit::ColliderBit::getPy8Collider (Py8Collider< PythiaT, EventT, hepmc_writerT > &result, const MCLoopInfo &RunMC, const SLHAstruct &slha, const str model_suffix, const int iteration, void(*wrapup)(), const Options &runOptions)
 Retrieve a Pythia hard-scattering Monte Carlo simulation. More...
 

Detailed Description

ColliderBit event loop functions returning collider Monte Carlo event simulators.


Authors (add name and date if you modify):

Author
Abram Krislock (a.m.b.nosp@m..kri.nosp@m.slock.nosp@m.@fys.nosp@m..uio..nosp@m.no)
Aldo Saavedra
Andy Buckley
Chris Rogan (croga.nosp@m.n@ce.nosp@m.rn.ch)
Date
2014 Aug
2015 May
Author
Pat Scott (p.sco.nosp@m.tt@i.nosp@m.mperi.nosp@m.al.a.nosp@m.c.uk)
Date
2015 Jul
2018 Jan
2019 Jan, Feb, May
Author
Anders Kvellestad (ander.nosp@m.s.kv.nosp@m.elles.nosp@m.tad@.nosp@m.fys.u.nosp@m.io.n.nosp@m.o)
Date
2017 March
2018 Jan
2018 May

Definition in file getPy8Collider.hpp.

Macro Definition Documentation

◆ DEBUG_PREFIX

#define DEBUG_PREFIX   "DEBUG: OMP thread " << omp_get_thread_num() << ": "

Definition at line 42 of file getPy8Collider.hpp.

Referenced by Gambit::ColliderBit::getPy8Collider().

◆ GET_PYTHIA_AS_BASE_COLLIDER

#define GET_PYTHIA_AS_BASE_COLLIDER (   NAME)
Value:
void NAME(const BaseCollider* &result) \
{ \
result = &(*Pipes::NAME::Dep::HardScatteringSim); \
} \

Get a specific Pythia hard-scattering sim as a generator-independent pointer-to-BaseCollider.

Definition at line 354 of file getPy8Collider.hpp.

◆ GET_SPECIFIC_PYTHIA

#define GET_SPECIFIC_PYTHIA (   NAME,
  PYTHIA_NS,
  MODEL_EXTENSION 
)
Value:
void NAME(Py8Collider<PYTHIA_NS::Pythia8::Pythia, \
PYTHIA_NS::Pythia8::Event, \
HEPMC_TYPE(PYTHIA_NS)> &result) \
{ \
using namespace Pipes::NAME; \
static SLHAstruct slha; \
\
if (*Loop::iteration == BASE_INIT) \
{ \
/* SLHAea object constructed from dependencies on the spectrum and decays. */ \
slha.clear(); \
slha = *Dep::SpectrumAndDecaysForPythia; \
} \
getPy8Collider(result, *Dep::RunMC, slha, #MODEL_EXTENSION, \
*Loop::iteration, Loop::wrapup, *runOptions); \
}
void getPy8Collider(Py8Collider< PythiaT, EventT, hepmc_writerT > &result, const MCLoopInfo &RunMC, const SLHAstruct &slha, const str model_suffix, const int iteration, void(*wrapup)(), const Options &runOptions)
Retrieve a Pythia hard-scattering Monte Carlo simulation.
SLHAea::Coll SLHAstruct
Less confusing name for SLHAea container class.
#define HEPMC_TYPE(PYTHIA_NS)
Work out last template arg of Py8Collider depending on whether we are using HepMC.

Retrieve a specific Pythia hard-scattering Monte Carlo simulation.

Definition at line 309 of file getPy8Collider.hpp.

◆ GET_SPECIFIC_PYTHIA_SLHA

#define GET_SPECIFIC_PYTHIA_SLHA (   NAME,
  PYTHIA_NS,
  MODEL_EXTENSION 
)
Value:
void NAME(Py8Collider<PYTHIA_NS::Pythia8::Pythia, \
PYTHIA_NS::Pythia8::Event, \
HEPMC_TYPE(PYTHIA_NS)> &result) \
{ \
using namespace Pipes::NAME; \
static SLHAstruct slha; \
\
if (*Loop::iteration == COLLIDER_INIT) \
{ \
const pair_str_SLHAstruct& filename_content_pair = *Dep::SLHAFileNameAndContent; \
if (filename_content_pair.first.empty()) \
{ \
piped_invalid_point.request("Got empty SLHA filename. Will invalidate point."); \
} \
} \
getPy8Collider(result, *Dep::RunMC, Dep::SLHAFileNameAndContent->second, \
#MODEL_EXTENSION, *Loop::iteration, Loop::wrapup, *runOptions); \
}
void getPy8Collider(Py8Collider< PythiaT, EventT, hepmc_writerT > &result, const MCLoopInfo &RunMC, const SLHAstruct &slha, const str model_suffix, const int iteration, void(*wrapup)(), const Options &runOptions)
Retrieve a Pythia hard-scattering Monte Carlo simulation.
SLHAea::Coll SLHAstruct
Less confusing name for SLHAea container class.
#define HEPMC_TYPE(PYTHIA_NS)
Work out last template arg of Py8Collider depending on whether we are using HepMC.

Retrieve a specific Pythia hard-scattering Monte Carlo simulation from reading a SLHA file rather than getting a Spectrum + DecayTable.

Definition at line 331 of file getPy8Collider.hpp.

◆ GET_SPECTRUM_AND_DECAYS_FOR_PYTHIA_NONSUSY

#define GET_SPECTRUM_AND_DECAYS_FOR_PYTHIA_NONSUSY (   NAME,
  SPECTRUM 
)
Value:
void NAME(SLHAstruct& result) \
{ \
using namespace Pipes::NAME; \
result.clear(); \
/* Get decays */ \
result = Dep::decay_rates->getSLHAea(2); \
/* Get spectrum */ \
SLHAstruct slha_spectrum = Dep::SPECTRUM->getSLHAea(2); \
result.insert(result.begin(), slha_spectrum.begin(), slha_spectrum.end()); \
}
SLHAea::Coll SLHAstruct
Less confusing name for SLHAea container class.
DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry DecayTable::Entry decay_rates

Definition at line 288 of file getPy8Collider.hpp.

◆ GET_SPECTRUM_AND_DECAYS_FOR_PYTHIA_SUSY

#define GET_SPECTRUM_AND_DECAYS_FOR_PYTHIA_SUSY (   NAME,
  SPECTRUM 
)

Definition at line 247 of file getPy8Collider.hpp.

◆ HEPMC_TYPE

#define HEPMC_TYPE (   PYTHIA_NS)    PYTHIA_NS::Pythia8::GAMBIT_hepmc_writer

Work out last template arg of Py8Collider depending on whether we are using HepMC.

Definition at line 305 of file getPy8Collider.hpp.