File indexing completed on 2024-04-06 12:04:44
0001 #ifndef METReco_CaloMET_h
0002 #define METReco_CaloMET_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "DataFormats/METReco/interface/SpecificCaloMETData.h"
0017 #include "DataFormats/METReco/interface/MET.h"
0018 #include "DataFormats/METReco/interface/CorrMETData.h"
0019
0020 namespace reco {
0021 class CaloMET : public MET {
0022 public:
0023
0024 CaloMET();
0025 CaloMET(const SpecificCaloMETData& calo_data_, double sumet_, const LorentzVector& fP4, const Point& fVertex)
0026 : MET(sumet_, fP4, fVertex), calo_data(calo_data_) {}
0027 CaloMET(const SpecificCaloMETData& calo_data_,
0028 double sumet_,
0029 const std::vector<CorrMETData>& corr_,
0030 const LorentzVector& fP4,
0031 const Point& fVertex)
0032 : MET(sumet_, corr_, fP4, fVertex), calo_data(calo_data_) {}
0033
0034 ~CaloMET() override {}
0035
0036
0037 double maxEtInEmTowers() const { return calo_data.MaxEtInEmTowers; };
0038
0039 double maxEtInHadTowers() const { return calo_data.MaxEtInHadTowers; };
0040
0041 double etFractionHadronic() const { return calo_data.EtFractionHadronic; };
0042
0043 double emEtFraction() const { return calo_data.EtFractionEm; };
0044
0045 double hadEtInHB() const { return calo_data.HadEtInHB; };
0046
0047 double hadEtInHO() const { return calo_data.HadEtInHO; };
0048
0049 double hadEtInHE() const { return calo_data.HadEtInHE; };
0050
0051 double hadEtInHF() const { return calo_data.HadEtInHF; };
0052
0053 double emEtInEB() const { return calo_data.EmEtInEB; };
0054
0055 double emEtInEE() const { return calo_data.EmEtInEE; };
0056
0057 double emEtInHF() const { return calo_data.EmEtInHF; };
0058
0059 double metSignificance() const { return this->significance(); };
0060
0061 double CaloSETInpHF() const { return calo_data.CaloSETInpHF; };
0062
0063 double CaloSETInmHF() const { return calo_data.CaloSETInmHF; };
0064
0065 double CaloMETInpHF() const { return calo_data.CaloMETInpHF; };
0066
0067 double CaloMETInmHF() const { return calo_data.CaloMETInmHF; };
0068
0069 double CaloMETPhiInpHF() const { return calo_data.CaloMETPhiInpHF; };
0070
0071 double CaloMETPhiInmHF() const { return calo_data.CaloMETPhiInmHF; };
0072
0073
0074 void SetMetSignificance(double metsig) { calo_data.METSignificance = metsig; }
0075
0076
0077 SpecificCaloMETData getSpecific() const { return calo_data; }
0078
0079 private:
0080 bool overlap(const Candidate&) const override;
0081
0082
0083 SpecificCaloMETData calo_data;
0084 };
0085 }
0086 #endif