EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
sHEPGen Class Reference

#include <fun4all_coresoftware/blob/master/generators/sHEPGen/sHEPGen.h>

+ Inheritance diagram for sHEPGen:
+ Collaboration diagram for sHEPGen:

Public Member Functions

 sHEPGen (const std::string &name="sHEPGen")
 
virtual ~sHEPGen ()
 
int Init (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 
int End (PHCompositeNode *topNode)
 Called at the end of all processing.
 
void set_datacard_file (const char *cfg_file)
 
void set_momentum_electron (double emom)
 
void set_momentum_hadron (double hmom)
 
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.
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event.
 
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

void printlogo ()
 

Private Attributes

int _eventcount
 
double _p_electron_lab
 
double _p_hadron_lab
 
HLorentzVector * _p4_electron_lab
 
HLorentzVector * _p4_hadron_lab
 
HLorentzVector * _p4_hadron_lab_invert
 
HLorentzVector * _p4_electron_prest
 
HLorentzVector * _p4_hadron_prest
 
HGenManager * _hgenManager
 
std::string _datacardFile
 

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 = 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)
 

Detailed Description

Definition at line 25 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 25 of file sHEPGen.h

Constructor & Destructor Documentation

sHEPGen::sHEPGen ( const std::string &  name = "sHEPGen")

Definition at line 21 of file sHEPGen.C.

View newest version in sPHENIX GitHub at line 21 of file sHEPGen.C

References PHHepMCGenHelper::set_embedding_id().

+ Here is the call graph for this function:

sHEPGen::~sHEPGen ( )
virtual

Definition at line 37 of file sHEPGen.C.

View newest version in sPHENIX GitHub at line 37 of file sHEPGen.C

Member Function Documentation

void sHEPGen::beam_vertex_parameters ( double  beamX,
double  beamY,
double  beamZ,
double  beamXsigma,
double  beamYsigma,
double  beamZsigma 
)
inline

Definition at line 50 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 50 of file sHEPGen.h

References PHHepMCGenHelper::set_vertex_distribution_mean(), and PHHepMCGenHelper::set_vertex_distribution_width().

+ Here is the call graph for this function:

int sHEPGen::End ( PHCompositeNode )
virtual

Called at the end of all processing.

Reimplemented from SubsysReco.

Definition at line 117 of file sHEPGen.C.

View newest version in sPHENIX GitHub at line 117 of file sHEPGen.C

References Fun4AllReturnCodes::EVENT_OK.

int sHEPGen::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 41 of file sHEPGen.C.

View newest version in sPHENIX GitHub at line 41 of file sHEPGen.C

References _datacardFile, _eventcount, _hgenManager, _p4_electron_lab, _p4_electron_prest, _p4_hadron_lab, _p4_hadron_lab_invert, _p4_hadron_prest, _p_electron_lab, _p_hadron_lab, PHHepMCGenHelper::create_node_tree(), Fun4AllReturnCodes::EVENT_OK, and printlogo().

+ Here is the call graph for this function:

void sHEPGen::printlogo ( )
private

Print HEPGen++ logo to screen

Definition at line 241 of file sHEPGen.C.

View newest version in sPHENIX GitHub at line 241 of file sHEPGen.C

Referenced by Init().

+ Here is the caller graph for this function:

int sHEPGen::process_event ( PHCompositeNode )
virtual

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

Reimplemented from SubsysReco.

Definition at line 128 of file sHEPGen.C.

View newest version in sPHENIX GitHub at line 128 of file sHEPGen.C

References _eventcount, _hgenManager, _p4_hadron_lab, Fun4AllReturnCodes::ABORTRUN, Fun4AllReturnCodes::EVENT_OK, PHHepMCGenHelper::insert_event(), and p.

+ Here is the call graph for this function:

void sHEPGen::set_datacard_file ( const char *  cfg_file)
inline

Definition at line 35 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 35 of file sHEPGen.h

References _datacardFile.

void sHEPGen::set_momentum_electron ( double  emom)
inline

Definition at line 40 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 40 of file sHEPGen.h

References _p_electron_lab.

void sHEPGen::set_momentum_hadron ( double  hmom)
inline

Definition at line 45 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 45 of file sHEPGen.h

References _p_hadron_lab.

Member Data Documentation

std::string sHEPGen::_datacardFile
private

Definition at line 81 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 81 of file sHEPGen.h

Referenced by Init(), and set_datacard_file().

int sHEPGen::_eventcount
private

Definition at line 67 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 67 of file sHEPGen.h

Referenced by Init(), and process_event().

HGenManager* sHEPGen::_hgenManager
private

Definition at line 79 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 79 of file sHEPGen.h

Referenced by Init(), and process_event().

HLorentzVector* sHEPGen::_p4_electron_lab
private

Definition at line 72 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 72 of file sHEPGen.h

Referenced by Init().

HLorentzVector* sHEPGen::_p4_electron_prest
private

Definition at line 75 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 75 of file sHEPGen.h

Referenced by Init().

HLorentzVector* sHEPGen::_p4_hadron_lab
private

Definition at line 73 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 73 of file sHEPGen.h

Referenced by Init(), and process_event().

HLorentzVector* sHEPGen::_p4_hadron_lab_invert
private

Definition at line 74 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 74 of file sHEPGen.h

Referenced by Init().

HLorentzVector* sHEPGen::_p4_hadron_prest
private

Definition at line 76 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 76 of file sHEPGen.h

Referenced by Init().

double sHEPGen::_p_electron_lab
private

Definition at line 69 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 69 of file sHEPGen.h

Referenced by Init(), and set_momentum_electron().

double sHEPGen::_p_hadron_lab
private

Definition at line 70 of file sHEPGen.h.

View newest version in sPHENIX GitHub at line 70 of file sHEPGen.h

Referenced by Init(), and set_momentum_hadron().


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