Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
RawClusterBuilderTemplate Class Reference

#include <coresoftware/blob/master/offline/packages/CaloReco/RawClusterBuilderTemplate.h>

+ Inheritance diagram for RawClusterBuilderTemplate:
+ Collaboration diagram for RawClusterBuilderTemplate:

Public Member Functions

 RawClusterBuilderTemplate (const std::string &name="RawClusterBuilderTemplate")
 
 ~RawClusterBuilderTemplate () override
 
int InitRun (PHCompositeNode *topNode) override
 
int process_event (PHCompositeNode *topNode) override
 
void Detector (const std::string &d)
 
void SetCylindricalGeometry ()
 
void SetPlanarGeometry ()
 
void PrintGeometry ()
 
void PrintCylGeom (RawTowerGeomContainer *towergeom, const std::string &fname)
 
void SetProfileProb (bool pprob)
 
void SetProbNoiseParam (float rn)
 
void set_threshold_energy (const float e)
 
void setEnergyNorm (const float norm)
 
void checkenergy (const int i=1)
 
void LoadProfile (const std::string &fname)
 
void set_UseTowerInfo (const int useMode)
 
void set_ApplyTowerSelection (bool b)
 
void set_UseAltZVertex (const int useAltZMode)
 
void setOutputClusterNodeName (const std::string &inpNodenm)
 
void setInputTowerNodeName (const std::string &inpNodenm)
 
- 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)
 
bool Cell2Abs (RawTowerGeomContainer *towergeom, float phiC, float etaC, float &phi, float &eta)
 
bool IsAcceptableTower (TowerInfo *tower)
 
bool IsAcceptableTower (RawTower *tower)
 

Private Attributes

RawClusterContainer_clusters = nullptr
 
BEmcRecbemc = nullptr
 
float fEnergyNorm = 1.
 
float _min_tower_e = 0.020
 
int chkenergyconservation = 0
 
std::string detector
 
std::string ClusterNodeName
 
int BINX0 = 0
 
int NBINX = 0
 
int BINY0 = 0
 
int NBINY = 0
 
bool bPrintGeom = false
 
bool bProfProb = false
 
float fProbNoiseParam = 0.04
 
int m_UseTowerInfo = 0
 
bool m_do_tower_selection = true
 
std::string m_towerInfo_nodename
 
int m_UseAltZVertex = 2
 
std::string m_inputnodename
 
std::string m_outputnodename
 

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 = std::numeric_limits<int>::max() - 10
}
 
- Protected Member Functions inherited from SubsysReco
 SubsysReco (const std::string &name="NONAME")
 

Detailed Description

Definition at line 15 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 15 of file RawClusterBuilderTemplate.h

Constructor & Destructor Documentation

RawClusterBuilderTemplate::RawClusterBuilderTemplate ( const std::string &  name = "RawClusterBuilderTemplate")
explicit

Definition at line 45 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 45 of file RawClusterBuilderTemplate.cc

RawClusterBuilderTemplate::~RawClusterBuilderTemplate ( )
override

Definition at line 50 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 50 of file RawClusterBuilderTemplate.cc

References bemc.

Member Function Documentation

bool RawClusterBuilderTemplate::Cell2Abs ( RawTowerGeomContainer towergeom,
float  phiC,
float  etaC,
float &  phi,
float &  eta 
)
private

Definition at line 250 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 250 of file RawClusterBuilderTemplate.cc

void RawClusterBuilderTemplate::checkenergy ( const int  i = 1)
inline

Definition at line 34 of file RawClusterBuilderTemplate.h.

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

References chkenergyconservation, and i.

void RawClusterBuilderTemplate::CreateNodes ( PHCompositeNode topNode)
private

Definition at line 606 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 606 of file RawClusterBuilderTemplate.cc

References _clusters, PHCompositeNode::addNode(), ClusterNodeName, detector, PHNodeIterator::findFirst(), m_outputnodename, m_UseTowerInfo, and PHWHERE.

Referenced by InitRun().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RawClusterBuilderTemplate::Detector ( const std::string &  d)

Definition at line 56 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 56 of file RawClusterBuilderTemplate.cc

References _min_tower_e, bemc, fProbNoiseParam, Fun4AllBase::Name(), BEmcRec::SetProbNoiseParam(), BEmcRec::SetTowerThreshold(), and BEmcRec::SetVertex().

