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 
122  int eta() const { return m_eta; }
123  int phi() const { return m_phi; }
124 
125  // See definitions at TrigT1Interfaces/MuCTPIL1TopoCandidate.h
126  int bw2or3() const { return m_bw2or3; }
127  int innerCoin() const { return m_innerCoin; }
128  int goodMF() const { return m_goodMF; }
129  int charge() const { return m_charge; }
130  int is2cand() const { return m_is2cand; }
131 
132  double EtDouble() const { return m_EtDouble; }
133  double etaDouble() const { return m_etaDouble; }
134  double phiDouble() const { return m_phiDouble; }
135 
136  double ExDouble() const { return m_ExDouble; }
137  double EyDouble() const { return m_EyDouble; }
138  double sumEtDouble() const { return m_sumEtDouble; }
139 
140  virtual void print(std::ostream &o) const;
141 
143 
144  inputTOBType_t tobType() const { return m_tobType; }
145 
146  private:
147  unsigned int m_Et { 0 };
148  unsigned int m_EtNarrow { 0 };
149  unsigned int m_EtWide { 0 };
150 
151  int m_Ex { 0 };
152  int m_Ey { 0 };
153  unsigned int m_Et2 { 0 };
154  unsigned int m_sumEt { 0 };
155 
156  int m_eta { 0 };
157  int m_phi { 0 };
158 
159  int m_bw2or3 { 0 };
160  int m_innerCoin { 0 };
161  int m_goodMF { 0 };
162  int m_charge { 0 };
163  int m_is2cand { 0 };
164 
165  double m_EtDouble { 0 };
166  double m_etaDouble { 0 };
167  double m_phiDouble { 0 };
168 
169  double m_ExDouble { 0 };
170  double m_EyDouble { 0 };
171  double m_sumEtDouble { 0 };
172 
174 
175  static thread_local Heap<TCS::GenericTOB> fg_heap;
176  };
177 }
178 
179 #endif
TCS::LateMuonTOB
Definition: LateMuonTOB.h:13
xAOD::muon
@ muon
Definition: TrackingPrimitives.h:195
TCS::GenericTOB::m_Ex
int m_Ex
Definition: GenericTOB.h:151
TCS::GenericTOB::clearHeap
static void clearHeap()
Definition: GenericTOB.cxx:269
TCS::JetTOB::JetSize
JetSize
Definition: JetTOB.h:21
TCS::GenericTOB::setTobType
void setTobType(inputTOBType_t tobType)
Definition: GenericTOB.h:142
TCS::MuonTOB
Definition: MuonTOB.h:14
TCS::GenericTOB::EtWide
unsigned int EtWide() const
Definition: GenericTOB.h:114
jJetTOB.h
TCS::GenericTOB::phiDouble
double phiDouble() const
Definition: GenericTOB.h:134
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TCS::GenericTOB::etaDouble
double etaDouble() const
Definition: GenericTOB.h:133
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:154
TCS::GenericTOB::tobType
inputTOBType_t tobType() const
Definition: GenericTOB.h:144
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:160
TCS::GenericTOB::m_is2cand
int m_is2cand
Definition: GenericTOB.h:163
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:130
TCS::Heap< TCS::GenericTOB >
TCS::GenericTOB::m_EtNarrow
unsigned int m_EtNarrow
Definition: GenericTOB.h:148
TCS::GenericTOB::~GenericTOB
~GenericTOB()
gXETOB.h
jXETOB.h
TCS::GenericTOB::m_phiDouble
double m_phiDouble
Definition: GenericTOB.h:167
TCS::GenericTOB::m_tobType
inputTOBType_t m_tobType
Definition: GenericTOB.h:173
TCS::GenericTOB::createOnHeap
static GenericTOB * createOnHeap(const GenericTOB &)
Definition: GenericTOB.cxx:264
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:126
cTauTOB.h
TCS::eTauTOB
Definition: eTauTOB.h:13
TCS::jLJetTOB
Definition: jLJetTOB.h:16
TCS::GenericTOB::m_goodMF
int m_goodMF
Definition: GenericTOB.h:161
TCS::GenericTOB::innerCoin
int innerCoin() const
Definition: GenericTOB.h:127
TCS::GenericTOB::m_EyDouble
double m_EyDouble
Definition: GenericTOB.h:170
TCS::BaseTOB
Definition: BaseTOB.h:12
TCS::eEmTOB
Definition: eEmTOB.h:13
TCS::GenericTOB::m_bw2or3
int m_bw2or3
Definition: GenericTOB.h:159
MuonNextBCTOB.h
TCS::GenericTOB::m_sumEtDouble
double m_sumEtDouble
Definition: GenericTOB.h:171
TCS::jTauTOB
Definition: jTauTOB.h:16
TCS::MuonNextBCTOB
Definition: MuonNextBCTOB.h:13
TCS::GenericTOB::ExDouble
double ExDouble() const
Definition: GenericTOB.h:136
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:128
TCS::jTETOB
Definition: jTETOB.h:13
TCS::GenericTOB::charge
int charge() const
Definition: GenericTOB.h:129
TCS::gXETOB
Definition: gXETOB.h:13
TCS::GenericTOB
Definition: GenericTOB.h:35
eEmTOB.h
jEmTOB.h
TCS::GenericTOB::m_eta
int m_eta
Definition: GenericTOB.h:156
TCS::GenericTOB::Ex
int Ex() const
Definition: GenericTOB.h:117
TCS::GenericTOB::m_EtWide
unsigned int m_EtWide
Definition: GenericTOB.h:149
TCS::GenericTOB::GenericTOB
GenericTOB(uint32_t roiWord=0)
Definition: GenericTOB.cxx:8
TCS::GenericTOB::m_Ey
int m_Ey
Definition: GenericTOB.h:152
jTauTOB.h
TCS::GenericTOB::EyDouble
double EyDouble() const
Definition: GenericTOB.h:137
TCS::GenericTOB::m_Et2
unsigned int m_Et2
Definition: GenericTOB.h:153
eTauTOB.h
ClusterTOB.h
TCS::GenericTOB::phi
int phi() const
Definition: GenericTOB.h:123
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:166
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:175
TCS::jEmTOB
Definition: jEmTOB.h:16
TCS::GenericTOB::EtDouble
double EtDouble() const
Definition: GenericTOB.h:132
TCS::GenericTOB::print
virtual void print(std::ostream &o) const
Definition: GenericTOB.cxx:273
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:157
TCS::GenericTOB::eta
int eta() const
Definition: GenericTOB.h:122
TCS::GenericTOB::m_ExDouble
double m_ExDouble
Definition: GenericTOB.h:169
TCS::NONE
@ NONE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:10
TCS::GenericTOB::m_Et
unsigned int m_Et
Definition: GenericTOB.h:147
TCS::GenericTOB::m_charge
int m_charge
Definition: GenericTOB.h:162
LateMuonTOB.h
TCS::GenericTOB::m_EtDouble
double m_EtDouble
Definition: GenericTOB.h:165
TCS::cTauTOB
Definition: cTauTOB.h:13
TCS::ClusterTOB
Definition: ClusterTOB.h:13
JetTOB.h
MetTOB.h
TCS::jXETOB
Definition: jXETOB.h:13
jLJetTOB.h
TCS::GenericTOB::sumEtDouble
double sumEtDouble() const
Definition: GenericTOB.h:138