ClusHcalEtSumVisitor.h

Go to the documentation of this file.
00001 #ifndef ATLFAST_CLUSHCALETSUMVISITOR_H
00002 #define ATLFAST_CLUSHCALETSUMVISITOR_H
00003 
00007 
00008 #ifndef ATLFAST_IAOO_H
00009 #include "AtlfastEvent/IAOO.h"
00010 #endif
00011 
00012 #ifndef ATLFAST_IAOOVISITOR_H
00013 #include "AtlfastEvent/IAOOvisitor.h"
00014 #endif
00015 
00016 #ifndef ATLFAST_CLUSSTER_H
00017 #include "AtlfastEvent/Cluster.h"
00018 #endif
00019 
00020 #ifndef STD_VECTOR_H
00021 #include <vector>
00022 #define STD_VECTOR_H
00023 #endif
00024 
00025 namespace Atlfast{
00026   class ReconstructedParticle;
00027   class Cell;
00028   class IKinematic;
00029   class TwoCptCell;
00030   class Cluster;
00031   class KtCluster;
00032   class Jet;
00033   class SimpleKinematic;
00034   class Track;
00035 
00036   class IAOO;
00037 
00038   class ClusHcalEtSumVisitor: public IAOOvisitor{
00039   public:
00040     ClusHcalEtSumVisitor(const Cluster* cluster, const double coreRadius=0.2):
00041       m_phi(cluster->phi()),
00042       m_eta(cluster->eta()),
00043       m_cellEt(0), 
00044       m_coneEt(0), 
00045       m_clusterEt(0),
00046       m_ktClusterEt(0),
00047       m_reconstructedParticleEt(0),
00048       m_simpleKinematicEt(0), 
00049       m_trackEt(0), 
00050       m_coreRadius(coreRadius), m_coreEt(0) {}
00051 
00052     ~ClusHcalEtSumVisitor(){}
00054     void reset();
00055     void operator()(const IAOO* ia);
00056 
00058     virtual void process(const Cell*);
00059     virtual void process(const Cluster*);
00060     virtual void process(const KtCluster*);
00061     virtual void process(const Jet*);
00062     virtual void process(const ReconstructedParticle*);
00063     virtual void process(const SimpleKinematic*);
00064     virtual void process(const Track*);
00065     virtual void process(const TwoCptCell*);
00066 
00067     //
00068     
00069     double getSum(const Cell&)                   const;
00070     double getSum(const TwoCptCell&)             const;
00071     double getSum(const Cluster&)                const;
00072     double getSum(const KtCluster&)              const;
00073     double getSum(const Jet&)                    const;
00074     double getSum(const SimpleKinematic&)        const;
00075     double getSum(const Track&)                  const;
00076     double getSum(const ReconstructedParticle&)  const;
00077 
00078 
00079     // m_coreRadius < m_coneRadius <= cluster cone radius
00080     // Sum Et for  dR < m_coneRadius
00081     double getCore(const TwoCptCell&)            const;
00082     // Sum Et for  m_coreRadius < dR < m_coneRadius
00083     double getIsolRing(const TwoCptCell&)       const;
00084 
00085   private:
00086 
00088     double m_phi;
00089     double m_eta;
00090     double m_cellEt;
00091     double m_coneEt;
00092     double m_clusterEt;
00093     double m_ktClusterEt;
00094     double m_jetEt;
00095     double m_reconstructedParticleEt;
00096     double m_simpleKinematicEt;
00097     double m_trackEt;
00098     double m_coreRadius;
00099     double m_coreEt;
00100   };
00101 }//namespace
00102 #endif 
00103   
00104  
00105 
00106 
00107 
00108 
00109 
00110 
00111 
00112 
00113 
00114 

Generated on Fri Sep 21 13:20:36 2007 for AtlfastUtils by  doxygen 1.5.1