Referenced by CEMC_Clusters(), clus_dst_simple_superfastcalib(), dst_simple_towerslope_runmacro(), Fun4All_Calo(), Fun4All_CaloProduction_PreQM23(), Fun4All_EMCal(), Fun4All_EMCal_Hist(), Fun4All_Year1(), HCALInner_Clusters(), HCALOuter_Clusters(), srundst_mdc2_clustest(), and wholeIter_Pi0EtaByEta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

int RawClusterBuilderTemplate::InitRun ( PHCompositeNode )
overridevirtual
bool RawClusterBuilderTemplate::IsAcceptableTower ( TowerInfo tower)
private

Definition at line 644 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 644 of file RawClusterBuilderTemplate.cc

References _min_tower_e, TowerInfo::get_energy(), TowerInfo::get_isBadChi2(), TowerInfo::get_isBadTime(), TowerInfo::get_isHot(), TowerInfo::get_isNotInstr(), and m_do_tower_selection.

Referenced by process_event().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

bool RawClusterBuilderTemplate::IsAcceptableTower ( RawTower tower)
private

Definition at line 676 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 676 of file RawClusterBuilderTemplate.cc

References _min_tower_e, and RawTower::get_energy().

+ Here is the call graph for this function:

void RawClusterBuilderTemplate::LoadProfile ( const std::string &  fname)

Definition at line 82 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 82 of file RawClusterBuilderTemplate.cc

References bemc, CDBInterface::getUrl(), CDBInterface::instance(), BEmcRec::LoadProfile(), and summary::url.

Referenced by CEMC_Clusters(), clus_dst_simple_superfastcalib(), dst_simple_towerslope_runmacro(), Fun4All_Calo(), Fun4All_CaloProduction_PreQM23(), Fun4All_EMCal(), Fun4All_EMCal_Hist(), Fun4All_Year1(), srundst_mdc2_clustest(), and wholeIter_Pi0EtaByEta().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RawClusterBuilderTemplate::PrintCylGeom ( RawTowerGeomContainer towergeom,
const std::string &  fname 
)

Definition at line 229 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 229 of file RawClusterBuilderTemplate.cc

References RawTowerGeomContainer::get_etacenter(), RawTowerGeomContainer::get_phicenter(), NBINX, NBINY, and add_histos::outfile.

+ Here is the call graph for this function:

void RawClusterBuilderTemplate::PrintGeometry ( )
inline

Definition at line 27 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 27 of file RawClusterBuilderTemplate.h

References bPrintGeom.

int RawClusterBuilderTemplate::process_event ( PHCompositeNode )
overridevirtual

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

Reimplemented from SubsysReco.

Definition at line 256 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 256 of file RawClusterBuilderTemplate.cc

References _clusters, _min_tower_e, Fun4AllReturnCodes::ABORTEVENT, RawClusterContainer::AddCluster(), RawCluster::addTower(), EmcModule::amp, MbdVertexMap::begin(), GlobalVertexMap::begin(), bemc, BINX0, BINY0, bProfProb, Enable::CEMC, channel(), chkenergyconservation, RawTowerDefs::decode_index1(), RawTowerDefs::decode_index2(), detector, Fun4AllReturnCodes::DISCARDEVENT, Acts::UnitConstants::e, GlobalVertexMap::empty(), TowerInfoContainer::encode_key(), RawTowerDefs::encode_towerid(), MbdVertexMap::end(), Fun4AllReturnCodes::EVENT_OK, fEnergyNorm, BEmcRec::FindClusters(), fProbNoiseParam, RawTowerGeomContainer::get_calorimeter_id(), TowerInfo::get_energy(), RawTower::get_energy(), RawTower::get_id(), TowerInfo::get_time(), TowerInfoContainer::get_tower_at_channel(), GlobalVertex::get_x(), GlobalVertex::get_y(), MbdVertex::get_z(), GlobalVertex::get_z(), BEmcRec::GetClusters(), RawClusterContainer::getTotalEdep(), RawTowerContainer::getTotalEdep(), TowerInfoContainer::getTowerEtaBin(), TowerInfoContainer::getTowerPhiBin(), RawTowerContainer::getTowers(), EmcModule::ich, IsAcceptableTower(), m_inputnodename, m_UseAltZVertex, m_UseTowerInfo, Fun4AllBase::Name(), NBINX, NBINY, PHWHERE, RawClusterContainer::Reset(), RawCluster::set_chi2(), RawCluster::set_ecore(), RawCluster::set_energy(), RawCluster::set_phi(), RawCluster::set_prob(), RawCluster::set_r(), RawCluster::set_z(), BEmcRec::SetModules(), BEmcRec::SetProbNoiseParam(), BEmcRec::SetProfileProb(), BEmcRec::SetTowerThreshold(), BEmcRec::SetVertex(), TowerInfoContainer::size(), EmcModule::tof, vx, vy, vz, and Acts::Svg::View::xy().

