|
Class Reference for E1039 Core & Analysis Software
|
PHHepMCGenHelper provides service of DST upload of HepMC subevent, vertex assignment and random generator. More...
#include </dev/shm/kenichi/update-github-e1039-doc/e1039-core/generators/phhepmc/PHHepMCGenHelper.h>
Public Types | |
| enum | VTXFUNC { Uniform, Gaus } |
| supported function distributions More... | |
Public Member Functions | |
| PHHepMCGenHelper () | |
| virtual | ~PHHepMCGenHelper () |
| void | set_vertex_distribution_function (VTXFUNC x, VTXFUNC y, VTXFUNC z, VTXFUNC t) |
| toss a new vertex according to a Uniform or Gaus distribution More... | |
| void | set_vertex_distribution_mean (const double x, const double y, const double z, const double t) |
| set the mean value of the vertex distribution, use PHENIX units of cm, ns More... | |
| void | set_vertex_distribution_width (const double x, const double y, const double z, const double t) |
| set the width of the vertex distribution function about the mean, use PHENIX units of cm, ns More... | |
| int | get_embedding_id () const |
| void | set_embedding_id (int id) |
| void | set_reuse_vertex (int src_embedding_id) |
| reuse vertex from another PHHepMCGenEvent with embedding_id = src_embedding_id Additional smearing and shift possible with set_vertex_distribution_*() More... | |
| int | create_node_tree (PHCompositeNode *topNode) |
| init interface nodes More... | |
| PHHepMCGenEvent * | insert_event (HepMC::GenEvent *evt) |
| send HepMC::GenEvent to DST tree. This function takes ownership of evt More... | |
| void | move_vertex (PHHepMCGenEvent *genevent) |
| move vertex according to vertex settings More... | |
| const PHHepMCGenEventMap * | get_geneventmap () const |
| PHHepMCGenEventMap * | get_geneventmap () |
| gsl_rng * | get_random_generator () |
| void | set_geneventmap (PHHepMCGenEventMap *geneventmap) |
Protected Member Functions | |
| double | smear (const double position, const double width, VTXFUNC dist) const |
Protected Attributes | |
| gsl_rng * | RandomGenerator |
PHHepMCGenHelper provides service of DST upload of HepMC subevent, vertex assignment and random generator.
Definition at line 32 of file PHHepMCGenHelper.h.
supported function distributions
| Enumerator | |
|---|---|
| Uniform |
uniform distribution with half width set via set_vertex_distribution_width() |
| Gaus |
normal distribution with sigma width set via set_vertex_distribution_width() |
Definition at line 39 of file PHHepMCGenHelper.h.
| PHHepMCGenHelper::PHHepMCGenHelper | ( | ) |
Definition at line 35 of file PHHepMCGenHelper.cc.
References RandomGenerator.
|
virtual |
Definition at line 59 of file PHHepMCGenHelper.cc.
References RandomGenerator.
| int PHHepMCGenHelper::create_node_tree | ( | PHCompositeNode * | topNode | ) |
init interface nodes
Definition at line 65 of file PHHepMCGenHelper.cc.
References Fun4AllReturnCodes::ABORTRUN, Fun4AllReturnCodes::EVENT_OK, PHNodeIterator::findFirst(), and PHWHERE.
Here is the call graph for this function:
|
inline |
embedding ID for the event positive ID is the embedded event of interest, e.g. jetty event from pythia negative IDs are backgrounds, .e.g out of time pile up collisions Usually, ID = 0 means the primary Au+Au collision background
Definition at line 60 of file PHHepMCGenHelper.h.
Referenced by Fun4AllOscarInputManager::ConvertFromOscar(), Fun4AllOscarInputManager::get_embedding_id(), Fun4AllHepMCInputManager::get_embedding_id(), PHPythia8::get_embedding_id(), Fun4AllHepMCPileupInputManager::run(), and Fun4AllHepMCInputManager::run().
Here is the caller graph for this function:
|
inline |
Definition at line 85 of file PHHepMCGenHelper.h.
Referenced by Fun4AllOscarInputManager::ConvertFromOscar(), Fun4AllHepMCPileupInputManager::run(), and Fun4AllHepMCInputManager::run().
Here is the caller graph for this function:
|
inline |
Definition at line 90 of file PHHepMCGenHelper.h.
|
inline |
Definition at line 96 of file PHHepMCGenHelper.h.
References RandomGenerator.
| PHHepMCGenEvent * PHHepMCGenHelper::insert_event | ( | HepMC::GenEvent * | evt | ) |
send HepMC::GenEvent to DST tree. This function takes ownership of evt
Definition at line 89 of file PHHepMCGenHelper.cc.
References PHHepMCGenEvent::addEvent(), PHHepMCGenEventMap::insert_event(), and move_vertex().
Referenced by Fun4AllOscarInputManager::ConvertFromOscar(), PHPythia8::process_event(), and Fun4AllHepMCInputManager::run().
Here is the call graph for this function:
Here is the caller graph for this function:| void PHHepMCGenHelper::move_vertex | ( | PHHepMCGenEvent * | genevent | ) |
move vertex according to vertex settings
Definition at line 102 of file PHHepMCGenHelper.cc.
References PHHepMCGenEventMap::get(), PHHepMCGenEvent::get_collision_vertex(), PHHepMCGenEventMap::identify(), PHHepMCGenEvent::moveVertex(), and smear().
Referenced by insert_event(), and Fun4AllHepMCPileupInputManager::run().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
embedding ID for the event positive ID is the embedded event of interest, e.g. jetty event from pythia negative IDs are backgrounds, .e.g out of time pile up collisions Usually, ID = 0 means the primary Au+Au collision background
Definition at line 66 of file PHHepMCGenHelper.h.
Referenced by Fun4AllHepMCPileupInputManager::Fun4AllHepMCPileupInputManager(), PHPythia8::PHPythia8(), Fun4AllOscarInputManager::set_embedding_id(), Fun4AllHepMCInputManager::set_embedding_id(), and PHPythia8::set_embedding_id().
Here is the caller graph for this function:
|
inline |
Definition at line 99 of file PHHepMCGenHelper.h.
Referenced by Fun4AllHepMCInputManager::Fun4AllHepMCInputManager(), and Fun4AllOscarInputManager::Fun4AllOscarInputManager().
Here is the caller graph for this function:
|
inline |
reuse vertex from another PHHepMCGenEvent with embedding_id = src_embedding_id Additional smearing and shift possible with set_vertex_distribution_*()
Definition at line 69 of file PHHepMCGenHelper.h.
Referenced by Fun4AllOscarInputManager::set_reuse_vertex(), Fun4AllHepMCInputManager::set_reuse_vertex(), and PHPythia8::set_reuse_vertex().
Here is the caller graph for this function:| void PHHepMCGenHelper::set_vertex_distribution_function | ( | VTXFUNC | x, |
| VTXFUNC | y, | ||
| VTXFUNC | z, | ||
| VTXFUNC | t | ||
| ) |
toss a new vertex according to a Uniform or Gaus distribution
Definition at line 137 of file PHHepMCGenHelper.cc.
Referenced by Fun4AllHepMCPileupInputManager::Fun4AllHepMCPileupInputManager(), Fun4AllOscarInputManager::set_vertex_distribution_function(), Fun4AllHepMCInputManager::set_vertex_distribution_function(), and PHPythia8::set_vertex_distribution_function().
Here is the caller graph for this function:| void PHHepMCGenHelper::set_vertex_distribution_mean | ( | const double | x, |
| const double | y, | ||
| const double | z, | ||
| const double | t | ||
| ) |
set the mean value of the vertex distribution, use PHENIX units of cm, ns
Definition at line 146 of file PHHepMCGenHelper.cc.
Referenced by Fun4AllHepMCPileupInputManager::Fun4AllHepMCPileupInputManager(), Fun4AllOscarInputManager::set_vertex_distribution_mean(), Fun4AllHepMCInputManager::set_vertex_distribution_mean(), and PHPythia8::set_vertex_distribution_mean().
Here is the caller graph for this function:| void PHHepMCGenHelper::set_vertex_distribution_width | ( | const double | x, |
| const double | y, | ||
| const double | z, | ||
| const double | t | ||
| ) |
set the width of the vertex distribution function about the mean, use PHENIX units of cm, ns
Definition at line 155 of file PHHepMCGenHelper.cc.
Referenced by Fun4AllHepMCPileupInputManager::Fun4AllHepMCPileupInputManager(), Fun4AllOscarInputManager::set_vertex_distribution_width(), Fun4AllHepMCInputManager::set_vertex_distribution_width(), and PHPythia8::set_vertex_distribution_width().
Here is the caller graph for this function:
|
protected |
Definition at line 164 of file PHHepMCGenHelper.cc.
References Gaus, RandomGenerator, and Uniform.
Referenced by move_vertex().
Here is the caller graph for this function:
|
protected |
Definition at line 106 of file PHHepMCGenHelper.h.
Referenced by get_random_generator(), PHHepMCGenHelper(), smear(), and ~PHHepMCGenHelper().