CMS 3D CMS Logo

/afs/cern.ch/work/a/aaltunda/public/www/CMSSW_6_2_5/src/DataFormats/JetReco/interface/PattRecoPeak.h

Go to the documentation of this file.
00001 
00012 #ifndef DataFormats_JetReco_PattRecoPeak_h
00013 #define DataFormats_JetReco_PattRecoPeak_h
00014 
00015 namespace reco {
00016     template<class Real>
00017     class PattRecoPeak
00018     {
00019     public:
00020         inline PattRecoPeak()
00021           : eta_(0),
00022             phi_(0),
00023             magnitude_(0),
00024             speed_(-1),
00025             magSpeed_(-5),
00026             lifetime_(-1),
00027             scale_(-1),
00028             nearestD_(-1),
00029             clusterRadius_(-1),
00030             clusterSeparation_(-1)
00031         {
00032             hessian_[0] = 0;
00033             hessian_[1] = 0;
00034             hessian_[2] = 0;
00035         }
00036 
00037         inline PattRecoPeak(double eta, double phi, double mag,
00038                             const double hessianIn[3], double driftSpeed,
00039                             double magSpeed, double lifetime,
00040                             double scale, double nearestDistance,
00041                             double clusterRadius, double clusterSeparation)
00042           : eta_(eta),
00043             phi_(phi),
00044             magnitude_(mag),
00045             speed_(driftSpeed),
00046             magSpeed_(magSpeed),
00047             lifetime_(lifetime),
00048             scale_(scale),
00049             nearestD_(nearestDistance),
00050             clusterRadius_(clusterRadius),
00051             clusterSeparation_(clusterSeparation)
00052         {
00053             hessian_[0] = hessianIn[0];
00054             hessian_[1] = hessianIn[1];
00055             hessian_[2] = hessianIn[2];
00056         }
00057 
00058         inline Real eta() const {return eta_;}
00059         inline Real phi() const {return phi_;}
00060         inline Real magnitude() const {return magnitude_;}
00061         inline Real driftSpeed() const {return speed_;}
00062         inline Real magSpeed() const {return magSpeed_;}
00063         inline Real lifetime() const {return lifetime_;}
00064         inline Real scale() const {return scale_;}
00065         inline Real nearestNeighborDistance() const {return nearestD_;}
00066         inline Real clusterRadius() const {return clusterRadius_;}
00067         inline Real clusterSeparation() const {return clusterSeparation_;}
00068         inline void hessian(double hessianArray[3]) const
00069         {
00070             hessianArray[0] = hessian_[0];
00071             hessianArray[1] = hessian_[1];
00072             hessianArray[2] = hessian_[2];
00073         }
00074 
00075     private:
00076         Real eta_;
00077         Real phi_;
00078         Real magnitude_;
00079         Real speed_;
00080         Real magSpeed_;
00081         Real lifetime_;
00082         Real scale_;
00083         Real nearestD_;
00084         Real clusterRadius_;
00085         Real clusterSeparation_;
00086         Real hessian_[3];
00087     };
00088 }
00089 
00090 #endif // DataFormats_JetReco_PattRecoPeak_h