File indexing completed on 2024-04-06 12:21:35
0001 #ifndef L1RCTCrate_h
0002 #define L1RCTCrate_h
0003
0004 #include "L1Trigger/RegionalCaloTrigger/interface/L1RCTElectronIsolationCard.h"
0005 #include "L1Trigger/RegionalCaloTrigger/interface/L1RCTJetSummaryCard.h"
0006 #include "L1Trigger/RegionalCaloTrigger/interface/L1RCTReceiverCard.h"
0007 #include <vector>
0008
0009 class L1RCTLookupTables;
0010
0011 class L1RCTCrate {
0012 public:
0013 L1RCTCrate(int crtNo, const L1RCTLookupTables *rctLookupTables);
0014
0015 L1RCTCrate() = delete;
0016
0017 ~L1RCTCrate();
0018
0019 int crateNumber() { return crtNo; }
0020
0021
0022
0023
0024
0025
0026 L1RCTReceiverCard *getReceiverCard(int i) { return &receiverCards.at(i); }
0027
0028
0029
0030
0031
0032
0033 void input(const std::vector<std::vector<unsigned short>> &RCInput, const std::vector<unsigned short> &HFInput);
0034
0035
0036
0037 void processReceiverCards();
0038 void fillElectronIsolationCards();
0039 void processElectronIsolationCards();
0040
0041
0042 void fillJetSummaryCard();
0043 void processJetSummaryCard();
0044 void print();
0045 void printJSC() { jetSummaryCard.print(); }
0046 void printRC(int i) { receiverCards.at(i).print(); }
0047 void printEIC(int i) { electronCards.at(i).print(); }
0048 void printEICEdges(int i) { electronCards.at(i).printEdges(); }
0049
0050
0051 std::vector<unsigned short> getJetRegions() { return jetSummaryCard.getJetRegions(); }
0052 std::vector<unsigned short> getBarrelRegions() { return jetSummaryCard.getBarrelRegions(); }
0053 std::vector<unsigned short> getHFRegions() { return jetSummaryCard.getHFRegions(); }
0054
0055
0056 std::vector<unsigned short> getIsolatedEGObjects() { return jetSummaryCard.getIsolatedEGObjects(); }
0057 std::vector<unsigned short> getNonisolatedEGObjects() { return jetSummaryCard.getNonisolatedEGObjects(); }
0058
0059
0060 unsigned short getTauBits() { return jetSummaryCard.getTauBits(); }
0061 unsigned short getMIPBits() { return jetSummaryCard.getMIPBits(); }
0062 unsigned short getOverFlowBits() { return jetSummaryCard.getOverFlowBits(); }
0063 unsigned short getQuietBits() { return jetSummaryCard.getQuietBits(); }
0064
0065 std::vector<unsigned short> getHFFineGrainBits() { return jetSummaryCard.getHFFineGrainBits(); }
0066
0067 private:
0068
0069
0070
0071
0072
0073 std::vector<L1RCTReceiverCard> receiverCards;
0074 std::vector<L1RCTElectronIsolationCard> electronCards;
0075
0076
0077 L1RCTJetSummaryCard jetSummaryCard;
0078
0079 int crtNo;
0080 const L1RCTLookupTables *rctLookupTables_;
0081
0082
0083 };
0084 #endif