CMS 3D CMS Logo

L1GctRegion.h
Go to the documentation of this file.
1 #ifndef L1GCTREGION_H
2 #define L1GCTREGION_H
3 
16 
17 class L1GctRegion : public L1CaloRegion
18 {
19  public:
20 
21  enum numberOfBits {
25  };
26 
27  // Constructors and destructor
28  L1GctRegion();
29 
30  ~L1GctRegion();
31 
32  // Named constructors
34  static L1GctRegion makeProtoJetRegion(const unsigned et, const bool overFlow, const bool fineGrain, const bool tauIsolationVeto,
35  const unsigned ieta, const unsigned iphi, const int16_t bx);
36  static L1GctRegion makeFinalJetRegion(const unsigned et, const bool overFlow, const bool fineGrain,
37  const unsigned ieta, const unsigned iphi, const int16_t bx);
38 
39  // Replace et() method to use 10 bits for all eta
40  unsigned et() const { return overFlow() ? kGctRegionMaxValue : raw()&kGctRegionMaxValue; }
41 
42  // Replace local eta with a non-physical value
43  unsigned rctEta() const { return ( empty() ? 12 : id().rctEta() ); }
44 
45  // Access to additional bit fields
46  bool featureBit0() { return ((raw() >> 14) & 0x1) != 0; }
47  bool featureBit1() { return ((raw() >> 15) & 0x1) != 0; }
48 
49  void setFeatureBit0() { setBit(14, true ); }
50  void clrFeatureBit0() { setBit(14, false); }
51  void setFeatureBit1() { setBit(15, true ); }
52  void clrFeatureBit1() { setBit(15, false); }
53 
54  private:
55 
56  // constructor for internal use
57  L1GctRegion(const unsigned et,
58  const bool overFlow,
59  const bool fineGrain,
60  const unsigned ieta,
61  const unsigned iphi,
62  const int16_t bx);
63 
64 
65  void setBit(const unsigned bitNum, const bool onOff);
66 
67 };
68 
69 #endif
int16_t bx() const
get bunch-crossing index
Definition: L1CaloRegion.h:192
unsigned rctEta() const
Definition: L1GctRegion.h:43
bool overFlow() const
get overflow
Definition: L1CaloRegion.h:122
void setFeatureBit0()
Definition: L1GctRegion.h:49
Gct version of a calorimeter region, used within GCT emulation.
Definition: L1GctRegion.h:17
bool empty() const
is there any information in the candidate
Definition: L1CaloRegion.h:201
void clrFeatureBit1()
Definition: L1GctRegion.h:52
static L1GctRegion makeProtoJetRegion(const unsigned et, const bool overFlow, const bool fineGrain, const bool tauIsolationVeto, const unsigned ieta, const unsigned iphi, const int16_t bx)
Definition: L1GctRegion.cc:14
static L1GctRegion makeJfInputRegion(const L1CaloRegion &)
Definition: L1GctRegion.cc:7
bool featureBit1()
Definition: L1GctRegion.h:47
void setBit(const unsigned bitNum, const bool onOff)
Definition: L1GctRegion.cc:43
void setFeatureBit1()
Definition: L1GctRegion.h:51
static L1GctRegion makeFinalJetRegion(const unsigned et, const bool overFlow, const bool fineGrain, const unsigned ieta, const unsigned iphi, const int16_t bx)
Definition: L1GctRegion.cc:26
bool featureBit0()
Definition: L1GctRegion.h:46
uint16_t raw() const
get raw data
Definition: L1CaloRegion.h:113
bool fineGrain() const
get fine grain bit
Definition: L1CaloRegion.h:128
A calorimeter trigger region (sum of 4x4 trigger towers)
Definition: L1CaloRegion.h:22
unsigned et() const
Definition: L1GctRegion.h:40
void clrFeatureBit0()
Definition: L1GctRegion.h:50