CMS 3D CMS Logo

/data/refman/pasoursint/CMSSW_4_4_5_patch3/src/L1Trigger/GlobalCaloTrigger/interface/L1GctTdrJetFinder.h

Go to the documentation of this file.
00001 #ifndef L1GCTTDRJETFINDER_H_
00002 #define L1GCTTDRJETFINDER_H_
00003 
00004 #include "L1Trigger/GlobalCaloTrigger/interface/L1GctJetFinderBase.h"
00005 
00006 #include <boost/cstdint.hpp> //for uint16_t
00007 #include <vector>
00008 
00047 /*
00048  * \author Jim Brooke & Robert Frazier
00049  * \date March 2006
00050  */
00051 
00052 
00053 
00054 class L1GctTdrJetFinder : public L1GctJetFinderBase
00055 {
00056  public:
00057 
00059   L1GctTdrJetFinder(int id);
00060                  
00061   ~L1GctTdrJetFinder();
00062    
00064   friend std::ostream& operator << (std::ostream& os, const L1GctTdrJetFinder& algo);
00065 
00067   virtual void fetchInput();
00068 
00070   virtual void process();
00071 
00072  protected:
00073 
00074   // Each jetFinder must define the constants as private and copy the
00075   // function definitions below.
00076   virtual unsigned maxRegionsIn() const { return MAX_REGIONS_IN; }
00077   virtual unsigned centralCol0() const { return CENTRAL_COL0; }
00078   virtual unsigned int nCols() const { return N_COLS; }
00079 
00080 private:
00081 
00083   static const unsigned int MAX_REGIONS_IN; 
00084   static const unsigned int N_COLS;
00085   static const unsigned int CENTRAL_COL0;
00086 
00088   void findJets();  
00089 
00091   bool detectJet(const UShort centreIndex, const bool boundary = false) const;
00092 
00094   ULong calcJetEnergy(const UShort centreIndex, const bool boundary = false) const;
00095 
00097   L1CaloRegionDetId calcJetPosition(const UShort centreIndex) const;
00098 
00100   bool calcJetTauVeto(const UShort centreIndex, const bool boundary = false) const;
00101     
00102 };
00103 
00104 std::ostream& operator << (std::ostream& os, const L1GctTdrJetFinder& algo);
00105 
00106 #endif /*L1GCTTDRJETFINDER_H_*/