CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
L1GctTdrJetFinder.h
Go to the documentation of this file.
1 #ifndef L1GCTTDRJETFINDER_H_
2 #define L1GCTTDRJETFINDER_H_
3 
5 
6 #include <boost/cstdint.hpp> //for uint16_t
7 #include <vector>
8 
47 /*
48  * \author Jim Brooke & Robert Frazier
49  * \date March 2006
50  */
51 
52 
53 
55 {
56  public:
57 
59  L1GctTdrJetFinder(int id);
60 
62 
64  friend std::ostream& operator << (std::ostream& os, const L1GctTdrJetFinder& algo);
65 
67  virtual void fetchInput();
68 
70  virtual void process();
71 
72  protected:
73 
74  // Each jetFinder must define the constants as private and copy the
75  // function definitions below.
76  virtual unsigned maxRegionsIn() const { return MAX_REGIONS_IN; }
77  virtual unsigned centralCol0() const { return CENTRAL_COL0; }
78  virtual unsigned int nCols() const { return N_COLS; }
79 
80 private:
81 
83  static const unsigned int MAX_REGIONS_IN;
84  static const unsigned int N_COLS;
85  static const unsigned int CENTRAL_COL0;
86 
88  void findJets();
89 
91  bool detectJet(const UShort centreIndex, const bool boundary = false) const;
92 
94  ULong calcJetEnergy(const UShort centreIndex, const bool boundary = false) const;
95 
97  L1CaloRegionDetId calcJetPosition(const UShort centreIndex) const;
98 
100  bool calcJetTauVeto(const UShort centreIndex, const bool boundary = false) const;
101 
102 };
103 
104 std::ostream& operator << (std::ostream& os, const L1GctTdrJetFinder& algo);
105 
106 #endif /*L1GCTTDRJETFINDER_H_*/
3*3 sliding window algorithm jet finder.
static const unsigned int MAX_REGIONS_IN
The real jetFinders must define these constants.
friend std::ostream & operator<<(std::ostream &os, const L1GctTdrJetFinder &algo)
Overload &lt;&lt; operator.
unsigned long int ULong
void findJets()
Here is the TDR 3x3 sliding window jet finder algorithm.
bool calcJetTauVeto(const UShort centreIndex, const bool boundary=false) const
Returns combined tauVeto of the 9 regions centred (physically) about centreIndex. Set boundary = true...
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:188
virtual unsigned maxRegionsIn() const
Base class to allow implementation of jetFinder algorithms.
virtual unsigned centralCol0() const
ULong calcJetEnergy(const UShort centreIndex, const bool boundary=false) const
Returns energy sum of the 9 regions centred (physically) about centreIndex. Set boundary = true if at...
static const unsigned int CENTRAL_COL0
virtual void process()
process the data, fill output buffers
unsigned short int UShort
bool detectJet(const UShort centreIndex, const bool boundary=false) const
Returns true if region index is the centre of a jet. Set boundary = true if at edge of HCAL...
virtual void fetchInput()
get input data from sources
virtual unsigned int nCols() const
L1CaloRegionDetId calcJetPosition(const UShort centreIndex) const
returns the encoded (eta, phi) position of the centre region
static const unsigned int N_COLS
L1GctTdrJetFinder(int id)
id is 0-8 for -ve Eta jetfinders, 9-17 for +ve Eta, for increasing Phi.