Class Reference for E1039 Core & Analysis Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
SQPrimaryParticleGen Class Reference

#include </dev/shm/kenichi/update-github-e1039-doc/e1039-core/generators/E906LegacyGen/SQPrimaryParticleGen.h>

+ Inheritance diagram for SQPrimaryParticleGen:
+ Collaboration diagram for SQPrimaryParticleGen:

Public Member Functions

 SQPrimaryParticleGen ()
 
virtual ~SQPrimaryParticleGen ()
 
int Init (PHCompositeNode *topNode)
 
int InitRun (PHCompositeNode *topNode)
 
int process_event (PHCompositeNode *topNode)
 
bool generateDimuon (double mass, double xF, bool angular=false)
 Dimuon phase space generator. More...
 
void enablePythia ()
 
void enableCustomDimuon ()
 
void enableDrellYanGen ()
 
void enableJPsiGen ()
 
void enablePsipGen ()
 
void set_xfRange (const double xmin, const double xmax)
 
void set_massRange (const double mmin, const double mmax)
 
int generateDrellYan (PHCompositeNode *topNode, TVector3 vtx, const double pARatio, double luminosity)
 Various generators. More...
 
int generateJPsi (PHCompositeNode *topNode, TVector3 vtx, const double pARatio, double luminosity)
 
int generatePsip (PHCompositeNode *topNode, TVector3 vtx, const double pARatio, double luminosity)
 
int generatePythia (PHCompositeNode *topNode, TVector3 vtx, const double pARatio)
 
int generateCustomDimuon (PHCompositeNode *topNode, TVector3 vtx, const double pARatio)
 
- Public Member Functions inherited from PHG4ParticleGeneratorBase
virtual ~PHG4ParticleGeneratorBase ()
 
virtual void set_name (const std::string &particle="proton")
 
virtual void set_pid (const int pid)
 
virtual void set_mom (const double x, const double y, const double z)
 
virtual void set_vtx (const double x, const double y, const double z)
 
virtual void set_t0 (const double t)
 
virtual double get_vtx_x () const
 
virtual double get_vtx_y () const
 
virtual double get_vtx_z () const
 
virtual double get_t0 () const
 
virtual void Print (const std::string &what="ALL") const
 
virtual void AddParticle (const std::string &particle, const double x, const double y, const double z)
 
virtual void AddParticle (const int pid, const double x, const double y, const double z)
 
virtual void Embed (const int i=1)
 
virtual int ReuseExistingVertex (PHCompositeNode *topNode)
 
int get_reuse_existing_vertex () const
 
void set_reuse_existing_vertex (const int i=1)
 
void set_seed (const unsigned int iseed)
 
unsigned int get_seed () const
 
- Public Member Functions inherited from SubsysReco
virtual ~SubsysReco ()
 
virtual int End (PHCompositeNode *)
 Called at the end of all processing. More...
 
virtual int EndRun (const int)
 Called at the end of each run. More...
 
virtual int Reset (PHCompositeNode *)
 Reset. More...
 
virtual int ResetEvent (PHCompositeNode *)
 Clean up after each event. More...
 
- Public Member Functions inherited from Fun4AllBase
virtual ~Fun4AllBase ()
 
virtual const std::string Name () const
 Returns the name of this module. More...
 
virtual void Name (const std::string &name)
 Sets the name of this module. More...
 
virtual void Verbosity (const int ival)
 Sets the verbosity of this module (0 by default=quiet). More...
 
virtual void Verbosity (enu_Verbosity ival)
 Sets the verbosity of this module (0 by default=quiet). More...
 
virtual int Verbosity () const
 Gets the verbosity of this module. More...
 

Public Attributes

bool _Pythia
 
bool _CustomDimuon
 
bool _DrellYanGen
 
bool drellyanMode
 
bool _JPsiGen
 
bool _PsipGen
 
Int_t nEventsThrown
 Run-accumulated variables. More...
 
Int_t nEventsPhysics
 
Int_t nEventsAccepted
 

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
}
 
- Protected Member Functions inherited from PHG4ParticleGeneratorBase
 PHG4ParticleGeneratorBase (const std::string &name="GENERATORBASE")
 
int get_pdgcode (const std::string &name) const
 
std::string get_pdgname (const int pdgcode) const
 
double get_mass (const int pdgcode) const
 
