ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
|
#include <coresoftware/blob/master/simulation/g4simulation/g4calo/RawTowerDigitizer.h>
Public Types | |
enum | enu_digi_algorithm { kNo_digitization = 0, kNo_digitalization = 0, kSimple_photon_digitization = 1, kSimple_photon_digitalization = 1, kSiPM_photon_digitization = 2 } |
Public Member Functions | |
RawTowerDigitizer (const std::string &name="RawTowerDigitizer") | |
~RawTowerDigitizer () 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_pedstal_central_ADC () const |
void | set_pedstal_central_ADC (const double pedstalCentralAdc) |
double | get_pedstal_width_ADC () const |
void | set_pedstal_width_ADC (const double pedstalWidthAdc) |
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) |
PHParameters & | GetParameters () |
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) |
RawTower * | simple_photon_digitization (RawTower *sim_tower) |
RawTower * | sipm_photon_digitization (RawTower *sim_tower) |
Private Attributes | |
enu_digi_algorithm | m_DigiAlgorithm |
RawTowerContainer * | m_SimTowers |
RawTowerContainer * | m_RawTowers |
RawTowerGeomContainer * | m_RawTowerGeom |
RawTowerDeadMap * | m_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_PedstalCentralADC |
pedstal central in unit of ADC | |
double | m_PedstalWidthADC |
pedstal 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") | |
simple tower digitizer which sum all cell to produce photon yield and pedstal noises default input DST node is TOWER_SIM_DETECTOR default output DST node is TOWER_RAW_DETECTOR
Definition at line 22 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 22 of file RawTowerDigitizer.h
Definition at line 34 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 34 of file RawTowerDigitizer.h
RawTowerDigitizer::RawTowerDigitizer | ( | const std::string & | name = "RawTowerDigitizer" | ) |
Definition at line 41 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 41 of file RawTowerDigitizer.cc
References m_RandomGenerator, and m_Seed.
|
override |
Definition at line 68 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 68 of file RawTowerDigitizer.cc
References m_RandomGenerator.
|
private |
Definition at line 389 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 389 of file RawTowerDigitizer.cc
References PHNodeIterator::findFirst(), RawTowerContainer::getCalorimeterID(), RawTowerDeadMap::identify(), RawTowerGeomContainer::identify(), m_DeadMap, m_Detector, m_RawTowerGeom, m_RawTowerNodePrefix, m_RawTowers, m_SimTowerNodePrefix, m_SimTowers, Fun4AllBase::Name(), and Fun4AllBase::Verbosity().
Referenced by InitRun().
|
inline |
Definition at line 30 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 30 of file RawTowerDigitizer.h
References _tower_params, d, m_Detector, and PHParameters::set_name().
Referenced by B0ECAL_Towers(), BECAL_Towers(), BWD_Towers(), CEMC_Towers(), DRCALO_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), FEMC_Towers(), FHCAL_Towers(), HCALInner_Towers(), HCALOuter_Towers(), and LFHCAL_Towers().
|
inline |
Definition at line 51 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 51 of file RawTowerDigitizer.h
References m_DigiAlgorithm.
|
inline |
Definition at line 63 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 63 of file RawTowerDigitizer.h
References m_PedstalCentralADC.
|
inline |
Definition at line 75 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 75 of file RawTowerDigitizer.h
References m_PedstalWidthADC.
|
inline |
Definition at line 87 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 87 of file RawTowerDigitizer.h
References m_PhotonElecADC.
|
inline |
Definition at line 99 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 99 of file RawTowerDigitizer.h
References m_PhotonElecYieldVisibleGeV.
|
inline |
Definition at line 141 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 141 of file RawTowerDigitizer.h
References m_RawTowerNodePrefix.
|
inline |
Definition at line 33 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 33 of file RawTowerDigitizer.h
References m_Seed.
|
inline |
Definition at line 153 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 153 of file RawTowerDigitizer.h
References m_SimTowerNodePrefix.
|
inline |
Definition at line 168 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 168 of file RawTowerDigitizer.h
References m_SiPMEffectivePixel.
|
inline |
Definition at line 111 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 111 of file RawTowerDigitizer.h
References m_ZeroSuppressionADC.
|
inline |
Definition at line 135 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 135 of file RawTowerDigitizer.h
References _tower_params.
Referenced by CEMC_Towers().
|
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 79 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 79 of file RawTowerDigitizer.cc
References Fun4AllReturnCodes::ABORTRUN, CreateNodes(), e, Fun4AllReturnCodes::EVENT_OK, g4zmq::exit(), PHNodeIterator::findFirst(), m_Detector, and Fun4AllBase::Name().
|
overridevirtual |
Called for each event. This is where you do the real work.
Reimplemented from SubsysReco.
Definition at line 105 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 105 of file RawTowerDigitizer.cc
References _tower_params, Fun4AllReturnCodes::ABORTRUN, RawTowerContainer::AddTower(), RawTowerDefs::decode_caloid(), Acts::VectorHelpers::eta(), Fun4AllReturnCodes::EVENT_OK, PHParameters::get_double_param(), RawTower::get_energy(), RawTowerGeomContainer::get_tower_geometries(), RawTowerContainer::getTotalEdep(), RawTowerContainer::getTower(), RawTower::identify(), RawTowerDeadMap::isDeadTower(), it, kNo_digitization, kSimple_photon_digitization, kSiPM_photon_digitization, RawTowerDefs::LFHCAL, m_DeadMap, m_Detector, m_DigiAlgorithm, m_pedestalFile, m_PedstalCentralADC, m_PedstalWidthADC, m_RawTowerGeom, m_RawTowers, m_SimTowers, m_TowerType, m_ZeroSuppressionADC, m_ZeroSuppressionFile, Fun4AllBase::Name(), phi, simple_photon_digitization(), sipm_photon_digitization(), nlohmann::to_string(), Fun4AllBase::Verbosity(), and Fun4AllBase::VERBOSITY_MORE.
|
inline |
Definition at line 57 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 57 of file RawTowerDigitizer.h
References m_DigiAlgorithm.
Referenced by B0ECAL_Towers(), BECAL_Towers(), BWD_Towers(), CEMC_Towers(), DRCALO_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), FEMC_Towers(), FHCAL_Towers(), HCALInner_Towers(), HCALOuter_Towers(), and LFHCAL_Towers().
|
inline |
Definition at line 69 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 69 of file RawTowerDigitizer.h
References m_PedstalCentralADC.
Referenced by BECAL_Towers(), CEMC_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), FHCAL_Towers(), HCALInner_Towers(), and HCALOuter_Towers().
|
inline |
Definition at line 81 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 81 of file RawTowerDigitizer.h
References m_PedstalWidthADC.
Referenced by BECAL_Towers(), CEMC_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), FHCAL_Towers(), HCALInner_Towers(), and HCALOuter_Towers().
|
inline |
Definition at line 93 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 93 of file RawTowerDigitizer.h
References m_PhotonElecADC.
Referenced by BECAL_Towers(), CEMC_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), FHCAL_Towers(), HCALInner_Towers(), and HCALOuter_Towers().
|
inline |
Definition at line 105 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 105 of file RawTowerDigitizer.h
References m_PhotonElecYieldVisibleGeV.
Referenced by BECAL_Towers(), CEMC_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), FHCAL_Towers(), HCALInner_Towers(), and HCALOuter_Towers().
|
inline |
Definition at line 147 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 147 of file RawTowerDigitizer.h
References m_RawTowerNodePrefix.
Referenced by BECAL_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), and FHCAL_Towers().
Definition at line 73 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 73 of file RawTowerDigitizer.cc
References m_RandomGenerator, and m_Seed.
|
inline |
Definition at line 159 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 159 of file RawTowerDigitizer.h
References m_SimTowerNodePrefix.
Definition at line 165 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 165 of file RawTowerDigitizer.h
References d, and m_SiPMEffectivePixel.
|
inline |
Definition at line 129 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 129 of file RawTowerDigitizer.h
References m_pedestalFile.
Referenced by CEMC_Towers().
|
inline |
Definition at line 123 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 123 of file RawTowerDigitizer.h
References m_ZeroSuppressionFile.
Referenced by CEMC_Towers().
|
inline |
Definition at line 117 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 117 of file RawTowerDigitizer.h
References m_ZeroSuppressionADC.
Referenced by BECAL_Towers(), CEMC_Towers(), EEMC_Towers(), EEMCH_Towers(), EHCAL_Towers(), FHCAL_Towers(), HCALInner_Towers(), and HCALOuter_Towers().
simple digitization with photon statistics, ADC conversion and pedstal
sim_tower | simulation tower input |
Definition at line 260 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 260 of file RawTowerDigitizer.cc
References energy, RawTower::get_energy(), RawTower::identify(), int(), m_Detector, m_PedstalCentralADC, m_PedstalWidthADC, m_PhotonElecADC, m_PhotonElecYieldVisibleGeV, m_RandomGenerator, m_ZeroSuppressionADC, Fun4AllBase::Name(), RawTower::set_energy(), and Fun4AllBase::Verbosity().
Referenced by process_event().
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 321 of file RawTowerDigitizer.cc.
View newest version in sPHENIX GitHub at line 321 of file RawTowerDigitizer.cc
References energy, RawTower::get_energy(), RawTower::identify(), int(), m_Detector, m_PedstalCentralADC, m_PedstalWidthADC, m_PhotonElecADC, m_PhotonElecYieldVisibleGeV, m_RandomGenerator, m_SiPMEffectivePixel, m_ZeroSuppressionADC, Fun4AllBase::Name(), RawTower::set_energy(), and Fun4AllBase::Verbosity().
Referenced by process_event().
Definition at line 31 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 31 of file RawTowerDigitizer.h
References m_TowerType.
Referenced by FEMC_Towers().
|
private |
Definition at line 223 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 223 of file RawTowerDigitizer.h
Referenced by Detector(), GetParameters(), and process_event().
|
private |
Definition at line 187 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 187 of file RawTowerDigitizer.h
Referenced by CreateNodes(), and process_event().
|
private |
Definition at line 189 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 189 of file RawTowerDigitizer.h
Referenced by CreateNodes(), Detector(), InitRun(), process_event(), simple_photon_digitization(), and sipm_photon_digitization().
|
private |
Definition at line 182 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 182 of file RawTowerDigitizer.h
Referenced by get_digi_algorithm(), process_event(), and set_digi_algorithm().
|
private |
pedestal from file
Definition at line 207 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 207 of file RawTowerDigitizer.h
Referenced by process_event(), and set_variable_pedestal().
|
private |
pedstal central in unit of ADC
Definition at line 201 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 201 of file RawTowerDigitizer.h
Referenced by get_pedstal_central_ADC(), process_event(), set_pedstal_central_ADC(), simple_photon_digitization(), and sipm_photon_digitization().
|
private |
pedstal width in unit of ADC
Definition at line 204 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 204 of file RawTowerDigitizer.h
Referenced by get_pedstal_width_ADC(), process_event(), set_pedstal_width_ADC(), simple_photon_digitization(), and sipm_photon_digitization().
|
private |
photon electron per ADC unit
Definition at line 198 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 198 of file RawTowerDigitizer.h
Referenced by get_photonelec_ADC(), set_photonelec_ADC(), simple_photon_digitization(), and sipm_photon_digitization().
|
private |
photon electron yield per GeV of visible energy
Definition at line 195 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 195 of file RawTowerDigitizer.h
Referenced by get_photonelec_yield_visible_GeV(), set_photonelec_yield_visible_GeV(), simple_photon_digitization(), and sipm_photon_digitization().
|
private |
Definition at line 225 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 225 of file RawTowerDigitizer.h
Referenced by RawTowerDigitizer(), set_seed(), simple_photon_digitization(), sipm_photon_digitization(), and ~RawTowerDigitizer().
|
private |
Definition at line 186 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 186 of file RawTowerDigitizer.h
Referenced by CreateNodes(), and process_event().
|
private |
Definition at line 192 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 192 of file RawTowerDigitizer.h
Referenced by CreateNodes(), get_raw_tower_node_prefix(), and set_raw_tower_node_prefix().
|
private |
Definition at line 185 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 185 of file RawTowerDigitizer.h
Referenced by CreateNodes(), and process_event().
|
private |
Definition at line 218 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 218 of file RawTowerDigitizer.h
Referenced by get_seed(), RawTowerDigitizer(), and set_seed().
|
private |
Definition at line 191 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 191 of file RawTowerDigitizer.h
Referenced by CreateNodes(), get_sim_tower_node_prefix(), and set_sim_tower_node_prefix().
|
private |
Definition at line 184 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 184 of file RawTowerDigitizer.h
Referenced by CreateNodes(), and process_event().
|
private |
Definition at line 221 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 221 of file RawTowerDigitizer.h
Referenced by get_sipm_effective_pixel(), set_sipm_effective_pixel(), and sipm_photon_digitization().
|
private |
tower type to act on
Definition at line 216 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 216 of file RawTowerDigitizer.h
Referenced by process_event(), and TowerType().
|
private |
zero suppression in unit of ADC
Definition at line 210 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 210 of file RawTowerDigitizer.h
Referenced by get_zero_suppression_ADC(), process_event(), set_zero_suppression_ADC(), simple_photon_digitization(), and sipm_photon_digitization().
|
private |
zero suppression from file
Definition at line 213 of file RawTowerDigitizer.h.
View newest version in sPHENIX GitHub at line 213 of file RawTowerDigitizer.h
Referenced by process_event(), and set_variable_zero_suppression().