ATLAS Offline Software
JfexMonitorAlgorithm.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #include "JfexMonitorAlgorithm.h"
7 #include "TMath.h"
9 
10 
11 JfexMonitorAlgorithm::JfexMonitorAlgorithm( const std::string& name, ISvcLocator* pSvcLocator )
12  : AthMonitorAlgorithm(name,pSvcLocator)
13 {
14 }
15 
17 
18  ATH_MSG_DEBUG("JfexMonitorAlgorith::initialize");
19  ATH_MSG_DEBUG("Package Name "<< m_Grouphist);
20 
21  ATH_MSG_DEBUG("m_jFexLRJetContainerKey"<< m_jFexLRJetContainerKey);
22  ATH_MSG_DEBUG("m_jFexSRJetContainerKey"<< m_jFexSRJetContainerKey);
23  ATH_MSG_DEBUG("m_jFexTauContainerKey" << m_jFexTauContainerKey);
24  ATH_MSG_DEBUG("m_jFexFwdElContainerKey"<< m_jFexFwdElContainerKey);
25  ATH_MSG_DEBUG("m_jFexMETContainerKey" << m_jFexMETContainerKey);
26  ATH_MSG_DEBUG("m_jFexSumEtContainerKey"<< m_jFexSumEtContainerKey);
27 
28  ATH_CHECK( m_jFexLRJetContainerKey.initialize() );
29  ATH_CHECK( m_jFexSRJetContainerKey.initialize() );
30  ATH_CHECK( m_jFexTauContainerKey.initialize() );
31  ATH_CHECK( m_jFexFwdElContainerKey.initialize() );
32  ATH_CHECK( m_jFexMETContainerKey.initialize() );
33  ATH_CHECK( m_jFexSumEtContainerKey.initialize() );
34 
35 
37 }
38 
39 StatusCode JfexMonitorAlgorithm::fillHistograms( const EventContext& ctx ) const {
40 
41  ATH_MSG_DEBUG("JfexMonitorAlgorithm::fillHistograms");
42 
43  bool jJ_isInValid = false;
44  bool jLJ_isInValid = false;
45  bool jTau_isInValid = false;
46  bool jEM_isInValid = false;
47  bool jXE_isInValid = false;
48  bool jTE_isInValid = false;
49 
51  if(!jFexSRJetContainer.isValid()) {
52  ATH_MSG_WARNING("No jFex SR Jet container found in storegate "<< m_jFexSRJetContainerKey<<". Will be skipped!");
53  jJ_isInValid = true;
54  }
56  if(!jFexLRJetContainer.isValid()) {
57  ATH_MSG_WARNING("No jFex LR Jet container found in storegate "<< m_jFexLRJetContainerKey<<". Will be skipped!");
58  jLJ_isInValid = true;
59  }
61  if(!jFexTauContainer.isValid()) {
62  ATH_MSG_WARNING("No jFex Tau container found in storegate "<< m_jFexTauContainerKey<<". Will be skipped!");
63  jTau_isInValid = true;
64  }
66  if(!jFexEMContainer.isValid()) {
67  ATH_MSG_WARNING("No jFex EM container found in storegate "<< m_jFexFwdElContainerKey<<". Will be skipped!");
68  jEM_isInValid = true;
69  }
71  if(!jFexMETContainer.isValid()) {
72  ATH_MSG_WARNING("No jFex MET container found in storegate "<< m_jFexMETContainerKey<<". Will be skipped!");
73  jXE_isInValid = true;
74  }
76  if(!jFexSumETContainer.isValid()) {
77  ATH_MSG_WARNING("No jFex MET container found in storegate "<< m_jFexSumEtContainerKey<<". Will be skipped!");
78  jTE_isInValid = true;
79  }
80 
81  // variables for histograms
82  auto lbn = Monitored::Scalar<int>("LBN",GetEventInfo(ctx)->lumiBlock());
83  // jJ
84  auto jFexSRJetModule = Monitored::Scalar<int> ("jJ_jFexNumber",0);
85  auto jFexSRJetFPGA = Monitored::Scalar<int> ("jJ_fpgaNumber",0);
86  auto jFexSRJetEt = Monitored::Scalar<int> ("jJ_Et",0);
87  auto jFexSRJeteta = Monitored::Scalar<float>("jJ_Eta",0.0);
88  auto jFexSRJetphi = Monitored::Scalar<float>("jJ_Phi",0.0);
89  auto jFexSRJeteta_glo = Monitored::Scalar<float>("jJ_GlobalEta",0.0);
90  auto jFexSRJetphi_glo = Monitored::Scalar<float>("jJ_GlobalPhi",0.0);
91  auto jFexSRJetBinNumber = Monitored::Scalar<int>("jJ_binNumber",0);
92 
93  // jLJ
94  auto jFexLRJetModule = Monitored::Scalar<int> ("jLJ_jFexNumber",0);
95  auto jFexLRJetFPGA = Monitored::Scalar<int> ("jLJ_fpgaNumber",0);
96  auto jFexLRJetEt = Monitored::Scalar<int> ("jLJ_Et",0);
97  auto jFexLRJeteta = Monitored::Scalar<float>("jLJ_Eta",0.0);
98  auto jFexLRJetphi = Monitored::Scalar<float>("jLJ_Phi",0.0);
99  auto jFexLRJeteta_glo = Monitored::Scalar<float>("jLJ_GlobalEta",0.0);
100  auto jFexLRJetphi_glo = Monitored::Scalar<float>("jLJ_GlobalPhi",0.0);
101 
102 
103  // jTau
104  auto jFexTauModule = Monitored::Scalar<int> ("jTau_jFexNumber",0);
105  auto jFexTauFPGA = Monitored::Scalar<int> ("jTau_fpgaNumber",0);
106  auto jFexTauEt = Monitored::Scalar<int> ("jTau_Et",0);
107  auto jFexTauIso = Monitored::Scalar<int> ("jTau_Iso",0);
108  auto jFexTaueta = Monitored::Scalar<float>("jTau_Eta",0.0);
109  auto jFexTauphi = Monitored::Scalar<float>("jTau_Phi",0.0);
110  auto jFexTaueta_glo = Monitored::Scalar<float>("jTau_GlobalEta",0.0);
111  auto jFexTauphi_glo = Monitored::Scalar<float>("jTau_GlobalPhi",0.0);
112  auto jFexTauBinNumber = Monitored::Scalar<int>("jTau_binNumber",0);
113 
114  // jEM
115  auto jFexEMModule = Monitored::Scalar<int> ("jEM_jFexNumber",0);
116  auto jFexEMFPGA = Monitored::Scalar<int> ("jEM_fpgaNumber",0);
117  auto jFexEMEt = Monitored::Scalar<int> ("jEM_Et",0);
118  auto jFexEMeta = Monitored::Scalar<float>("jEM_Eta",0.0);
119  auto jFexEMphi = Monitored::Scalar<float>("jEM_Phi",0.0);
120  auto jFexEMeta_glo = Monitored::Scalar<float>("jEM_GlobalEta",0.0);
121  auto jFexEMphi_glo = Monitored::Scalar<float>("jEM_GlobalPhi",0.0);
122  auto jFexEMIso = Monitored::Scalar<int> ("jEM_Iso",0);
123  auto jFexEMf1 = Monitored::Scalar<int> ("jEM_f1",0);
124  auto jFexEMf2 = Monitored::Scalar<int> ("jEM_f2",0);
125  auto jFexEMBinNumber = Monitored::Scalar<int>("jEM_binNumber",0);
126 
127  // jXE
128  auto jFexMETX = Monitored::Scalar<int> ("jXE_X",0);
129  auto jFexMETY = Monitored::Scalar<int> ("jXE_Y",0);
130  auto jFexMET = Monitored::Scalar<float>("jXE_MET",0.0);
131  auto jFexMETphi = Monitored::Scalar<float>("jXE_phi",0.0);
132 
133  // jTE
134  auto jFexSumEt_low = Monitored::Scalar<int> ("jTE_low",0);
135  auto jFexSumEt_high = Monitored::Scalar<int> ("jTE_high",0);
136  auto jFexSumEt_total = Monitored::Scalar<float>("jTE_SumEt",0.0);
137 
138  auto weight = Monitored::Scalar<float>("weight",1);
139 
140  // write -1 into bins in maps that are always empty
141  std::call_once(m_initOnce, [&]() {
142  weight = -1;
143  // empty bins due to irregular structure of FCAL
144  for (auto& [eta, phi] : jFEXMapEmptyBinCenters) {
145  jFexSRJeteta = eta;
146  jFexSRJetphi = phi;
147  jFexEMeta = eta;
148  jFexEMphi = phi;
149  fill(m_Groupmaps,jFexSRJeteta,jFexSRJetphi,jFexEMeta,jFexEMphi,weight);
150  fill(m_GroupmapsHighPt,jFexSRJeteta,jFexSRJetphi,jFexEMeta,jFexEMphi,weight);
151  }
152 
153  for (auto& [eta, phi] : jFEXMapEmptyBinCentersJetsOnly) {
154  jFexSRJeteta = eta;
155  jFexSRJetphi = phi;
156  fill(m_Groupmaps,jFexSRJeteta,jFexSRJetphi,weight);
157  fill(m_GroupmapsHighPt,jFexSRJeteta,jFexSRJetphi,weight);
158  }
159 
160  // central region without jEM
161  for (int ieta=-23; ieta<23; ieta++){
162  jFexEMeta = 0.1 * ieta + 0.05;
163  for (int iphi=-32; iphi<33; iphi++){
164  jFexEMphi = M_PI/32 * iphi + M_PI/64;
165  fill(m_Groupmaps,jFexEMeta,jFexEMphi,weight);
166  fill(m_GroupmapsHighPt,jFexEMeta,jFexEMphi,weight);
167  }
168  }
169  weight = 1;
170  });
171 
172  if (!jJ_isInValid) {
173  for (const xAOD::jFexSRJetRoI *jFexSRJetRoI : *jFexSRJetContainer) {
174  if (jFexSRJetRoI->tobWord() == 0)
175  continue; // remove empty TOBs
176  jFexSRJetModule = jFexSRJetRoI->jFexNumber();
177  jFexSRJetFPGA = jFexSRJetRoI->fpgaNumber();
178  jFexSRJetEt = jFexSRJetRoI->tobEt();
179  jFexSRJeteta = jFexSRJetRoI->eta();
180  jFexSRJetphi = jFexSRJetRoI->phi();
181  jFexSRJeteta_glo = jFexSRJetRoI->globalEta();
182  jFexSRJetphi_glo = jFexSRJetRoI->globalPhi();
183  fill(m_Grouphist, jFexSRJetModule, jFexSRJetFPGA, jFexSRJetEt,
184  jFexSRJeteta, jFexSRJetphi, jFexSRJeteta_glo, jFexSRJetphi_glo);
185 
186  ANA_CHECK(fillJetMaps(jFexSRJetRoI, jFexSRJeteta, jFexSRJetphi,
187  jFexSRJetBinNumber, lbn, weight));
188  }
189  }
190 
191  if (!jTau_isInValid) {
192  for (const xAOD::jFexTauRoI *jFexTauRoI : *jFexTauContainer) {
193  if (jFexTauRoI->tobWord() == 0)
194  continue; // remove empty TOBs
195  jFexTauModule = jFexTauRoI->jFexNumber();
196  jFexTauFPGA = jFexTauRoI->fpgaNumber();
197  jFexTauEt = jFexTauRoI->tobEt();
198  jFexTauIso = jFexTauRoI->tobIso();
199  jFexTaueta = jFexTauRoI->eta();
200  jFexTauphi = jFexTauRoI->phi();
201  jFexTaueta_glo = jFexTauRoI->globalEta();
202  jFexTauphi_glo = jFexTauRoI->globalPhi();
203  ANA_CHECK(fillMapsCentralAndFCAL(jFexTauRoI, jFexTaueta, jFexTauphi,
204  jFexTauBinNumber, lbn, m_jTauEtaBins,
205  weight));
206  }
207  }
208 
209  if (!jEM_isInValid) {
210  for (const xAOD::jFexFwdElRoI *jFexFwdElRoI : *jFexEMContainer) {
211  if (jFexFwdElRoI->tobWord() == 0)
212  continue; // remove empty TOBs
213  jFexEMModule = jFexFwdElRoI->jFexNumber();
214  jFexEMFPGA = jFexFwdElRoI->fpgaNumber();
215  jFexEMEt = jFexFwdElRoI->tobEt();
216  jFexEMeta = jFexFwdElRoI->eta();
217  jFexEMphi = jFexFwdElRoI->phi();
218  jFexEMeta_glo = jFexFwdElRoI->globalEta();
219  jFexEMphi_glo = jFexFwdElRoI->globalPhi();
220  jFexEMIso = jFexFwdElRoI->tobEMIso();
221  jFexEMf1 = jFexFwdElRoI->tobEMf1();
222  jFexEMf2 = jFexFwdElRoI->tobEMf2();
223  fill(m_Grouphist, jFexEMModule, jFexEMFPGA, jFexEMEt, jFexEMeta,
224  jFexEMphi, jFexEMeta_glo, jFexEMphi_glo, jFexEMIso, jFexEMf1,
225  jFexEMf2);
226  ANA_CHECK(fillEMMaps(jFexFwdElRoI, jFexEMeta, jFexEMphi, jFexEMBinNumber,
227  lbn, weight));
228  }
229  }
230 
231  if(!jLJ_isInValid) {
232  for(const xAOD::jFexLRJetRoI* jFexLRJetRoI : *jFexLRJetContainer) {
233  if(jFexLRJetRoI->tobWord()==0) continue; //remove empty TOBs
234  jFexLRJetModule=jFexLRJetRoI->jFexNumber();
235  jFexLRJetFPGA=jFexLRJetRoI->fpgaNumber();
236  jFexLRJetEt=jFexLRJetRoI->tobEt();
237  jFexLRJeteta=jFexLRJetRoI->eta();
238  jFexLRJetphi=jFexLRJetRoI->phi();
239  jFexLRJeteta_glo=jFexLRJetRoI->globalEta();
240  jFexLRJetphi_glo=jFexLRJetRoI->globalPhi();
241  fill(m_Grouphist,jFexLRJetModule,jFexLRJetFPGA,jFexLRJetEt,jFexLRJeteta,jFexLRJetphi,jFexLRJeteta_glo,jFexLRJetphi_glo);
242  }
243  }
244 
245  if(!jXE_isInValid){
246  float metx = 0;
247  float mety = 0;
248  for(const xAOD::jFexMETRoI* jFexMETRoI : *jFexMETContainer) {
249  jFexMETX =jFexMETRoI->tobEx();
250  jFexMETY =jFexMETRoI->tobEy();
251  if(jFexMETRoI->tobEtScale() != 0) {
252  metx += jFexMETRoI->Ex()/jFexMETRoI->tobEtScale();
253  mety += jFexMETRoI->Ey()/jFexMETRoI->tobEtScale();
254  }
255 
256  fill(m_Grouphist,jFexMETX,jFexMETY);
257  }
258  if(jFexMETContainer->size()>0) {
259  jFexMET = TMath::Sqrt(std::pow(metx,2)+std::pow(mety,2));
260  jFexMETphi = TMath::ATan2(mety,metx);
261  fill(m_Grouphist,jFexMET,jFexMETphi);
262  }
263  }
264 
265  if(!jTE_isInValid){
266  int sumEt_total = 0;
267  for(const xAOD::jFexSumETRoI* jFexSumETRoI : *jFexSumETContainer) {
268  jFexSumEt_low =jFexSumETRoI->tobEt_lower();
269  jFexSumEt_high =jFexSumETRoI->tobEt_upper();
270  sumEt_total += jFexSumETRoI->tobEt_lower()+jFexSumETRoI->tobEt_upper();
271  fill(m_Grouphist,jFexSumEt_low,jFexSumEt_high);
272  }
273  if(jFexSumETContainer->size()>0) {
274  jFexSumEt_total = sumEt_total;
275  fill(m_Grouphist,jFexSumEt_total);
276  }
277  }
278 
279  return StatusCode::SUCCESS;
280 }
281 
286  if (abs(eta) > 2.5 && abs(eta) < 3.1) {
287  ANA_CHECK(
288  fillMapsEndcap(tob, eta, phi, binNumber, lbn, m_jJEtaBins, weight));
289  } else if (abs(eta) > 3.1 && abs(eta) < 3.2) {
290  ANA_CHECK(
291  fillMapsOverlap(tob, eta, phi, binNumber, lbn, m_jJEtaBins, weight));
292  } else {
293  ANA_CHECK(fillMapsCentralAndFCAL(tob, eta, phi, binNumber, lbn, m_jJEtaBins,
294  weight));
295  }
296 
297  return StatusCode::SUCCESS;
298 }
299 
304  if (abs(eta) > 2.5 && abs(eta) < 3.2) {
305  ANA_CHECK(
306  fillMapsEndcap(tob, eta, phi, binNumber, lbn, m_jEMEtaBins, weight));
307  } else {
308  ANA_CHECK(fillMapsCentralAndFCAL(tob, eta, phi, binNumber, lbn,
309  m_jEMEtaBins, weight));
310  }
311  return StatusCode::SUCCESS;
312 }
313 
314 template <typename TOB>
318  const std::vector<float>& etaBinBorders, Monitored::Scalar<float> &weight) const {
319  binNumber = binNumberFromCoordinates(eta, phi, etaBinBorders);
320  fill(m_Groupmaps, eta, phi, lbn, binNumber, weight);
321  if (passesEnergyCut(tob))
322  fill(m_GroupmapsHighPt, eta, phi, lbn, binNumber, weight);
323  return StatusCode::SUCCESS;
324 }
325 
326 template <typename TOB>
330  const std::vector<float>& etaBinBorders, Monitored::Scalar<float> &weight) const {
331  float originalPhi = phi;
332  phi = originalPhi - M_PI / 64;
334  binNumber = binNumberFromCoordinates(eta, phi, etaBinBorders);
335  fill(m_Groupmaps, lbn, binNumber);
336  if (passesEnergyCut(tob))
337  fill(m_GroupmapsHighPt, eta, phi, lbn, binNumber, weight);
338  phi = originalPhi + M_PI / 64;
340  binNumber = binNumberFromCoordinates(eta, phi, etaBinBorders);
341  fill(m_Groupmaps, lbn, binNumber);
342  if (passesEnergyCut(tob))
343  fill(m_GroupmapsHighPt, eta, phi, lbn, binNumber, weight);
344 
345  return StatusCode::SUCCESS;
346 }
347 
351  Monitored::Scalar<int> &lbn, const std::vector<float>& etaBinBorders,
353  binNumber = binNumberFromCoordinates(eta, phi, etaBinBorders);
354  fill(m_Groupmaps, lbn, binNumber);
355  float originalPhi = phi;
356  uint8_t localEta = tob->tobLocalEta();
357  bool isFCAL = localEta >= 13;
358  if (isFCAL) {
359  eta = eta > 0 ? 3.175 : -3.175;
361  if (passesEnergyCut(tob))
362  fill(m_GroupmapsHighPt, eta, phi, lbn, binNumber, weight);
363  } else {
364  eta = eta > 0 ? 3.125 : -3.125;
365  phi = originalPhi - M_PI / 64;
367  if (passesEnergyCut(tob))
368  fill(m_GroupmapsHighPt, eta, phi, lbn, binNumber, weight);
369  phi = originalPhi + M_PI / 64;
371  if (passesEnergyCut(tob))
372  fill(m_GroupmapsHighPt, eta, phi, lbn, binNumber, weight);
373  }
374  return StatusCode::SUCCESS;
375 }
376 
378  const xAOD::jFexSRJetRoI *tob) const {
379  return tob->et() >= 20000;
380 }
381 
383  const xAOD::jFexFwdElRoI *tob) const {
384  return tob->et() >= 10000;
385 }
386 
388  return tob->et() >= 10000;
389 }
390 
392  float eta, float phi, const std::vector<float>& etaBinBorders) const {
393  if (etaBinBorders.size() == 0) {
394  ANA_MSG_ERROR("List of eta bin borders is empty!");
395  return 0;
396  }
397 
398  int iEta = 0;
399  int iPhi = 0;
400 
401  for (size_t i = 0; i < etaBinBorders.size() - 1; ++i) {
402  if (etaBinBorders.at(i) <= eta && etaBinBorders.at(i + 1) > eta) {
403  iEta = i;
404  break;
405  }
406  }
407 
408  // 64 regular bins from -pi to pi
409  constexpr float phiBinWidth = 2 * M_PI / 64;
410  for (int i = 0; i < 64 - 1; i++) {
411  if (i * phiBinWidth - M_PI <= phi && (i + 1) * phiBinWidth - M_PI > phi) {
412  iPhi = i;
413  break;
414  }
415  }
416 
417  // following ROOT's convention of lowest bin being number 1
418  iPhi++;
419 
420  int binNumber = iEta * 64 + iPhi;
421  return binNumber;
422 }
JfexMonitorAlgorithm::JfexMonitorAlgorithm
JfexMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Definition: JfexMonitorAlgorithm.cxx:11
xAOD::jFexTauRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexTauRoI_v1.h:23
xAOD::jFexSRJetRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexSRJetRoI_v1.h:23
JfexMonitorAlgorithm::m_jFexFwdElContainerKey
SG::ReadHandleKey< xAOD::jFexFwdElRoIContainer > m_jFexFwdElContainerKey
Definition: JfexMonitorAlgorithm.h:48
xAOD::jFexTauRoI_v1::eta
float eta() const
phi
Scalar phi() const
phi method
Definition: AmgMatrixBasePlugin.h:67
xAOD::jFexTauRoI_v1::jFexNumber
uint8_t jFexNumber() const
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:558
xAOD::jFexLRJetRoI_v1::eta
float eta() const
xAOD::jFexLRJetRoI
jFexLRJetRoI_v1 jFexLRJetRoI
Define the latest version of the jFexLRJetRoI class
Definition: jFexLRJetRoI.h:13
xAOD::jFexFwdElRoI_v1::tobEMf1
uint8_t tobEMf1() const
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:83
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:67
xAOD::jFexFwdElRoI_v1::eta
float eta() const
xAOD::jFexSRJetRoI_v1::globalEta
int globalEta() const
JfexMonitorAlgorithm::m_jFexMETContainerKey
SG::ReadHandleKey< xAOD::jFexMETRoIContainer > m_jFexMETContainerKey
Definition: JfexMonitorAlgorithm.h:49
xAOD::jFexFwdElRoI_v1::jFexNumber
uint8_t jFexNumber() const
Additional info (initialization)
xAOD::jFexTauRoI_v1::globalPhi
uint globalPhi() const
xAOD::jFexFwdElRoI_v1::phi
float phi() const
xAOD::jFexMETRoI_v1::tobEtScale
int tobEtScale() const
xAOD::jFexFwdElRoI_v1::globalEta
int globalEta() const
Calculated from Tob.
xAOD::jFexMETRoI_v1::Ex
int Ex() const
Methods that require combining results or applying scales.
Definition: jFexMETRoI_v1.cxx:105
M_PI
#define M_PI
Definition: ActiveFraction.h:11
xAOD::jFexTauRoI_v1::tobIso
uint16_t tobIso() const
xAOD::jFexLRJetRoI_v1::jFexNumber
uint8_t jFexNumber() const
ANA_MSG_ERROR
#define ANA_MSG_ERROR(xmsg)
Macro printing error messages.
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:294
xAOD::jFexTauRoI_v1::globalEta
int globalEta() const
ANA_CHECK
#define ANA_CHECK(EXP)
check whether the given expression was successful
Definition: Control/AthToolSupport/AsgMessaging/AsgMessaging/MessageCheck.h:324
xAOD::jFexSRJetRoI_v1::eta
float eta() const
xAOD::jFexSRJetRoI_v1::phi
float phi() const
xAOD::jFexSRJetRoI_v1::tobWord
uint32_t tobWord() const
The "raw" 32-bit word describing the object candidate.
xAOD::jFexTauRoI_v1::et
unsigned int et() const
Methods that require combining results or applying scales.
Definition: jFexTauRoI_v1.cxx:114
JfexMonitorAlgorithm::m_jFexSumEtContainerKey
SG::ReadHandleKey< xAOD::jFexSumETRoIContainer > m_jFexSumEtContainerKey
Definition: JfexMonitorAlgorithm.h:50
JfexMonitorAlgorithm::m_jFexLRJetContainerKey
SG::ReadHandleKey< xAOD::jFexLRJetRoIContainer > m_jFexLRJetContainerKey
Definition: JfexMonitorAlgorithm.h:46
JfexMonitorAlgorithm::m_jJEtaBins
Gaudi::Property< std::vector< float > > m_jJEtaBins
Definition: JfexMonitorAlgorithm.h:39
xAOD::jFexMETRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexMETRoI_v1.h:22
dqt_zlumi_pandas.weight
int weight
Definition: dqt_zlumi_pandas.py:190
AthMonitorAlgorithm
Base class for Athena Monitoring Algorithms.
Definition: AthMonitorAlgorithm.h:36
xAOD::jFexFwdElRoI_v1::tobEMIso
uint8_t tobEMIso() const
JfexMonitorAlgorithm::fillMapsCentralAndFCAL
StatusCode fillMapsCentralAndFCAL(TOB tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, const std::vector< float > &etaBinBorders, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:315
JfexMonitorAlgorithm::passesEnergyCut
bool passesEnergyCut(const xAOD::jFexSRJetRoI *tob) const
Definition: JfexMonitorAlgorithm.cxx:377
xAOD::jFexLRJetRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexLRJetRoI_v1.h:23
xAOD::jFexLRJetRoI_v1::tobWord
uint32_t tobWord() const
The "raw" 32-bit word describing the object candidate.
JfexMonitorAlgorithm::fillMapsOverlap
StatusCode fillMapsOverlap(const xAOD::jFexSRJetRoI *tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, const std::vector< float > &etaBinBorders, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:348
xAOD::jFexFwdElRoI_v1::globalPhi
uint globalPhi() const
JfexMonitorAlgorithm::m_jTauEtaBins
Gaudi::Property< std::vector< float > > m_jTauEtaBins
Definition: JfexMonitorAlgorithm.h:40
xAOD::jFexTauRoI_v1::tobEt
uint16_t tobEt() const
lumiFormat.i
int i
Definition: lumiFormat.py:85
xAOD::jFexTauRoI_v1::fpgaNumber
uint8_t fpgaNumber() const
xAOD::jFexLRJetRoI_v1::globalEta
int globalEta() const
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAOD::jFexMETRoI_v1::tobEy
int tobEy() const
xAOD::jFexLRJetRoI_v1::tobEt
uint16_t tobEt() const
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
xAOD::jFexLRJetRoI_v1::globalPhi
uint globalPhi() const
MessageCheck.h
macros for messaging and checking status codes
xAOD::jFexSRJetRoI_v1::tobEt
uint16_t tobEt() const
xAOD::jFexTauRoI_v1::tobWord
uint32_t tobWord() const
The "raw" 32-bit word describing the object candidate.
xAOD::jFexMETRoI_v1::tobEx
int tobEx() const
xAOD::jFexFwdElRoI_v1::tobEMf2
uint8_t tobEMf2() const
JfexMonitorAlgorithm::fillMapsEndcap
StatusCode fillMapsEndcap(TOB tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, const std::vector< float > &etaBinBorders, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:327
xAOD::jFexSRJetRoI_v1::globalPhi
uint globalPhi() const
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAOD::jFexSRJetRoI
jFexSRJetRoI_v1 jFexSRJetRoI
Define the latest version of the jFexSRJetRoI class
Definition: jFexSRJetRoI.h:14
JfexMonitorAlgorithm::m_GroupmapsHighPt
StringProperty m_GroupmapsHighPt
Definition: JfexMonitorAlgorithm.h:38
xAOD::jFexTauRoI_v1::phi
float phi() const
AthMonitorAlgorithm::fill
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable >> &&variables) const
Fills a vector of variables to a group by reference.
AthMonitorAlgorithm::GetEventInfo
SG::ReadHandle< xAOD::EventInfo > GetEventInfo(const EventContext &) const
Return a ReadHandle for an EventInfo object (get run/event numbers, etc.)
Definition: AthMonitorAlgorithm.cxx:107
JfexMonitorAlgorithm::fillHistograms
virtual StatusCode fillHistograms(const EventContext &ctx) const override
adds event to the monitoring histograms
Definition: JfexMonitorAlgorithm.cxx:39
JfexMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: JfexMonitorAlgorithm.cxx:16
JfexMonitorAlgorithm::fillJetMaps
StatusCode fillJetMaps(const xAOD::jFexSRJetRoI *tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:282
JfexMapForwardEmptyBins.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:240
JfexMonitorAlgorithm::fillEMMaps
StatusCode fillEMMaps(const xAOD::jFexFwdElRoI *tob, Monitored::Scalar< float > &eta, Monitored::Scalar< float > &phi, Monitored::Scalar< int > &binNumber, Monitored::Scalar< int > &lbn, Monitored::Scalar< float > &weight) const
Definition: JfexMonitorAlgorithm.cxx:300
xAOD::jFexFwdElRoI_v1::tobEt
uint16_t tobEt() const
Decoded from Tob (for convenience)
JfexMonitorAlgorithm::m_Groupmaps
StringProperty m_Groupmaps
Definition: JfexMonitorAlgorithm.h:37
xAOD::EgammaHelpers::isFCAL
bool isFCAL(const xAOD::CaloCluster *cluster)
return true if the cluster (or the majority of its energy) is in the FCAL0
Definition: EgammaxAODHelpers.cxx:46
xAOD::jFexSumETRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexSumETRoI_v1.h:22
xAOD::jFexFwdElRoI
jFexFwdElRoI_v1 jFexFwdElRoI
Define the latest version of the jFexFwdElJetRoI class
Definition: jFexFwdElRoI.h:13
xAOD::jFexFwdElRoI_v1::et
unsigned int et() const
Methods that require combining results or applying scales.
Definition: jFexFwdElRoI_v1.cxx:151
xAOD::jFexMETRoI_v1::Ey
int Ey() const
Met Ey in 1 MeV scale (all signs considered)
Definition: jFexMETRoI_v1.cxx:114
xAOD::jFexSumETRoI_v1::tobEt_upper
uint16_t tobEt_upper() const
Trk::iPhi
@ iPhi
Definition: ParamDefs.h:47
AthMonitorAlgorithm::initialize
virtual StatusCode initialize() override
initialize
Definition: AthMonitorAlgorithm.cxx:18
JfexMonitorAlgorithm::m_initOnce
std::once_flag m_initOnce
Definition: JfexMonitorAlgorithm.h:34
JfexMonitorAlgorithm::binNumberFromCoordinates
int binNumberFromCoordinates(float eta, float phi, const std::vector< float > &etaBinBorders) const
Definition: JfexMonitorAlgorithm.cxx:391
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::jFexSRJetRoI_v1::tobLocalEta
uint8_t tobLocalEta() const
JfexMonitorAlgorithm::m_Grouphist
StringProperty m_Grouphist
Definition: JfexMonitorAlgorithm.h:36
xAOD::jFexLRJetRoI_v1::phi
float phi() const
xAOD::jFexMETRoI
jFexMETRoI_v1 jFexMETRoI
Define the latest version of the jFexMETRoI class
Definition: jFexMETRoI.h:13
xAOD::jFexSRJetRoI_v1::fpgaNumber
uint8_t fpgaNumber() const
jFEXMapEmptyBinCentersJetsOnly
constexpr std::array< std::pair< float, float >, 96 > jFEXMapEmptyBinCentersJetsOnly
Definition: JfexMapForwardEmptyBins.h:2040
xAOD::jFexTauRoI
jFexTauRoI_v1 jFexTauRoI
Define the latest version of the jFexSRJetRoI class
Definition: jFexTauRoI.h:13
JfexMonitorAlgorithm.h
JfexMonitorAlgorithm::m_jFexSRJetContainerKey
SG::ReadHandleKey< xAOD::jFexSRJetRoIContainer > m_jFexSRJetContainerKey
Definition: JfexMonitorAlgorithm.h:45
xAOD::jFexFwdElRoI_v1::tobWord
uint32_t tobWord() const
The "raw" 32-bit word describing the object candidate, 27 bit-word used at hardware level.
xAOD::jFexSumETRoI
jFexSumETRoI_v1 jFexSumETRoI
Define the latest version of the jFexSumETJetRoI class
Definition: jFexSumETRoI.h:13
xAOD::jFexSRJetRoI_v1::jFexNumber
uint8_t jFexNumber() const
Monitored::Scalar
Declare a monitored scalar variable.
Definition: MonitoredScalar.h:34
xAOD::lumiBlock
setTeId lumiBlock
Definition: L2StandAloneMuon_v1.cxx:328
xAOD::jFexSumETRoI_v1::tobEt_lower
uint16_t tobEt_lower() const
pow
constexpr int pow(int base, int exp) noexcept
Definition: ap_fixedTest.cxx:15
xAOD::iEta
setScale setgFexType iEta
Definition: gFexJetRoI_v1.cxx:77
xAOD::jFexFwdElRoI_v1
Class describing properties of a LVL1 jFEX global Trigger Object (TOB) in the xAOD format.
Definition: jFexFwdElRoI_v1.h:23
xAOD::jFexLRJetRoI_v1::fpgaNumber
uint8_t fpgaNumber() const
JfexMonitorAlgorithm::m_jEMEtaBins
Gaudi::Property< std::vector< float > > m_jEMEtaBins
Definition: JfexMonitorAlgorithm.h:41
xAOD::jFexFwdElRoI_v1::fpgaNumber
uint8_t fpgaNumber() const
JfexMonitorAlgorithm::m_jFexTauContainerKey
SG::ReadHandleKey< xAOD::jFexTauRoIContainer > m_jFexTauContainerKey
Definition: JfexMonitorAlgorithm.h:47
LArGeo::ATan2
GeoGenfun::FunctionNoop ATan2(GeoGenfun::GENFUNCTION y, GeoGenfun::GENFUNCTION x)
Definition: BarrelAuxFunctions.cxx:50
xAOD::jFexSRJetRoI_v1::et
unsigned int et() const
Methods that require combining results or applying scales.
Definition: jFexSRJetRoI_v1.cxx:138
jFEXMapEmptyBinCenters
constexpr std::array< std::pair< float, float >, 2036 > jFEXMapEmptyBinCenters
Definition: JfexMapForwardEmptyBins.h:1