Analysis Software
Documentation for sPHENIX simulation software
|
#include <analysis/blob/master/EICTrigger/PHPythia6.h>
Public Member Functions | |
PHPythia6 (const std::string &name="PHPythia6") | |
virtual | ~PHPythia6 () |
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 | beam_vertex_parameters (double beamX, double beamY, double beamZ, double beamXsigma, double beamYsigma, double beamZsigma) |
void | save_ascii (std::string fname="pythia_hepmc.dat") |
void | register_trigger (PHPy6GenTrigger *theTrigger) |
set event selection criteria | |
void | set_trigger_OR () |
void | set_trigger_AND () |
void | set_vertex_distribution_function (PHHepMCGenHelper::VTXFUNC x, PHHepMCGenHelper::VTXFUNC y, PHHepMCGenHelper::VTXFUNC z, PHHepMCGenHelper::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 | |
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_*() | |
int | get_embedding_id () const |
void | set_embedding_id (int id) |
PHPythia6 (const std::string &name="PHPythia6") | |
~PHPythia6 () override | |
int | Init (PHCompositeNode *topNode) override |
int | process_event (PHCompositeNode *topNode) override |
int | ResetEvent (PHCompositeNode *topNode) override |
Clean up after each event. | |
int | End (PHCompositeNode *topNode) override |
Called at the end of all processing. | |
void | set_config_file (const std::string &cfg_file) |
void | print_config () const |
void | beam_vertex_parameters (double beamX, double beamY, double beamZ, double beamXsigma, double beamYsigma, double beamZsigma) |
void | save_ascii (const std::string &fname="pythia_hepmc.dat") |
void | register_trigger (PHPy6GenTrigger *theTrigger) |
set event selection criteria | |
void | set_trigger_OR () |
void | set_trigger_AND () |
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 | |
int | ReadConfig (const std::string cfg_file="") |
int | CreateNodeTree (PHCompositeNode *topNode) |
void | IntegerTest (double number) |
void | initPythia () |
int | ReadConfig (const std::string &cfg_file="") |
void | IntegerTest (double number) |
void | initPythia () |
Private Attributes | |
int | _eventcount |
int | _geneventcount |
std::string | _configFile |
bool | _save_ascii |
std::string | _filename_ascii |
std::vector< PHPy6GenTrigger * > | _registeredTriggers |
bool | _triggersOR |
bool | _triggersAND |
PHHepMCGenHelper | hepmc_helper |
helper for insert HepMC event to DST node and add vertex smearing | |
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 18 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 18 of file PHPythia6.h
PHPythia6::PHPythia6 | ( | const std::string & | name = "PHPythia6" | ) |
Definition at line 46 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 46 of file PHPythia6.C
References PHHepMCGenHelper::set_embedding_id().
|
virtual |
Definition at line 60 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 60 of file PHPythia6.C
PHPythia6::PHPythia6 | ( | const std::string & | name = "PHPythia6" | ) |
|
inlineoverride |
Definition at line 18 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 18 of file PHPythia6.h
|
inline |
Definition at line 32 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 32 of file PHPythia6.h
References set_vertex_distribution_mean(), and set_vertex_distribution_width().
|
inline |
Definition at line 37 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 37 of file PHPythia6.h
References set_vertex_distribution_mean(), and set_vertex_distribution_width().
|
private |
|
overridevirtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
|
virtual |
Called at the end of all processing.
Reimplemented from SubsysReco.
Definition at line 100 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 100 of file PHPythia6.C
References _eventcount, _geneventcount, and Fun4AllReturnCodes::EVENT_OK.
|
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 87 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 87 of file PHPythia6.h
References PHHepMCGenHelper::get_embedding_id(), and hepmc_helper.
|
overridevirtual |
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.
|
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 64 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 64 of file PHPythia6.C
References _configFile, _eventcount, CreateNodeTree(), Fun4AllReturnCodes::EVENT_OK, PHWHERE, pydatr, and ReadConfig().
|
private |
definition needed to use pythia wrapper headers from HepMC
|
private |
definition needed to use pythia wrapper headers from HepMC
|
private |
Certain Pythia switches and parameters only accept integer values This function checks if input values are integers and warns the user if they are not
|
private |
Certain Pythia switches and parameters only accept integer values This function checks if input values are integers and warns the user if they are not
Definition at line 455 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 455 of file PHPythia6.C
Referenced by ReadConfig().
void PHPythia6::print_config | ( | ) | const |
void PHPythia6::print_config | ( | ) | const |
Definition at line 343 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 343 of file PHPythia6.C
|
overridevirtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
|
virtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
Definition at line 346 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 346 of file PHPythia6.C
References _eventcount, _filename_ascii, _geneventcount, _registeredTriggers, _save_ascii, _triggersAND, _triggersOR, Fun4AllReturnCodes::ABORTRUN, Fun4AllReturnCodes::EVENT_OK, PHHepMCGenHelper::insert_event(), out, pypars, and verbosity.
|
private |
Definition at line 118 of file PHPythia6.cc.
View newest version in sPHENIX GitHub at line 118 of file PHPythia6.cc
References _configFile, index, infile, IntegerTest(), CKF_timing_vs_mu::label, line, pydat1, pydat2, pydat3, pyjets, pypars, pysubs, pytune, Acts::Test::transform, and value.
|
private |
Definition at line 121 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 121 of file PHPythia6.C
References _configFile, index, infile, IntegerTest(), CKF_timing_vs_mu::label, line, pydat1, pydat2, pydat3, pyjets, pypars, pysubs, pytune, Acts::Test::transform, and value.
Referenced by Init().
void PHPythia6::register_trigger | ( | PHPy6GenTrigger * | theTrigger | ) |
set event selection criteria
void PHPythia6::register_trigger | ( | PHPy6GenTrigger * | theTrigger | ) |
set event selection criteria
Definition at line 472 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 472 of file PHPythia6.C
References _registeredTriggers, PHPy6GenTrigger::GetName(), and verbosity.
Referenced by Fun4All_G4_EICDetector_LQ(), and Fun4All_Pythia6().
|
overridevirtual |
Clean up after each event.
Reimplemented from SubsysReco.
|
virtual |
Clean up after each event.
Reimplemented from SubsysReco.
Definition at line 468 of file PHPythia6.C.
View newest version in sPHENIX GitHub at line 468 of file PHPythia6.C
References Fun4AllReturnCodes::EVENT_OK.
|
inline |
Definition at line 43 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 43 of file PHPythia6.h
References _filename_ascii, _save_ascii, and INTTVtxZ::fname.
|
inline |
Definition at line 48 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 48 of file PHPythia6.h
References _filename_ascii, _save_ascii, and INTTVtxZ::fname.
|
inline |
Definition at line 28 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 28 of file PHPythia6.h
References _configFile.
|
inline |
Definition at line 33 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 33 of file PHPythia6.h
References _configFile.
Referenced by Fun4All_EICAnalysis_DVCS(), Fun4All_G4_EICDetector_AnaTutorial(), Fun4All_G4_EICDetector_LQ(), Fun4All_G4_EICDetector_LQ_reference(), Fun4All_G4_EICDetector_RICH(), Fun4All_G4_fsPHENIX_FastSim(), Fun4All_G4_fsPHENIX_pi0(), Fun4All_G4_sPHENIX(), Fun4All_G4_sPHENIX_AnaGenFit(), Fun4All_G4_sPHENIX_photonjet(), Fun4All_G4_sPHENIX_photons(), Fun4All_G4_sPHENIX_truthphotonjet(), Fun4All_Generator_Display(), Fun4All_MCEventGen(), Fun4All_Pythia6(), Fun4All_single_particle(), and InputInit().
|
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 93 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 93 of file PHPythia6.h
References hepmc_helper, and PHHepMCGenHelper::set_embedding_id().
Referenced by InputInit().
|
inline |
reuse vertex from another PHHepMCGenEvent with embedding_id = src_embedding_id Additional smearing and shift possible with set_vertex_distribution_*()
Definition at line 78 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 78 of file PHPythia6.h
References hepmc_helper, and PHHepMCGenHelper::set_reuse_vertex().
Referenced by Fun4All_G4_sPHENIX_photonjet(), Fun4All_G4_sPHENIX_photons(), and Fun4All_G4_sPHENIX_truthphotonjet().
|
inline |
Definition at line 52 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 52 of file PHPythia6.h
References _triggersAND.
|
inline |
Definition at line 57 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 57 of file PHPythia6.h
References _triggersAND.
|
inline |
Definition at line 51 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 51 of file PHPythia6.h
References _triggersOR.
|
inline |
Definition at line 56 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 56 of file PHPythia6.h
References _triggersOR.
|
inline |
toss a new vertex according to a Uniform or Gaus distribution
Definition at line 60 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 60 of file PHPythia6.h
References hepmc_helper, and PHHepMCGenHelper::set_vertex_distribution_function().
|
inline |
set the mean value of the vertex distribution, use PHENIX units of cm, ns
Definition at line 66 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 66 of file PHPythia6.h
References hepmc_helper, and PHHepMCGenHelper::set_vertex_distribution_mean().
Referenced by beam_vertex_parameters().
|
inline |
set the width of the vertex distribution function about the mean, use PHENIX units of cm, ns
Definition at line 72 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 72 of file PHPythia6.h
References hepmc_helper, and PHHepMCGenHelper::set_vertex_distribution_width().
Referenced by beam_vertex_parameters().
|
private |
Definition at line 109 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 109 of file PHPythia6.h
Referenced by Init(), ReadConfig(), and set_config_file().
|
private |
Definition at line 105 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 105 of file PHPythia6.h
Referenced by End(), Init(), and process_event().
|
private |
ASCII file name to save HepMC event to
Definition at line 119 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 119 of file PHPythia6.h
Referenced by process_event(), and save_ascii().
|
private |
Definition at line 106 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 106 of file PHPythia6.h
Referenced by End(), and process_event().
|
private |
Definition at line 122 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 122 of file PHPythia6.h
Referenced by process_event(), and register_trigger().
|
private |
Save HepMC event to ASCII file?
Definition at line 114 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 114 of file PHPythia6.h
Referenced by process_event(), and save_ascii().
|
private |
Definition at line 124 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 124 of file PHPythia6.h
Referenced by process_event(), and set_trigger_AND().
|
private |
Definition at line 123 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 123 of file PHPythia6.h
Referenced by process_event(), and set_trigger_OR().
|
private |
helper for insert HepMC event to DST node and add vertex smearing
Definition at line 131 of file PHPythia6.h.
View newest version in sPHENIX GitHub at line 131 of file PHPythia6.h
Referenced by get_embedding_id(), set_embedding_id(), set_reuse_vertex(), set_vertex_distribution_function(), set_vertex_distribution_mean(), and set_vertex_distribution_width().