00001 #include "AtlfastUtils/ClusHcalEtSumVisitor.h" 00002 00003 #include "AtlfastEvent/ReconstructedParticle.h" 00004 #include "AtlfastEvent/Cell.h" 00005 #include "AtlfastEvent/TwoCptCell.h" 00006 #include "AtlfastEvent/Cluster.h" 00007 #include "AtlfastEvent/KtCluster.h" 00008 #include "AtlfastEvent/Jet.h" 00009 #include "AtlfastEvent/SimpleKinematic.h" 00010 #include "AtlfastEvent/Track.h" 00011 #include "AtlfastEvent/IKinematic.h" 00012 00013 00014 namespace Atlfast{ 00016 void ClusHcalEtSumVisitor::operator()(const IAOO* iaoo){iaoo->accept(this);} 00017 00018 void ClusHcalEtSumVisitor::process(const Cell* t){ 00019 const IKinematic* ik = t; 00020 m_cellEt += ik->eT(); 00021 } 00022 void ClusHcalEtSumVisitor::process(const Cluster* t){ 00023 const IKinematic* ik = t; 00024 m_clusterEt += ik->eT(); 00025 } 00026 void ClusHcalEtSumVisitor::process(const KtCluster* t){ 00027 const IKinematic* ik = t; 00028 m_ktClusterEt += ik->eT(); 00029 } 00030 void ClusHcalEtSumVisitor::process(const Jet* t){ 00031 const IKinematic* ik = t; 00032 m_jetEt += ik->eT(); 00033 } 00034 void ClusHcalEtSumVisitor::process(const ReconstructedParticle* t){ 00035 const IKinematic* ik = t; 00036 m_reconstructedParticleEt += ik->eT(); 00037 } 00038 void ClusHcalEtSumVisitor::process(const SimpleKinematic* t){ 00039 const IKinematic* ik = t; 00040 m_simpleKinematicEt += ik->eT(); 00041 } 00042 void ClusHcalEtSumVisitor::process(const Track* t){ 00043 const IKinematic* ik = t; 00044 m_trackEt += ik->eT(); 00045 } 00046 void ClusHcalEtSumVisitor::process(const TwoCptCell* t){ 00047 m_coneEt += t->hcalEt(); 00048 const ICell* ic = t; 00049 double dR = std::sqrt(std::pow(ic->eta()-m_eta,2)+std::pow(ic->phi()-m_phi,2)); 00050 if (dR < m_coreRadius) m_coreEt += t->hcalEt(); 00051 } 00052 00053 double ClusHcalEtSumVisitor::getSum( const Cell& ) const { 00054 return m_cellEt; 00055 } 00056 double ClusHcalEtSumVisitor::getSum( const TwoCptCell& ) const { 00057 return m_coneEt; 00058 } 00059 double ClusHcalEtSumVisitor::getSum( const Cluster& ) const { 00060 return m_clusterEt; 00061 } 00062 double ClusHcalEtSumVisitor::getSum( const KtCluster& ) const { 00063 return m_clusterEt; 00064 } 00065 double ClusHcalEtSumVisitor::getSum( const Jet& ) const { 00066 return m_jetEt; 00067 } 00068 double ClusHcalEtSumVisitor::getSum( const SimpleKinematic& ) const { 00069 return m_simpleKinematicEt; 00070 } 00071 double ClusHcalEtSumVisitor::getSum( const Track& ) const { 00072 return m_trackEt; 00073 } 00074 double ClusHcalEtSumVisitor::getSum( const ReconstructedParticle& ) const { 00075 return m_reconstructedParticleEt; 00076 } 00077 00078 00079 double ClusHcalEtSumVisitor::getCore( const TwoCptCell& ) const { 00080 return m_coreEt; 00081 } 00082 double ClusHcalEtSumVisitor::getIsolRing( const TwoCptCell& ) const { 00083 return m_coneEt - m_coreEt; 00084 } 00085 00086 00087 }//namespace; 00088 00089