CMS 3D CMS Logo

L1GctJetCounter.h

Go to the documentation of this file.
00001 #ifndef L1GCTJETCOUNTER_H_
00002 #define L1GCTJETCOUNTER_H_
00003 
00004 #include "CondFormats/L1TObjects/interface/L1GctJetCounterSetup.h"
00005 
00006 #include "L1Trigger/GlobalCaloTrigger/interface/L1GctProcessor.h"
00007 #include "L1Trigger/GlobalCaloTrigger/src/L1GctJetCount.h"
00008 
00009 #include <boost/cstdint.hpp> //for uint16_t
00010 #include <vector>
00011 
00023 class L1GctJetCounterLut;
00024 class L1GctJetCand;
00025 class L1GctJetLeafCard;
00026 
00027 class L1GctJetCounter : public L1GctProcessor
00028 {
00029 public:
00030   //Typedefs
00031   typedef std::vector<L1GctJetCand> JetVector;
00032 
00033   //Statics
00034   static const unsigned int MAX_JETLEAF_CARDS;
00035   static const unsigned int MAX_JETS_PER_LEAF;
00036   static const unsigned int MAX_JETS_TO_COUNT;
00037     
00039   L1GctJetCounter(int id, std::vector<L1GctJetLeafCard*> leafCards,
00040                   L1GctJetCounterLut* jetCounterLut=0);
00041                  
00042   ~L1GctJetCounter();
00043    
00045   friend std::ostream& operator << (std::ostream& os, const L1GctJetCounter& algo);
00046 
00048   virtual void fetchInput();
00049 
00051   virtual void process();
00052 
00054   void setLut(const L1GctJetCounterLut& lut);
00055 
00057   void setLut(const L1GctJetCounterSetup::cutDescription& cut);
00058 
00060   void setLut(const L1GctJetCounterSetup::cutsListForJetCounter& cutList);
00061 
00063   void setJets(JetVector& jets);
00064 
00066   L1GctJetCounterLut* getJetCounterLut() const { return m_jetCounterLut; }
00067 
00069   JetVector getJets() const { return m_jets; }
00070 
00072   L1GctJetCount<3> getValue() const { return m_value;}
00073 
00075   bool setupOk() const;
00076 
00078   void setVerbose();
00079   void setTerse();
00080 
00081  protected:
00082 
00084   virtual void resetProcessor();
00085   virtual void resetPipelines() {}
00086 
00088   virtual void setupObjects() {}
00089 
00090  private:
00091 
00092   //Statics
00093 
00095   int m_id;
00096 
00098   std::vector<L1GctJetLeafCard*> m_jetLeafCards;
00099         
00101   L1GctJetCounterLut* m_jetCounterLut;
00102 
00104   JetVector m_jets;
00105     
00107   L1GctJetCount<3> m_value;
00108 
00109   bool m_setupOk;
00110 
00111   //PRIVATE METHODS
00112   
00113 };
00114 
00115 std::ostream& operator << (std::ostream& os, const L1GctJetCounter& algo);
00116 
00117 #endif /*L1GCTJETCOUNTER_H_*/

Generated on Tue Jun 9 17:40:09 2009 for CMSSW by  doxygen 1.5.4