CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/DataFormats/JetReco/interface/FFTJet.h

Go to the documentation of this file.
00001 
00012 #ifndef DataFormats_JetReco_FFTJet_h
00013 #define DataFormats_JetReco_FFTJet_h
00014 
00015 #include "DataFormats/Math/interface/LorentzVector.h"
00016 #include "DataFormats/JetReco/interface/PattRecoPeak.h"
00017 
00018 namespace reco {
00019     template<class Real>
00020     class FFTJet
00021     {
00022     public:
00023         inline FFTJet()
00024           : ncells_(0), etSum_(0), centroidEta_(0), centroidPhi_(0),
00025             etaWidth_(0), phiWidth_(0), etaPhiCorr_(0), fuzziness_(0),
00026             convergenceD_(0), recoScale_(0), recoScaleRatio_(0),
00027             membershipFactor_(0), code_(0), status_(0)
00028         {
00029         }
00030 
00031         inline FFTJet(const PattRecoPeak<Real>& peak,
00032                       const math::XYZTLorentzVector& vec,
00033                       double ncells, double etSum,
00034                       double centroidEta, double centroidPhi,
00035                       double etaWidth, double phiWidth,
00036                       double etaPhiCorr, double fuzziness,
00037                       double convergenceDistance, double recoScale,
00038                       double recoScaleRatio, double membershipFactor,
00039                       int code, int status)
00040           : peak_(peak),            
00041             vec_(vec),
00042             ncells_(ncells),          
00043             etSum_(etSum),           
00044             centroidEta_(centroidEta),     
00045             centroidPhi_(centroidPhi),     
00046             etaWidth_(etaWidth),        
00047             phiWidth_(phiWidth),        
00048             etaPhiCorr_(etaPhiCorr),      
00049             fuzziness_(fuzziness),       
00050             convergenceD_(convergenceDistance),    
00051             recoScale_(recoScale),       
00052             recoScaleRatio_(recoScaleRatio),  
00053             membershipFactor_(membershipFactor),
00054             code_(code),            
00055             status_(status)        
00056         {
00057         }
00058 
00059         inline virtual ~FFTJet() {}
00060 
00061         // inspectors
00062         inline const PattRecoPeak<Real>& f_precluster() const {return peak_;}
00063         inline const math::XYZTLorentzVector& f_vec() const {return vec_;}
00064         inline const math::XYZTLorentzVector& f_pileup() const {return pileup_;}
00065         inline Real f_ncells() const {return ncells_;}
00066         inline Real f_etSum() const {return etSum_;}
00067         inline Real f_centroidEta() const {return centroidEta_;}
00068         inline Real f_centroidPhi() const {return centroidPhi_;}
00069         inline Real f_etaWidth() const {return etaWidth_;}
00070         inline Real f_phiWidth() const {return phiWidth_;}
00071         inline Real f_etaPhiCorr() const {return etaPhiCorr_;}
00072         inline Real f_fuzziness() const {return fuzziness_;}
00073         inline Real f_convergenceDistance() const {return convergenceD_;}
00074         inline Real f_recoScale() const {return recoScale_;}
00075         inline Real f_recoScaleRatio() const {return recoScaleRatio_;}
00076         inline Real f_membershipFactor() const {return membershipFactor_;}
00077         inline int  f_code() const {return code_;}
00078         inline int  f_status() const {return status_;}
00079 
00080         // modifiers
00081         inline void setPileup(const math::XYZTLorentzVector& p) {pileup_ = p;}
00082         inline void setFourVec(const math::XYZTLorentzVector& p) {vec_ = p;}
00083         inline void setCode(const int c) {code_ = c;}
00084         inline void setStatus(const int c) {status_ = c;}
00085         inline void setNCells(const double nc) {ncells_ = nc;}
00086 
00087     private:
00088         PattRecoPeak<Real> peak_;
00089         math::XYZTLorentzVector vec_;
00090         math::XYZTLorentzVector pileup_;
00091         Real ncells_;
00092         Real etSum_;
00093         Real centroidEta_;
00094         Real centroidPhi_;
00095         Real etaWidth_;
00096         Real phiWidth_;
00097         Real etaPhiCorr_;
00098         Real fuzziness_;
00099         Real convergenceD_;
00100         Real recoScale_;
00101         Real recoScaleRatio_;
00102         Real membershipFactor_;
00103         int code_;
00104         int status_;
00105     };
00106 }
00107 
00108 #endif