ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/generators/phhepmc/Fun4AllHepMCPileupInputManager.h>
Public Member Functions | |
Fun4AllHepMCPileupInputManager (const std::string &name="DUMMY", const std::string &nodename="DST", const std::string &topnodename="TOP") | |
~Fun4AllHepMCPileupInputManager () override | |
int | run (const int nevents=0) override |
int | run (const int nevents, const bool skip) |
int | ResetEvent () override |
void | set_time_window (double past_nsec, double future_nsec) |
past times are negative, future times are positive | |
void | set_collision_rate (double Hz) |
collision rate in Hz | |
void | set_time_between_crossings (double nsec) |
time between bunch crossing in ns | |
int | SkipForThisManager (const int nevents) override |
void | SignalInputManager (Fun4AllHepMCInputManager *in) |
int | PushBackEvents (const int i) override |
Public Member Functions inherited from Fun4AllHepMCInputManager | |
Fun4AllHepMCInputManager (const std::string &name="DUMMY", const std::string &nodename="DST", const std::string &topnodename="TOP") | |
~Fun4AllHepMCInputManager () override | |
int | fileopen (const std::string &filenam) override |
int | fileclose () override |
void | ReadOscar (const int i) |
int | ReadOscar () const |
void | Print (const std::string &what="ALL") const override |
int | SyncIt (const SyncObject *) override |
int | GetSyncObject (SyncObject **) override |
int | NoSyncPushBackEvents (const int nevt) override |
HepMC::GenEvent * | ConvertFromOscar () |
int | MyCurrentEvent (const unsigned int index=0) const |
Public Member Functions inherited from Fun4AllInputManager | |
~Fun4AllInputManager () override | |
virtual int | ReadInRunNode (PHCompositeNode *) |
std::string | FileName () const |
void | FileName (const std::string &fn) |
virtual int | BranchSelect (const std::string &, const int) |
virtual int | setBranches () |
void | Print (const std::string &what="ALL") const override |
virtual int | skip (const int nevt) |
int | AddFile (const std::string &filename) |
int | AddListFile (const std::string &filename, const int do_it=0) |
int | registerSubsystem (SubsysReco *subsystem) |
virtual int | RejectEvent () |
void | Repeat (const int i=-1) |
virtual void | setSyncManager (Fun4AllSyncManager *master) |
virtual int | ResetFileList () |
virtual void | SetRunNumber (const int runno) |
virtual int | RunNumber () const |
void | AddToFileOpened (const std::string &filename) |
std::pair< std::list < std::string > ::const_iterator, std::list < std::string > ::const_iterator > | FileOpenListBeginEnd () |
std::string | InputNode () |
void | InputNode (const std::string &innode) |
std::string | TopNodeName () const |
bool | FileListEmpty () const |
virtual int | IsOpen () const |
virtual int | HasSyncObject () const |
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 | InsertEvent (HepMC::GenEvent *evt, const double crossing_time) |
Private Attributes | |
Fun4AllHepMCInputManager * | m_SignalInputManager = nullptr |
gsl_rng * | RandomGenerator = nullptr |
int | m_SignalEventNumber = 0 |
double | _min_integration_time = -17500.0 |
past times are negative, future times are positive | |
double | _max_integration_time = 17500.0 |
double | _collision_rate = 100.0e3 |
collision rate in Hz | |
double | _time_between_crossings = 106.0 |
time between bunch crossing in ns | |
double | _ave_coll_per_crossing = 1. |
int | _min_crossing = 0 |
int | _max_crossing = 0 |
bool | _first_run = true |
std::map< int, double > | m_EventNumberMap |
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 Fun4AllInputManager | |
Fun4AllInputManager (const std::string &name="DUMMY", const std::string &nodename="DST", const std::string &topnodename="TOP") | |
void | UpdateFileList () |
int | OpenNextFile () |
void | IsOpen (const int i) |
Fun4AllSyncManager * | MySyncManager () |
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) |
Protected Attributes inherited from Fun4AllHepMCInputManager | |
HepMC::GenEvent * | evt = nullptr |
int | events_total = 0 |
int | events_thisfile = 0 |
int | m_EventPushedBackFlag = 0 |
HepMC::IO_GenEvent * | ascii_in = nullptr |
std::string | m_HepMCTmpFile |
Generate pile up collisions based on beam parameter If set_embedding_id(i) with a negative number or 0, the pile up event will be inserted with increasing positive embedding_id. This is the default operation mode. If set_embedding_id(i) with a positive number, the pile up event will be inserted with increasing positive embedding_id. This would be a strange way to use pile up.
Definition at line 14 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 14 of file Fun4AllHepMCPileupInputManager.h
Fun4AllHepMCPileupInputManager::Fun4AllHepMCPileupInputManager | ( | const std::string & | name = "DUMMY" , |
const std::string & | nodename = "DST" , |
||
const std::string & | topnodename = "TOP" |
||
) |
repeatedly read the input file
If set_embedding_id(i) with a negative number or 0, the pile up event will be inserted with increasing positive embedding_id. This is the default operation mode.
Definition at line 22 of file Fun4AllHepMCPileupInputManager.cc.
View newest version in sPHENIX GitHub at line 22 of file Fun4AllHepMCPileupInputManager.cc
References RandomGenerator, Fun4AllInputManager::Repeat(), seed, and PHHepMCGenHelper::set_embedding_id().
|
override |
Definition at line 39 of file Fun4AllHepMCPileupInputManager.cc.
View newest version in sPHENIX GitHub at line 39 of file Fun4AllHepMCPileupInputManager.cc
References RandomGenerator.
|
private |
If set_embedding_id(i) with a positive number, the pile up event will be inserted with increasing positive embedding_id. This would be a strange way to use pile up.
If set_embedding_id(i) with a negative number or 0, the pile up event will be inserted with increasing positive embedding_id. This is the default operation mode.
Definition at line 243 of file Fun4AllHepMCPileupInputManager.cc.
View newest version in sPHENIX GitHub at line 243 of file Fun4AllHepMCPileupInputManager.cc
References PHHepMCGenEvent::addEvent(), genevent(), PHHepMCGenHelper::get_embedding_id(), PHHepMCGenHelper::get_geneventmap(), PHHepMCGenHelper::get_PHHepMCGenEvent_template(), PHHepMCGenHelper::HepMC2Lab_boost_rotation_translation(), PHHepMCGenEventMap::insert_active_event(), PHHepMCGenEventMap::insert_background_event(), and PHHepMCGenEvent::moveVertex().
Referenced by run().
Reimplemented from Fun4AllHepMCInputManager.
Definition at line 218 of file Fun4AllHepMCPileupInputManager.cc.
View newest version in sPHENIX GitHub at line 218 of file Fun4AllHepMCPileupInputManager.cc
References PHHepMCGenEventMap::begin(), PHHepMCGenEventMap::end(), PHHepMCGenHelper::get_geneventmap(), m_EventNumberMap, Fun4AllHepMCInputManager::m_EventPushedBackFlag, Fun4AllHepMCInputManager::m_HepMCTmpFile, Fun4AllBase::Name(), and nlohmann::to_string().
|
overridevirtual |
Reimplemented from Fun4AllHepMCInputManager.
Definition at line 211 of file Fun4AllHepMCPileupInputManager.cc.
View newest version in sPHENIX GitHub at line 211 of file Fun4AllHepMCPileupInputManager.cc
References m_EventNumberMap, and m_SignalEventNumber.
Referenced by run().
Reimplemented from Fun4AllHepMCInputManager.
Definition at line 22 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 22 of file Fun4AllHepMCPileupInputManager.h
References run().
Referenced by run(), and SkipForThisManager().
Definition at line 61 of file Fun4AllHepMCPileupInputManager.cc.
View newest version in sPHENIX GitHub at line 61 of file Fun4AllHepMCPileupInputManager.cc
References _ave_coll_per_crossing, _collision_rate, _first_run, _max_crossing, _max_integration_time, _min_crossing, _min_integration_time, _time_between_crossings, Fun4AllHepMCInputManager::ascii_in, Fun4AllHepMCInputManager::ConvertFromOscar(), e, Fun4AllReturnCodes::EVENT_OK, Fun4AllHepMCInputManager::events_thisfile, Fun4AllHepMCInputManager::events_total, Fun4AllHepMCInputManager::evt, Fun4AllHepMCInputManager::fileclose(), Fun4AllInputManager::FileListEmpty(), in, InsertEvent(), Fun4AllInputManager::IsOpen(), m_EventNumberMap, Fun4AllHepMCInputManager::m_EventPushedBackFlag, Fun4AllHepMCInputManager::m_HepMCTmpFile, m_SignalEventNumber, m_SignalInputManager, Fun4AllHepMCInputManager::MyCurrentEvent(), Fun4AllBase::Name(), Fun4AllInputManager::OpenNextFile(), RandomGenerator, Fun4AllHepMCInputManager::ReadOscar(), Fun4AllInputManager::RejectEvent(), ResetEvent(), second, Fun4AllBase::Verbosity(), and Fun4AllBase::VERBOSITY_SOME.
|
inline |
collision rate in Hz
Definition at line 34 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 34 of file Fun4AllHepMCPileupInputManager.h
References _collision_rate.
Referenced by InputManagers().
|
inline |
time between bunch crossing in ns
Definition at line 36 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 36 of file Fun4AllHepMCPileupInputManager.h
References _time_between_crossings.
|
inline |
past times are negative, future times are positive
Definition at line 27 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 27 of file Fun4AllHepMCPileupInputManager.h
References _max_integration_time, and _min_integration_time.
Referenced by InputManagers().
|
inline |
Definition at line 39 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 39 of file Fun4AllHepMCPileupInputManager.h
References in, and m_SignalInputManager.
Referenced by InputManagers().
Reimplemented from Fun4AllHepMCInputManager.
Definition at line 44 of file Fun4AllHepMCPileupInputManager.cc.
View newest version in sPHENIX GitHub at line 44 of file Fun4AllHepMCPileupInputManager.cc
References m_SignalEventNumber, m_SignalInputManager, Fun4AllHepMCInputManager::MyCurrentEvent(), and run().
|
private |
Definition at line 58 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 58 of file Fun4AllHepMCPileupInputManager.h
Referenced by run().
|
private |
collision rate in Hz
Definition at line 53 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 53 of file Fun4AllHepMCPileupInputManager.h
Referenced by run(), and set_collision_rate().
|
private |
Definition at line 62 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 62 of file Fun4AllHepMCPileupInputManager.h
Referenced by run().
|
private |
Definition at line 60 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 60 of file Fun4AllHepMCPileupInputManager.h
Referenced by run().
|
private |
Definition at line 51 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 51 of file Fun4AllHepMCPileupInputManager.h
Referenced by run(), and set_time_window().
|
private |
Definition at line 59 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 59 of file Fun4AllHepMCPileupInputManager.h
Referenced by run().
|
private |
past times are negative, future times are positive
Definition at line 50 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 50 of file Fun4AllHepMCPileupInputManager.h
Referenced by run(), and set_time_window().
|
private |
time between bunch crossing in ns
Definition at line 55 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 55 of file Fun4AllHepMCPileupInputManager.h
Referenced by run(), and set_time_between_crossings().
|
private |
Definition at line 64 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 64 of file Fun4AllHepMCPileupInputManager.h
Referenced by PushBackEvents(), ResetEvent(), and run().
|
private |
Definition at line 48 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 48 of file Fun4AllHepMCPileupInputManager.h
Referenced by ResetEvent(), run(), and SkipForThisManager().
|
private |
Definition at line 45 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 45 of file Fun4AllHepMCPileupInputManager.h
Referenced by run(), SignalInputManager(), and SkipForThisManager().
|
private |
Definition at line 46 of file Fun4AllHepMCPileupInputManager.h.
View newest version in sPHENIX GitHub at line 46 of file Fun4AllHepMCPileupInputManager.h
Referenced by Fun4AllHepMCPileupInputManager(), run(), and ~Fun4AllHepMCPileupInputManager().