Analysis Software
Documentation for sPHENIX simulation software
|
#include <coresoftware/blob/master/generators/PHSartre/PHSartre.h>
Public Member Functions | |
PHSartre (const std::string &name="PHSartre") | |
virtual | ~PHSartre () |
int | Init (PHCompositeNode *topNode) |
int | process_event (PHCompositeNode *topNode) |
int | ResetEvent (PHCompositeNode *topNode) |
Clean up after each event. | |
int | End (PHCompositeNode *topNode) |
Called at the end of all processing. | |
void | set_config_file (const std::string &cfg_file) |
void | print_config () const |
void | register_trigger (PHSartreGenTrigger *theTrigger) |
set event selection criteria | |
void | set_trigger_OR () |
void | set_trigger_AND () |
void | process_string (std::string s) |
pass commands directly to PYTHIA8 | |
void | beam_vertex_parameters (double beamX, double beamY, double beamZ, double beamXsigma, double beamYsigma, double beamZsigma) |
Public Member Functions inherited from SubsysReco | |
~SubsysReco () override | |
virtual int | EndRun (const int) |
Called at the end of each run. | |
virtual int | InitRun (PHCompositeNode *) |
virtual int | Reset (PHCompositeNode *) |
Reset. | |
void | Print (const std::string &="ALL") const override |
Public Member Functions inherited from Fun4AllBase | |
virtual | ~Fun4AllBase () |
virtual const std::string | Name () const |
Returns the name of this module. | |
virtual void | Name (const std::string &name) |
Sets the name of this module. | |
virtual void | Verbosity (const int ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual void | Verbosity (enu_Verbosity ival) |
Sets the verbosity of this module (0 by default=quiet). | |
virtual int | Verbosity () const |
Gets the verbosity of this module. | |
Public Member Functions inherited from PHHepMCGenHelper | |
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 | |
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 | |
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 | |
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_*() | |
virtual int | create_node_tree (PHCompositeNode *topNode) |
init interface nodes | |
const PHHepMCGenEvent * | get_PHHepMCGenEvent_template () const |
choice of reference version of the PHHepMCGenEvent | |
PHHepMCGenEvent * | insert_event (HepMC::GenEvent *evt) |
send HepMC::GenEvent to DST tree. This function takes ownership of evt | |
const PHHepMCGenEventMap * | get_geneventmap () const |
PHHepMCGenEventMap * | get_geneventmap () |
gsl_rng * | get_random_generator () |
void | set_geneventmap (PHHepMCGenEventMap *geneventmap) |
void | set_beam_direction_theta_phi (const double beamA_theta, const double beamA_phi, const double beamB_theta, const double beamB_phi) |
void | set_beam_angular_divergence_hv (const double beamA_divergence_h, const double beamA_divergence_v, const double beamB_divergence_h, const double beamB_divergence_v) |
void | set_beam_angular_z_coefficient_hv (const double beamA_h, const double beamA_v, const double beamB_h, const double beamB_v) |
void | use_beam_bunch_sim (bool b) |
simulate bunch interaction instead of applying vertex distributions | |
void | set_beam_bunch_width (const std::vector< double > &beamA, const std::vector< double > &beamB) |
void | CopySettings (PHHepMCGenHelper &helper) |
void | CopySettings (PHHepMCGenHelper *helper_dest) |
copy setting to helper_dest | |
void | CopyHelperSettings (PHHepMCGenHelper *helper_src) |
copy setting from helper_src | |
void | Print (const std::string &what="ALL") const |
void | PHHepMCGenHelper_Verbosity (int v) |
int | PHHepMCGenHelper_Verbosity () |
Private Member Functions | |
double | percent_diff (const double a, const double b) |
void | randomlyReverseBeams (Event *myEvent) |
void | ReverseBeams (Event *myEvent) |
Private Attributes | |
int | _eventcount = 0 |
int | _gencount = 0 |
std::vector< PHSartreGenTrigger * > | _registeredTriggers |
bool | _triggersOR = true |
bool | _triggersAND = false |
std::string | _configFile |
std::vector< std::string > | _commands |
Sartre * | _sartre = nullptr |
EventGeneratorSettings * | settings = nullptr |
TGenPhaseSpace * | decay = nullptr |
int | daughterID = -1 |
double | daughterMasses [2] = {} |
bool | doPerformDecay = false |
Additional Inherited Members | |
Public Types inherited from Fun4AllBase | |
enum | enu_Verbosity { VERBOSITY_QUIET = 0, VERBOSITY_SOME = 1, VERBOSITY_MORE = 2, VERBOSITY_EVEN_MORE = 3, VERBOSITY_A_LOT = 4, VERBOSITY_MAX = std::numeric_limits<int>::max() - 10 } |
Public Types inherited from PHHepMCGenHelper | |
enum | VTXFUNC { Uniform, Gaus } |
supported function distributions More... | |
Protected Member Functions inherited from SubsysReco | |
SubsysReco (const std::string &name="NONAME") | |
Protected Member Functions inherited from PHHepMCGenHelper | |
void | HepMC2Lab_boost_rotation_translation (PHHepMCGenEvent *genevent) |
Record the translation,boost,rotation for HepMC frame to lab frame according to collision settings. | |
void | move_vertex (PHHepMCGenEvent *genevent) |
move vertex in translation according to vertex settings | |
std::pair< double, double > | generate_vertx_with_bunch_interaction (PHHepMCGenEvent *genevent) |
Definition at line 19 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 19 of file PHSartre.h
PHSartre::PHSartre | ( | const std::string & | name = "PHSartre" | ) |
Definition at line 41 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 41 of file PHSartre.cc
References _sartre, and PHHepMCGenHelper::set_embedding_id().
|
virtual |
Definition at line 61 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 61 of file PHSartre.cc
References _sartre.
|
inline |
Definition at line 53 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 53 of file PHSartre.h
References PHHepMCGenHelper::set_vertex_distribution_mean(), and PHHepMCGenHelper::set_vertex_distribution_width().
|
virtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 112 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 112 of file PHSartre.cc
References _eventcount, _gencount, _sartre, Fun4AllReturnCodes::EVENT_OK, and Fun4AllBase::Verbosity().
|
virtual |
Called during initialization. Typically this is where you can book histograms, and e.g. register them to Fun4AllServer (so they can be output to file using Fun4AllServer::dumpHistos() method).
Reimplemented from SubsysReco.
Definition at line 66 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 66 of file PHSartre.cc
References _configFile, _eventcount, _sartre, Fun4AllReturnCodes::ABORTRUN, PHHepMCGenHelper::create_node_tree(), daughterID, daughterMasses, decay, doPerformDecay, Fun4AllReturnCodes::EVENT_OK, and settings.
Definition at line 65 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 65 of file PHSartre.h
void PHSartre::print_config | ( | ) | const |
Definition at line 136 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 136 of file PHSartre.cc
References settings.
|
virtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
Definition at line 141 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 141 of file PHSartre.cc
References _eventcount, _gencount, _registeredTriggers, _sartre, _triggersAND, _triggersOR, Fun4AllReturnCodes::ABORTRUN, daughterID, daughterMasses, decay, doPerformDecay, event, Fun4AllReturnCodes::EVENT_OK, genevent(), PHHepMCGenHelper::insert_event(), particle, randomlyReverseBeams(), ReverseBeams(), settings, and Fun4AllBase::Verbosity().
|
inline |
pass commands directly to PYTHIA8
Definition at line 51 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 51 of file PHSartre.h
References _commands.
|
private |
Definition at line 477 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 477 of file PHSartre.cc
References PHHepMCGenHelper::get_random_generator(), and i.
Referenced by process_event().
void PHSartre::register_trigger | ( | PHSartreGenTrigger * | theTrigger | ) |
set event selection criteria
Definition at line 470 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 470 of file PHSartre.cc
References _registeredTriggers, PHSartreGenTrigger::GetName(), and Fun4AllBase::Verbosity().
Referenced by Fun4All_G4_EICDetector_LQ(), Fun4All_G4_EICDetector_LQ_reference(), and Fun4All_G4_EICDetector_RICH().
|
virtual |
Clean up after each event.
Reimplemented from SubsysReco.
Definition at line 465 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 465 of file PHSartre.cc
References Fun4AllReturnCodes::EVENT_OK.
|
private |
Definition at line 491 of file PHSartre.cc.
View newest version in sPHENIX GitHub at line 491 of file PHSartre.cc
References i.
Referenced by process_event().
|
inline |
Definition at line 30 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 30 of file PHSartre.h
References _configFile.
Referenced by Fun4All_G4_EICDetector_LQ(), Fun4All_G4_EICDetector_LQ_reference(), Fun4All_G4_EICDetector_RICH(), Fun4All_Generator_Display(), and Fun4All_MCEventGen().
|
inline |
Definition at line 44 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 44 of file PHSartre.h
References _triggersAND, and _triggersOR.
|
inline |
Definition at line 39 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 39 of file PHSartre.h
References _triggersAND, and _triggersOR.
|
private |
Definition at line 78 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 78 of file PHSartre.h
Referenced by process_string().
|
private |
Definition at line 77 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 77 of file PHSartre.h
Referenced by Init(), and set_config_file().
|
private |
Definition at line 69 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 69 of file PHSartre.h
Referenced by End(), Init(), and process_event().
|
private |
Definition at line 70 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 70 of file PHSartre.h
Referenced by End(), and process_event().
|
private |
Definition at line 73 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 73 of file PHSartre.h
Referenced by process_event(), and register_trigger().
|
private |
Definition at line 81 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 81 of file PHSartre.h
Referenced by End(), Init(), PHSartre(), process_event(), and ~PHSartre().
|
private |
Definition at line 75 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 75 of file PHSartre.h
Referenced by process_event(), set_trigger_AND(), and set_trigger_OR().
|
private |
Definition at line 74 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 74 of file PHSartre.h
Referenced by process_event(), set_trigger_AND(), and set_trigger_OR().
|
private |
Definition at line 84 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 84 of file PHSartre.h
Referenced by Init(), and process_event().
|
private |
Definition at line 85 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 85 of file PHSartre.h
Referenced by Init(), and process_event().
|
private |
Definition at line 83 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 83 of file PHSartre.h
Referenced by Init(), and process_event().
|
private |
Definition at line 86 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 86 of file PHSartre.h
Referenced by Init(), and process_event().
|
private |
Definition at line 82 of file PHSartre.h.
View newest version in sPHENIX GitHub at line 82 of file PHSartre.h
Referenced by Init(), print_config(), and process_event().