File indexing completed on 2024-04-06 12:04:38
0001 #ifndef DataFormats_L1Trigger_L1HFRings_h
0002 #define DataFormats_L1Trigger_L1HFRings_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024 #include "DataFormats/L1GlobalCaloTrigger/interface/L1GctCollections.h"
0025 #include "DataFormats/Common/interface/Ref.h"
0026
0027
0028
0029 namespace l1extra {
0030
0031 class L1HFRings {
0032 public:
0033 enum HFRingLabels { kRing1PosEta, kRing1NegEta, kRing2PosEta, kRing2NegEta, kNumRings };
0034
0035 L1HFRings();
0036
0037
0038 L1HFRings(const double* hfEtSums,
0039 const int* hfBitCounts,
0040 const edm::Ref<L1GctHFRingEtSumsCollection>& aHFEtSumsRef = edm::Ref<L1GctHFRingEtSumsCollection>(),
0041 const edm::Ref<L1GctHFBitCountsCollection>& aHFBitCountsRef = edm::Ref<L1GctHFBitCountsCollection>(),
0042 int bx = 0);
0043
0044 virtual ~L1HFRings();
0045
0046
0047 double hfEtSum(HFRingLabels i) const
0048 {
0049 return m_ringEtSums[i];
0050 }
0051 int hfBitCount(HFRingLabels i) const { return m_ringBitCounts[i]; }
0052
0053 const edm::Ref<L1GctHFRingEtSumsCollection>& gctHFEtSumsRef() const { return m_etSumsRef; }
0054 const edm::Ref<L1GctHFBitCountsCollection>& gctHFBitCountsRef() const { return m_bitCountsRef; }
0055
0056 const L1GctHFRingEtSums* gctHFEtSums() const { return m_etSumsRef.get(); }
0057 const L1GctHFBitCounts* gctHFBitCounts() const { return m_bitCountsRef.get(); }
0058
0059 int bx() const { return m_bx; }
0060
0061
0062
0063
0064
0065 private:
0066
0067
0068
0069
0070
0071 double m_ringEtSums[kNumRings];
0072 int m_ringBitCounts[kNumRings];
0073
0074 edm::Ref<L1GctHFRingEtSumsCollection> m_etSumsRef;
0075 edm::Ref<L1GctHFBitCountsCollection> m_bitCountsRef;
0076
0077 int m_bx;
0078 };
0079 }
0080
0081 #endif