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

#include <fun4all_coresoftware/blob/master/simulation/g4simulation/g4main/Fun4AllSingleDstPileupInputManager.h>

+ Inheritance diagram for Fun4AllSingleDstPileupInputManager:
+ Collaboration diagram for Fun4AllSingleDstPileupInputManager:

Classes

class  Deleter
 random generator More...
 

Public Member Functions

 Fun4AllSingleDstPileupInputManager (const std::string &name="DUMMY", const std::string &nodename="DST", const std::string &topnodename="TOP")
 
int fileopen (const std::string &filenam) override
 
int fileclose () override
 
int run (const int nevents=0) override
 
int BranchSelect (const std::string &branch, const int iflag) override
 
int setBranches () override
 
void Print (const std::string &what="ALL") const override
 
int PushBackEvents (const int i) override
 
int SyncIt (const SyncObject *) override
 
int GetSyncObject (SyncObject **) override
 
int NoSyncPushBackEvents (const int nevt) override
 
void setCollisionRate (double Hz)
 collision rate in Hz
 
void setTimeBetweenCrossings (double nsec)
 time between bunch crossing in ns
 
void setPileupTimeWindow (double tmin, double tmax)
 set time window for pileup events (ns)
 
- Public Member Functions inherited from Fun4AllInputManager
 ~Fun4AllInputManager () override
 
virtual int ReadInRunNode (PHCompositeNode *)
 
std::string FileName () const
 
void FileName (const std::string &fn)
 
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 int ResetEvent ()
 
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 SkipForThisManager (const int)
 
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.
 

Private Attributes

std::string m_fullfilename
 
std::string m_RunNode = "RUN"
 
std::map< const std::string, int > m_branchread
 
PHCompositeNodem_dstNode = nullptr
 dst node from TopNode
 
PHCompositeNodem_runNode = nullptr
 run node from TopNode
 
std::unique_ptr< PHCompositeNodem_dstNodeInternal
 internal dst node to copy background events
 
std::unique_ptr< PHNodeIOManagerm_IManager
 input manager for active (trigger) events
 
std::unique_ptr< PHNodeIOManagerm_IManager_background
 input manager for background (pileup) events
 
double m_time_between_crossings = 106
 time between crossings. This is a RHIC constant (ns)
 
double m_collision_rate = 5e4
 collision rate (Hz)
 
double m_tmin = -13500
 min integration time for pileup in the TPC (ns)
 
double m_tmax = 13500
 max integration time for pileup in the TPC (ns)
 
std::unique_ptr< gsl_rng, Deleterm_rng
 
event counters
bool m_ReadRunTTree = true
 
int m_ievent_total = 0
 
int m_ievent_thisfile = 0
 
internal runnodes to perform the summation over multiple runs
std::unique_ptr< PHCompositeNodem_runNodeCopy
 
std::unique_ptr< PHCompositeNodem_runNodeSum
 

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

Detailed Description

dedicated input manager that merges single events into "merged" events, containing a trigger event and a number of time-shifted pile-up events corresponding to a given pile-up rate

Definition at line 29 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 29 of file Fun4AllSingleDstPileupInputManager.h

Constructor & Destructor Documentation

Fun4AllSingleDstPileupInputManager::Fun4AllSingleDstPileupInputManager ( const std::string &  name = "DUMMY",
const std::string &  nodename = "DST",
const std::string &  topnodename = "TOP" 
)

Definition at line 33 of file Fun4AllSingleDstPileupInputManager.cc.

View newest version in sPHENIX GitHub at line 33 of file Fun4AllSingleDstPileupInputManager.cc

References m_rng.

Member Function Documentation

int Fun4AllSingleDstPileupInputManager::BranchSelect ( const std::string &  branch,
const int  iflag 
)
overridevirtual

Reimplemented from Fun4AllInputManager.

Definition at line 270 of file Fun4AllSingleDstPileupInputManager.cc.

View newest version in sPHENIX GitHub at line 270 of file Fun4AllSingleDstPileupInputManager.cc

References m_branchread, and Fun4AllBase::Verbosity().

+ Here is the call graph for this function:

int Fun4AllSingleDstPileupInputManager::fileclose ( )
overridevirtual

Reimplemented from Fun4AllInputManager.

Definition at line 255 of file Fun4AllSingleDstPileupInputManager.cc.

View newest version in sPHENIX GitHub at line 255 of file Fun4AllSingleDstPileupInputManager.cc

References Fun4AllInputManager::IsOpen(), m_IManager, m_IManager_background, Fun4AllBase::Name(), and Fun4AllInputManager::UpdateFileList().

Referenced by fileopen(), and run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Fun4AllSingleDstPileupInputManager::GetSyncObject ( SyncObject **  )
inlineoverridevirtual

Reimplemented from Fun4AllInputManager.

Definition at line 43 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 43 of file Fun4AllSingleDstPileupInputManager.h

References Fun4AllReturnCodes::SYNC_NOOBJECT.

int Fun4AllSingleDstPileupInputManager::NoSyncPushBackEvents ( const int  nevt)
inlineoverridevirtual

Reimplemented from Fun4AllInputManager.

Definition at line 44 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 44 of file Fun4AllSingleDstPileupInputManager.h

References PushBackEvents().

+ Here is the call graph for this function:

void Fun4AllSingleDstPileupInputManager::Print ( const std::string &  what = "ALL") const
overridevirtual

Print out some info about this module.

Parameters
whatcan be used to specify what to print exactly.

Reimplemented from Fun4AllInputManager.

Definition at line 339 of file Fun4AllSingleDstPileupInputManager.cc.

View newest version in sPHENIX GitHub at line 339 of file Fun4AllSingleDstPileupInputManager.cc

References m_branchread, m_IManager, Fun4AllBase::Name(), and Fun4AllInputManager::Print().

+ Here is the call graph for this function:

int Fun4AllSingleDstPileupInputManager::PushBackEvents ( const int  i)
overridevirtual

Reimplemented from Fun4AllInputManager.

Definition at line 376 of file Fun4AllSingleDstPileupInputManager.cc.

View newest version in sPHENIX GitHub at line 376 of file Fun4AllSingleDstPileupInputManager.cc

References m_ievent_thisfile, m_ievent_total, m_IManager, Fun4AllBase::Name(), and PHWHERE.

Referenced by NoSyncPushBackEvents(), and run().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int Fun4AllSingleDstPileupInputManager::run ( const int  nevents = 0)
overridevirtual
int Fun4AllSingleDstPileupInputManager::setBranches ( )
overridevirtual

Reimplemented from Fun4AllInputManager.

Definition at line 308 of file Fun4AllSingleDstPileupInputManager.cc.

View newest version in sPHENIX GitHub at line 308 of file Fun4AllSingleDstPileupInputManager.cc

References m_branchread, m_IManager, m_IManager_background, Fun4AllBase::Name(), PHWHERE, and Fun4AllBase::Verbosity().

Referenced by fileopen().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void Fun4AllSingleDstPileupInputManager::setCollisionRate ( double  Hz)
inline

collision rate in Hz

Definition at line 47 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 47 of file Fun4AllSingleDstPileupInputManager.h

References m_collision_rate.

void Fun4AllSingleDstPileupInputManager::setPileupTimeWindow ( double  tmin,
double  tmax 
)
inline

set time window for pileup events (ns)

Definition at line 55 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 55 of file Fun4AllSingleDstPileupInputManager.h

References m_tmax, and m_tmin.

void Fun4AllSingleDstPileupInputManager::setTimeBetweenCrossings ( double  nsec)
inline

time between bunch crossing in ns

Definition at line 51 of file Fun4AllSingleDstPileupInputManager.h.

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

References m_time_between_crossings.

int Fun4AllSingleDstPileupInputManager::SyncIt ( const SyncObject )
inlineoverridevirtual

Reimplemented from Fun4AllInputManager.

Definition at line 42 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 42 of file Fun4AllSingleDstPileupInputManager.h

References Fun4AllReturnCodes::SYNC_OK.

Member Data Documentation

std::map<const std::string, int> Fun4AllSingleDstPileupInputManager::m_branchread
private

Definition at line 72 of file Fun4AllSingleDstPileupInputManager.h.

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

Referenced by BranchSelect(), Print(), and setBranches().

double Fun4AllSingleDstPileupInputManager::m_collision_rate = 5e4
private

collision rate (Hz)

Definition at line 101 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 101 of file Fun4AllSingleDstPileupInputManager.h

