ATLAS Offline Software
gLJetTOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef GLJETTOB_H
4 #define GLJETTOB_H
5 
6 #include <iostream>
7 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 
12 // TODO implement sizecheck lile in ClusterTOB
13 
14 namespace TCS {
15 
16  class GenericTOB;
17 
18  class gLJetTOB : public BaseTOB {
19  public:
20 
21  // default constructor
22  gLJetTOB(uint32_t roiWord = 0, const std::string& tobName = "gLJetTOB");
23 
24  // copy constructor
25  gLJetTOB(const gLJetTOB & jet);
26 
27  // constructor with initial values
28  gLJetTOB(unsigned int Et, int eta, unsigned phi, uint32_t roiWord = 0, const std::string& tobName = "gLJetTOB" );
29 
30  // destructor
31  virtual ~gLJetTOB();
32 
33  // accessors
34  unsigned int energy() const { return m_Et; }
35  unsigned int Et() const { return m_Et; }
36 
37  // accessors
38  int eta() const { return m_eta; }
39  unsigned phi() const { return m_phi; }
40 
41  double EtDouble() const { return m_EtDouble; }
42  double etaDouble() const { return m_etaDouble; }
43  double phiDouble() const { return m_phiDouble; }
44 
45  // setters
46  void setEt(int energy) { m_Et = energy; }
47  void setEta(int eta) { m_eta = eta; }
48  void setPhi(int phi) { m_phi = phi; }
49 
50  void setEtDouble(double et) { m_EtDouble = et; }
51  void setEtaDouble(double eta) { m_etaDouble = eta; }
52  void setPhiDouble(double phi) { m_phiDouble = phi; }
53 
54  inputTOBType_t tobType() const { return JET; }
55 
56  static gLJetTOB* createOnHeap(const gLJetTOB& jet);
57  static void clearHeap();
58 
59  static const Heap<TCS::gLJetTOB>& heap() { return fg_heap; }
60 
61  private:
62 
63  static const unsigned int g_nBitsEt;
64  static const unsigned int g_nBitsIsolation;
65  static const unsigned int g_nBitsEta;
66  static const unsigned int g_nBitsPhi;
67 
68  unsigned int m_Et { 0 };
69  int m_eta { 0 };
70  unsigned m_phi { 0 };
71 
72  double m_EtDouble { 0 };
73  double m_etaDouble { 0 };
74  double m_phiDouble { 0 };
75 
76  virtual void print(std::ostream &o) const;
77 
78  static thread_local Heap<TCS::gLJetTOB> fg_heap;
79  };
80 
81 }
82 
83 #endif
TCS::BaseTOB::tobName
const std::string & tobName() const
Definition: BaseTOB.h:23
et
Extra patterns decribing particle interation process.
Heap.h
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
BaseTOB.h
TCS::gLJetTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: gLJetTOB.h:51
TCS::gLJetTOB::g_nBitsIsolation
static const unsigned int g_nBitsIsolation
Definition: gLJetTOB.h:64
TCS::gLJetTOB::createOnHeap
static gLJetTOB * createOnHeap(const gLJetTOB &jet)
Definition: gLJetTOB.cxx:30
TCS::gLJetTOB::eta
int eta() const
Definition: gLJetTOB.h:38
TCS::BaseTOB::roiWord
uint32_t roiWord() const
Definition: BaseTOB.h:21
TCS::gLJetTOB::m_EtDouble
double m_EtDouble
Definition: gLJetTOB.h:72
TCS::Heap< TCS::gLJetTOB >
TCS::gLJetTOB::m_etaDouble
double m_etaDouble
Definition: gLJetTOB.h:73
TCS::gLJetTOB::g_nBitsEta
static const unsigned int g_nBitsEta
Definition: gLJetTOB.h:65
TCS::gLJetTOB::~gLJetTOB
virtual ~gLJetTOB()
TCS::gLJetTOB::g_nBitsPhi
static const unsigned int g_nBitsPhi
Definition: gLJetTOB.h:66
TCS::gLJetTOB::setPhi
void setPhi(int phi)
Definition: gLJetTOB.h:48
TCS::gLJetTOB::etaDouble
double etaDouble() const
Definition: gLJetTOB.h:42
TCS::JET
@ JET
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:12
TCS::gLJetTOB::gLJetTOB
gLJetTOB(uint32_t roiWord=0, const std::string &tobName="gLJetTOB")
Definition: gLJetTOB.cxx:9
TCS::gLJetTOB::EtDouble
double EtDouble() const
Definition: gLJetTOB.h:41
TCS::gLJetTOB::phi
unsigned phi() const
Definition: gLJetTOB.h:39
TCS::gLJetTOB::energy
unsigned int energy() const
Definition: gLJetTOB.h:34
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
TCS::gLJetTOB::setEt
void setEt(int energy)
Definition: gLJetTOB.h:46
TCS::gLJetTOB::fg_heap
static thread_local Heap< TCS::gLJetTOB > fg_heap
Definition: gLJetTOB.h:78
TCS::gLJetTOB::m_phi
unsigned m_phi
Definition: gLJetTOB.h:70
TCS::gLJetTOB::clearHeap
static void clearHeap()
Definition: gLJetTOB.cxx:35
TCS::gLJetTOB::m_eta
int m_eta
Definition: gLJetTOB.h:69
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::gLJetTOB::m_phiDouble
double m_phiDouble
Definition: gLJetTOB.h:74
TCS::gLJetTOB::Et
unsigned int Et() const
Definition: gLJetTOB.h:35
TCS::gLJetTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: gLJetTOB.h:52
TCS::gLJetTOB::setEtDouble
void setEtDouble(double et)
Definition: gLJetTOB.h:50
TCS::gLJetTOB::gLJetTOB
gLJetTOB(const gLJetTOB &jet)
TCS::gLJetTOB::print
virtual void print(std::ostream &o) const
Definition: gLJetTOB.cxx:40
TCS::gLJetTOB::tobType
inputTOBType_t tobType() const
Definition: gLJetTOB.h:54
TCS::gLJetTOB::m_Et
unsigned int m_Et
Definition: gLJetTOB.h:68
TCS::gLJetTOB
Definition: gLJetTOB.h:18
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::gLJetTOB::g_nBitsEt
static const unsigned int g_nBitsEt
Definition: gLJetTOB.h:63
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::gLJetTOB::setEta
void setEta(int eta)
Definition: gLJetTOB.h:47
TCS::gLJetTOB::heap
static const Heap< TCS::gLJetTOB > & heap()
Definition: gLJetTOB.h:59
TCS::gLJetTOB::phiDouble
double phiDouble() const
Definition: gLJetTOB.h:43