+ Here is the call graph for this function:

void RawClusterBuilderTemplate::set_ApplyTowerSelection ( bool  b)
inline

Definition at line 42 of file RawClusterBuilderTemplate.h.

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

References KFPMath::b, and m_do_tower_selection.

void RawClusterBuilderTemplate::set_threshold_energy ( const float  e)
inline

Definition at line 32 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 32 of file RawClusterBuilderTemplate.h

References _min_tower_e, and Acts::UnitConstants::e.

Referenced by CEMC_Clusters(), clus_dst_simple_superfastcalib(), dst_simple_towerslope_runmacro(), Fun4All_Calo(), Fun4All_CaloProduction_PreQM23(), Fun4All_EMCal(), Fun4All_EMCal_Hist(), Fun4All_Year1(), srundst_mdc2_clustest(), and wholeIter_Pi0EtaByEta().

+ Here is the caller graph for this function:

void RawClusterBuilderTemplate::set_UseAltZVertex ( const int  useAltZMode)
inline

Definition at line 47 of file RawClusterBuilderTemplate.h.

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

References m_UseAltZVertex.

void RawClusterBuilderTemplate::set_UseTowerInfo ( const int  useMode)
inline

Definition at line 37 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 37 of file RawClusterBuilderTemplate.h

References m_UseTowerInfo.

Referenced by CEMC_Clusters(), clus_dst_simple_superfastcalib(), dst_simple_towerslope_runmacro(), Fun4All_Calo(), Fun4All_CaloProduction_PreQM23(), Fun4All_EMCal(), Fun4All_EMCal_Hist(), Fun4All_Year1(), HCALInner_Clusters(), HCALOuter_Clusters(), srundst_mdc2_clustest(), and wholeIter_Pi0EtaByEta().

+ Here is the caller graph for this function:

void RawClusterBuilderTemplate::SetCylindricalGeometry ( )

Definition at line 88 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 88 of file RawClusterBuilderTemplate.cc

References bemc, and BEmcRec::SetCylindricalGeometry().

Referenced by HCALInner_Clusters(), and HCALOuter_Clusters().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void RawClusterBuilderTemplate::setEnergyNorm ( const float  norm)
inline

Definition at line 33 of file RawClusterBuilderTemplate.h.

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

References fEnergyNorm, and norm.

void RawClusterBuilderTemplate::setInputTowerNodeName ( const std::string &  inpNodenm)
inline

Definition at line 59 of file RawClusterBuilderTemplate.h.

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

References m_inputnodename.

Referenced by wholeIter_Pi0EtaByEta().

+ Here is the caller graph for this function:

void RawClusterBuilderTemplate::setOutputClusterNodeName ( const std::string &  inpNodenm)
inline

Definition at line 52 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 52 of file RawClusterBuilderTemplate.h

References m_outputnodename.

Referenced by Fun4All_EMCal(), Fun4All_EMCal_Hist(), and wholeIter_Pi0EtaByEta().

+ Here is the caller graph for this function:

void RawClusterBuilderTemplate::SetPlanarGeometry ( )

Definition at line 99 of file RawClusterBuilderTemplate.cc.

View newest version in sPHENIX GitHub at line 99 of file RawClusterBuilderTemplate.cc

References bemc, and BEmcRec::SetPlanarGeometry().

+ Here is the call graph for this function:

void RawClusterBuilderTemplate::SetProbNoiseParam ( float  rn)
inline

Definition at line 30 of file RawClusterBuilderTemplate.h.

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

References fProbNoiseParam.

void RawClusterBuilderTemplate::SetProfileProb ( bool  pprob)
inline

