CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GctJetFinalStage.h
Go to the documentation of this file.
1 #ifndef L1GCTJETFINALSTAGE_H_
2 #define L1GCTJETFINALSTAGE_H_
3 
5 
7 
8 #include <vector>
9 
10 class L1GctWheelJetFpga;
11 class L1GctJetSorter;
12 
26 {
27 public:
28  typedef std::vector<L1GctJetCand> JetVector;
30  static const unsigned int MAX_WHEEL_FPGAS;
31 
33  L1GctJetFinalStage(std::vector<L1GctWheelJetFpga*> m_wheelFpgas);
35 
37  friend std::ostream& operator << (std::ostream& os, const L1GctJetFinalStage& fpga);
38 
40  virtual void fetchInput();
41 
43  virtual void process();
44 
47  void setInputTauJet(int i, L1GctJetCand jet);
48 
52 
55  JetVector getTauJets() const { return m_tauJets.contents; }
56 
57  bool setupOk() const { return m_setupOk; }
58  protected:
59 
61  virtual void resetProcessor();
62  virtual void resetPipelines();
63 
65  virtual void setupObjects() {}
66 
67 private:
68  static const int MAX_JETS_IN;
69  static const int MAX_JETS_OUT;
70 
72  std::vector<L1GctWheelJetFpga*> m_wheelFpgas;
73 
78 
79  // input data
83 
84  // output data
88 
89  // setup flag
90  bool m_setupOk;
91 
92  //PRIVATE MEMBER FUNCTIONS
94  void storeJets(JetVector& storageVector, JetVector jets, unsigned short iWheel);
95 
96 };
97 
98 std::ostream& operator << (std::ostream& os, const L1GctJetFinalStage& fpga);
99 
100 #endif /*L1GCTJETFINALSTAGE_H_*/
void setInputForwardJet(int i, L1GctJetCand jet)
set the forward jets input data
int i
Definition: DBlmapReader.cc:9
friend std::ostream & operator<<(std::ostream &os, const L1GctJetFinalStage &fpga)
Overload &lt;&lt; operator.
Represents a GCT Wheel Jet FPGA.
Pipeline< L1GctJetCand > JetPipeline
JetVector getCentralJets() const
get the central jets output data
virtual void resetPipelines()
JetVector getInputForwardJets() const
get the forward jets input data
Level-1 Trigger jet candidate.
Definition: L1GctJetCand.h:18
virtual void process()
process the data, fill output buffers
std::vector< L1GctJetCand > JetVector
JetVector getForwardJets() const
get the forward jets output data
static const int MAX_JETS_OUT
Max number of jets of each type going out.
JetVector getTauJets() const
get the tau jets output data
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
static const int MAX_JETS_IN
Max number of jets of each type coming in.
ABC for a GCT trigger data processing unit.
void setInputCentralJet(int i, L1GctJetCand jet)
set the central jets input data
Represents the final stage of L1 jet processing.
L1GctJetSorter * m_forwardJetSorter
L1GctJetFinalStage(std::vector< L1GctWheelJetFpga * > m_wheelFpgas)
Takes a vector of 2 wheel jet FPGA pointers, with which to get input data from.
L1GctJetSorter * m_tauJetSorter
L1GctJetSorter * m_centralJetSorter
Jet sorters.
vector< PseudoJet > jets
JetVector getInputTauJets() const
get the tau jets input data
std::vector< L1GctWheelJetFpga * > m_wheelFpgas
wheel jet FPGAs
void storeJets(JetVector &storageVector, JetVector jets, unsigned short iWheel)
Enters jets into the specified storageVector, according to which wheel card we are taking them from...
void setInputTauJet(int i, L1GctJetCand jet)
set the tau jets input data
virtual void setupObjects()
Initialise inputs with null objects for the correct bunch crossing if required.
virtual void resetProcessor()
Separate reset methods for the processor itself and any data stored in pipelines. ...
JetVector getInputCentralJets() const
get the central jets input data
static const unsigned int MAX_WHEEL_FPGAS
Max number of wheel FPGA pointers.
std::vector< T > contents
virtual void fetchInput()
get input data from sources