ATLAS Offline Software
jFexInputProvider.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include <math.h>
6 
7 #include "jFexInputProvider.h"
13 
14 #include "GaudiKernel/PhysicalConstants.h"
15 
16 using namespace std;
17 using namespace LVL1;
18 
19 
20 // jFex to L1Topo conversion factors
21 const int jFexInputProvider::m_Et_conversion = 2; // 200 MeV to 100 MeV
22 const double jFexInputProvider::m_sumEt_conversion = 0.01; // 1 MeV to 100 MeV
23 const int jFexInputProvider::m_phi_conversion = 2; // 10 x phi to 20 x phi
24 const int jFexInputProvider::m_eta_conversion = 4; // 10 x eta to 40 x eta
25 
26 const double jFexInputProvider::m_EtDouble_conversion = 0.1; // 100 MeV to GeV
27 const double jFexInputProvider::m_sumEtDouble_conversion = 0.1; // 100 MeV to GeV
28 const double jFexInputProvider::m_phiDouble_conversion = 0.05; // 20 x phi to phi
29 const double jFexInputProvider::m_etaDouble_conversion = 0.025; // 40 x eta to eta
30 
31 
32 jFexInputProvider::jFexInputProvider(const std::string& type, const std::string& name,
33  const IInterface* parent) :
34  base_class(type, name, parent)
35 {
36  declareInterface<LVL1::IInputTOBConverter>( this );
37 }
38 
40 {}
41 
44 
45  CHECK(m_jJet_EDMKey.initialize(SG::AllowEmpty));
46  CHECK(m_jLJet_EDMKey.initialize(SG::AllowEmpty));
47  CHECK(m_jEM_EDMKey.initialize(SG::AllowEmpty));
48  CHECK(m_jTau_EDMKey.initialize(SG::AllowEmpty));
49  CHECK(m_jXE_EDMKey.initialize(SG::AllowEmpty));
50  CHECK(m_jTE_EDMKey.initialize(SG::AllowEmpty));
51 
52  if (!m_monTool.empty()) ATH_CHECK(m_monTool.retrieve());
53 
54  return StatusCode::SUCCESS;
55 }
56 
59  if (m_jEM_EDMKey.empty()) {
60  ATH_MSG_DEBUG("jFex EM input disabled, skip filling");
61  return StatusCode::SUCCESS;
62  }
64  ATH_CHECK(jEM_EDM.isValid());
65 
66  for(const xAOD::jFexFwdElRoI* jFexRoI : * jEM_EDM) {
67 
68  ATH_MSG_DEBUG( "EDM jFex Em Number: "
69  << +jFexRoI->jFexNumber() // returns an 8 bit unsigned integer referring to the jFEX number
70  << " et: "
71  << jFexRoI->et() // returns the et value of the jet in MeV unit
72  << " tobEt: "
73  << jFexRoI->tobEt() // returns the et value of the jet in units of 200 MeV
74  << " globalEta: "
75  << jFexRoI->globalEta() // returns simplified global eta in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
76  << " globalPhi: "
77  << jFexRoI->globalPhi() // returns simplified global phi in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
78  << " tobEMIso: "
79  << +jFexRoI->tobEMIso() // returns isolation bits
80  << " tobEMf1: "
81  << +jFexRoI->tobEMf1() // returns isolation bits
82  << " tobEMf2: "
83  << +jFexRoI->tobEMf2() // returns isolation bits
84  );
85 
86  unsigned int EtTopo = jFexRoI->tobEt()*m_Et_conversion;
87  unsigned int phiTopo = TSU::toTopoPhi(jFexRoI->phi());
88  int etaTopo = TSU::toTopoEta(jFexRoI->eta());
89  unsigned int isolation = jFexRoI->tobEMIso();
90  unsigned int frac1 = jFexRoI->tobEMf2();
91  unsigned int frac2 = jFexRoI->tobEMf1();
92 
93  // Avoid the events with 0 Et (events below threshold)
94  if (EtTopo==0) continue;
95 
96  TCS::jEmTOB jem( EtTopo, etaTopo, phiTopo );
97  jem.setEtDouble( static_cast<double>(EtTopo*m_EtDouble_conversion) );
98  jem.setEtaDouble( static_cast<double>(etaTopo*m_etaDouble_conversion) );
99  jem.setPhiDouble( static_cast<double>(phiTopo*m_phiDouble_conversion) );
100  jem.setIsolation( isolation );
101  jem.setFrac1( frac1 );
102  jem.setFrac2( frac2 );
103 
104  inputEvent.addjEm( jem );
105 
106  auto mon_h_jEmPt = Monitored::Scalar("jEmTOBPt", jem.EtDouble());
107  auto mon_h_jEmIsolation = Monitored::Scalar("jEmTOBIsolation", jem.isolation());
108  auto mon_h_jEmFrac1 = Monitored::Scalar("jEmTOBFrac1", jem.frac1());
109  auto mon_h_jEmFrac2 = Monitored::Scalar("jEmTOBFrac2", jem.frac2());
110  auto mon_h_jEmPhi = Monitored::Scalar("jEmTOBPhi", jem.phi());
111  auto mon_h_jEmEta = Monitored::Scalar("jEmTOBEta", jem.eta());
112  Monitored::Group(m_monTool, mon_h_jEmPt, mon_h_jEmIsolation, mon_h_jEmFrac1, mon_h_jEmFrac2, mon_h_jEmPhi, mon_h_jEmEta);
113  }
114 
115  return StatusCode::SUCCESS;
116 }
117 
118 
121  if (m_jTau_EDMKey.empty()) {
122  ATH_MSG_DEBUG("jFex Tau input disabled, skip filling");
123  return StatusCode::SUCCESS;
124  }
126  ATH_CHECK(jTau_EDM.isValid());
127 
128  for(const xAOD::jFexTauRoI* jFexRoI : * jTau_EDM) {
129 
130  ATH_MSG_DEBUG( "EDM jFex Tau Number: "
131  << +jFexRoI->jFexNumber() // returns an 8 bit unsigned integer referring to the jFEX number
132  << " et: "
133  << jFexRoI->et() // returns the et value of the jet in MeV unit
134  << " tobEt: "
135  << jFexRoI->tobEt() // returns the et value of the jet in units of 200 MeV
136  << " globalEta: "
137  << jFexRoI->globalEta() // returns simplified global eta in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
138  << " globalPhi: "
139  << jFexRoI->globalPhi() // returns simplified global phi in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
140  << " isolation: "
141  << jFexRoI->tobIso() // returns isolation value in units of 200 MeV
142  );
143 
144  unsigned int EtTopo = jFexRoI->tobEt()*m_Et_conversion;
145  unsigned int phiTopo = TSU::toTopoPhi(jFexRoI->phi());
146  int etaTopo = TSU::toTopoEta(jFexRoI->eta());
147  unsigned int isolation = jFexRoI->tobIso()*m_Et_conversion;
148 
149  // Avoid the events with 0 Et (events below threshold)
150  if (EtTopo==0) continue;
151 
152  TCS::jTauTOB jtau( EtTopo, etaTopo, phiTopo );
153  jtau.setEtDouble( static_cast<double>(EtTopo*m_EtDouble_conversion) );
154  jtau.setEtaDouble( static_cast<double>(etaTopo*m_etaDouble_conversion) );
155  jtau.setPhiDouble( static_cast<double>(phiTopo*m_phiDouble_conversion) );
156  jtau.setEtIso( isolation );
157 
158  inputEvent.addjTau( jtau );
159  inputEvent.addcTau( jtau );
160 
161  auto mon_h_jTauPt = Monitored::Scalar("jTauTOBPt", jtau.EtDouble());
162  auto mon_h_jTauIsolation = Monitored::Scalar("jTauTOBIsolation", jtau.EtIso()*m_EtDouble_conversion);
163  auto mon_h_jTauPhi = Monitored::Scalar("jTauTOBPhi", jtau.phi());
164  auto mon_h_jTauEta = Monitored::Scalar("jTauTOBEta", jtau.eta());
165  Monitored::Group(m_monTool, mon_h_jTauPt, mon_h_jTauIsolation, mon_h_jTauPhi, mon_h_jTauEta);
166  }
167 
168  return StatusCode::SUCCESS;
169 }
170 
171 
174  if (m_jLJet_EDMKey.empty()) {
175  ATH_MSG_DEBUG("jFex LJet input disabled, skip filling");
176  return StatusCode::SUCCESS;
177  }
179  ATH_CHECK(jLJet_EDM.isValid());
180 
181  for(const xAOD::jFexLRJetRoI* jFexRoI : * jLJet_EDM) {
182 
183  ATH_MSG_DEBUG( "EDM jFex LJet Number: "
184  << jFexRoI->jFexNumber() // returns an 8 bit unsigned integer referring to the jFEX number
185  << " et: "
186  << jFexRoI->et() // returns the et value of the jet in MeV
187  << " tobEt: "
188  << jFexRoI->tobEt() // returns the et value of the jet in units of 200 MeV
189  << " globalEta: "
190  << jFexRoI->globalEta() // returns simplified global eta in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
191  << " globalPhi: "
192  << jFexRoI->globalPhi() // returns simplified global phi in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
193  );
194 
195  unsigned int EtTopo = jFexRoI->tobEt()*m_Et_conversion;
196  unsigned int phiTopo = TSU::toTopoPhi(jFexRoI->phi());
197  int etaTopo = TSU::toTopoEta(jFexRoI->eta());
198 
199  // Avoid the events with 0 Et (events below threshold)
200  if (EtTopo==0) continue;
201 
202  TCS::jLJetTOB jet( EtTopo, etaTopo, phiTopo );
203  jet.setEtDouble( static_cast<double>(EtTopo*m_EtDouble_conversion) );
204  jet.setEtaDouble( static_cast<double>(etaTopo*m_etaDouble_conversion) );
205  jet.setPhiDouble( static_cast<double>(phiTopo*m_phiDouble_conversion) );
206 
207  inputEvent.addjLJet( jet );
208 
209  auto mon_h_jLJetPt = Monitored::Scalar("jLJetTOBPt", jet.EtDouble());
210  auto mon_h_jLJetPhi = Monitored::Scalar("jLJetTOBPhi", jet.phi());
211  auto mon_h_jLJetEta = Monitored::Scalar("jLJetTOBEta", jet.eta());
212  Monitored::Group(m_monTool, mon_h_jLJetPt, mon_h_jLJetPhi, mon_h_jLJetEta);
213  }
214 
215  return StatusCode::SUCCESS;
216 }
217 
218 
221  if (m_jJet_EDMKey.empty()) {
222  ATH_MSG_DEBUG("jFex Jet input disabled, skip filling");
223  return StatusCode::SUCCESS;
224  }
226  ATH_CHECK(jJet_EDM.isValid());
227 
228  for(const xAOD::jFexSRJetRoI* jFexRoI : * jJet_EDM){
229 
230  ATH_MSG_DEBUG( "EDM jFex Jet Number: "
231  << +jFexRoI->jFexNumber() // returns an 8 bit unsigned integer referring to the jFEX number
232  << " et: "
233  << jFexRoI->et() // returns the et value of the jet in MeV
234  << " tobEt: "
235  << jFexRoI->tobEt() // returns the et value of the jet in units of 200 MeV
236  << " globalEta: "
237  << jFexRoI->globalEta() // returns simplified global eta in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
238  << " globalPhi: "
239  << jFexRoI->globalPhi() // returns simplified global phi in units of 0.1 (fcal straightened out, not suitable for use in L1TopoSim)
240  );
241 
242  unsigned int EtTopo = jFexRoI->tobEt()*m_Et_conversion;
243  unsigned int phiTopo = TSU::toTopoPhi(jFexRoI->phi());
244  int etaTopo = TSU::toTopoEta(jFexRoI->eta());
245 
246  // Avoid the events with 0 Et (events below threshold)
247  if (EtTopo==0) continue;
248 
249  TCS::jJetTOB jet( EtTopo, etaTopo, phiTopo );
250  jet.setEtDouble( static_cast<double>(EtTopo*m_EtDouble_conversion) );
251  jet.setEtaDouble( static_cast<double>(etaTopo*m_etaDouble_conversion) );
252  jet.setPhiDouble( static_cast<double>(phiTopo*m_phiDouble_conversion) );
253 
254  inputEvent.addjJet( jet );
255 
256  auto mon_h_jJetPt = Monitored::Scalar("jJetTOBPt", jet.EtDouble());
257  auto mon_h_jJetPhi = Monitored::Scalar("jJetTOBPhi", jet.phi());
258  auto mon_h_jJetEta = Monitored::Scalar("jJetTOBEta", jet.eta());
259  Monitored::Group(m_monTool, mon_h_jJetPt, mon_h_jJetPhi, mon_h_jJetEta);
260 
261  }
262 
263  return StatusCode::SUCCESS;
264 }
265 
266 
269 
270  if (m_jXE_EDMKey.empty()) {
271  ATH_MSG_DEBUG("jFex XE input disabled, skip filling");
272  return StatusCode::SUCCESS;
273  }
274 
276  ATH_CHECK(jXE_EDM.isValid());
277 
278  int global_ExTopo = 0;
279  int global_EyTopo = 0;
280  int central_ExTopo = 0;
281  int central_EyTopo = 0;
282 
283  for(const xAOD::jFexMETRoI* jFexRoI : *jXE_EDM){
284 
285  // Get the XE components and convert to 100 MeV units
286  int ExTopo = jFexRoI->tobEx()*m_Et_conversion;
287  int EyTopo = jFexRoI->tobEy()*m_Et_conversion;
288  int jFexNumber = jFexRoI->jFexNumber();
289  int fpgaNumber = jFexRoI->fpgaNumber();
290 
291  int hemisphere = fpgaNumber == 0 ? -1 : 1; //Note: flipped to produce the right sign
292 
293  ExTopo = hemisphere * ExTopo;
294  EyTopo = hemisphere * EyTopo;
295 
296  global_ExTopo += ExTopo;
297  global_EyTopo += EyTopo;
298 
299  // jXEC
300  if( jFexNumber!=0 && jFexNumber!=5 ) {
301  central_ExTopo += ExTopo;
302  central_EyTopo += EyTopo;
303  }
304 
305  ATH_MSG_DEBUG( "EDM jFex XE Number: "
306  << jFexNumber
307  << " FPGA Number: "
308  << fpgaNumber
309  << " Ex: "
310  << ExTopo
311  << " Ey: "
312  << EyTopo
313  );
314  }
315 
316  unsigned long long global_ExTopoLong = static_cast<unsigned long long>(global_ExTopo);
317  unsigned long long global_EyTopoLong = static_cast<unsigned long long>(global_EyTopo);
318  unsigned long long central_ExTopoLong = static_cast<unsigned long long>(central_ExTopo);
319  unsigned long long central_EyTopoLong = static_cast<unsigned long long>(central_EyTopo);
320 
321  unsigned long long Et2Topo = global_ExTopoLong*global_ExTopoLong + global_EyTopoLong*global_EyTopoLong;
322  unsigned int EtTopo = std::sqrt( Et2Topo );
323  unsigned long long Et2Topo_central = central_ExTopoLong*central_ExTopoLong + central_EyTopoLong*central_EyTopoLong;
324  unsigned int EtTopo_central = std::sqrt( Et2Topo_central );
325 
326  TCS::jXETOB jxe( global_ExTopo, global_EyTopo, EtTopo, TCS::JXE );
327  TCS::jXETOB jxec( central_ExTopo, central_EyTopo, EtTopo_central, TCS::JXEC );
328 
329  jxe.setExDouble( static_cast<double>(global_ExTopo*m_EtDouble_conversion) );
330  jxe.setEyDouble( static_cast<double>(global_EyTopo*m_EtDouble_conversion) );
331  jxe.setEtDouble( static_cast<double>(EtTopo*m_EtDouble_conversion) );
332  jxe.setEt2( Et2Topo );
333  jxec.setExDouble( static_cast<double>(central_ExTopo*m_EtDouble_conversion) );
334  jxec.setEyDouble( static_cast<double>(central_EyTopo*m_EtDouble_conversion) );
335  jxec.setEtDouble( static_cast<double>(EtTopo_central*m_EtDouble_conversion) );
336  jxec.setEt2( Et2Topo_central );
337 
338  inputEvent.setjXE( jxe );
339  inputEvent.setjXEC( jxec );
340  auto mon_h_jXE_Pt = Monitored::Scalar("jXETOBPt", jxe.EtDouble());
341  auto mon_h_jXE_Phi = Monitored::Scalar("jXETOBPhi", atan2(jxe.Ey(),jxe.Ex()));
342  auto mon_h_jXEC_Pt = Monitored::Scalar("jXECTOBPt", jxec.EtDouble());
343  auto mon_h_jXEC_Phi = Monitored::Scalar("jXECTOBPhi", atan2(jxec.Ey(),jxec.Ex()));
344  Monitored::Group(m_monTool, mon_h_jXE_Pt, mon_h_jXE_Phi, mon_h_jXEC_Pt, mon_h_jXEC_Phi);
345 
346  return StatusCode::SUCCESS;
347 }
348 
349 
352 
353  if (m_jTE_EDMKey.empty()) {
354  ATH_MSG_DEBUG("jFex TE input disabled, skip filling");
355  return StatusCode::SUCCESS;
356  }
357 
359  ATH_CHECK(jTE_EDM.isValid());
360 
361  int topoTE = 0;
362  bool topoTE_sat = false;
363  // jTE variations include jTEC, jTEFWD, jTEFWDA, jTEFWDC
364  // These quantities are defined according to the jFex module number
365  // FWDA = 5, FWDC = 0, C = 1,2,3,4
366  int topoTEC = 0;
367  int topoTEFWD = 0;
368  int topoTEFWDA = 0;
369  int topoTEFWDC = 0;
370 
371  for(const xAOD::jFexSumETRoI* jFexRoI : *jTE_EDM){
372 
373  // Get the TE components (upper and lower) and convert to 100 MeV units
374  int EtLowerTopo = jFexRoI->Et_lower()*m_sumEt_conversion;
375  int EtUpperTopo = jFexRoI->Et_upper()*m_sumEt_conversion;
376  int jFexNumber = jFexRoI->jFexNumber();
377  int fpgaNumber = jFexRoI->fpgaNumber();
378 
379  int Sat_lower = jFexRoI->tobSat_lower();
380  int Sat_upper = jFexRoI->tobSat_upper();
381 
382  ATH_MSG_DEBUG( "EDM jFex TE Number: "
383  << jFexNumber
384  << " FPGA Number: "
385  << fpgaNumber
386  << " Et_lower: "
387  << EtLowerTopo
388  << " Et_upper: "
389  << EtUpperTopo
390  << " Sat_lower: "
391  << Sat_lower
392  << " Sat_upper: "
393  << Sat_upper
394  );
395 
396  // jTE
397  topoTE += EtLowerTopo;
398  topoTE += EtUpperTopo;
399  topoTE_sat |= Sat_lower;
400  topoTE_sat |= Sat_upper;
401 
402  // jTEC
403  topoTEC += EtLowerTopo;
404  if( jFexNumber!=0 && jFexNumber!=5 )
405  {
406  topoTEC += EtUpperTopo;
407  }
408 
409  // jTEFWD
410  if( jFexNumber==0 || jFexNumber==5 )
411  {
412  topoTEFWD += EtUpperTopo;
413  }
414 
415  // jTEFWDA
416  if( jFexNumber==5 )
417  {
418  topoTEFWDA += EtUpperTopo;
419  }
420 
421  // jTEFWDC
422  if( jFexNumber==0 )
423  {
424  topoTEFWDC += EtUpperTopo;
425  }
426  }
427 
428  TCS::jTETOB jte( static_cast<unsigned int>(topoTE), TCS::JTE );
429  TCS::jTETOB jtec( static_cast<unsigned int>(topoTEC), TCS::JTEC );
430  TCS::jTETOB jtefwd( static_cast<unsigned int>(topoTEFWD), TCS::JTEFWD );
431  TCS::jTETOB jtefwda( static_cast<unsigned int>(topoTEFWDA), TCS::JTEFWDA );
432  TCS::jTETOB jtefwdc( static_cast<unsigned int>(topoTEFWDC), TCS::JTEFWDC );
433 
434  jte.setSaturationFlag( static_cast<double>(topoTE_sat) );
435  jte.setSumEtDouble( static_cast<double>(topoTE*m_sumEtDouble_conversion) );
436  jtec.setSumEtDouble( static_cast<double>(topoTEC*m_sumEtDouble_conversion) );
437  jtefwd.setSumEtDouble( static_cast<double>(topoTEFWD*m_sumEtDouble_conversion) );
438  jtefwda.setSumEtDouble( static_cast<double>(topoTEFWDA*m_sumEtDouble_conversion) );
439  jtefwdc.setSumEtDouble( static_cast<double>(topoTEFWDC*m_sumEtDouble_conversion) );
440 
441  inputEvent.setjTE( jte );
442  inputEvent.setjTEC( jtec );
443  inputEvent.setjTEFWD( jtefwd );
444  inputEvent.setjTEFWDA( jtefwda );
445  inputEvent.setjTEFWDC( jtefwdc );
446 
447  auto mon_h_jTE_saturation = Monitored::Scalar("jTETOBsaturation", jte.saturationFlag());
448  auto mon_h_jTE_sumEt = Monitored::Scalar("jTETOBsumEt", jte.sumEtDouble());
449  auto mon_h_jTEC_sumEt = Monitored::Scalar("jTECTOBsumEt", jtec.sumEtDouble());
450  auto mon_h_jTEFWD_sumEt = Monitored::Scalar("jTEFWDTOBsumEt", jtefwd.sumEtDouble());
451  auto mon_h_jTEFWDA_sumEt = Monitored::Scalar("jTEFWDATOBsumEt", jtefwda.sumEtDouble());
452  auto mon_h_jTEFWDC_sumEt = Monitored::Scalar("jTEFWDCTOBsumEt", jtefwdc.sumEtDouble());
453  Monitored::Group(m_monTool, mon_h_jTE_saturation, mon_h_jTE_sumEt, mon_h_jTEC_sumEt, mon_h_jTEFWD_sumEt, mon_h_jTEFWDA_sumEt, mon_h_jTEFWDC_sumEt);
454 
455  return StatusCode::SUCCESS;
456 }
457 
458 
461  ATH_CHECK(fillEM(inputEvent));
462  ATH_CHECK(fillTau(inputEvent));
463  ATH_CHECK(fillSRJet(inputEvent));
464  ATH_CHECK(fillLRJet(inputEvent));
465  ATH_CHECK(fillXE(inputEvent));
466  ATH_CHECK(fillTE(inputEvent));
467  return StatusCode::SUCCESS;
468 }
LVL1::jFexInputProvider::m_etaDouble_conversion
static const double m_etaDouble_conversion
Definition: jFexInputProvider.h:64
LVL1::jFexInputProvider::fillTE
StatusCode fillTE(TCS::TopoInputEvent &inputEvent) const
Definition: jFexInputProvider.cxx:351
LVL1::jFexInputProvider::~jFexInputProvider
virtual ~jFexInputProvider()
Definition: jFexInputProvider.cxx:39
xAOD::jFexTauRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexTauRoI_v1.h:22
xAOD::jFexSRJetRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexSRJetRoI_v1.h:22
LVL1::jFexInputProvider::fillLRJet
StatusCode fillLRJet(TCS::TopoInputEvent &inputEvent) const
Definition: jFexInputProvider.cxx:173
TrigDefs::Group
Group
Properties of a chain group.
Definition: GroupProperties.h:13
LVL1::jFexInputProvider::m_jEM_EDMKey
SG::ReadHandleKey< xAOD::jFexFwdElRoIContainer > m_jEM_EDMKey
Definition: jFexInputProvider.h:50
LVL1::jFexInputProvider::m_Et_conversion
static const int m_Et_conversion
Definition: jFexInputProvider.h:56
TCS::TopoInputEvent::setjXEC
StatusCode setjXEC(const jXETOB &jXEC)
Definition: TopoInputEvent.cxx:149
TCS::jEmTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: jEmTOB.h:50
TCS::jXETOB::Ex
int Ex() const
Definition: jXETOB.h:30
TCS::jEmTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: jEmTOB.h:51
TCS::JXE
@ JXE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:27
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
TCS::jXETOB::setEtDouble
void setEtDouble(double et)
Definition: jXETOB.h:47
LVL1::jFexInputProvider::m_jTE_EDMKey
SG::ReadHandleKey< xAOD::jFexSumETRoIContainer > m_jTE_EDMKey
Definition: jFexInputProvider.h:53
TCS::TopoInputEvent::setjTE
StatusCode setjTE(const jTETOB &jTE)
Definition: TopoInputEvent.cxx:155
TSU::toTopoEta
int toTopoEta(float eta)
Definition: Conversions.cxx:27
TCS::jEmTOB::setFrac2
void setFrac2(unsigned int frac2)
Definition: jEmTOB.h:55
TCS::jEmTOB::isolation
unsigned int isolation() const
Definition: jEmTOB.h:40
TCS::jEmTOB::frac2
unsigned int frac2() const
Definition: jEmTOB.h:42
TCS::JTEC
@ JTEC
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:31
TCS::jTauTOB::EtIso
unsigned int EtIso() const
Definition: jTauTOB.h:40
TCS::jXETOB::setEt2
void setEt2(unsigned long long et2)
Definition: jXETOB.h:43
TCS::jEmTOB::phi
unsigned phi() const
Definition: jEmTOB.h:34
TCS::jTauTOB::EtDouble
double EtDouble() const
Definition: jTauTOB.h:36
TCS::TopoInputEvent::setjXE
StatusCode setjXE(const jXETOB &jXE)
Definition: TopoInputEvent.cxx:143
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
TCS::TopoInputEvent::addjJet
StatusCode addjJet(const jJetTOB &jet)
Definition: TopoInputEvent.cxx:112
Conversions.h
xAOD::jFexMETRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexMETRoI_v1.h:22
LVL1::jFexInputProvider::fillTopoInputEvent
virtual StatusCode fillTopoInputEvent(TCS::TopoInputEvent &) const override final
Definition: jFexInputProvider.cxx:460
TCS::JTEFWDA
@ JTEFWDA
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:33
TopoInputEvent.h
xAOD::jFexLRJetRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexLRJetRoI_v1.h:22
TCS::jEmTOB::eta
int eta() const
Definition: jEmTOB.h:33
TCS::TopoInputEvent::setjTEFWDC
StatusCode setjTEFWDC(const jTETOB &jTEFWDC)
Definition: TopoInputEvent.cxx:179
TCS::jJetTOB
Definition: jJetTOB.h:16
jet
Definition: JetCalibTools_PlotJESFactors.cxx:23
TCS::jTauTOB::eta
int eta() const
Definition: jTauTOB.h:33
TCS::jLJetTOB
Definition: jLJetTOB.h:16
TCS::TopoInputEvent::setjTEC
StatusCode setjTEC(const jTETOB &jTEC)
Definition: TopoInputEvent.cxx:161
LVL1::jFexInputProvider::fillEM
StatusCode fillEM(TCS::TopoInputEvent &inputEvent) const
Definition: jFexInputProvider.cxx:58
TCS::JTE
@ JTE
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:30
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
TCS::jTauTOB::setEtIso
void setEtIso(unsigned int etIso)
Definition: jTauTOB.h:51
LVL1::jFexInputProvider::m_sumEtDouble_conversion
static const double m_sumEtDouble_conversion
Definition: jFexInputProvider.h:62
TCS::TopoInputEvent
Definition: TopoInputEvent.h:42
TCS::jEmTOB::setIsolation
void setIsolation(unsigned int isolation)
Definition: jEmTOB.h:53
TCS::jTETOB::setSumEtDouble
void setSumEtDouble(double sumEt)
Definition: jTETOB.h:39
test_pyathena.parent
parent
Definition: test_pyathena.py:15
TCS::TopoInputEvent::addjTau
StatusCode addjTau(const jTauTOB &tau)
Definition: TopoInputEvent.cxx:87
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TCS::jTauTOB
Definition: jTauTOB.h:16
CHECK
#define CHECK(...)
Evaluate an expression and check for errors.
Definition: Control/AthenaKernel/AthenaKernel/errorcheck.h:422
jFexInputProvider.h
LVL1::jFexInputProvider::m_jLJet_EDMKey
SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jLJet_EDMKey
Definition: jFexInputProvider.h:49
TCS::jTETOB::sumEtDouble
double sumEtDouble() const
Definition: jTETOB.h:32
TCS::jXETOB::Ey
int Ey() const
Definition: jXETOB.h:31
TCS::jTETOB
Definition: jTETOB.h:13
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
TrigConf::name
Definition: HLTChainList.h:35
LVL1::jFexInputProvider::m_jTau_EDMKey
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jTau_EDMKey
Definition: jFexInputProvider.h:51
TCS::jXETOB::EtDouble
double EtDouble() const
Definition: jXETOB.h:37
LVL1::jFexInputProvider::m_jJet_EDMKey
SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jJet_EDMKey
Definition: jFexInputProvider.h:48
TCS::jTauTOB::phi
unsigned phi() const
Definition: jTauTOB.h:34
TCS::jTauTOB::setPhiDouble
void setPhiDouble(double phi)
Definition: jTauTOB.h:49
LVL1::jFexInputProvider::fillSRJet
StatusCode fillSRJet(TCS::TopoInputEvent &inputEvent) const
Definition: jFexInputProvider.cxx:220
EnergyRoI_ClassDEF.h
TCS::jEmTOB::frac1
unsigned int frac1() const
Definition: jEmTOB.h:41
LVL1::jFexInputProvider::m_jXE_EDMKey
SG::ReadHandleKey< xAOD::jFexMETRoIContainer > m_jXE_EDMKey
Definition: jFexInputProvider.h:52
xAOD::jFexSumETRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexSumETRoI_v1.h:22
LVL1::jFexInputProvider::m_phiDouble_conversion
static const double m_phiDouble_conversion
Definition: jFexInputProvider.h:63
TCS::jEmTOB::setEtDouble
void setEtDouble(double et)
Definition: jEmTOB.h:49
TrigT1CaloDefs.h
LVL1::jFexInputProvider::m_monTool
ToolHandle< GenericMonitoringTool > m_monTool
Definition: jFexInputProvider.h:44
LVL1::jFexInputProvider::m_sumEt_conversion
static const double m_sumEt_conversion
Definition: jFexInputProvider.h:57
TCS::jTauTOB::setEtDouble
void setEtDouble(double et)
Definition: jTauTOB.h:47
LVL1::jFexInputProvider::fillTau
StatusCode fillTau(TCS::TopoInputEvent &inputEvent) const
Definition: jFexInputProvider.cxx:120
TCS::JTEFWDC
@ JTEFWDC
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:34
TCS::jEmTOB
Definition: jEmTOB.h:16
LVL1::jFexInputProvider::initialize
virtual StatusCode initialize() override final
Definition: jFexInputProvider.cxx:43
TCS::JTEFWD
@ JTEFWD
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:32
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
JetROI_ClassDEF.h
TCS::TopoInputEvent::addcTau
StatusCode addcTau(const eTauTOB &eTau)
Definition: TopoInputEvent.cxx:66
TCS::JXEC
@ JXEC
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:28
TCS::jXETOB::setEyDouble
void setEyDouble(double ey)
Definition: jXETOB.h:46
TCS::TopoInputEvent::addjEm
StatusCode addjEm(const jEmTOB &jEm)
Definition: TopoInputEvent.cxx:56
LVL1::jFexInputProvider::m_EtDouble_conversion
static const double m_EtDouble_conversion
Definition: jFexInputProvider.h:61
TCS::jEmTOB::EtDouble
double EtDouble() const
Definition: jEmTOB.h:36
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
TCS::TopoInputEvent::setjTEFWD
StatusCode setjTEFWD(const jTETOB &jTEFWD)
Definition: TopoInputEvent.cxx:167
TCS::jXETOB::setExDouble
void setExDouble(double ex)
Definition: jXETOB.h:45
TCS::jEmTOB::setFrac1
void setFrac1(unsigned int frac1)
Definition: jEmTOB.h:54
TCS::jTETOB::saturationFlag
bool saturationFlag() const
Definition: jTETOB.h:34
TCS::jTETOB::setSaturationFlag
void setSaturationFlag(bool saturationFlag)
Definition: jTETOB.h:41
SG::AllowEmpty
@ AllowEmpty
Definition: StoreGate/StoreGate/VarHandleKey.h:30
xAOD::jFexFwdElRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexFwdElRoI_v1.h:22
TCS::jXETOB
Definition: jXETOB.h:13
LVL1::jFexInputProvider::fillXE
StatusCode fillXE(TCS::TopoInputEvent &inputEvent) const
Definition: jFexInputProvider.cxx:268
TSU::toTopoPhi
unsigned int toTopoPhi(float phi)
Definition: Conversions.cxx:20
TCS::TopoInputEvent::setjTEFWDA
StatusCode setjTEFWDA(const jTETOB &jTEFWDA)
Definition: TopoInputEvent.cxx:173
TCS::TopoInputEvent::addjLJet
StatusCode addjLJet(const jLJetTOB &jet)
Definition: TopoInputEvent.cxx:102
TCS::jTauTOB::setEtaDouble
void setEtaDouble(double eta)
Definition: jTauTOB.h:48