CMS 3D CMS Logo

L1GctJetCounterLut.h

Go to the documentation of this file.
00001 #ifndef L1GCTJETCOUNTERLUT_H_
00002 #define L1GCTJETCOUNTERLUT_H_
00003 
00004 #define JET_COUNTER_LUT_ADD_BITS 16
00005 
00006 #include "CondFormats/L1TObjects/interface/L1GctJetCounterSetup.h"
00007 
00008 #include "L1Trigger/GlobalCaloTrigger/src/L1GctLut.h"
00009 
00010 class L1GctJetCand;
00011 
00012 #include <vector>
00013 
00042 class L1GctJetCounterLut : public L1GctLut<JET_COUNTER_LUT_ADD_BITS,1>
00043 
00044 {
00045 public:
00046 
00047   // Definitions.
00048   static const int NAddress;
00049 
00051   L1GctJetCounterLut(const L1GctJetCounterSetup::cutsListForJetCounter& cuts);
00053   L1GctJetCounterLut(const L1GctJetCounterSetup::cutDescription& cut);
00055   L1GctJetCounterLut();
00057   L1GctJetCounterLut(const L1GctJetCounterLut& lut);
00059   virtual ~L1GctJetCounterLut();
00060   
00062   L1GctJetCounterLut operator= (const L1GctJetCounterLut& lut);
00063 
00065   friend std::ostream& operator << (std::ostream& os, const L1GctJetCounterLut& lut);
00066 
00068   bool passesCut(const L1GctJetCand jet) const;
00069   bool passesCut(const uint16_t lutAddress) const;
00070   
00072   unsigned nCuts() const { return m_cutList.size(); }
00073 
00075   L1GctJetCounterSetup::cutsListForJetCounter cutList() const { return m_cutList; }
00076 
00077 protected:
00078   
00079 
00080   virtual uint16_t value (const uint16_t lutAddress) const;
00081 
00082 private:
00083 
00084   L1GctJetCounterSetup::cutsListForJetCounter m_cutList;
00085 
00086   // PRIVATE MEMBER FUNCTIONS
00087   bool checkCut (const L1GctJetCounterSetup::cutDescription cut) const;
00088   bool jetPassesThisCut (const L1GctJetCand jet, const unsigned i) const;
00089 
00090   // locally calculated jet properties
00091   unsigned rctEta(const L1GctJetCand jet) const;
00092   unsigned globalPhi(const L1GctJetCand jet) const;
00093   
00094 };
00095 
00096 
00097 std::ostream& operator << (std::ostream& os, const L1GctJetCounterLut& lut);
00098 
00099 #endif /*L1GCTJETCOUNTERLUT_H_*/

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