void CheckAndCreateParticleVector ()
 
void SetParticleId (PHG4Particle *particle, PHG4InEvent *ineve)
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 
- Protected Member Functions inherited from Fun4AllBase
 Fun4AllBase (const std::string &name="NONAME")
 
- Protected Attributes inherited from PHG4ParticleGeneratorBase
int embedflag
 
int reuse_existing_vertex
 
double vtx_x
 
double vtx_y
 
double vtx_z
 
double t0
 
std::vector< PHG4Particle * > particlelist
 
unsigned int seed
 
gsl_rng * RandomGenerator
 
- Protected Attributes inherited from Fun4AllBase
std::string ThisName
 
int verbosity
 The verbosity level. 0 means not verbose at all. More...
 

Detailed Description

Definition at line 32 of file SQPrimaryParticleGen.h.

Constructor & Destructor Documentation

SQPrimaryParticleGen::SQPrimaryParticleGen ( )

Definition at line 77 of file SQPrimaryParticleGen.C.

SQPrimaryParticleGen::~SQPrimaryParticleGen ( )
virtual

Definition at line 95 of file SQPrimaryParticleGen.C.

Member Function Documentation

void SQPrimaryParticleGen::enableCustomDimuon ( )
inline

Definition at line 69 of file SQPrimaryParticleGen.h.

References _CustomDimuon.

void SQPrimaryParticleGen::enableDrellYanGen ( )
inline

Definition at line 71 of file SQPrimaryParticleGen.h.

References _DrellYanGen.

Referenced by EventDisplay4Sim(), and Fun4Sim().

+ Here is the caller graph for this function:

void SQPrimaryParticleGen::enableJPsiGen ( )
inline

Definition at line 74 of file SQPrimaryParticleGen.h.

References _JPsiGen.

Referenced by EventDisplay4Sim(), and Fun4Sim().

+ Here is the caller graph for this function:

void SQPrimaryParticleGen::enablePsipGen ( )
inline

Definition at line 76 of file SQPrimaryParticleGen.h.

References _PsipGen.

Referenced by EventDisplay4Sim(), and Fun4Sim().

+ Here is the caller graph for this function:

void SQPrimaryParticleGen::enablePythia ( )
inline

Definition at line 67 of file SQPrimaryParticleGen.h.

References _Pythia.

Referenced by EventDisplay4Sim(), and Fun4Sim().

+ Here is the caller graph for this function:

int SQPrimaryParticleGen::generateCustomDimuon ( PHCompositeNode topNode,
TVector3  vtx,
const double  pARatio 
)
bool SQPrimaryParticleGen::generateDimuon ( double  mass,
double  xF,
bool  angular = false 
)

Dimuon phase space generator.

Definition at line 389 of file SQPrimaryParticleGen.C.

References DPGEN::bv_cms, UtilDimuon::CalcVar(), drellyanMode, DPGEN::pT0DY, DPGEN::pT0JPsi, DPGEN::pTpowDY, DPGEN::pTpowJPsi, DPGEN::s, SQDimuon::set_mom_neg(), SQDimuon::set_mom_pos(), DPGEN::sqrts, and DPGEN::twopi.

Referenced by generateDrellYan(), generateJPsi(), and generatePsip().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SQPrimaryParticleGen::generateDrellYan ( PHCompositeNode topNode,
TVector3  vtx,
const double  pARatio,
double  luminosity 
)

Various generators.

Definition at line 213 of file SQPrimaryParticleGen.C.

References Fun4AllReturnCodes::ABORTEVENT, c1, UtilDimuon::CalcVar(), drellyanMode, and generateDimuon().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SQPrimaryParticleGen::generateJPsi ( PHCompositeNode topNode,
TVector3  vtx,
const double  pARatio,
double  luminosity 
)

Definition at line 285 of file SQPrimaryParticleGen.C.

References Fun4AllReturnCodes::ABORTEVENT, DPGEN::ajpsi, DPGEN::bjpsi, DPGEN::brjpsi, UtilDimuon::CalcVar(), generateDimuon(), DPGEN::mjpsi, DPGEN::sigmajpsi, and DPGEN::sqrt2pi.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SQPrimaryParticleGen::generatePsip ( PHCompositeNode topNode,
TVector3  vtx,
const double  pARatio,
double  luminosity 
)

