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
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
00035 virtual ~CaloMET() {}
00036
00037
00038 double maxEtInEmTowers() const {return calo_data.MaxEtInEmTowers;};
00039
00040 double maxEtInHadTowers() const {return calo_data.MaxEtInHadTowers;};
00041
00042 double etFractionHadronic () const
00043 {return calo_data.EtFractionHadronic;};
00044
00045 double emEtFraction() const {return calo_data.EtFractionEm;};
00046
00047 double hadEtInHB() const {return calo_data.HadEtInHB;};
00048
00049 double hadEtInHO() const {return calo_data.HadEtInHO;};
00050
00051 double hadEtInHE() const {return calo_data.HadEtInHE;};
00052
00053 double hadEtInHF() const {return calo_data.HadEtInHF;};
00054
00055 double emEtInEB() const {return calo_data.EmEtInEB;};
00056
00057 double emEtInEE() const {return calo_data.EmEtInEE;};
00058
00059 double emEtInHF() const {return calo_data.EmEtInHF;};
00060
00061 double metSignificance() const {return this->significance();};
00062
00063 double CaloSETInpHF() const {return calo_data.CaloSETInpHF;};
00064
00065 double CaloSETInmHF() const {return calo_data.CaloSETInmHF;};
00066
00067 double CaloMETInpHF() const {return calo_data.CaloMETInpHF;};
00068
00069 double CaloMETInmHF() const {return calo_data.CaloMETInmHF;};
00070
00071 double CaloMETPhiInpHF() const {return calo_data.CaloMETPhiInpHF;};
00072
00073 double CaloMETPhiInmHF() const {return calo_data.CaloMETPhiInmHF;};
00074
00075
00076 void SetMetSignificance(double metsig){ calo_data.METSignificance = metsig; }
00077
00078
00079 SpecificCaloMETData getSpecific() const {return calo_data;}
00080
00081 private:
00082 virtual bool overlap( const Candidate & ) const;
00083
00084
00085 SpecificCaloMETData calo_data;
00086 };
00087 }
00088 #endif