Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:04:23

0001 /** \class reco::FFTJet
0002  *
0003  * \short Storage class for jets reconstructed by FFTJet package
0004  *
0005  * Collects jet properties unique to FFTJet algorithms
0006  *
0007  * \author Igor Volobouev, TTU
0008  *
0009  ************************************************************/
0010 
0011 #ifndef DataFormats_JetReco_FFTJet_h
0012 #define DataFormats_JetReco_FFTJet_h
0013 
0014 #include "DataFormats/Math/interface/LorentzVector.h"
0015 #include "DataFormats/JetReco/interface/PattRecoPeak.h"
0016 
0017 namespace reco {
0018   template <class Real>
0019   class FFTJet {
0020   public:
0021     inline FFTJet()
0022         : ncells_(0),
0023           etSum_(0),
0024           centroidEta_(0),
0025           centroidPhi_(0),
0026           etaWidth_(0),
0027           phiWidth_(0),
0028           etaPhiCorr_(0),
0029           fuzziness_(0),
0030           convergenceD_(0),
0031           recoScale_(0),
0032           recoScaleRatio_(0),
0033           membershipFactor_(0),
0034           code_(0),
0035           status_(0) {}
0036 
0037     inline FFTJet(const PattRecoPeak<Real>& peak,
0038                   const math::XYZTLorentzVector& vec,
0039                   double ncells,
0040                   double etSum,
0041                   double centroidEta,
0042                   double centroidPhi,
0043                   double etaWidth,
0044                   double phiWidth,
0045                   double etaPhiCorr,
0046                   double fuzziness,
0047                   double convergenceDistance,
0048                   double recoScale,
0049                   double recoScaleRatio,
0050                   double membershipFactor,
0051                   int code,
0052                   int status)
0053         : peak_(peak),
0054           vec_(vec),
0055           ncells_(ncells),
0056           etSum_(etSum),
0057           centroidEta_(centroidEta),
0058           centroidPhi_(centroidPhi),
0059           etaWidth_(etaWidth),
0060           phiWidth_(phiWidth),
0061           etaPhiCorr_(etaPhiCorr),
0062           fuzziness_(fuzziness),
0063           convergenceD_(convergenceDistance),
0064           recoScale_(recoScale),
0065           recoScaleRatio_(recoScaleRatio),
0066           membershipFactor_(membershipFactor),
0067           code_(code),
0068           status_(status) {}
0069 
0070     inline virtual ~FFTJet() {}
0071 
0072     // inspectors
0073     inline const PattRecoPeak<Real>& f_precluster() const { return peak_; }
0074     inline const math::XYZTLorentzVector& f_vec() const { return vec_; }
0075     inline const math::XYZTLorentzVector& f_pileup() const { return pileup_; }
0076     inline Real f_ncells() const { return ncells_; }
0077     inline Real f_etSum() const { return etSum_; }
0078     inline Real f_centroidEta() const { return centroidEta_; }
0079     inline Real f_centroidPhi() const { return centroidPhi_; }
0080     inline Real f_etaWidth() const { return etaWidth_; }
0081     inline Real f_phiWidth() const { return phiWidth_; }
0082     inline Real f_etaPhiCorr() const { return etaPhiCorr_; }
0083     inline Real f_fuzziness() const { return fuzziness_; }
0084     inline Real f_convergenceDistance() const { return convergenceD_; }
0085     inline Real f_recoScale() const { return recoScale_; }
0086     inline Real f_recoScaleRatio() const { return recoScaleRatio_; }
0087     inline Real f_membershipFactor() const { return membershipFactor_; }
0088     inline int f_code() const { return code_; }
0089     inline int f_status() const { return status_; }
0090 
0091     // modifiers
0092     inline void setPileup(const math::XYZTLorentzVector& p) { pileup_ = p; }
0093     inline void setFourVec(const math::XYZTLorentzVector& p) { vec_ = p; }
0094     inline void setCode(const int c) { code_ = c; }
0095     inline void setStatus(const int c) { status_ = c; }
0096     inline void setNCells(const double nc) { ncells_ = nc; }
0097 
0098   private:
0099     PattRecoPeak<Real> peak_;
0100     math::XYZTLorentzVector vec_;
0101     math::XYZTLorentzVector pileup_;
0102     Real ncells_;
0103     Real etSum_;
0104     Real centroidEta_;
0105     Real centroidPhi_;
0106     Real etaWidth_;
0107     Real phiWidth_;
0108     Real etaPhiCorr_;
0109     Real fuzziness_;
0110     Real convergenceD_;
0111     Real recoScale_;
0112     Real recoScaleRatio_;
0113     Real membershipFactor_;
0114     int code_;
0115     int status_;
0116   };
0117 }  // namespace reco
0118 
0119 #endif