Definition at line 29 of file RawClusterBuilderTemplate.h.

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

References bProfProb.

Member Data Documentation

RawClusterContainer* RawClusterBuilderTemplate::_clusters = nullptr
private

Definition at line 70 of file RawClusterBuilderTemplate.h.

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

Referenced by CreateNodes(), and process_event().

float RawClusterBuilderTemplate::_min_tower_e = 0.020
private

Definition at line 76 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 76 of file RawClusterBuilderTemplate.h

Referenced by Detector(), IsAcceptableTower(), process_event(), and set_threshold_energy().

BEmcRec* RawClusterBuilderTemplate::bemc = nullptr
private

Definition at line 73 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 73 of file RawClusterBuilderTemplate.h

Referenced by Detector(), InitRun(), LoadProfile(), process_event(), SetCylindricalGeometry(), SetPlanarGeometry(), and ~RawClusterBuilderTemplate().

int RawClusterBuilderTemplate::BINX0 = 0
private

Definition at line 82 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 82 of file RawClusterBuilderTemplate.h

Referenced by InitRun(), and process_event().

int RawClusterBuilderTemplate::BINY0 = 0
private

Definition at line 84 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 84 of file RawClusterBuilderTemplate.h

Referenced by InitRun(), and process_event().

bool RawClusterBuilderTemplate::bPrintGeom = false
private

Definition at line 87 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 87 of file RawClusterBuilderTemplate.h

Referenced by InitRun(), and PrintGeometry().

bool RawClusterBuilderTemplate::bProfProb = false
private

Definition at line 88 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 88 of file RawClusterBuilderTemplate.h

Referenced by process_event(), and SetProfileProb().

int RawClusterBuilderTemplate::chkenergyconservation = 0
private

Definition at line 77 of file RawClusterBuilderTemplate.h.

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

Referenced by checkenergy(), and process_event().

std::string RawClusterBuilderTemplate::ClusterNodeName
private

Definition at line 80 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 80 of file RawClusterBuilderTemplate.h

Referenced by CreateNodes().

std::string RawClusterBuilderTemplate::detector
private

Definition at line 79 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 79 of file RawClusterBuilderTemplate.h

Referenced by CreateNodes(), InitRun(), and process_event().

float RawClusterBuilderTemplate::fEnergyNorm = 1.
private

Definition at line 74 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 74 of file RawClusterBuilderTemplate.h

Referenced by process_event(), and setEnergyNorm().

float RawClusterBuilderTemplate::fProbNoiseParam = 0.04
private

Definition at line 89 of file RawClusterBuilderTemplate.h.

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

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

bool RawClusterBuilderTemplate::m_do_tower_selection = true
private

Definition at line 93 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 93 of file RawClusterBuilderTemplate.h

Referenced by IsAcceptableTower(), and set_ApplyTowerSelection().

std::string RawClusterBuilderTemplate::m_inputnodename
private

Definition at line 102 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 102 of file RawClusterBuilderTemplate.h

Referenced by process_event(), and setInputTowerNodeName().

std::string RawClusterBuilderTemplate::m_outputnodename
private

Definition at line 103 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 103 of file RawClusterBuilderTemplate.h

Referenced by CreateNodes(), and setOutputClusterNodeName().

std::string RawClusterBuilderTemplate::m_towerInfo_nodename
private

Definition at line 95 of file RawClusterBuilderTemplate.h.

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

int RawClusterBuilderTemplate::m_UseAltZVertex = 2
private

Definition at line 97 of file RawClusterBuilderTemplate.h.

View newest version in sPHENIX GitHub at line 97 of file RawClusterBuilderTemplate.h

Referenced by process_event(), and set_UseAltZVertex().

int RawClusterBuilderTemplate::m_UseTowerInfo = 0
private

Definition at line 91 of file RawClusterBuilderTemplate.h.

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

Referenced by CreateNodes(), process_event(), and set_UseTowerInfo().

int RawClusterBuilderTemplate::NBINX = 0
private

Definition at line 83 of file RawClusterBuilderTemplate.h.

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

Referenced by InitRun(), PrintCylGeom(), and process_event().

int RawClusterBuilderTemplate::NBINY = 0
private

Definition at line 85 of file RawClusterBuilderTemplate.h.

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

Referenced by InitRun(), PrintCylGeom(), and process_event().


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