Back to home page

Project CMSSW displayed by LXR

 
 

    


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     // ????double phi() const {return phi();}
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 }  // namespace pat
0041 
0042 #endif