CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_7/src/DataFormats/METReco/interface/CaloMET.h

Go to the documentation of this file.
00001 #ifndef METReco_CaloMET_h
00002 #define METReco_CaloMET_h
00003 
00016 #include "DataFormats/METReco/interface/SpecificCaloMETData.h"
00017 #include "DataFormats/METReco/interface/MET.h"
00018 #include "DataFormats/METReco/interface/CorrMETData.h"
00019 
00020 namespace reco
00021 {
00022   class CaloMET : public MET
00023     {
00024     public:
00025       /* Constructors*/
00026       CaloMET() ;
00027       CaloMET( SpecificCaloMETData calo_data_, double sumet_, 
00028                const LorentzVector& fP4, const Point& fVertex ) 
00029         : MET( sumet_, fP4, fVertex ), calo_data( calo_data_ ) {}
00030       CaloMET( SpecificCaloMETData calo_data_, double sumet_, 
00031                const std::vector<CorrMETData>& corr_,
00032                const LorentzVector& fP4, const Point& fVertex ) 
00033         : MET( sumet_, corr_, fP4, fVertex ), calo_data( calo_data_ ) {}
00034       /* Default destructor*/
00035       virtual ~CaloMET() {}
00036       
00037       /* Returns the maximum energy deposited in ECAL towers */
00038       double maxEtInEmTowers() const {return calo_data.MaxEtInEmTowers;};
00039       /* Returns the maximum energy deposited in HCAL towers */
00040       double maxEtInHadTowers() const {return calo_data.MaxEtInHadTowers;};
00041       /* Returns the event hadronic energy fraction          */
00042       double etFractionHadronic () const 
00043         {return calo_data.EtFractionHadronic;};
00044       /* Returns the event electromagnetic energy fraction   */
00045       double emEtFraction() const {return calo_data.EtFractionEm;};
00046       /* Returns the event hadronic energy in HB             */
00047       double hadEtInHB() const {return calo_data.HadEtInHB;};
00048       /* Returns the event hadronic energy in HO             */
00049       double hadEtInHO() const {return calo_data.HadEtInHO;};
00050       /* Returns the event hadronic energy in HE             */
00051       double hadEtInHE() const {return calo_data.HadEtInHE;};
00052       /* Returns the event hadronic energy in HF             */
00053       double hadEtInHF() const {return calo_data.HadEtInHF;};
00054       /* Returns the event electromagnetic energy in EB      */
00055       double emEtInEB() const {return calo_data.EmEtInEB;};
00056       /* Returns the event electromagnetic energy in EE      */
00057       double emEtInEE() const {return calo_data.EmEtInEE;};
00058       /* Returns the event electromagnetic energy extracted from HF */
00059       double emEtInHF() const {return calo_data.EmEtInHF;};
00060       /* Returns the event MET Significance */
00061       double metSignificance() const {return this->significance();};
00062       /* Returns the event SET in HF+ */
00063       double CaloSETInpHF() const {return calo_data.CaloSETInpHF;};
00064       /* Returns the event SET in HF- */
00065       double CaloSETInmHF() const {return calo_data.CaloSETInmHF;};
00066       /* Returns the event MET in HF+ */
00067       double CaloMETInpHF() const {return calo_data.CaloMETInpHF;};
00068       /* Returns the event MET in HF- */
00069       double CaloMETInmHF() const {return calo_data.CaloMETInmHF;};
00070       /* Returns the event MET-phi in HF+ */
00071       double CaloMETPhiInpHF() const {return calo_data.CaloMETPhiInpHF;};
00072       /* Returns the event MET-phi in HF- */
00073       double CaloMETPhiInmHF() const {return calo_data.CaloMETPhiInmHF;};
00074 
00075       //Set Met Significance   
00076       void SetMetSignificance(double metsig){ calo_data.METSignificance = metsig; }
00077 
00078       // block accessors
00079       SpecificCaloMETData getSpecific() const {return calo_data;}
00080       
00081     private:
00082       virtual bool overlap( const Candidate & ) const;
00083       // Data members
00084       //Variables specific to to the CaloMET class
00085       SpecificCaloMETData calo_data;
00086     };
00087 }
00088 #endif