Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:50:39

0001 // -*- C++ -*-
0002 #ifndef METRECO_CORR_MET_DATA_H
0003 #define METRECO_CORR_MET_DATA_H
0004 
0005 /// \class CorrMETData
0006 ///
0007 /// \short a MET correction term
0008 ///
0009 /// CorrMETData represents a MET correction term.
0010 ///
0011 /// \author Michael Schmitt, Richard Cavanaugh The University of Florida; Tai Sakuma, Texas A&M University
0012 
0013 //____________________________________________________________________________||
0014 struct CorrMETData {
0015   double mex;
0016   double mey;
0017 
0018   double sumet;  // to be deleted
0019 
0020   CorrMETData() : mex(0.0), mey(0.0), sumet(0.0) {}
0021 
0022   CorrMETData(const CorrMETData& corr) : mex(corr.mex), mey(corr.mey), sumet(corr.sumet) {}
0023 
0024   CorrMETData& operator+=(const CorrMETData& rhs) {
0025     mex += rhs.mex;
0026     mey += rhs.mey;
0027     sumet += rhs.sumet;
0028     return *this;
0029   }
0030 
0031   CorrMETData& operator*=(const double& rhs) {
0032     mex *= rhs;
0033     mey *= rhs;
0034     sumet *= rhs;
0035     return *this;
0036   }
0037 
0038   friend CorrMETData operator+(const CorrMETData& lhs, const CorrMETData& rhs) { return CorrMETData(lhs) += rhs; }
0039 
0040   friend CorrMETData operator*(const double& lhs, const CorrMETData& rhs) { return CorrMETData(rhs) *= lhs; }
0041 
0042   friend CorrMETData operator*(const CorrMETData& lhs, const double& rhs) { return CorrMETData(lhs) *= rhs; }
0043 };
0044 
0045 //____________________________________________________________________________||
0046 #endif  // METRECO_CORR_MET_DATA_H