ATLAS Offline Software
GenericTOB.h
Go to the documentation of this file.
1 // Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
2 
3 #ifndef GENERICTOB_H
4 #define GENERICTOB_H
5 
6 #include <iostream>
7 #include <string>
8 
9 #include "L1TopoEvent/BaseTOB.h"
10 #include "L1TopoEvent/JetTOB.h"
11 #include "L1TopoEvent/gJetTOB.h"
12 #include "L1TopoEvent/jTauTOB.h"
13 #include "L1TopoEvent/eTauTOB.h"
14 #include "L1TopoEvent/jLJetTOB.h"
15 #include "L1TopoEvent/gLJetTOB.h"
16 #include "L1TopoEvent/jJetTOB.h"
17 #include "L1TopoEvent/ClusterTOB.h"
18 #include "L1TopoEvent/eEmTOB.h"
19 #include "L1TopoEvent/jEmTOB.h"
20 #include "L1TopoEvent/cTauTOB.h"
21 #include "L1TopoEvent/MuonTOB.h"
24 #include "L1TopoEvent/MetTOB.h"
25 #include "L1TopoEvent/jXETOB.h"
26 #include "L1TopoEvent/jTETOB.h"
27 #include "L1TopoEvent/gXETOB.h"
28 #include "L1TopoEvent/gTETOB.h"
29 
30 
31 // TODO implement sizecheck lile in ClusterTOB
32 
33 namespace TCS {
34 
35  class GenericTOB : public BaseTOB {
36  public:
37 
38  // default constructor
40 
41  // constructor from individual values
42  GenericTOB(unsigned int Et, int eta, int phi, uint32_t roiWord = 0);
43 
44  // copy constructor
46 
47  // constructor from jet
48  GenericTOB(const JetTOB & jet, JetTOB::JetSize jetSize);
49 
50  // constructor from jFEX Tau
51  GenericTOB(const jTauTOB & tau);
52 
53  // constructor from jFEX Em
54  GenericTOB(const jEmTOB & jem);
55 
56  // constructor from jFEX LJet
57  GenericTOB(const jLJetTOB & jet);
58 
59  // constructor from gFEX LJet
60  GenericTOB(const gLJetTOB & jet);
61 
62  // constructor from jFEX Jet
63  GenericTOB(const jJetTOB & jet);
64 
65  // constructor from gFEX Jet
66  GenericTOB(const gJetTOB & jet);
67 
68  // constructor from cluster
69  GenericTOB(const ClusterTOB & cluster);
70 
71  // constructor from eFEX Em
72  GenericTOB(const eEmTOB & eem);
73 
74  // constructor from eFEX Tau
75  GenericTOB(const eTauTOB & etau);
76 
77  // constructor from cTau
78  GenericTOB(const cTauTOB & ctau);
79 
80  // constructor from muon
81  GenericTOB(const MuonTOB & muon);
82 
83  // constructor from lateMuon
84  GenericTOB(const LateMuonTOB & lateMuon);
85 
86  // constructor from muonNextBC
87  GenericTOB(const MuonNextBCTOB & muonNextBC);
88 
89  // constructor from met
90  GenericTOB(const MetTOB & met);
91 
92  // constructor from jFEX XE
93  GenericTOB(const jXETOB & jxe);
94 
95  // constructor from jFEX TE
96  GenericTOB(const jTETOB & jte);
97 
98  // constructor from gFEX XE
99  GenericTOB(const gXETOB & gxe);
100 
101  // constructor from gFEX TE
102  GenericTOB(const gTETOB & gte);
103 
104  // destructor
106 
107  static GenericTOB* createOnHeap(const GenericTOB &);
108  static void clearHeap();
109 
110  static const Heap<TCS::GenericTOB>& heap() { return fg_heap; }
111 
112  public:
113  unsigned int Et() const { return m_Et; }
114  unsigned int EtWide() const { return m_EtWide; }
115  unsigned int EtNarrow() const { return m_EtNarrow; }
116 
117  int Ex() const { return m_Ex; }
118  int Ey() const { return m_Ey; }
119  unsigned int Et2() const { return m_Et2; }
120  unsigned int sumEt() const { return m_sumEt; }
121  unsigned int sumEtSideA() const { return m_sumEtSideA; }
122  unsigned int sumEtSideC() const { return m_sumEtSideC; }
123 
124  int eta() const { return m_eta; }
125  int phi() const { return m_phi; }
126 
127  // See definitions at TrigT1Interfaces/MuCTPIL1TopoCandidate.h
128  int bw2or3() const { return m_bw2or3; }
129  int innerCoin() const { return m_innerCoin; }
130  int goodMF() const { return m_goodMF; }
131  int charge() const { return m_charge; }
132  int is2cand() const { return m_is2cand; }
133 
134  double EtDouble() const { return m_EtDouble; }
135  double etaDouble() const { return m_etaDouble; }
136  double phiDouble() const { return m_phiDouble; }
137 
138  double ExDouble() const { return m_ExDouble; }
139  double EyDouble() const { return m_EyDouble; }
140  double sumEtDouble() const { return m_sumEtDouble; }
141  double sumEtDoubleSideA() const { return m_sumEtDoubleSideA; }
142  double sumEtDoubleSideC() const { return m_sumEtDoubleSideC; }
143 
144  virtual void print(std::ostream &o) const;
145 
147 
148  inputTOBType_t tobType() const { return m_tobType; }
149 
150  private:
151  unsigned int m_Et { 0 };
152  unsigned int m_EtNarrow { 0 };
153  unsigned int m_EtWide { 0 };
154 
155  int m_Ex { 0 };
156  int m_Ey { 0 };
157  unsigned int m_Et2 { 0 };
158  unsigned int m_sumEt { 0 };
159  unsigned int m_sumEtSideA { 0 };
160  unsigned int m_sumEtSideC { 0 };
161 
162  int m_eta { 0 };
163  int m_phi { 0 };
164 
165  int m_bw2or3 { 0 };
166  int m_innerCoin { 0 };
167  int m_goodMF { 0 };
168  int m_charge { 0 };
169  int m_is2cand { 0 };
170 
171  double m_EtDouble { 0 };
172  double m_etaDouble { 0 };
173  double m_phiDouble { 0 };
174 
175  double m_ExDouble { 0 };
176  double m_EyDouble { 0 };
177  double m_sumEtDouble { 0 };
178  double m_sumEtDoubleSideA { 0 };
179  double m_sumEtDoubleSideC { 0 };
180 
182 
183  static thread_local Heap<TCS::GenericTOB> fg_heap;
184  };
185 }
186 
187 #endif
TCS::LateMuonTOB
Definition: LateMuonTOB.h:13
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:196
TCS::GenericTOB::m_Ex
int m_Ex
Definition: GenericTOB.h:155
TCS::GenericTOB::clearHeap
static void clearHeap()
Definition: GenericTOB.cxx:276
TCS::JetTOB::JetSize
JetSize
Definition: JetTOB.h:21
TCS::GenericTOB::setTobType
void setTobType(inputTOBType_t tobType)
Definition: GenericTOB.h:146
TCS::MuonTOB
Definition: MuonTOB.h:14
TCS::GenericTOB::EtWide
unsigned int EtWide() const
Definition: GenericTOB.h:114
TCS::GenericTOB::sumEtSideA
unsigned int sumEtSideA() const
Definition: GenericTOB.h:121
jJetTOB.h
TCS::GenericTOB::phiDouble
double phiDouble() const
Definition: GenericTOB.h:136
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TCS::GenericTOB::etaDouble
double etaDouble() const
Definition: GenericTOB.h:135
MuonTOB.h
TCS::GenericTOB::EtNarrow
unsigned int EtNarrow() const
Definition: GenericTOB.h:115
TCS::MetTOB
Definition: MetTOB.h:13
BaseTOB.h
gJetTOB.h
TCS::GenericTOB::m_sumEt
unsigned int m_sumEt
Definition: GenericTOB.h:158
TCS::GenericTOB::tobType
inputTOBType_t tobType() const
Definition: GenericTOB.h:148
TCS::gTETOB
Definition: gTETOB.h:13
TCS::BaseTOB::roiWord
uint32_t roiWord() const
Definition: BaseTOB.h:21
TCS::GenericTOB::m_innerCoin
int m_innerCoin
Definition: GenericTOB.h:166
TCS::GenericTOB::m_is2cand
int m_is2cand
Definition: GenericTOB.h:169
TCS::GenericTOB::sumEtDoubleSideA
double sumEtDoubleSideA() const
Definition: GenericTOB.h:141
TCS::GenericTOB::Et
unsigned int Et() const
Definition: GenericTOB.h:113
TCS::GenericTOB::Ey
int Ey() const
Definition: GenericTOB.h:118
TCS::GenericTOB::is2cand
int is2cand() const
Definition: GenericTOB.h:132
TCS::Heap< TCS::GenericTOB >
TCS::GenericTOB::m_EtNarrow
unsigned int m_EtNarrow
Definition: GenericTOB.h:152
eEmTOB.h
TCS::GenericTOB::~GenericTOB
~GenericTOB()
TCS::GenericTOB::m_sumEtSideC
unsigned int m_sumEtSideC
Definition: GenericTOB.h:160
gXETOB.h
jXETOB.h
TCS::GenericTOB::m_phiDouble
double m_phiDouble
Definition: GenericTOB.h:173
TCS::GenericTOB::m_tobType
inputTOBType_t m_tobType
Definition: GenericTOB.h:181
TCS::GenericTOB::createOnHeap
static GenericTOB * createOnHeap(const GenericTOB &)
Definition: GenericTOB.cxx:271
TCS::jJetTOB
Definition: jJetTOB.h:16
met
Definition: IMETSignificance.h:24
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
TCS::GenericTOB::bw2or3
int bw2or3() const
Definition: GenericTOB.h:128
cTauTOB.h
TCS::eTauTOB
Definition: eTauTOB.h:13
TCS::jLJetTOB
Definition: jLJetTOB.h:16
TCS::GenericTOB::m_goodMF
int m_goodMF
Definition: GenericTOB.h:167
TCS::GenericTOB::innerCoin
int innerCoin() const
Definition: GenericTOB.h:129
TCS::GenericTOB::m_EyDouble
double m_EyDouble
Definition: GenericTOB.h:176
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::eEmTOB
Definition: L1Topo/L1TopoEvent/L1TopoEvent/eEmTOB.h:13
TCS::GenericTOB::m_bw2or3
int m_bw2or3
Definition: GenericTOB.h:165
MuonNextBCTOB.h
TCS::GenericTOB::m_sumEtDouble
double m_sumEtDouble
Definition: GenericTOB.h:177
TCS::jTauTOB
Definition: jTauTOB.h:16
TCS::MuonNextBCTOB
Definition: MuonNextBCTOB.h:13
TCS::GenericTOB::ExDouble
double ExDouble() const
Definition: GenericTOB.h:138
TCS::GenericTOB::sumEt
unsigned int sumEt() const
Definition: GenericTOB.h:120
PowhegPythia8EvtGen_H2a4X_ctauY.ctau
int ctau
Definition: PowhegPythia8EvtGen_H2a4X_ctauY.py:28
gTETOB.h
jTETOB.h
TCS::GenericTOB::goodMF
int goodMF() const
Definition: GenericTOB.h:130
TCS::jTETOB
Definition: jTETOB.h:13
TCS::GenericTOB::charge
int charge() const
Definition: GenericTOB.h:131
TCS::gXETOB
Definition: gXETOB.h:13
TCS::GenericTOB::sumEtSideC
unsigned int sumEtSideC() const
Definition: GenericTOB.h:122
TCS::GenericTOB
Definition: GenericTOB.h:35
TCS::GenericTOB::m_sumEtSideA
unsigned int m_sumEtSideA
Definition: GenericTOB.h:159
jEmTOB.h
TCS::GenericTOB::m_eta
int m_eta
Definition: GenericTOB.h:162
TCS::GenericTOB::Ex
int Ex() const
Definition: GenericTOB.h:117
TCS::GenericTOB::m_EtWide
unsigned int m_EtWide
Definition: GenericTOB.h:153
TCS::GenericTOB::sumEtDoubleSideC
double sumEtDoubleSideC() const
Definition: GenericTOB.h:142
TCS::GenericTOB::GenericTOB
GenericTOB(uint32_t roiWord=0)
Definition: GenericTOB.cxx:8
TCS::GenericTOB::m_Ey
int m_Ey
Definition: GenericTOB.h:156
jTauTOB.h
TCS::GenericTOB::EyDouble
double EyDouble() const
Definition: GenericTOB.h:139
TCS::GenericTOB::m_Et2
unsigned int m_Et2
Definition: GenericTOB.h:157
eTauTOB.h
ClusterTOB.h
TCS::GenericTOB::phi
int phi() const
Definition: GenericTOB.h:125
TCS::gLJetTOB
Definition: gLJetTOB.h:18
gLJetTOB.h
TCS::inputTOBType_t
inputTOBType_t
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::GenericTOB::m_etaDouble
double m_etaDouble
Definition: GenericTOB.h:172
TCS::GenericTOB::Et2
unsigned int Et2() const
Definition: GenericTOB.h:119
TCS::GenericTOB::GenericTOB
GenericTOB(const GenericTOB &other)
TCS::GenericTOB::fg_heap
static thread_local Heap< TCS::GenericTOB > fg_heap
Definition: GenericTOB.h:183
TCS::jEmTOB
Definition: jEmTOB.h:16
TCS::GenericTOB::EtDouble
double EtDouble() const
Definition: GenericTOB.h:134
TCS::GenericTOB::print
virtual void print(std::ostream &o) const
Definition: GenericTOB.cxx:280
InDetDD::other
@ other
Definition: InDetDD_Defs.h:16
TCS::gJetTOB
Definition: gJetTOB.h:18
TCS::GenericTOB::heap
static const Heap< TCS::GenericTOB > & heap()
Definition: GenericTOB.h:110
TCS::JetTOB
Definition: JetTOB.h:18
TCS
Definition: Global/GlobalSimulation/src/IO/Decision.h:18
TCS::GenericTOB::m_phi
int m_phi
Definition: GenericTOB.h:163
TCS::GenericTOB::eta
int eta() const
Definition: GenericTOB.h:124
TCS::GenericTOB::m_ExDouble
double m_ExDouble
Definition: GenericTOB.h:175
TCS::NONE
@ NONE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::GenericTOB::m_Et
unsigned int m_Et
Definition: GenericTOB.h:151
TCS::GenericTOB::m_charge
int m_charge
Definition: GenericTOB.h:168
LateMuonTOB.h
TCS::GenericTOB::m_EtDouble
double m_EtDouble
Definition: GenericTOB.h:171
TCS::cTauTOB
Definition: cTauTOB.h:13
TCS::ClusterTOB
Definition: ClusterTOB.h:13
TCS::GenericTOB::m_sumEtDoubleSideA
double m_sumEtDoubleSideA
Definition: GenericTOB.h:178
JetTOB.h
MetTOB.h
TCS::GenericTOB::m_sumEtDoubleSideC
double m_sumEtDoubleSideC
Definition: GenericTOB.h:179
TCS::jXETOB
Definition: jXETOB.h:13
jLJetTOB.h
TCS::GenericTOB::sumEtDouble
double sumEtDouble() const
Definition: GenericTOB.h:140