ATLAS Offline Software
gFexInputProvider.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <math.h> /* atan2 */
6 
7 #include "gFexInputProvider.h"
10 
12 
13 #include <unistd.h>
14 
15 using namespace std;
16 using namespace LVL1;
17 
18 
19 // gFex to L1Topo conversion factors
20 const int gFexInputProvider::m_EtJet_conversion = 2; // 200 MeV to 100 MeV for gJet, gLJet
21 const double gFexInputProvider::m_EtGlobal_conversion = 0.01; // 1 MeV to 100 MeV for gXE, gTE
22 const int gFexInputProvider::m_phi_conversion = 1; // 20 x phi to 20 x phi
23 const int gFexInputProvider::m_eta_conversion = 40; // eta to 40 x eta
24 
25 const double gFexInputProvider::m_EtDoubleJet_conversion = 0.1; // 100 MeV to GeV for gJet, gLJet
26 const double gFexInputProvider::m_EtDoubleGlobal_conversion = 0.1; // 100 MeV to GeV for gXE, gTE
27 const double gFexInputProvider::m_phiDouble_conversion = 0.05; // 20 x phi to phi
28 const double gFexInputProvider::m_etaDouble_conversion = 0.025; // 40 x eta to eta
29 
30 
31 gFexInputProvider::gFexInputProvider(const std::string& type, const std::string& name,
32  const IInterface* parent) :
33  base_class(type, name, parent)
34 {
35  declareInterface<LVL1::IInputTOBConverter>( this );
36 }
37 
38 
41 
44 
49 
52  if (! m_gESPRESSO_EDMKey.empty() ) {
53  renounce(m_gESPRESSO_EDMKey); //make this optional, as its availability depends on how gFEX TOBs are being produced (cannot be simulated by gFEX sim, optional form gFEX bytestream decoders
54  }
55 
56  if (!m_monTool.empty()) ATH_CHECK(m_monTool.retrieve());
57 
58  return StatusCode::SUCCESS;
59 }
60 
63 
64  if (m_gJet_EDMKey.empty()) {
65  ATH_MSG_DEBUG("gFex Jet input disabled, skip filling");
66  return StatusCode::SUCCESS;
67  }
68 
70  ATH_CHECK(gJet_EDM.isValid());
71 
72  for(const xAOD::gFexJetRoI* gFexRoI : * gJet_EDM) {
73 
74  auto jetType = gFexRoI->gFexType();
75  if ( jetType != 1 and jetType != 2 ) { continue; } // 1 = gFEX gBlockLead, 2 = gFEX gBlockSub (L1Topo gJet)
76 
77  ATH_MSG_DEBUG( "EDM gFex Jet type: "
78  << gFexRoI->gFexType()
79  << " Et: "
80  << gFexRoI->et() // returns the et value of the jet in units of MeV
81  << " gFexTobEt: "
82  << gFexRoI->gFexTobEt() // returns the et value of the jet in units of 200 MeV
83  << " eta: "
84  << gFexRoI->eta() // returns a floating point eta corresponding to the center of the tower (fixed values, defined in gFexJetRoI_v1.cxx)
85  << " phi: "
86  << gFexRoI->phi() // returns a floating point phi corresponding to the center of the tower
87  << " iPhiTopo: "
88  << gFexRoI->iPhiTopo() // returns an integer phi from 0 to 127
89  );
90 
91  unsigned int EtTopo = gFexRoI->gFexTobEt()*m_EtJet_conversion;
92  unsigned int phiTopo = gFexRoI->iPhiTopo()*m_phi_conversion;
93  int etaTopo = static_cast<int>(gFexRoI->eta()*m_eta_conversion);
94 
95  TCS::gJetTOB gJet( EtTopo, etaTopo, phiTopo );
96 
97  gJet.setEtDouble( static_cast<double>(EtTopo*m_EtDoubleJet_conversion) );
98  gJet.setEtaDouble( static_cast<double>(etaTopo*m_etaDouble_conversion) );
99  gJet.setPhiDouble( static_cast<double>(phiTopo*m_phiDouble_conversion) );
100 
101  inputEvent.addgJet( gJet );
102  auto mon_h_gJetPt = Monitored::Scalar("gJetTOBPt", gJet.EtDouble());
103  auto mon_h_gJetPhi = Monitored::Scalar("gJetTOBPhi", gJet.phi());
104  auto mon_h_gJetEta = Monitored::Scalar("gJetTOBEta", gJet.eta());
105  Monitored::Group(m_monTool, mon_h_gJetPt, mon_h_gJetPhi, mon_h_gJetEta);
106 
107  }
108 
109  return StatusCode::SUCCESS;
110 
111 }
112 
113 
116 
117  if (m_gLJet_EDMKey.empty()) {
118  ATH_MSG_DEBUG("gFex LJet input disabled, skip filling");
119  return StatusCode::SUCCESS;
120  }
121 
123  ATH_CHECK(gLJet_EDM.isValid());
124 
125  for(const xAOD::gFexJetRoI* gFexRoI : * gLJet_EDM) {
126 
127  auto jetType = gFexRoI->gFexType();
128  if ( jetType != 3 ) { continue; } // 3 = gFEX gJet (L1Topo gLJet)
129 
130  ATH_MSG_DEBUG( "EDM gFex LJet type: "
131  << gFexRoI->gFexType()
132  << " Et: "
133  << gFexRoI->et() // returns the et value of the jet in units of MeV
134  << " gFexTobEt: "
135  << gFexRoI->gFexTobEt() // returns the et value of the jet in units of 200 MeV
136  << " eta: "
137  << gFexRoI->eta() // returns a floating point eta corresponding to the center of the tower (fixed values, defined in gFexJetRoI_v1.cxx)
138  << " phi: "
139  << gFexRoI->phi() // returns a floating point phi corresponding to the center of the tower
140  << " iPhiTopo: "
141  << gFexRoI->iPhiTopo() // returns an integer phi from 0 to 127
142  );
143 
144  unsigned int EtTopo = gFexRoI->gFexTobEt()*m_EtJet_conversion;
145  unsigned int phiTopo = gFexRoI->iPhiTopo()*m_phi_conversion;
146  int etaTopo = static_cast<int>(gFexRoI->eta()*m_eta_conversion);
147 
148  TCS::gLJetTOB gJet( EtTopo, etaTopo, phiTopo );
149 
150  gJet.setEtDouble( static_cast<double>(EtTopo*m_EtDoubleJet_conversion) );
151  gJet.setEtaDouble( static_cast<double>(etaTopo*m_etaDouble_conversion) );
152  gJet.setPhiDouble( static_cast<double>(phiTopo*m_phiDouble_conversion) );
153 
154  inputEvent.addgLJet( gJet );
155  auto mon_h_gLJetPt = Monitored::Scalar("gLJetTOBPt", gJet.EtDouble());
156  auto mon_h_gLJetPhi = Monitored::Scalar("gLJetTOBPhi", gJet.phi());
157  auto mon_h_gLJetEta = Monitored::Scalar("gLJetTOBEta", gJet.eta());
158  Monitored::Group(m_monTool, mon_h_gLJetPt, mon_h_gLJetPhi, mon_h_gLJetEta);
159 
160  }
161 
162  return StatusCode::SUCCESS;
163 
164 }
165 
166 
169 
170  if (m_gXEJWOJ_EDMKey.empty()) {
171  ATH_MSG_DEBUG("gFex XEJWOJ input disabled, skip filling");
172  return StatusCode::SUCCESS;
173  }
174 
176  ATH_CHECK(gXEJWOJ_EDM.isValid());
177 
178  for(const xAOD::gFexGlobalRoI* gFexRoI : * gXEJWOJ_EDM) {
179 
180  auto globalType = gFexRoI->globalType();
181  if ( globalType != 2 ) { continue; } // 2 = MET components (METx, METy)
182 
183  ATH_MSG_DEBUG( "EDM gFex XEJWOJ type: "
184  << gFexRoI->globalType()
185  << " Ex: "
186  << gFexRoI->METquantityOne() // returns the Ex component in MeV
187  << " Ey: "
188  << gFexRoI->METquantityTwo() // returns the Ey component in MeV
189  );
190 
191  int ExTopo = gFexRoI->METquantityOne()*m_EtGlobal_conversion;
192  int EyTopo = gFexRoI->METquantityTwo()*m_EtGlobal_conversion;
193 
194  unsigned long long ExTopoLong = static_cast<unsigned long long>(ExTopo);
195  unsigned long long EyTopoLong = static_cast<unsigned long long>(EyTopo);
196 
197  unsigned long long Et2Topo = ExTopoLong*ExTopoLong + EyTopoLong*EyTopoLong;
198  unsigned int EtTopo = std::sqrt(Et2Topo);
199 
200  TCS::gXETOB gxe( -ExTopo, -EyTopo, EtTopo, TCS::GXEJWOJ );
201 
202  gxe.setExDouble( static_cast<double>(ExTopo*m_EtDoubleGlobal_conversion) );
203  gxe.setEyDouble( static_cast<double>(EyTopo*m_EtDoubleGlobal_conversion) );
204  gxe.setEtDouble( static_cast<double>(EtTopo*m_EtDoubleGlobal_conversion) );
205  gxe.setEt2( Et2Topo );
206 
207  inputEvent.setgXEJWOJ( gxe );
208  auto mon_h_gXEJWOJPt = Monitored::Scalar("gXEJWOJTOBPt", gxe.EtDouble());
209  auto mon_h_gXEJWOJPhi = Monitored::Scalar("gXEJWOJTOBPhi", atan2(gxe.Ey(), gxe.Ex()));
210  Monitored::Group(m_monTool, mon_h_gXEJWOJPt, mon_h_gXEJWOJPhi);
211 
212  }
213 
214  return StatusCode::SUCCESS;
215 
216 }
217 
218 
221 
222  if (m_gMHT_EDMKey.empty()) {
223  ATH_MSG_DEBUG("gFex MHT input disabled, skip filling");
224  return StatusCode::SUCCESS;
225  }
226 
228  ATH_CHECK(gMHT_EDM.isValid());
229 
230  for(const xAOD::gFexGlobalRoI* gFexRoI : * gMHT_EDM) {
231 
232  auto globalType = gFexRoI->globalType();
233  if ( globalType != 3 ) { continue; } // 3 = MET hard term components (MHTx, MHTy)
234 
235  ATH_MSG_DEBUG( "EDM gFex MHT type: "
236  << gFexRoI->globalType()
237  << " Ex: "
238  << gFexRoI->METquantityOne() // returns the Ex component in MeV
239  << " Ey: "
240  << gFexRoI->METquantityTwo() // returns the Ey component in MeV
241  );
242 
243  int ExTopo = gFexRoI->METquantityOne()*m_EtGlobal_conversion;
244  int EyTopo = gFexRoI->METquantityTwo()*m_EtGlobal_conversion;
245 
246  unsigned long long ExTopoLong = static_cast<unsigned long long>(ExTopo);
247  unsigned long long EyTopoLong = static_cast<unsigned long long>(EyTopo);
248 
249  unsigned long long Et2Topo = ExTopoLong*ExTopoLong + EyTopoLong*EyTopoLong;
250  unsigned int EtTopo = std::sqrt(Et2Topo);
251 
252  TCS::gXETOB gxe( -ExTopo, -EyTopo, EtTopo, TCS::GMHT );
253 
254  gxe.setExDouble( static_cast<double>(ExTopo*m_EtDoubleGlobal_conversion) );
255  gxe.setEyDouble( static_cast<double>(EyTopo*m_EtDoubleGlobal_conversion) );
256  gxe.setEtDouble( static_cast<double>(EtTopo*m_EtDoubleGlobal_conversion) );
257  gxe.setEt2( Et2Topo );
258 
259  inputEvent.setgMHT( gxe );
260  auto mon_h_gMHTPt = Monitored::Scalar("gMHTTOBPt", gxe.EtDouble());
261  auto mon_h_gMHTPhi = Monitored::Scalar("gMHTTOBPhi", atan2(gxe.Ey(), gxe.Ex()));
262  Monitored::Group(m_monTool, mon_h_gMHTPt, mon_h_gMHTPhi);
263 
264  }
265 
266  return StatusCode::SUCCESS;
267 
268 }
269 
270 
273 
274  if (m_gXENC_EDMKey.empty()) {
275  ATH_MSG_DEBUG("gFex XENC input disabled, skip filling");
276  return StatusCode::SUCCESS;
277  }
278 
280  ATH_CHECK(gXENC_EDM.isValid());
281 
282  for(const xAOD::gFexGlobalRoI* gFexRoI : * gXENC_EDM) {
283 
284  ATH_MSG_DEBUG( "EDM gFex XENC type: "
285  << gFexRoI->globalType()
286  << " Ex: "
287  << gFexRoI->METquantityOne() // returns the Ex component in MeV
288  << " Ey: "
289  << gFexRoI->METquantityTwo() // returns the Ey component in MeV
290  );
291 
292  int ExTopo = gFexRoI->METquantityOne()*m_EtGlobal_conversion;
293  int EyTopo = gFexRoI->METquantityTwo()*m_EtGlobal_conversion;
294 
295  //Cast the Ex and Ey to longs to perform multiplication that is safe wrt. overflows
296  unsigned long long ExTopoLong = static_cast<unsigned long long>(ExTopo);
297  unsigned long long EyTopoLong = static_cast<unsigned long long>(EyTopo);
298 
299  unsigned long long Et2Topo = ExTopoLong*ExTopoLong + EyTopoLong*EyTopoLong;
300  unsigned int EtTopo = std::sqrt(Et2Topo);
301 
302  TCS::gXETOB gxe( -ExTopo, -EyTopo, EtTopo, TCS::GXENC );
303 
304  gxe.setExDouble( static_cast<double>(ExTopo*m_EtDoubleGlobal_conversion) );
305  gxe.setEyDouble( static_cast<double>(EyTopo*m_EtDoubleGlobal_conversion) );
306  gxe.setEtDouble( static_cast<double>(EtTopo*m_EtDoubleGlobal_conversion) );
307  gxe.setEt2( Et2Topo );
308 
309  inputEvent.setgXENC( gxe );
310  auto mon_h_gXENCPt = Monitored::Scalar("gXENCTOBPt", gxe.EtDouble());
311  Monitored::Group(m_monTool, mon_h_gXENCPt);
312 
313  }
314 
315  return StatusCode::SUCCESS;
316 
317 }
318 
319 
322 
323  if (m_gXERHO_EDMKey.empty()) {
324  ATH_MSG_DEBUG("gFex XENC input disabled, skip filling");
325  return StatusCode::SUCCESS;
326  }
327 
329  ATH_CHECK(gXERHO_EDM.isValid());
330 
331  for(const xAOD::gFexGlobalRoI* gFexRoI : * gXERHO_EDM) {
332 
333  ATH_MSG_DEBUG( "EDM gFex XERHO type: "
334  << gFexRoI->globalType()
335  << " Ex: "
336  << gFexRoI->METquantityOne() // returns the Ex component in MeV
337  << " Ey: "
338  << gFexRoI->METquantityTwo() // returns the Ey component in MeV
339  );
340 
341  int ExTopo = gFexRoI->METquantityOne()*m_EtGlobal_conversion;
342  int EyTopo = gFexRoI->METquantityTwo()*m_EtGlobal_conversion;
343 
344  unsigned long long ExTopoLong = static_cast<unsigned long long>(ExTopo);
345  unsigned long long EyTopoLong = static_cast<unsigned long long>(EyTopo);
346 
347  unsigned long long Et2Topo = ExTopoLong*ExTopoLong + EyTopoLong*EyTopoLong;
348  unsigned int EtTopo = std::sqrt(Et2Topo);
349 
350  TCS::gXETOB gxe( -ExTopo, -EyTopo, EtTopo, TCS::GXERHO );
351 
352  gxe.setExDouble( static_cast<double>(ExTopo*m_EtDoubleGlobal_conversion) );
353  gxe.setEyDouble( static_cast<double>(EyTopo*m_EtDoubleGlobal_conversion) );
354  gxe.setEtDouble( static_cast<double>(EtTopo*m_EtDoubleGlobal_conversion) );
355  gxe.setEt2( Et2Topo );
356 
357  inputEvent.setgXERHO( gxe );
358  auto mon_h_gXERHOPt = Monitored::Scalar("gXERHOTOBPt", gxe.EtDouble());
359  Monitored::Group(m_monTool, mon_h_gXERHOPt);
360 
361  }
362 
363  return StatusCode::SUCCESS;
364 
365 }
366 
367 
370 
371  if (m_gTE_EDMKey.empty()) {
372  ATH_MSG_DEBUG("gFex TE input disabled, skip filling");
373  return StatusCode::SUCCESS;
374  }
375 
377  ATH_CHECK(gTE_EDM.isValid());
378 
379  for(const xAOD::gFexGlobalRoI* gFexRoI : * gTE_EDM) {
380 
381  auto globalType = gFexRoI->globalType();
382  if ( globalType != 1 ) { continue; } // 1 = scalar values (MET, SumET)
383 
384  ATH_MSG_DEBUG( "EDM gFex TE type: "
385  << gFexRoI->globalType()
386  << " sumEt: "
387  << gFexRoI->METquantityTwo() // returns sumEt in MeV
388  );
389 
390  unsigned int sumEtTopo = gFexRoI->METquantityTwo()*m_EtGlobal_conversion;
391 
392  TCS::gTETOB gte( sumEtTopo, TCS::GTE );
393 
394  gte.setSumEtDouble( static_cast<double>(sumEtTopo*m_EtDoubleGlobal_conversion) );
395 
396  inputEvent.setgTE( gte );
397  auto mon_h_gTEsumEt = Monitored::Scalar("gTEsumEt", gte.sumEtDouble());
398  Monitored::Group(m_monTool, mon_h_gTEsumEt);
399 
400  }
401 
402  return StatusCode::SUCCESS;
403 
404 }
405 
408  if (m_gESPRESSO_EDMKey.empty()) {
409  ATH_MSG_DEBUG("gFex ESPRESSO input disabled, skip filling");
410  return StatusCode::SUCCESS;
411  }
412 
414  if (! gESPRESSO_EDM.isValid() ) {
415  //gESPRESSO is only active in HI runs and only available from data. If not present simply skip it.
416  ATH_MSG_DEBUG("gFex ESPRESSO input is not available, skip filling");
417  return StatusCode::SUCCESS;
418  }
419 
420  for(const xAOD::gFexGlobalRoI* gFexRoI : * gESPRESSO_EDM) {
421 
422  auto globalType = gFexRoI->globalType();
423  if ( globalType != 1 ) { continue; } // 1 = scalar values (MET, SumET)
424 
425  ATH_MSG_DEBUG( "EDM gFex ESPRESSO type: "
426  << gFexRoI->globalType()
427  << " sumEt: "
428  << gFexRoI->METquantityTwo() // returns sumEt in MeV
429  );
430 
431  unsigned int sumEtTopo = gFexRoI->METquantityTwo()*m_EtGlobal_conversion;
432 
433  TCS::gTETOB gespresso( sumEtTopo, TCS::GESPRESSO );
434 
435  gespresso.setSumEtDouble( static_cast<double>(sumEtTopo*m_EtDoubleGlobal_conversion) );
436 
437  inputEvent.setgESPRESSO( gespresso );
438  auto mon_h_gTEsumEt = Monitored::Scalar("gESPRESSOsumEt", gespresso.sumEtDouble());
439  Monitored::Group(m_monTool, mon_h_gTEsumEt);
440 
441  }
442 
443  return StatusCode::SUCCESS;
444 }
445 
448  ATH_CHECK(fillSRJet(inputEvent));
449  ATH_CHECK(fillLRJet(inputEvent));
450 
451  ATH_CHECK(fillXEJWOJ(inputEvent));
452  ATH_CHECK(fillMHT(inputEvent));
453  ATH_CHECK(fillXENC(inputEvent));
454  ATH_CHECK(fillXERHO(inputEvent));
455 
456  ATH_CHECK(fillTE(inputEvent));
457  ATH_CHECK(fillGESPRESSO(inputEvent));
458  return StatusCode::SUCCESS;
459 }
460 
TCS::gJetTOB::phi
unsigned phi() const
Definition: gJetTOB.h:39
TCS::gJetTOB::eta
int eta() const
Definition: gJetTOB.h:38
TCS::TopoInputEvent::setgXENC
StatusCode setgXENC(const gXETOB &gXENC)
Definition: TopoInputEvent.cxx:199
LVL1::gFexInputProvider::fillMHT
StatusCode fillMHT(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:220
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
TCS::TopoInputEvent::setgXERHO
StatusCode setgXERHO(const gXETOB &gXERHO)
Definition: TopoInputEvent.cxx:205
TCS::gJetTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: gJetTOB.h:52
TCS::GESPRESSO
@ GESPRESSO
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:41
LVL1::gFexInputProvider::m_gXERHO_EDMKey
SG::ReadHandleKey< xAOD::gFexGlobalRoIContainer > m_gXERHO_EDMKey
Definition: gFexInputProvider.h:49
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
TCS::gLJetTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: gLJetTOB.h:51
TCS::gXETOB::setEtDouble
void setEtDouble(double et)
Definition: gXETOB.h:47
TCS::TopoInputEvent::setgXEJWOJ
StatusCode setgXEJWOJ(const gXETOB &gXEJWOJ)
Definition: TopoInputEvent.cxx:187
TCS::gXETOB::setExDouble
void setExDouble(double ex)
Definition: gXETOB.h:45
gFexInputProvider.h
xAOD::gFexGlobalRoI_v1
Class describing properties of a LVL1 gFEX global Trigger Object (TOB) in the xAOD format.
Definition: gFexGlobalRoI_v1.h:25
TCS::gLJetTOB::eta
int eta() const
Definition: gLJetTOB.h:38
TCS::gTETOB
Definition: gTETOB.h:13
LVL1::gFexInputProvider::m_gJet_EDMKey
SG::ReadHandleKey< xAOD::gFexJetRoIContainer > m_gJet_EDMKey
Definition: gFexInputProvider.h:43
TCS::gXETOB::Ex
int Ex() const
Definition: gXETOB.h:30
LVL1::gFexInputProvider::m_EtJet_conversion
static const int m_EtJet_conversion
Definition: gFexInputProvider.h:55
TCS::GTE
@ GTE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:39
LVL1::gFexInputProvider::m_gESPRESSO_EDMKey
SG::ReadHandleKey< xAOD::gFexGlobalRoIContainer > m_gESPRESSO_EDMKey
Definition: gFexInputProvider.h:52
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
TCS::gXETOB::setEt2
void setEt2(unsigned long long et2)
Definition: gXETOB.h:43
LVL1::gFexInputProvider::fillTopoInputEvent
virtual StatusCode fillTopoInputEvent(TCS::TopoInputEvent &) const override final
Definition: gFexInputProvider.cxx:447
TCS::gJetTOB::setEtDouble
void setEtDouble(double et)
Definition: gJetTOB.h:50
TCS::TopoInputEvent::addgJet
StatusCode addgJet(const gJetTOB &jet)
Definition: TopoInputEvent.cxx:119
LVL1::gFexInputProvider::fillXEJWOJ
StatusCode fillXEJWOJ(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:168
TCS::gXETOB::EtDouble
double EtDouble() const
Definition: gXETOB.h:37
TopoInputEvent.h
LVL1::gFexInputProvider::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: gFexInputProvider.h:41
TCS::gLJetTOB::EtDouble
double EtDouble() const
Definition: gLJetTOB.h:41
TCS::gLJetTOB::phi
unsigned phi() const
Definition: gLJetTOB.h:39
LVL1::gFexInputProvider::fillGESPRESSO
StatusCode fillGESPRESSO(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:407
LVL1::gFexInputProvider::fillXENC
StatusCode fillXENC(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:272
LVL1::gFexInputProvider::m_gXENC_EDMKey
SG::ReadHandleKey< xAOD::gFexGlobalRoIContainer > m_gXENC_EDMKey
Definition: gFexInputProvider.h:48
LVL1::gFexInputProvider::m_gXEJWOJ_EDMKey
SG::ReadHandleKey< xAOD::gFexGlobalRoIContainer > m_gXEJWOJ_EDMKey
Definition: gFexInputProvider.h:46
TCS::gXETOB::Ey
int Ey() const
Definition: gXETOB.h:31
LVL1::gFexInputProvider::m_EtDoubleJet_conversion
static const double m_EtDoubleJet_conversion
Definition: gFexInputProvider.h:60
TCS::TopoInputEvent::addgLJet
StatusCode addgLJet(const gLJetTOB &jet)
Definition: TopoInputEvent.cxx:109
LVL1::gFexInputProvider::m_eta_conversion
static const int m_eta_conversion
Definition: gFexInputProvider.h:58
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAOD::gFexJetRoI_v1
Class describing properties of a LVL1 gFEX jet Trigger Object (TOB) in the xAOD format.
Definition: gFexJetRoI_v1.h:25
TCS::gTETOB::setSumEtDouble
void setSumEtDouble(double sumEt)
Definition: gTETOB.h:37
TCS::TopoInputEvent
Definition: TopoInputEvent.h:42
TCS::gXETOB::setEyDouble
void setEyDouble(double ey)
Definition: gXETOB.h:46
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TCS::gLJetTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: gLJetTOB.h:52
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TCS::gJetTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: gJetTOB.h:51
LVL1::gFexInputProvider::m_gTE_EDMKey
SG::ReadHandleKey< xAOD::gFexGlobalRoIContainer > m_gTE_EDMKey
Definition: gFexInputProvider.h:51
LVL1::gFexInputProvider::fillSRJet
StatusCode fillSRJet(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:62
LVL1::gFexInputProvider::m_gMHT_EDMKey
SG::ReadHandleKey< xAOD::gFexGlobalRoIContainer > m_gMHT_EDMKey
Definition: gFexInputProvider.h:47
TCS::gLJetTOB::setEtDouble
void setEtDouble(double et)
Definition: gLJetTOB.h:50
LVL1::gFexInputProvider::fillXERHO
StatusCode fillXERHO(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:321
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
TCS::gXETOB
Definition: gXETOB.h:13
TrigConf::name
Definition: HLTChainList.h:35
TCS::TopoInputEvent::setgTE
StatusCode setgTE(const gTETOB &gTE)
Definition: TopoInputEvent.cxx:211
TCS::gTETOB::sumEtDouble
double sumEtDouble() const
Definition: gTETOB.h:32
TCS::GXEJWOJ
@ GXEJWOJ
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:35
TCS::TopoInputEvent::setgESPRESSO
StatusCode setgESPRESSO(const gTETOB &gESPRESSO)
Definition: TopoInputEvent.cxx:223
TCS::GXENC
@ GXENC
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:36
LVL1::gFexInputProvider::m_gLJet_EDMKey
SG::ReadHandleKey< xAOD::gFexJetRoIContainer > m_gLJet_EDMKey
Definition: gFexInputProvider.h:44
TCS::TopoInputEvent::setgMHT
StatusCode setgMHT(const gXETOB &gMHT)
Definition: TopoInputEvent.cxx:193
TCS::GMHT
@ GMHT
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:38
EnergyRoI_ClassDEF.h
LVL1::gFexInputProvider::fillTE
StatusCode fillTE(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:369
TrigT1CaloDefs.h
TCS::gLJetTOB
Definition: gLJetTOB.h:18
LVL1::gFexInputProvider::fillLRJet
StatusCode fillLRJet(TCS::TopoInputEvent &inputEvent) const
Definition: gFexInputProvider.cxx:115
LVL1::gFexInputProvider::m_phi_conversion
static const int m_phi_conversion
Definition: gFexInputProvider.h:57
ConvertOldUJHistosToNewHistos.jetType
string jetType
Definition: ConvertOldUJHistosToNewHistos.py:121
TCS::gJetTOB
Definition: gJetTOB.h:18
TCS::gJetTOB::EtDouble
double EtDouble() const
Definition: gJetTOB.h:41
LVL1::gFexInputProvider::m_EtGlobal_conversion
static const double m_EtGlobal_conversion
Definition: gFexInputProvider.h:56
LVL1::gFexInputProvider::m_phiDouble_conversion
static const double m_phiDouble_conversion
Definition: gFexInputProvider.h:62
TCS::GXERHO
@ GXERHO
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:37
LVL1::gFexInputProvider::m_etaDouble_conversion
static const double m_etaDouble_conversion
Definition: gFexInputProvider.h:63
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
LVL1::gFexInputProvider::m_EtDoubleGlobal_conversion
static const double m_EtDoubleGlobal_conversion
Definition: gFexInputProvider.h:61
SG::AllowEmpty
@ AllowEmpty
Definition: StoreGate/StoreGate/VarHandleKey.h:27
LVL1::gFexInputProvider::initialize
virtual StatusCode initialize() override final
Definition: gFexInputProvider.cxx:40