ATLAS Offline Software
LateMuonTOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef L1TopoEvent__LateMuonTOB
4 #define L1TopoEvent__LateMuonTOB
5 
6 #include <iostream>
7 
8 #include "L1TopoEvent/BaseTOB.h"
9 #include "L1TopoEvent/Heap.h"
10 
11 namespace TCS {
12 
13  class LateMuonTOB : public BaseTOB {
14  public:
15 
16  static unsigned int nBitsEt() { return g_nBitsEt; }
17  static unsigned int nBitsIsolation() { return g_nBitsIsolation; }
18  static unsigned int nBitsEta() { return g_nBitsEta; }
19  static unsigned int nBitsPhi() { return g_nBitsPhi; }
20 
21 
22  // default constructor
23  LateMuonTOB(uint32_t roiWord = 0, const std::string& tobName = "LateMuonTOB");
24 
25  // constructor with individual values
26  LateMuonTOB(unsigned int et, unsigned int isolation, int eta, unsigned int phi, uint32_t roiWord = 0, const std::string& tobName = "LateMuonTOB");
27 
28  // constructor with initial values
29  LateMuonTOB(const LateMuonTOB & latemuon);
30 
31  // destructor
32  virtual ~LateMuonTOB();
33 
34  // accessors
35  unsigned int Et() const { return m_Et; }
36  unsigned int isolation() const { return m_isolation; }
37  int eta() const { return m_eta; }
38  unsigned int phi() const { return m_phi; }
39 
40  int bw2or3() const { return m_bw2or3; }
41  int innerCoin() const { return m_innerCoin; }
42  int goodMF() const { return m_goodMF; }
43  int charge() const { return m_charge; }
44  int is2cand() const { return m_is2cand; }
45 
46  double EtDouble() const { return m_EtDouble; }
47  double EtaDouble() const { return m_etaDouble; }
48  double PhiDouble() const { return m_phiDouble; }
49 
50  inline bool isTGC() const {return m_isTGC;} // Additonal flag that identifies muons from TGC
51 
52  // setters
53  void setEt(unsigned int et) { m_Et = sizeCheck(et, nBitsEt()); }
54  void setIsolation(unsigned int et) { m_isolation = sizeCheck(et, nBitsIsolation()); }
55  void setEta(int eta) { m_eta = sizeCheck(eta, nBitsEta()); }
56  void setPhi(unsigned int phi) { m_phi = sizeCheck(phi, nBitsPhi()); }
57 
58  void setBW2or3(int bw2or3) { m_bw2or3 = bw2or3; }
60  void setGoodMF(int goodMF) { m_goodMF = goodMF; }
61  void setCharge(int charge) { m_charge = charge; }
63  void setIsTGC(int isTGC) { m_isTGC = isTGC; }
64 
65  void setEtDouble(double et) { m_EtDouble = et; }
66  void setEtaDouble(double eta) { m_etaDouble = eta; }
67  void setPhiDouble(double phi) { m_phiDouble = phi; }
68 
69  inputTOBType_t tobType() const { return LATEMUON; }
70 
71  // memory management
72  static LateMuonTOB* createOnHeap(const LateMuonTOB& cl);
73  static void clearHeap();
74  static const Heap<TCS::LateMuonTOB>& heap() { return fg_heap; }
75 
76  virtual void print(std::ostream &o) const;
77 
78  private:
79  static const unsigned int g_nBitsEt;
80  static const unsigned int g_nBitsIsolation;
81  static const unsigned int g_nBitsEta;
82  static const unsigned int g_nBitsPhi;
83 
84  unsigned int m_Et {0};
85  unsigned int m_isolation {0};
86  int m_eta {0};
87  unsigned int m_phi {0};
88 
89  int m_bw2or3{0};
90  int m_innerCoin{0};
91  int m_goodMF{0};
92  int m_charge{0};
93  int m_is2cand{0};
94  int m_isTGC{0};
95 
96  double m_EtDouble {0};
97  double m_etaDouble {0};
98  double m_phiDouble {0};
99 
100  static thread_local Heap<TCS::LateMuonTOB> fg_heap;
101  };
102 }
103 
104 #endif
TCS::LateMuonTOB::m_EtDouble
double m_EtDouble
Definition: LateMuonTOB.h:96
TCS::LateMuonTOB
Definition: LateMuonTOB.h:13
TCS::BaseTOB::tobName
const std::string & tobName() const
Definition: BaseTOB.h:23
TCS::LateMuonTOB::fg_heap
static thread_local Heap< TCS::LateMuonTOB > fg_heap
Definition: LateMuonTOB.h:100
TCS::LateMuonTOB::setInnerCoin
void setInnerCoin(int innerCoin)
Definition: LateMuonTOB.h:59
et
Extra patterns decribing particle interation process.
Heap.h
TCS::LateMuonTOB::m_is2cand
int m_is2cand
Definition: LateMuonTOB.h:93
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
TCS::LateMuonTOB::setGoodMF
void setGoodMF(int goodMF)
Definition: LateMuonTOB.h:60
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TCS::LateMuonTOB::innerCoin
int innerCoin() const
Definition: LateMuonTOB.h:41
TCS::LateMuonTOB::m_phiDouble
double m_phiDouble
Definition: LateMuonTOB.h:98
TCS::LateMuonTOB::isTGC
bool isTGC() const
Definition: LateMuonTOB.h:50
TCS::LateMuonTOB::setEta
void setEta(int eta)
Definition: LateMuonTOB.h:55
BaseTOB.h
TCS::LateMuonTOB::m_innerCoin
int m_innerCoin
Definition: LateMuonTOB.h:90
TCS::LateMuonTOB::LateMuonTOB
LateMuonTOB(const LateMuonTOB &latemuon)
TCS::LateMuonTOB::goodMF
int goodMF() const
Definition: LateMuonTOB.h:42
TCS::LateMuonTOB::clearHeap
static void clearHeap()
Definition: LateMuonTOB.cxx:38
TCS::LateMuonTOB::nBitsEt
static unsigned int nBitsEt()
Definition: LateMuonTOB.h:16
TCS::LateMuonTOB::setBW2or3
void setBW2or3(int bw2or3)
Definition: LateMuonTOB.h:58
TCS::LateMuonTOB::m_bw2or3
int m_bw2or3
Definition: LateMuonTOB.h:89
TCS::BaseTOB::roiWord
uint32_t roiWord() const
Definition: BaseTOB.h:21
TCS::LateMuonTOB::m_goodMF
int m_goodMF
Definition: LateMuonTOB.h:91
TCS::LateMuonTOB::nBitsPhi
static unsigned int nBitsPhi()
Definition: LateMuonTOB.h:19
TCS::LateMuonTOB::m_eta
int m_eta
Definition: LateMuonTOB.h:86
TCS::LateMuonTOB::~LateMuonTOB
virtual ~LateMuonTOB()
TCS::LateMuonTOB::is2cand
int is2cand() const
Definition: LateMuonTOB.h:44
TCS::Heap< TCS::LateMuonTOB >
TCS::BaseTOB::sizeCheck
int sizeCheck(int value, unsigned int size) const
Definition: BaseTOB.cxx:32
TCS::LateMuonTOB::Et
unsigned int Et() const
Definition: LateMuonTOB.h:35
TCS::LateMuonTOB::isolation
unsigned int isolation() const
Definition: LateMuonTOB.h:36
TCS::LateMuonTOB::m_charge
int m_charge
Definition: LateMuonTOB.h:92
TCS::LateMuonTOB::heap
static const Heap< TCS::LateMuonTOB > & heap()
Definition: LateMuonTOB.h:74
TCS::LateMuonTOB::setIsTGC
void setIsTGC(int isTGC)
Definition: LateMuonTOB.h:63
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::LateMuonTOB::createOnHeap
static LateMuonTOB * createOnHeap(const LateMuonTOB &cl)
Definition: LateMuonTOB.cxx:32
TCS::LateMuonTOB::tobType
inputTOBType_t tobType() const
Definition: LateMuonTOB.h:69
TCS::LateMuonTOB::PhiDouble
double PhiDouble() const
Definition: LateMuonTOB.h:48
TCS::LateMuonTOB::phi
unsigned int phi() const
Definition: LateMuonTOB.h:38
TCS::LateMuonTOB::setEt
void setEt(unsigned int et)
Definition: LateMuonTOB.h:53
TCS::LateMuonTOB::EtDouble
double EtDouble() const
Definition: LateMuonTOB.h:46
TCS::LATEMUON
@ LATEMUON
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:19
TCS::LateMuonTOB::m_Et
unsigned int m_Et
Definition: LateMuonTOB.h:84
TCS::LateMuonTOB::setPhi
void setPhi(unsigned int phi)
Definition: LateMuonTOB.h:56
TCS::LateMuonTOB::bw2or3
int bw2or3() const
Definition: LateMuonTOB.h:40
TCS::LateMuonTOB::LateMuonTOB
LateMuonTOB(uint32_t roiWord=0, const std::string &tobName="LateMuonTOB")
Definition: LateMuonTOB.cxx:13
TCS::LateMuonTOB::charge
int charge() const
Definition: LateMuonTOB.h:43
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::LateMuonTOB::EtaDouble
double EtaDouble() const
Definition: LateMuonTOB.h:47
TCS::LateMuonTOB::print
virtual void print(std::ostream &o) const
Definition: LateMuonTOB.cxx:42
TCS::LateMuonTOB::nBitsEta
static unsigned int nBitsEta()
Definition: LateMuonTOB.h:18
TCS::LateMuonTOB::setIs2cand
void setIs2cand(int is2cand)
Definition: LateMuonTOB.h:62
TCS::LateMuonTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: LateMuonTOB.h:66
TCS::LateMuonTOB::g_nBitsPhi
static const unsigned int g_nBitsPhi
Definition: LateMuonTOB.h:82
TCS::LateMuonTOB::m_phi
unsigned int m_phi
Definition: LateMuonTOB.h:87
TCS::LateMuonTOB::g_nBitsEt
static const unsigned int g_nBitsEt
Definition: LateMuonTOB.h:79
TCS::LateMuonTOB::eta
int eta() const
Definition: LateMuonTOB.h:37
TCS::LateMuonTOB::setCharge
void setCharge(int charge)
Definition: LateMuonTOB.h:61
TCS::LateMuonTOB::setIsolation
void setIsolation(unsigned int et)
Definition: LateMuonTOB.h:54
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::LateMuonTOB::m_isTGC
int m_isTGC
Definition: LateMuonTOB.h:94
TCS::LateMuonTOB::g_nBitsEta
static const unsigned int g_nBitsEta
Definition: LateMuonTOB.h:81
TCS::LateMuonTOB::setEtDouble
void setEtDouble(double et)
Definition: LateMuonTOB.h:65
TCS::LateMuonTOB::g_nBitsIsolation
static const unsigned int g_nBitsIsolation
Definition: LateMuonTOB.h:80
TCS::LateMuonTOB::m_etaDouble
double m_etaDouble
Definition: LateMuonTOB.h:97
dq_make_web_display.cl
cl
print [x.__class__ for x in toList(dqregion.getSubRegions()) ]
Definition: dq_make_web_display.py:26
TCS::LateMuonTOB::m_isolation
unsigned int m_isolation
Definition: LateMuonTOB.h:85
TCS::LateMuonTOB::nBitsIsolation
static unsigned int nBitsIsolation()
Definition: LateMuonTOB.h:17
TCS::LateMuonTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: LateMuonTOB.h:67