Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PHPythia6 Class Reference

#include <analysis/blob/master/EICTrigger/PHPythia6.h>

+ Inheritance diagram for PHPythia6:
+ Collaboration diagram for PHPythia6:

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 PHHepMCGenEventget_PHHepMCGenEvent_template () const
 choice of reference version of the PHHepMCGenEvent
 
PHHepMCGenEventinsert_event (HepMC::GenEvent *evt)
 send HepMC::GenEvent to DST tree. This function takes ownership of evt
 
const PHHepMCGenEventMapget_geneventmap () const
 
PHHepMCGenEventMapget_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, doublegenerate_vertx_with_bunch_interaction (PHHepMCGenEvent *genevent)
 

Detailed Description

Definition at line 18 of file PHPythia6.h.

View newest version in sPHENIX GitHub at line 18 of file PHPythia6.h

Constructor & Destructor Documentation

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().

+ Here is the call graph for this function:

PHPythia6::~PHPythia6 ( )
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")
PHPythia6::~PHPythia6 ( )
inlineoverride

Definition at line 18 of file PHPythia6.h.

View newest version in sPHENIX GitHub at line 18 of file PHPythia6.h

Member Function Documentation

void PHPythia6::beam_vertex_parameters ( double  beamX,
double  beamY,
double  beamZ,
double  beamXsigma,
double  beamYsigma,
double  beamZsigma 
)
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().

+ Here is the call graph for this function:

void PHPythia6::beam_vertex_parameters ( double  beamX,
double  beamY,
double  beamZ,
double  beamXsigma,
double  beamYsigma,
double  beamZsigma 
)
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().

+ Here is the call graph for this function:

int PHPythia6::CreateNodeTree ( PHCompositeNode topNode)
private

Referenced by Init().

+ Here is the caller graph for this function:

int PHPythia6::End ( PHCompositeNode )
overridevirtual

Called at the end of all processing.

Reimplemented from SubsysReco.

int PHPythia6::End ( PHCompositeNode )
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.

int PHPythia6::get_embedding_id ( ) const
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.

+ Here is the call graph for this function:

int PHPythia6::Init ( PHCompositeNode )
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.

int PHPythia6::Init ( PHCompositeNode )
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().

+ Here is the call graph for this function:

void PHPythia6::initPythia ( )
private

definition needed to use pythia wrapper headers from HepMC

void PHPythia6::initPythia ( )
private

definition needed to use pythia wrapper headers from HepMC

void PHPythia6::IntegerTest ( double  number)
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

void PHPythia6::IntegerTest ( double  number)
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().

+ Here is the caller graph for this function:

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

int PHPythia6::process_event ( PHCompositeNode )
overridevirtual

Called for each event. This is where you do the real work.

Reimplemented from SubsysReco.

int PHPythia6::process_event ( PHCompositeNode )
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.

+ Here is the call graph for this function:

int PHPythia6::ReadConfig ( const std::string &  cfg_file = "")
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.

+ Here is the call graph for this function:

int PHPythia6::ReadConfig ( const std::string  cfg_file = "")
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int PHPythia6::ResetEvent ( PHCompositeNode )
overridevirtual

Clean up after each event.

Reimplemented from SubsysReco.

int PHPythia6::ResetEvent ( PHCompositeNode )
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.

void PHPythia6::save_ascii ( const std::string &  fname = "pythia_hepmc.dat")
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.

void PHPythia6::save_ascii ( std::string  fname = "pythia_hepmc.dat")
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.

void PHPythia6::set_config_file ( const std::string &  cfg_file)
inline

Definition at line 28 of file PHPythia6.h.

View newest version in sPHENIX GitHub at line 28 of file PHPythia6.h

References _configFile.

void PHPythia6::set_config_file ( const std::string  cfg_file)
inline
void PHPythia6::set_embedding_id ( int  id)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHPythia6::set_reuse_vertex ( int  src_embedding_id)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHPythia6::set_trigger_AND ( )
inline

Definition at line 52 of file PHPythia6.h.

View newest version in sPHENIX GitHub at line 52 of file PHPythia6.h

References _triggersAND.

void PHPythia6::set_trigger_AND ( )
inline

Definition at line 57 of file PHPythia6.h.

View newest version in sPHENIX GitHub at line 57 of file PHPythia6.h

References _triggersAND.

void PHPythia6::set_trigger_OR ( )
inline

Definition at line 51 of file PHPythia6.h.

View newest version in sPHENIX GitHub at line 51 of file PHPythia6.h

References _triggersOR.

void PHPythia6::set_trigger_OR ( )
inline

Definition at line 56 of file PHPythia6.h.

View newest version in sPHENIX GitHub at line 56 of file PHPythia6.h

References _triggersOR.

void PHPythia6::set_vertex_distribution_function ( PHHepMCGenHelper::VTXFUNC  x,
PHHepMCGenHelper::VTXFUNC  y,
PHHepMCGenHelper::VTXFUNC  z,
PHHepMCGenHelper::VTXFUNC  t 
)
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().

+ Here is the call graph for this function:

void PHPythia6::set_vertex_distribution_mean ( const double  x,
const double  y,
const double  z,
const double  t 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void PHPythia6::set_vertex_distribution_width ( const double  x,
const double  y,
const double  z,
const double  t 
)
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().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Member Data Documentation

std::string PHPythia6::_configFile
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().

int PHPythia6::_eventcount
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().

std::string PHPythia6::_filename_ascii
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().

int PHPythia6::_geneventcount
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().

std::vector< PHPy6GenTrigger * > PHPythia6::_registeredTriggers
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().

bool PHPythia6::_save_ascii
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().

bool PHPythia6::_triggersAND
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().

bool PHPythia6::_triggersOR
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().

PHHepMCGenHelper PHPythia6::hepmc_helper
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().


The documentation for this class was generated from the following files: