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

#include <fun4all_eicdetectors/blob/master/reconstruction/eiczdcreco/RawTowerZDCDigitizer.h>

+ Inheritance diagram for RawTowerZDCDigitizer:
+ Collaboration diagram for RawTowerZDCDigitizer:

Public Types

enum  enu_digi_algorithm { kNo_digitization = 0, kSimple_photon_digitization = 1, kSiPM_photon_digitization = 2 }
 

Public Member Functions

 RawTowerZDCDigitizer (const std::string &name="RawTowerZDCDigitizer")
 
 ~RawTowerZDCDigitizer () override
 
int InitRun (PHCompositeNode *topNode) override
 
int process_event (PHCompositeNode *topNode) override
 
void Detector (const std::string &d)
 
void TowerType (const int type)
 
void set_seed (const unsigned int iseed)
 
unsigned int get_seed () const
 
enu_digi_algorithm get_digi_algorithm () const
 
void set_digi_algorithm (enu_digi_algorithm digiAlgorithm)
 
double get_pedestal_central_ADC () const
 
void set_pedestal_central_ADC (const double pedestalCentralAdc)
 
double get_pedestal_width_ADC () const
 
void set_pedestal_width_ADC (const double pedestalWidthAdc)
 
double get_photonelec_ADC () const
 
void set_photonelec_ADC (const double photonelecAdc)
 
double get_photonelec_yield_visible_GeV () const
 
void set_photonelec_yield_visible_GeV (const double photonelecYieldVisibleGeV)
 
double get_zero_suppression_ADC () const
 
void set_zero_suppression_ADC (const double zeroSuppressionAdc)
 
void set_variable_zero_suppression (const bool value)
 
void set_variable_pedestal (const bool value)
 
PHParametersGetParameters ()
 
std::string get_raw_tower_node_prefix () const
 
void set_raw_tower_node_prefix (const std::string &rawTowerNodePrefix)
 
std::string get_sim_tower_node_prefix () const
 
void set_sim_tower_node_prefix (const std::string &simTowerNodePrefix)
 
void set_sipm_effective_pixel (const unsigned int &d)
 
unsigned int get_sipm_effective_pixel ()
 
- Public Member Functions inherited from SubsysReco
 ~SubsysReco () override
 
virtual int End (PHCompositeNode *)
 Called at the end of all processing.
 
virtual int EndRun (const int)
 Called at the end of each run.
 
virtual int Init (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.
 

Private Member Functions

void CreateNodes (PHCompositeNode *topNode)
 
RawTowerZDCsimple_photon_digitization (RawTowerZDC *sim_tower)
 
RawTowerZDCsipm_photon_digitization (RawTowerZDC *sim_tower)
 

Private Attributes

enu_digi_algorithm m_DigiAlgorithm
 
RawTowerZDCContainerm_SimTowers
 
RawTowerZDCContainerm_RawTowers
 
RawTowerZDCGeomContainerm_RawTowerGeom
 
RawTowerZDCDeadMapm_DeadMap
 
std::string m_Detector
 
std::string m_SimTowerNodePrefix
 
std::string m_RawTowerNodePrefix
 
double m_PhotonElecYieldVisibleGeV
 photon electron yield per GeV of visible energy
 
double m_PhotonElecADC
 photon electron per ADC unit
 
double m_PedestalCentralADC
 pedestal central in unit of ADC
 
double m_PedestalWidthADC
 pedestal width in unit of ADC
 
bool m_pedestalFile
 pedestal from file
 
double m_ZeroSuppressionADC
 zero suppression in unit of ADC
 
bool m_ZeroSuppressionFile
 zero suppression from file
 
int m_TowerType
 tower type to act on
 
unsigned int m_Seed
 
unsigned int m_SiPMEffectivePixel
 
PHParameters _tower_params
 
gsl_rng * m_RandomGenerator
 

Additional Inherited Members

- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

simple tower digitizer which sum all cell to produce photon yield and pedestal noises default input DST node is TOWER_SIM_DETECTOR default output DST node is TOWER_RAW_DETECTOR

Definition at line 22 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 22 of file RawTowerZDCDigitizer.h

Member Enumeration Documentation

Enumerator:
kNo_digitization 

directly pass the energy of sim tower to digitized tower

kSimple_photon_digitization 

simple digitization with photon statistics, single amplitude ADC conversion and pedestal

kSiPM_photon_digitization 

digitization with photon statistics on SiPM with an effective pixel N, ADC conversion and pedestal

Definition at line 34 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 34 of file RawTowerZDCDigitizer.h

Constructor & Destructor Documentation

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

Definition at line 40 of file RawTowerZDCDigitizer.cc.

View newest version in sPHENIX GitHub at line 40 of file RawTowerZDCDigitizer.cc

References m_RandomGenerator, and m_Seed.

RawTowerZDCDigitizer::~RawTowerZDCDigitizer ( )
override

Definition at line 67 of file RawTowerZDCDigitizer.cc.

View newest version in sPHENIX GitHub at line 67 of file RawTowerZDCDigitizer.cc

References m_RandomGenerator.

Member Function Documentation

void RawTowerZDCDigitizer::CreateNodes ( PHCompositeNode topNode)
private

Definition at line 361 of file RawTowerZDCDigitizer.cc.

View newest version in sPHENIX GitHub at line 361 of file RawTowerZDCDigitizer.cc

References PHNodeIterator::findFirst(), RawTowerZDCContainer::getCalorimeterID(), RawTowerZDCDeadMap::identify(), RawTowerZDCGeomContainer::identify(), m_DeadMap, m_Detector, m_RawTowerGeom, m_RawTowerNodePrefix, m_RawTowers, m_SimTowerNodePrefix, m_SimTowers, Fun4AllBase::Name(), and Fun4AllBase::Verbosity().

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RawTowerZDCDigitizer::Detector ( const std::string &  d)
inline

Definition at line 30 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 30 of file RawTowerZDCDigitizer.h

References _tower_params, d, m_Detector, and PHParameters::set_name().

+ Here is the call graph for this function:

enu_digi_algorithm RawTowerZDCDigitizer::get_digi_algorithm ( ) const
inline

Definition at line 47 of file RawTowerZDCDigitizer.h.

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

References m_DigiAlgorithm.

double RawTowerZDCDigitizer::get_pedestal_central_ADC ( ) const
inline

Definition at line 59 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 59 of file RawTowerZDCDigitizer.h

References m_PedestalCentralADC.

double RawTowerZDCDigitizer::get_pedestal_width_ADC ( ) const
inline

Definition at line 71 of file RawTowerZDCDigitizer.h.

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

References m_PedestalWidthADC.

double RawTowerZDCDigitizer::get_photonelec_ADC ( ) const
inline

Definition at line 83 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 83 of file RawTowerZDCDigitizer.h

References m_PhotonElecADC.

double RawTowerZDCDigitizer::get_photonelec_yield_visible_GeV ( ) const
inline

Definition at line 95 of file RawTowerZDCDigitizer.h.

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

References m_PhotonElecYieldVisibleGeV.

std::string RawTowerZDCDigitizer::get_raw_tower_node_prefix ( ) const
inline

Definition at line 137 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 137 of file RawTowerZDCDigitizer.h

References m_RawTowerNodePrefix.

unsigned int RawTowerZDCDigitizer::get_seed ( ) const
inline

Definition at line 33 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 33 of file RawTowerZDCDigitizer.h

References m_Seed.

std::string RawTowerZDCDigitizer::get_sim_tower_node_prefix ( ) const
inline

Definition at line 149 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 149 of file RawTowerZDCDigitizer.h

References m_SimTowerNodePrefix.

unsigned int RawTowerZDCDigitizer::get_sipm_effective_pixel ( )
inline

Definition at line 164 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 164 of file RawTowerZDCDigitizer.h

References m_SiPMEffectivePixel.

double RawTowerZDCDigitizer::get_zero_suppression_ADC ( ) const
inline

Definition at line 107 of file RawTowerZDCDigitizer.h.

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

References m_ZeroSuppressionADC.

PHParameters& RawTowerZDCDigitizer::GetParameters ( )
inline

Definition at line 131 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 131 of file RawTowerZDCDigitizer.h

References _tower_params.

int RawTowerZDCDigitizer::InitRun ( PHCompositeNode )
overridevirtual

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 SubsysReco.

Definition at line 78 of file RawTowerZDCDigitizer.cc.

View newest version in sPHENIX GitHub at line 78 of file RawTowerZDCDigitizer.cc

References Fun4AllReturnCodes::ABORTRUN, CreateNodes(), Acts::UnitConstants::e, Fun4AllReturnCodes::EVENT_OK, exit(), PHNodeIterator::findFirst(), m_Detector, and Fun4AllBase::Name().

+ Here is the call graph for this function:

void RawTowerZDCDigitizer::set_digi_algorithm ( enu_digi_algorithm  digiAlgorithm)
inline

Definition at line 53 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 53 of file RawTowerZDCDigitizer.h

References m_DigiAlgorithm.

void RawTowerZDCDigitizer::set_pedestal_central_ADC ( const double  pedestalCentralAdc)
inline

Definition at line 65 of file RawTowerZDCDigitizer.h.

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

References m_PedestalCentralADC.

void RawTowerZDCDigitizer::set_pedestal_width_ADC ( const double  pedestalWidthAdc)
inline

Definition at line 77 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 77 of file RawTowerZDCDigitizer.h

References m_PedestalWidthADC.

void RawTowerZDCDigitizer::set_photonelec_ADC ( const double  photonelecAdc)
inline

Definition at line 89 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 89 of file RawTowerZDCDigitizer.h

References m_PhotonElecADC.

void RawTowerZDCDigitizer::set_photonelec_yield_visible_GeV ( const double  photonelecYieldVisibleGeV)
inline

Definition at line 101 of file RawTowerZDCDigitizer.h.

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

References m_PhotonElecYieldVisibleGeV.

void RawTowerZDCDigitizer::set_raw_tower_node_prefix ( const std::string &  rawTowerNodePrefix)
inline

Definition at line 143 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 143 of file RawTowerZDCDigitizer.h

References m_RawTowerNodePrefix.

void RawTowerZDCDigitizer::set_seed ( const unsigned int  iseed)

Definition at line 72 of file RawTowerZDCDigitizer.cc.

View newest version in sPHENIX GitHub at line 72 of file RawTowerZDCDigitizer.cc

References m_RandomGenerator, and m_Seed.

void RawTowerZDCDigitizer::set_sim_tower_node_prefix ( const std::string &  simTowerNodePrefix)
inline

Definition at line 155 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 155 of file RawTowerZDCDigitizer.h

References m_SimTowerNodePrefix.

void RawTowerZDCDigitizer::set_sipm_effective_pixel ( const unsigned int &  d)
inline

Definition at line 161 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 161 of file RawTowerZDCDigitizer.h

References d, and m_SiPMEffectivePixel.

void RawTowerZDCDigitizer::set_variable_pedestal ( const bool  value)
inline

Definition at line 125 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 125 of file RawTowerZDCDigitizer.h

References m_pedestalFile, and value.

void RawTowerZDCDigitizer::set_variable_zero_suppression ( const bool  value)
inline

Definition at line 119 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 119 of file RawTowerZDCDigitizer.h

References m_ZeroSuppressionFile, and value.

void RawTowerZDCDigitizer::set_zero_suppression_ADC ( const double  zeroSuppressionAdc)
inline

Definition at line 113 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 113 of file RawTowerZDCDigitizer.h

References m_ZeroSuppressionADC.

RawTowerZDC * RawTowerZDCDigitizer::simple_photon_digitization ( RawTowerZDC sim_tower)
private

simple digitization with photon statistics, ADC conversion and pedestal

Parameters
sim_towersimulation tower input
Returns
a new RawTowerZDC object contain digitalized value of ADC output in RawTowerZDC::get_energy()

Definition at line 232 of file RawTowerZDCDigitizer.cc.

View newest version in sPHENIX GitHub at line 232 of file RawTowerZDCDigitizer.cc

References RawTowerZDC::get_energy(), RawTowerZDC::identify(), m_Detector, m_PedestalCentralADC, m_PedestalWidthADC, m_PhotonElecADC, m_PhotonElecYieldVisibleGeV, m_RandomGenerator, m_ZeroSuppressionADC, Fun4AllBase::Name(), RawTowerZDC::set_energy(), and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

RawTowerZDC * RawTowerZDCDigitizer::sipm_photon_digitization ( RawTowerZDC sim_tower)
private

digitization with photon statistics on SiPM with an effective pixel N, ADC conversion and pedestal this function use the effective pixel to count for the effect that the sipm is not evenly lit

Definition at line 293 of file RawTowerZDCDigitizer.cc.

View newest version in sPHENIX GitHub at line 293 of file RawTowerZDCDigitizer.cc

References RawTowerZDC::get_energy(), RawTowerZDC::identify(), m_Detector, m_PedestalCentralADC, m_PedestalWidthADC, m_PhotonElecADC, m_PhotonElecYieldVisibleGeV, m_RandomGenerator, m_SiPMEffectivePixel, m_ZeroSuppressionADC, Fun4AllBase::Name(), RawTowerZDC::set_energy(), and Fun4AllBase::Verbosity().

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RawTowerZDCDigitizer::TowerType ( const int  type)
inline

Definition at line 31 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 31 of file RawTowerZDCDigitizer.h

References m_TowerType.

Member Data Documentation

PHParameters RawTowerZDCDigitizer::_tower_params
private

Definition at line 219 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 219 of file RawTowerZDCDigitizer.h

Referenced by Detector(), GetParameters(), and process_event().

RawTowerZDCDeadMap* RawTowerZDCDigitizer::m_DeadMap
private

Definition at line 183 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 183 of file RawTowerZDCDigitizer.h

Referenced by CreateNodes(), and process_event().

std::string RawTowerZDCDigitizer::m_Detector
private

Definition at line 185 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 185 of file RawTowerZDCDigitizer.h

Referenced by CreateNodes(), Detector(), InitRun(), process_event(), simple_photon_digitization(), and sipm_photon_digitization().

enu_digi_algorithm RawTowerZDCDigitizer::m_DigiAlgorithm
private

Definition at line 178 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 178 of file RawTowerZDCDigitizer.h

Referenced by get_digi_algorithm(), process_event(), and set_digi_algorithm().

double RawTowerZDCDigitizer::m_PedestalCentralADC
private

pedestal central in unit of ADC

Definition at line 197 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 197 of file RawTowerZDCDigitizer.h

Referenced by get_pedestal_central_ADC(), process_event(), set_pedestal_central_ADC(), simple_photon_digitization(), and sipm_photon_digitization().

bool RawTowerZDCDigitizer::m_pedestalFile
private

pedestal from file

Definition at line 203 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 203 of file RawTowerZDCDigitizer.h

Referenced by process_event(), and set_variable_pedestal().

double RawTowerZDCDigitizer::m_PedestalWidthADC
private

pedestal width in unit of ADC

Definition at line 200 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 200 of file RawTowerZDCDigitizer.h

Referenced by get_pedestal_width_ADC(), process_event(), set_pedestal_width_ADC(), simple_photon_digitization(), and sipm_photon_digitization().

double RawTowerZDCDigitizer::m_PhotonElecADC
private

photon electron per ADC unit

Definition at line 194 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 194 of file RawTowerZDCDigitizer.h

Referenced by get_photonelec_ADC(), set_photonelec_ADC(), simple_photon_digitization(), and sipm_photon_digitization().

double RawTowerZDCDigitizer::m_PhotonElecYieldVisibleGeV
private

photon electron yield per GeV of visible energy

Definition at line 191 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 191 of file RawTowerZDCDigitizer.h

Referenced by get_photonelec_yield_visible_GeV(), set_photonelec_yield_visible_GeV(), simple_photon_digitization(), and sipm_photon_digitization().

gsl_rng* RawTowerZDCDigitizer::m_RandomGenerator
private

Definition at line 221 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 221 of file RawTowerZDCDigitizer.h

Referenced by RawTowerZDCDigitizer(), set_seed(), simple_photon_digitization(), sipm_photon_digitization(), and ~RawTowerZDCDigitizer().

RawTowerZDCGeomContainer* RawTowerZDCDigitizer::m_RawTowerGeom
private

Definition at line 182 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 182 of file RawTowerZDCDigitizer.h

Referenced by CreateNodes(), and process_event().

std::string RawTowerZDCDigitizer::m_RawTowerNodePrefix
private

Definition at line 188 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 188 of file RawTowerZDCDigitizer.h

Referenced by CreateNodes(), get_raw_tower_node_prefix(), and set_raw_tower_node_prefix().

RawTowerZDCContainer* RawTowerZDCDigitizer::m_RawTowers
private

Definition at line 181 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 181 of file RawTowerZDCDigitizer.h

Referenced by CreateNodes(), and process_event().

unsigned int RawTowerZDCDigitizer::m_Seed
private

Definition at line 214 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 214 of file RawTowerZDCDigitizer.h

Referenced by get_seed(), RawTowerZDCDigitizer(), and set_seed().

std::string RawTowerZDCDigitizer::m_SimTowerNodePrefix
private

Definition at line 187 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 187 of file RawTowerZDCDigitizer.h

Referenced by CreateNodes(), get_sim_tower_node_prefix(), and set_sim_tower_node_prefix().

RawTowerZDCContainer* RawTowerZDCDigitizer::m_SimTowers
private

Definition at line 180 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 180 of file RawTowerZDCDigitizer.h

Referenced by CreateNodes(), and process_event().

unsigned int RawTowerZDCDigitizer::m_SiPMEffectivePixel
private

Definition at line 217 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 217 of file RawTowerZDCDigitizer.h

Referenced by get_sipm_effective_pixel(), set_sipm_effective_pixel(), and sipm_photon_digitization().

int RawTowerZDCDigitizer::m_TowerType
private

tower type to act on

Definition at line 212 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 212 of file RawTowerZDCDigitizer.h

Referenced by process_event(), and TowerType().

double RawTowerZDCDigitizer::m_ZeroSuppressionADC
private

zero suppression in unit of ADC

Definition at line 206 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 206 of file RawTowerZDCDigitizer.h

Referenced by get_zero_suppression_ADC(), process_event(), set_zero_suppression_ADC(), simple_photon_digitization(), and sipm_photon_digitization().

bool RawTowerZDCDigitizer::m_ZeroSuppressionFile
private

zero suppression from file

Definition at line 209 of file RawTowerZDCDigitizer.h.

View newest version in sPHENIX GitHub at line 209 of file RawTowerZDCDigitizer.h

Referenced by process_event(), and set_variable_zero_suppression().


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