Definition at line 313 of file SQPrimaryParticleGen.C.

References Fun4AllReturnCodes::ABORTEVENT, DPGEN::ajpsi, DPGEN::bjpsi, DPGEN::brjpsi, UtilDimuon::CalcVar(), generateDimuon(), DPGEN::mpsip, DPGEN::psipscale, DPGEN::sigmajpsi, and DPGEN::sqrt2pi.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SQPrimaryParticleGen::generatePythia ( PHCompositeNode topNode,
TVector3  vtx,
const double  pARatio 
)

Definition at line 342 of file SQPrimaryParticleGen.C.

References PHG4InEvent::AddParticle(), PHG4InEvent::AddVtx(), PHG4Particle::set_e(), PHG4Particle::set_name(), PHG4Particle::set_pid(), PHG4Particle::set_px(), PHG4Particle::set_py(), PHG4Particle::set_pz(), PHG4Particle::set_track_id(), and PHG4Particle::set_vtx_id().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int SQPrimaryParticleGen::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 103 of file SQPrimaryParticleGen.C.

References _Pythia, Fun4AllReturnCodes::EVENT_OK, and PHG4ParticleGeneratorBase::seed.

int SQPrimaryParticleGen::InitRun ( PHCompositeNode )
virtual

Called for first event when run number is known. Typically this is where you may want to fetch data from database, because you know the run number.

Reimplemented from PHG4ParticleGeneratorBase.

Definition at line 159 of file SQPrimaryParticleGen.C.

References PHCompositeNode::addNode(), and PHNodeIterator::findFirst().

+ Here is the call graph for this function:

int SQPrimaryParticleGen::process_event ( PHCompositeNode )
virtual

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

Reimplemented from PHG4ParticleGeneratorBase.

Definition at line 188 of file SQPrimaryParticleGen.C.

References _DrellYanGen, _JPsiGen, _PsipGen, _Pythia, Fun4AllReturnCodes::EVENT_OK, generateDrellYan(), generateJPsi(), generatePsip(), generatePythia(), SQPrimaryVertexGen::getLuminosity(), SQPrimaryVertexGen::getPARatio(), PHGeomUtility::GetTGeoManager(), SQPrimaryVertexGen::InitRun(), and SQPrimaryVertexGen::traverse().

+ Here is the call graph for this function:

void SQPrimaryParticleGen::set_massRange ( const double  mmin,
const double  mmax 
)
inline

Definition at line 83 of file SQPrimaryParticleGen.h.

Referenced by EventDisplay4Sim(), and Fun4Sim().

+ Here is the caller graph for this function:

void SQPrimaryParticleGen::set_xfRange ( const double  xmin,
const double  xmax 
)
inline

Definition at line 79 of file SQPrimaryParticleGen.h.

Referenced by EventDisplay4Sim(), and Fun4Sim().

+ Here is the caller graph for this function:

Member Data Documentation

bool SQPrimaryParticleGen::_CustomDimuon

Definition at line 70 of file SQPrimaryParticleGen.h.

Referenced by enableCustomDimuon().

bool SQPrimaryParticleGen::_DrellYanGen

Definition at line 72 of file SQPrimaryParticleGen.h.

Referenced by enableDrellYanGen(), and process_event().

bool SQPrimaryParticleGen::_JPsiGen

Definition at line 75 of file SQPrimaryParticleGen.h.

Referenced by enableJPsiGen(), and process_event().

bool SQPrimaryParticleGen::_PsipGen

Definition at line 77 of file SQPrimaryParticleGen.h.

Referenced by enablePsipGen(), and process_event().

bool SQPrimaryParticleGen::_Pythia

Definition at line 68 of file SQPrimaryParticleGen.h.

Referenced by enablePythia(), Init(), and process_event().

bool SQPrimaryParticleGen::drellyanMode

Definition at line 73 of file SQPrimaryParticleGen.h.

Referenced by generateDimuon(), and generateDrellYan().

Int_t SQPrimaryParticleGen::nEventsAccepted

Definition at line 62 of file SQPrimaryParticleGen.h.

Int_t SQPrimaryParticleGen::nEventsPhysics

Definition at line 61 of file SQPrimaryParticleGen.h.

Int_t SQPrimaryParticleGen::nEventsThrown

Run-accumulated variables.

Definition at line 60 of file SQPrimaryParticleGen.h.


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