File indexing completed on 2024-04-06 12:04:44
0001 #ifndef METReco_GenMET_h
0002 #define METReco_GenMET_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include "DataFormats/METReco/interface/SpecificGenMETData.h"
0017 #include "DataFormats/METReco/interface/MET.h"
0018
0019 namespace reco {
0020 class GenMET : public MET {
0021 public:
0022
0023 GenMET();
0024 GenMET(const SpecificGenMETData& gen_data_, double sumet_, const LorentzVector& fP4, const Point& fVertex)
0025 : MET(sumet_, fP4, fVertex), gen_data(gen_data_) {}
0026
0027 ~GenMET() override {}
0028
0029
0030 double NeutralEMEtFraction() const { return gen_data.NeutralEMEtFraction; }
0031
0032
0033 double NeutralEMEt() const { return gen_data.NeutralEMEtFraction * sumEt(); }
0034
0035
0036 double ChargedEMEtFraction() const { return gen_data.ChargedEMEtFraction; }
0037
0038
0039 double ChargedEMEt() const { return gen_data.ChargedEMEtFraction * sumEt(); }
0040
0041
0042 double NeutralHadEtFraction() const { return gen_data.NeutralHadEtFraction; }
0043
0044
0045 double NeutralHadEt() const { return gen_data.NeutralHadEtFraction * sumEt(); }
0046
0047
0048 double ChargedHadEtFraction() const { return gen_data.ChargedHadEtFraction; }
0049
0050
0051 double ChargedHadEt() const { return gen_data.ChargedHadEtFraction * sumEt(); }
0052
0053
0054 double MuonEtFraction() const { return gen_data.MuonEtFraction; }
0055
0056
0057 double MuonEt() const { return gen_data.MuonEtFraction * sumEt(); }
0058
0059
0060 double InvisibleEtFraction() const { return gen_data.InvisibleEtFraction; }
0061
0062
0063 double InvisibleEt() const { return gen_data.InvisibleEtFraction * sumEt(); }
0064
0065
0066
0067 double emEnergy() const { return gen_data.m_EmEnergy; };
0068
0069 double hadEnergy() const { return gen_data.m_HadEnergy; };
0070
0071 double invisibleEnergy() const { return gen_data.m_InvisibleEnergy; };
0072
0073 double auxiliaryEnergy() const { return gen_data.m_AuxiliaryEnergy; };
0074
0075
0076
0077 private:
0078 bool overlap(const Candidate&) const override;
0079
0080
0081 SpecificGenMETData gen_data;
0082 };
0083 }
0084 #endif