File indexing completed on 2024-04-06 12:26:39
0001 #ifndef _RECOMET_METALGORITHMS_HCALNOISERBXARRAY_H_
0002 #define _RECOMET_METALGORITHMS_HCALNOISERBXARRAY_H_
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 #include <array>
0016
0017 #include "DataFormats/METReco/interface/HcalNoiseHPD.h"
0018 #include "DataFormats/METReco/interface/HcalNoiseRBX.h"
0019 #include "DataFormats/HcalDigi/interface/HBHEDataFrame.h"
0020 #include "DataFormats/HcalRecHit/interface/HBHERecHit.h"
0021 #include "DataFormats/CaloTowers/interface/CaloTower.h"
0022 #include "DataFormats/HcalDetId/interface/HcalDetId.h"
0023 #include "RecoMET/METAlgorithms/interface/HcalHPDRBXMap.h"
0024
0025 namespace reco {
0026
0027 class HcalNoiseRBXArray : public std::array<HcalNoiseRBX, HcalHPDRBXMap::NUM_RBXS> {
0028 public:
0029
0030 HcalNoiseRBXArray();
0031 virtual ~HcalNoiseRBXArray();
0032
0033
0034
0035
0036 std::vector<HcalNoiseHPD>::iterator endHPD(void);
0037 std::vector<HcalNoiseHPD>::const_iterator endHPD(void) const;
0038
0039
0040
0041 inline HcalNoiseRBXArray::iterator endRBX(void) { return end(); }
0042 inline HcalNoiseRBXArray::const_iterator endRBX(void) const { return end(); }
0043
0044
0045
0046 std::vector<HcalNoiseHPD>::iterator findHPD(int hpdindex);
0047 std::vector<HcalNoiseHPD>::const_iterator findHPD(int hpdindex) const;
0048 HcalNoiseRBXArray::iterator findRBX(int rbxindex);
0049 HcalNoiseRBXArray::const_iterator findRBX(int rbxindex) const;
0050 std::vector<HcalNoiseHPD>::iterator findHPD(const HcalDetId&);
0051 std::vector<HcalNoiseHPD>::const_iterator findHPD(const HcalDetId&) const;
0052 HcalNoiseRBXArray::iterator findRBX(const HcalDetId&);
0053 HcalNoiseRBXArray::const_iterator findRBX(const HcalDetId&) const;
0054 std::vector<HcalNoiseHPD>::iterator findHPD(const HBHEDataFrame&);
0055 std::vector<HcalNoiseHPD>::const_iterator findHPD(const HBHEDataFrame&) const;
0056 HcalNoiseRBXArray::iterator findRBX(const HBHEDataFrame&);
0057 HcalNoiseRBXArray::const_iterator findRBX(const HBHEDataFrame&) const;
0058 std::vector<HcalNoiseHPD>::iterator findHPD(const HBHERecHit&);
0059 std::vector<HcalNoiseHPD>::const_iterator findHPD(const HBHERecHit&) const;
0060 HcalNoiseRBXArray::iterator findRBX(const HBHERecHit&);
0061 HcalNoiseRBXArray::const_iterator findRBX(const HBHERecHit&) const;
0062
0063
0064 void findHPD(const CaloTower&, std::vector<std::vector<HcalNoiseHPD>::iterator>&);
0065 void findHPD(const CaloTower&, std::vector<std::vector<HcalNoiseHPD>::const_iterator>&) const;
0066 void findRBX(const CaloTower&, std::vector<HcalNoiseRBXArray::iterator>&);
0067 void findRBX(const CaloTower&, std::vector<HcalNoiseRBXArray::const_iterator>&) const;
0068
0069 private:
0070 };
0071
0072 }
0073
0074 #endif