File indexing completed on 2024-04-06 12:04:24
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011 #ifndef DataFormats_JetReco_PattRecoPeak_h
0012 #define DataFormats_JetReco_PattRecoPeak_h
0013
0014 namespace reco {
0015 template <class Real>
0016 class PattRecoPeak {
0017 public:
0018 inline PattRecoPeak()
0019 : eta_(0),
0020 phi_(0),
0021 magnitude_(0),
0022 speed_(-1),
0023 magSpeed_(-5),
0024 lifetime_(-1),
0025 scale_(-1),
0026 nearestD_(-1),
0027 clusterRadius_(-1),
0028 clusterSeparation_(-1),
0029 splitTime_(-1),
0030 mergeTime_(-1) {
0031 hessian_[0] = 0;
0032 hessian_[1] = 0;
0033 hessian_[2] = 0;
0034 }
0035
0036 inline PattRecoPeak(double eta,
0037 double phi,
0038 double mag,
0039 const double hessianIn[3],
0040 double driftSpeed,
0041 double magSpeed,
0042 double lifetime,
0043 double scale,
0044 double nearestDistance,
0045 double clusterRadius,
0046 double clusterSeparation,
0047 double splitT,
0048 double mergeT)
0049 : eta_(eta),
0050 phi_(phi),
0051 magnitude_(mag),
0052 speed_(driftSpeed),
0053 magSpeed_(magSpeed),
0054 lifetime_(lifetime),
0055 scale_(scale),
0056 nearestD_(nearestDistance),
0057 clusterRadius_(clusterRadius),
0058 clusterSeparation_(clusterSeparation),
0059 splitTime_(splitT),
0060 mergeTime_(mergeT) {
0061 hessian_[0] = hessianIn[0];
0062 hessian_[1] = hessianIn[1];
0063 hessian_[2] = hessianIn[2];
0064 }
0065
0066 inline Real eta() const { return eta_; }
0067 inline Real phi() const { return phi_; }
0068 inline Real magnitude() const { return magnitude_; }
0069 inline Real driftSpeed() const { return speed_; }
0070 inline Real magSpeed() const { return magSpeed_; }
0071 inline Real lifetime() const { return lifetime_; }
0072 inline Real splitTime() const { return splitTime_; }
0073 inline Real mergeTime() const { return mergeTime_; }
0074 inline Real scale() const { return scale_; }
0075 inline Real nearestNeighborDistance() const { return nearestD_; }
0076 inline Real clusterRadius() const { return clusterRadius_; }
0077 inline Real clusterSeparation() const { return clusterSeparation_; }
0078 inline void hessian(double hessianArray[3]) const {
0079 hessianArray[0] = hessian_[0];
0080 hessianArray[1] = hessian_[1];
0081 hessianArray[2] = hessian_[2];
0082 }
0083
0084 private:
0085 Real eta_;
0086 Real phi_;
0087 Real magnitude_;
0088 Real speed_;
0089 Real magSpeed_;
0090 Real lifetime_;
0091 Real scale_;
0092 Real nearestD_;
0093 Real clusterRadius_;
0094 Real clusterSeparation_;
0095 Real hessian_[3];
0096 Real splitTime_;
0097 Real mergeTime_;
0098 };
0099 }
0100
0101 #endif