Referenced by run(), and setCollisionRate().

PHCompositeNode* Fun4AllSingleDstPileupInputManager::m_dstNode = nullptr
private

dst node from TopNode

Definition at line 75 of file Fun4AllSingleDstPileupInputManager.h.

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

Referenced by fileopen(), and run().

std::unique_ptr<PHCompositeNode> Fun4AllSingleDstPileupInputManager::m_dstNodeInternal
private

internal dst node to copy background events

Definition at line 81 of file Fun4AllSingleDstPileupInputManager.h.

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

Referenced by fileopen(), and run().

std::string Fun4AllSingleDstPileupInputManager::m_fullfilename
private

Definition at line 70 of file Fun4AllSingleDstPileupInputManager.h.

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

Referenced by fileopen().

int Fun4AllSingleDstPileupInputManager::m_ievent_thisfile = 0
private

Definition at line 67 of file Fun4AllSingleDstPileupInputManager.h.

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

Referenced by fileopen(), PushBackEvents(), and run().

int Fun4AllSingleDstPileupInputManager::m_ievent_total = 0
private

Definition at line 66 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 66 of file Fun4AllSingleDstPileupInputManager.h

Referenced by PushBackEvents(), and run().

std::unique_ptr<PHNodeIOManager> Fun4AllSingleDstPileupInputManager::m_IManager
private

input manager for active (trigger) events

corresponding nodes are copied directly to the topNode

Definition at line 91 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 91 of file Fun4AllSingleDstPileupInputManager.h

Referenced by fileclose(), fileopen(), Print(), PushBackEvents(), run(), and setBranches().

std::unique_ptr<PHNodeIOManager> Fun4AllSingleDstPileupInputManager::m_IManager_background
private

input manager for background (pileup) events

corresponding nodes are copied to the internal dst node, then merged to the top node

Definition at line 95 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 95 of file Fun4AllSingleDstPileupInputManager.h

Referenced by fileclose(), fileopen(), run(), and setBranches().

bool Fun4AllSingleDstPileupInputManager::m_ReadRunTTree = true
private

Definition at line 65 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 65 of file Fun4AllSingleDstPileupInputManager.h

Referenced by fileopen().

std::unique_ptr<gsl_rng, Deleter> Fun4AllSingleDstPileupInputManager::m_rng
private

Definition at line 116 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 116 of file Fun4AllSingleDstPileupInputManager.h

Referenced by Fun4AllSingleDstPileupInputManager(), and run().

std::string Fun4AllSingleDstPileupInputManager::m_RunNode = "RUN"
private

Definition at line 71 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 71 of file Fun4AllSingleDstPileupInputManager.h

Referenced by fileopen().

PHCompositeNode* Fun4AllSingleDstPileupInputManager::m_runNode = nullptr
private

run node from TopNode

Definition at line 78 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 78 of file Fun4AllSingleDstPileupInputManager.h

Referenced by fileopen().

std::unique_ptr<PHCompositeNode> Fun4AllSingleDstPileupInputManager::m_runNodeCopy
private

Definition at line 85 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 85 of file Fun4AllSingleDstPileupInputManager.h

Referenced by fileopen().

std::unique_ptr<PHCompositeNode> Fun4AllSingleDstPileupInputManager::m_runNodeSum
private

Definition at line 86 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 86 of file Fun4AllSingleDstPileupInputManager.h

Referenced by fileopen().

double Fun4AllSingleDstPileupInputManager::m_time_between_crossings = 106
private

time between crossings. This is a RHIC constant (ns)

Definition at line 98 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 98 of file Fun4AllSingleDstPileupInputManager.h

Referenced by run(), and setTimeBetweenCrossings().

double Fun4AllSingleDstPileupInputManager::m_tmax = 13500
private

max integration time for pileup in the TPC (ns)

Definition at line 107 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 107 of file Fun4AllSingleDstPileupInputManager.h

Referenced by run(), and setPileupTimeWindow().

double Fun4AllSingleDstPileupInputManager::m_tmin = -13500
private

min integration time for pileup in the TPC (ns)

Definition at line 104 of file Fun4AllSingleDstPileupInputManager.h.

View newest version in sPHENIX GitHub at line 104 of file Fun4AllSingleDstPileupInputManager.h

Referenced by run(), and setPileupTimeWindow().


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