File indexing completed on 2024-04-06 12:04:54
0001 #ifndef DataFormats_PatCandidates_MHT_h
0002 #define DataFormats_PatCandidates_MHT_h
0003
0004 #include "DataFormats/Candidate/interface/CompositeRefBaseCandidate.h"
0005 #include "DataFormats/Candidate/interface/Candidate.h"
0006
0007 namespace pat {
0008
0009 class MHT : public reco::CompositeRefBaseCandidate {
0010 public:
0011 MHT() {}
0012 MHT(const Candidate::LorentzVector& p4, double ht, double signif)
0013 : CompositeRefBaseCandidate(0, p4), ht_(ht), significance_(signif) {}
0014 ~MHT() override {}
0015
0016 double mht() const { return pt(); }
0017
0018 double ht() const { return ht_; }
0019 double significance() const { return significance_; }
0020 double error() const { return 0.5 * significance() * mht() * mht(); }
0021
0022 double getNumberOfJets() const;
0023 void setNumberOfJets(const double& numberOfJets);
0024
0025 double getNumberOfElectrons() const;
0026 void setNumberOfElectrons(const double& numberOfElectrons);
0027
0028 double getNumberOfMuons() const;
0029 void setNumberOfMuons(const double& numberOfMuons);
0030
0031 private:
0032 double ht_;
0033 double significance_;
0034 double number_of_jets_;
0035 double number_of_electrons_;
0036 double number_of_muons_;
0037 };
0038
0039 typedef std::vector<pat::MHT> MHTCollection;
0040 }
0041
0042 #endif