CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1RCTCrate.h
Go to the documentation of this file.
1 #ifndef L1RCTCrate_h
2 #define L1RCTCRate_h
3 
4 #include <vector>
8 
10 
11 class L1RCTCrate {
12 
13  public:
14  L1RCTCrate(int crtNo, const L1RCTLookupTables* rctLookupTables);
15 
16  ~L1RCTCrate();
17 
18  int crateNumber(){return crtNo;}
19 
20  //For sharing information between crates.
21  //It passes the pointers to the cards rather than the copies of the cards
22  //because we need to modify the actual regions when setting their
23  //neighbors rather than just copies.
24  //Working in non garbage collected languages can really suck sometimes.
26  // L1RCTJetSummaryCard* getJetSummaryCard { return &jetSummaryCard;}
27 
28  //This method receives the input from the L1RCT class and distributes
29  //the RCInput to the 7 receiver cards and sends the HFInput straight
30  //to the JSC for this crate. The RCs never see the HF data. Instead
31  //the JSC acts like a primitive RC for these regions.
32  void input(const std::vector<std::vector<unsigned short> >& RCInput,
33  const std::vector<unsigned short>& HFInput);
34  //The two following are methods for running the actual data processing
35  //in the RCs and the EICs. They're to be called for each card
36  //from the L1RCT process method
37  void processReceiverCards();
40  //Pulls the information from the RCs and EICs and sends it to the
41  //JSC.
42  void fillJetSummaryCard();
43  void processJetSummaryCard();
44  void print();
45  void printJSC(){
47  }
48  void printRC(int i){
49  receiverCards.at(i).print();
50  }
51  void printEIC(int i){
52  electronCards.at(i).print();
53  }
54  void printEICEdges(int i){
55  electronCards.at(i).printEdges();
56  }
57 
58  // region sums
59  std::vector<unsigned short> getJetRegions(){
61  }
62  std::vector<unsigned short> getBarrelRegions(){
64  }
65  std::vector<unsigned short> getHFRegions(){
67  }
68 
69  // e-gamma objects
70  std::vector<unsigned short> getIsolatedEGObjects(){
72  }
73  std::vector<unsigned short> getNonisolatedEGObjects(){
75  }
76 
77  // the bits
78  unsigned short getTauBits(){
79  return jetSummaryCard.getTauBits();
80  }
81  unsigned short getMIPBits(){
82  return jetSummaryCard.getMIPBits();
83  }
84  unsigned short getOverFlowBits(){
86  }
87  unsigned short getQuietBits(){
89  }
90  // hf bit
91  std::vector<unsigned short> getHFFineGrainBits(){
93  }
94 
95  private:
96  //The seven RCs and EICs
97  //They are laid out according to CMS IN 2004/008
98  //Increasing number towards higher absolute eta
99  //The seventh card is always sideways with respect to the
100  //other six.
101  std::vector<L1RCTReceiverCard> receiverCards;
102  std::vector<L1RCTElectronIsolationCard> electronCards;
103  //The JSC receives the jet and electron information from the
104  //RCs and EICs. There is only one per crate.
106 
107  int crtNo;
109 
110  L1RCTCrate();
111 
112  //L1RCTJetCaptureCard jetCaptureCard;
113 };
114 #endif
unsigned short getQuietBits()
int i
Definition: DBlmapReader.cc:9
unsigned short getQuietBits()
Definition: L1RCTCrate.h:87
std::vector< unsigned short > getJetRegions()
unsigned short getTauBits()
std::vector< unsigned short > getBarrelRegions()
Definition: L1RCTCrate.h:62
void fillElectronIsolationCards()
Definition: L1RCTCrate.cc:42
void input(const std::vector< std::vector< unsigned short > > &RCInput, const std::vector< unsigned short > &HFInput)
Definition: L1RCTCrate.cc:22
unsigned short getTauBits()
Definition: L1RCTCrate.h:78
std::vector< unsigned short > getIsolatedEGObjects()
Definition: L1RCTCrate.h:70
L1RCTJetSummaryCard jetSummaryCard
Definition: L1RCTCrate.h:105
void processElectronIsolationCards()
Definition: L1RCTCrate.cc:49
std::vector< unsigned short > getNonisolatedEGObjects()
Definition: L1RCTCrate.h:73
std::vector< unsigned short > getHFFineGrainBits()
Definition: L1RCTCrate.h:91
void fillJetSummaryCard()
Definition: L1RCTCrate.cc:53
void processReceiverCards()
Definition: L1RCTCrate.cc:35
void printEIC(int i)
Definition: L1RCTCrate.h:51
const L1RCTLookupTables * rctLookupTables_
Definition: L1RCTCrate.h:108
unsigned short getMIPBits()
std::vector< unsigned short > getNonisolatedEGObjects()
std::vector< unsigned short > getBarrelRegions()
void processJetSummaryCard()
Definition: L1RCTCrate.cc:81
std::vector< unsigned short > getHFFineGrainBits()
void printEICEdges(int i)
Definition: L1RCTCrate.h:54
unsigned short getOverFlowBits()
L1RCTReceiverCard * getReceiverCard(int i)
Definition: L1RCTCrate.h:25
std::vector< unsigned short > getIsolatedEGObjects()
std::vector< unsigned short > getHFRegions()
void printRC(int i)
Definition: L1RCTCrate.h:48
unsigned short getMIPBits()
Definition: L1RCTCrate.h:81
int crateNumber()
Definition: L1RCTCrate.h:18
std::vector< unsigned short > getHFRegions()
Definition: L1RCTCrate.h:65
void print()
Definition: L1RCTCrate.cc:86
void printJSC()
Definition: L1RCTCrate.h:45
std::vector< L1RCTReceiverCard > receiverCards
Definition: L1RCTCrate.h:101
unsigned short getOverFlowBits()
Definition: L1RCTCrate.h:84
std::vector< L1RCTElectronIsolationCard > electronCards
Definition: L1RCTCrate.h:102
std::vector< unsigned short > getJetRegions()
Definition: L1RCTCrate.h:59