File indexing completed on 2024-04-06 12:21:35
0001 #ifndef L1RCTJetSummaryCard_h
0002 #define L1RCTJetSummaryCard_h
0003
0004 #include <vector>
0005
0006 class L1RCTLookupTables;
0007
0008 class L1RCTJetSummaryCard {
0009 public:
0010
0011
0012
0013 L1RCTJetSummaryCard(int crtNo, const L1RCTLookupTables *rctLookupTables);
0014
0015
0016 L1RCTJetSummaryCard() = delete;
0017
0018 int crateNumber() { return crtNo; }
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028 std::vector<unsigned short> getIsolatedEGObjects() { return isolatedEGObjects; }
0029 std::vector<unsigned short> getNonisolatedEGObjects() { return nonisolatedEGObjects; }
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039
0040
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053
0054 std::vector<unsigned short> getJetRegions() { return jetRegions; }
0055 std::vector<unsigned short> getBarrelRegions() { return barrelRegions; }
0056 std::vector<unsigned short> getHFRegions() { return HFRegions; }
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067 unsigned short getMIPBits() { return mipBits; }
0068 unsigned short getQuietBits() { return quietBits; }
0069
0070 unsigned short getTauBits() { return tauBits; }
0071 unsigned short getOverFlowBits() { return overFlowBits; }
0072
0073 std::vector<unsigned short> getHFFineGrainBits() { return hfFineGrainBits; }
0074
0075 void fillHFRegionSums(const std::vector<unsigned short> &hfRegionSums);
0076 void fillRegionSums(const std::vector<unsigned short> ®Sums) { barrelRegions = regSums; }
0077 void fillJetRegions();
0078
0079 void fillIsolatedEGObjects(const std::vector<unsigned short> &isoElectrons);
0080 void fillNonIsolatedEGObjects(const std::vector<unsigned short> &nonIsoElectrons);
0081
0082 void fillMIPBits(const std::vector<unsigned short> &mip);
0083 void fillTauBits(const std::vector<unsigned short> &tau);
0084 void fillOverFlowBits(const std::vector<unsigned short> &overflow);
0085 void fillQuietBits();
0086
0087 void print();
0088
0089 private:
0090 int crtNo;
0091
0092 const L1RCTLookupTables *rctLookupTables_;
0093
0094 std::vector<unsigned short> isolatedEGObjects;
0095 std::vector<unsigned short> nonisolatedEGObjects;
0096 std::vector<unsigned short> jetRegions;
0097
0098 std::vector<unsigned short> HFRegions;
0099 std::vector<unsigned short> barrelRegions;
0100
0101
0102 unsigned short mipBits;
0103 unsigned short quietBits;
0104 unsigned short tauBits;
0105 unsigned short overFlowBits;
0106
0107 std::vector<unsigned short> hfFineGrainBits;
0108
0109
0110 unsigned quietThresholdBarrel;
0111 unsigned quietThresholdEndcap;
0112
0113 void asicSort(std::vector<unsigned short> &electrons);
0114 void asicCompare(std::vector<unsigned short> &array);
0115 };
0116 #endif