File indexing completed on 2024-04-06 11:58:39
0001 #ifndef Calibration_EcalCalibAlgos_EcalPhiSymRecHit_h
0002 #define Calibration_EcalCalibAlgos_EcalPhiSymRecHit_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #include <vector>
0017 #include <cassert>
0018
0019 #include "DataFormats/DetId/interface/DetId.h"
0020 #include "DataFormats/EcalDetId/interface/EBDetId.h"
0021 #include "DataFormats/EcalDetId/interface/EEDetId.h"
0022 #include "DataFormats/EcalDetId/interface/EcalSubdetector.h"
0023
0024 class EcalPhiSymRecHit {
0025 public:
0026
0027 EcalPhiSymRecHit();
0028 EcalPhiSymRecHit(uint32_t id, unsigned int nMisCalibV, unsigned int status = 0);
0029 EcalPhiSymRecHit(uint32_t id, std::vector<float>& etValues, unsigned int status = 0);
0030
0031
0032 ~EcalPhiSymRecHit() = default;
0033
0034
0035 inline uint32_t rawId() const { return id_; };
0036 inline int8_t eeRing() const { return eeRing_; };
0037 inline unsigned int statusCode() const { return chStatus_; };
0038 inline uint32_t nHits() const { return nHits_; };
0039 inline unsigned int nSumEt() const { return etSum_.size(); };
0040 inline float sumEt(int i = 0) const { return etSum_[i]; };
0041 inline float sumEt2() const { return et2Sum_; };
0042 inline float lcSum() const { return lcSum_; };
0043 inline float lc2Sum() const { return lc2Sum_; };
0044
0045
0046 void setEERing(const int8_t& eering) { eeRing_ = eering; };
0047
0048
0049 void addHit(const std::vector<float>& etValues, const float laserCorr = 0);
0050 void reset();
0051
0052
0053 EcalPhiSymRecHit& operator+=(const EcalPhiSymRecHit& rhs);
0054
0055 private:
0056 uint32_t id_;
0057 int8_t eeRing_;
0058 unsigned int chStatus_;
0059 uint32_t nHits_;
0060 std::vector<float> etSum_;
0061 float et2Sum_;
0062 float lcSum_;
0063 float lc2Sum_;
0064 };
0065
0066 typedef std::vector<EcalPhiSymRecHit> EcalPhiSymRecHitCollection;
0067
0068 #endif