ATLAS Offline Software
Public Member Functions | Private Attributes | List of all members
LVL1::L1JEMJetTools Class Reference

#include <L1JEMJetTools.h>

Inheritance diagram for LVL1::L1JEMJetTools:
Collaboration diagram for LVL1::L1JEMJetTools:

Public Member Functions

 L1JEMJetTools (const std::string &, const std::string &, const IInterface *)
 
virtual StatusCode initialize () override
 standard Athena-Algorithm method More...
 
virtual StatusCode finalize () override
 standard Athena-Algorithm method More...
 
virtual void mapJetInputs (const xAOD::JetElementContainer *jes, std::map< int, JetInput * > *elements, int slice=-1) const override
 Convert user-supplied JetElements to map of JetInputs. More...
 
virtual void findRoIs (const std::map< int, JetInput * > *elements, xAOD::JEMTobRoIContainer *rois) const override
 Return vector of TOB RoI objects derived from user-specified inputs. More...
 
virtual void findRoIs (const xAOD::JetElementContainer *jes, xAOD::JEMTobRoIContainer *rois, int slice=-1) const override
 Find list of RoIs passing at least 1 threshold. More...
 
virtual void findRoIs (const std::map< int, JetInput * > *elements, DataVector< JEMJetAlgorithm > *rois) const override
 Return vector of RoI objects derived from user-specified inputs. More...
 
virtual void findRoIs (const xAOD::JetElementContainer *jes, DataVector< JEMJetAlgorithm > *rois, int slice=-1) const override
 Find list of RoIs passing at least 1 threshold. More...
 
virtual void findJEMResults (const std::map< int, JetInput * > *inputs, int crate, int module, xAOD::JEMTobRoIContainer *rois, std::vector< unsigned int > &jetCMXData) const override
 Form JEM results for specified crate/module using user-supplied map of input towers Adds to DataVector of JEMTobRoI and returns backplane data words. More...
 
virtual void findJEMResults (const std::map< int, JetInput * > *inputs, int crate, int module, DataVector< JEMTobRoI > *rois, std::vector< unsigned int > &jetCMXData) const override
 Form JEM results for specified crate/module using user-supplied map of input towers Adds to DataVector of JEMTobRoI and returns backplane data words. More...
 
virtual JEMJetAlgorithm findRoI (double RoIeta, double RoIphi, const std::map< int, JetInput * > *elements) const override
 Return RoI object for specified location. More...
 
virtual JEMJetAlgorithm formSums (double RoIeta, double RoIphi, const std::map< int, JetInput * > *elements) const override
 Form jet cluster sums for a given RoI location. More...
 
virtual JEMJetAlgorithm formSums (uint32_t roiWord, const std::map< int, JetInput * > *elements) const override
 =====================Form clusters for given RoI ==================== More...
 

Private Attributes

const TrigConf::L1Menum_l1menu {nullptr}
 
JEPRoIDecoder m_conv
 Utility for decoding RoI words. More...
 

Detailed Description

This is a tool to reconstruct the L1 Jet trigger sums for a particular RoI location from the stored JetInputs. Used for offline monitoring and trigger reconstruction.

Author
Alan Watson Alan..nosp@m.Wats.nosp@m.on@ce.nosp@m.rn.c.nosp@m.h

Definition at line 44 of file L1JEMJetTools.h.

Constructor & Destructor Documentation

◆ L1JEMJetTools()

LVL1::L1JEMJetTools::L1JEMJetTools ( const std::string &  t,
const std::string &  n,
const IInterface *  p 
)

Definition at line 23 of file L1JEMJetTools.cxx.

24 : base_class(t,n,p) {}

Member Function Documentation

◆ finalize()

StatusCode LVL1::L1JEMJetTools::finalize ( )
overridevirtual

standard Athena-Algorithm method

Definition at line 36 of file L1JEMJetTools.cxx.

37 {
38  return StatusCode::SUCCESS;
39 }

◆ findJEMResults() [1/2]

void LVL1::L1JEMJetTools::findJEMResults ( const std::map< int, JetInput * > *  inputs,
int  crate,
int  module,
DataVector< JEMTobRoI > *  rois,
std::vector< unsigned int > &  jetCMXData 
) const
overridevirtual

Form JEM results for specified crate/module using user-supplied map of input towers Adds to DataVector of JEMTobRoI and returns backplane data words.

This tool appends to an existing DataVector of results, so do not clear that. But reset & resize the module results vectors, to be safe

Count RoIs (for correct filling of backplane words)

Loop over all reference elements in order of TOB readout. As only 1 TOB possible per frame, order within these doesn't matter

If want to be clever and test whether worth proceeding before evaluating window, this would be the place to put the test

Form algorithm object for this location

Did it pass as JetTOB? If so: Create TOB RoI object and push back into system results Add bit to presence map Add TOB to backplane data (if not overflowed)

Definition at line 357 of file L1JEMJetTools.cxx.

358  {
359 
362  jetCMXData.clear();
363  jetCMXData.resize(4);
364 
366  int nTobs = 0;
367 
368  // Phi coordinates within module
369  float PhiMin = ( crate + ( module>7 ? 2 : 0 ) )*M_PI/2;
370  float PhiCell[8];
371  for (int ip = 0; ip < 8; ++ip) PhiCell[ip] = PhiMin + ip*M_PI/16 + M_PI/32;
372 
373  // Eta coordinates within module
374  float EtaCell[4];
375  if ( module%8 == 0 ) {
376  EtaCell[0] = -4.0 ;
377  EtaCell[1] = -3.05 ;
378  EtaCell[2] = -2.8 ;
379  EtaCell[3] = -2.55 ;
380  }
381  else if ( module%8 == 7 ) {
382  EtaCell[0] = 2.55 ;
383  EtaCell[1] = 2.8 ;
384  EtaCell[2] = 3.05 ;
385  EtaCell[3] = 4.0;
386  }
387  else {
388  for (int ie = 0; ie < 4; ++ie) EtaCell[ie] = (module%8)*0.8 - 3.2 + ie*0.2 + 0.1;
389  }
390 
393  for (int iFrame = 0; iFrame < 8; ++iFrame) {
394  for (int iPhi = 0; iPhi < 2; ++iPhi) {
395  int ip = 2*(iFrame&3) + + iPhi;
396  for (int iEta = 0; iEta < 2; ++iEta) {
397  int ie = 2*(iFrame>>2) + iEta;
398 
403  JEMJetAlgorithm tob(EtaCell[ie], PhiCell[ip], inputs, m_l1menu);
404 
409  if (tob.isRoI()) {
410  unsigned int etL = tob.ETLarge();
411  unsigned int etS = tob.ETSmall();
412  unsigned int lc = (iPhi << 1) + iEta;
413 
414  JEMTobRoI* RoI = new JEMTobRoI(crate, module, iFrame, lc, etL, etS);
415  rois->push_back(RoI);
416 
417  jetCMXData[0] |= (1 << iFrame);
418 
419  switch (nTobs) {
420  case 0:
421  jetCMXData[0] += ( etL << 13 );
422  jetCMXData[0] += ( (etS&7) << 8 );
423  jetCMXData[1] += ( (etS >> 3) & 0x3f );
424  jetCMXData[0] += ( lc << 11 );
425  break;
426  case 1:
427  jetCMXData[1] += ( etL << 13 );
428  jetCMXData[1] += ( (etS&0x1f) << 6 );
429  jetCMXData[2] += ( (etS >> 5) & 0xf );
430  jetCMXData[1] += ( lc << 11 );
431  break;
432  case 2:
433  jetCMXData[2] += ( etL << 13 );
434  jetCMXData[2] += ( (etS&0x7f) << 4 );
435  jetCMXData[3] += ( (etS >> 7) & 3 );
436  jetCMXData[2] += ( lc << 11 );
437  break;
438  case 3:
439  jetCMXData[3] += ( etL << 13 );
440  jetCMXData[3] += ( etS << 2 );
441  jetCMXData[3] += ( lc << 11 );
442  break;
443  }
444  nTobs++;
445 
446  } // Found TOB
447 
448  } // eta within frame
449  } // phi within frame
450  } // frame (0-7) within module
451 
452  // Finally set parity bits for data words
453  for (unsigned int word = 0; word < 4; ++word) {
454  unsigned int parity = 1;
455  for (unsigned int bit = 0; bit < 24; ++bit) if ( ( (jetCMXData[word]>>bit) & 1) > 0 ) parity++;
456  parity &= 1;
457  jetCMXData[word] |= (parity<<23);
458  }
459 }

◆ findJEMResults() [2/2]

void LVL1::L1JEMJetTools::findJEMResults ( const std::map< int, JetInput * > *  inputs,
int  crate,
int  module,
xAOD::JEMTobRoIContainer rois,
std::vector< unsigned int > &  jetCMXData 
) const
overridevirtual

Form JEM results for specified crate/module using user-supplied map of input towers Adds to DataVector of JEMTobRoI and returns backplane data words.

Form results for a specified module.

This tool appends to an existing DataVector of results, so do not clear that. But reset & resize the module results vectors, to be safe

Count RoIs (for correct filling of backplane words)

Loop over all reference elements in order of TOB readout. As only 1 TOB possible per frame, order within these doesn't matter

If want to be clever and test whether worth proceeding before evaluating window, this would be the place to put the test

Form algorithm object for this location

Did it pass as JetTOB? If so: Create TOB RoI object and push back into system results Add bit to presence map Add TOB to backplane data (if not overflowed)

Definition at line 249 of file L1JEMJetTools.cxx.

250  {
251 
254  jetCMXData.clear();
255  jetCMXData.resize(4);
256 
258  int nTobs = 0;
259 
260  // Phi coordinates within module
261  float PhiMin = ( crate + ( module>7 ? 2 : 0 ) )*M_PI/2;
262  float PhiCell[8];
263  for (int ip = 0; ip < 8; ++ip) PhiCell[ip] = PhiMin + ip*M_PI/16 + M_PI/32;
264 
265  // Eta coordinates within module
266  float EtaCell[4];
267  if ( module%8 == 0 ) {
268  EtaCell[0] = -4.0 ;
269  EtaCell[1] = -3.05 ;
270  EtaCell[2] = -2.8 ;
271  EtaCell[3] = -2.55 ;
272  }
273  else if ( module%8 == 7 ) {
274  EtaCell[0] = 2.55 ;
275  EtaCell[1] = 2.8 ;
276  EtaCell[2] = 3.05 ;
277  EtaCell[3] = 4.0;
278  }
279  else {
280  for (int ie = 0; ie < 4; ++ie) EtaCell[ie] = (module%8)*0.8 - 3.2 + ie*0.2 + 0.1;
281  }
282 
285  for (int iFrame = 0; iFrame < 8; ++iFrame) {
286  for (int iPhi = 0; iPhi < 2; ++iPhi) {
287  int ip = 2*(iFrame&3) + + iPhi;
288  for (int iEta = 0; iEta < 2; ++iEta) {
289  int ie = 2*(iFrame>>2) + iEta;
290 
295  JEMJetAlgorithm tob(EtaCell[ie], PhiCell[ip], inputs, m_l1menu);
296 
301  if (tob.isRoI()) {
302  unsigned int etL = tob.ETLarge();
303  unsigned int etS = tob.ETSmall();
304  unsigned int lc = (iPhi << 1) + iEta;
305 
306  xAOD::JEMTobRoI* RoI = new xAOD::JEMTobRoI;
307  RoI->makePrivateStore();
308  RoI->initialize(crate, module, iFrame, lc, etL, etS);
309  rois->push_back(RoI);
310 
311  jetCMXData[0] |= (1 << iFrame);
312 
313  switch (nTobs) {
314  case 0:
315  jetCMXData[0] += ( etL << 13 );
316  jetCMXData[0] += ( (etS&7) << 8 );
317  jetCMXData[1] += ( (etS >> 3) & 0x3f );
318  jetCMXData[0] += ( lc << 11 );
319  break;
320  case 1:
321  jetCMXData[1] += ( etL << 13 );
322  jetCMXData[1] += ( (etS&0x1f) << 6 );
323  jetCMXData[2] += ( (etS >> 5) & 0xf );
324  jetCMXData[1] += ( lc << 11 );
325  break;
326  case 2:
327  jetCMXData[2] += ( etL << 13 );
328  jetCMXData[2] += ( (etS&0x7f) << 4 );
329  jetCMXData[3] += ( (etS >> 7) & 3 );
330  jetCMXData[2] += ( lc << 11 );
331  break;
332  case 3:
333  jetCMXData[3] += ( etL << 13 );
334  jetCMXData[3] += ( etS << 2 );
335  jetCMXData[3] += ( lc << 11 );
336  break;
337  }
338  nTobs++;
339 
340  } // Found TOB
341 
342  } // eta within frame
343  } // phi within frame
344  } // frame (0-7) within module
345 
346  // Finally set parity bits for data words
347  for (unsigned int word = 0; word < 4; ++word) {
348  unsigned int parity = 1;
349  for (unsigned int bit = 0; bit < 24; ++bit) if ( ( (jetCMXData[word]>>bit) & 1) > 0 ) parity++;
350  parity &= 1;
351  jetCMXData[word] |= (parity<<23);
352  }
353 
354 
355 }

◆ findRoI()

JEMJetAlgorithm LVL1::L1JEMJetTools::findRoI ( double  RoIeta,
double  RoIphi,
const std::map< int, JetInput * > *  elements 
) const
overridevirtual

Return RoI object for specified location.

Form RoI object for specified coordinate.

Definition at line 465 of file L1JEMJetTools.cxx.

465  {
466  return JEMJetAlgorithm(RoIeta, RoIphi, elements, m_l1menu);
467 }

◆ findRoIs() [1/4]

void LVL1::L1JEMJetTools::findRoIs ( const std::map< int, JetInput * > *  elements,
DataVector< JEMJetAlgorithm > *  rois 
) const
overridevirtual

Return vector of RoI objects derived from user-specified inputs.

Find list of RoIs passing at least 1 threshold.

JetElements can be multi-slice

Now step through JetInput map
Each element could be reference element of 4 RoIs
But need to ensure we don't double count, so we use
a std::map to keep track of which RoIs already exist
We also use KeyUtilities to find neighbours (to allow
for the variable sizes of JetInputs)

Definition at line 121 of file L1JEMJetTools.cxx.

121  {
122 
123  // Start with an empty vector
124  rois->clear();
125 
133  JetInputKey testKey(0.0, 0.0);
134  std::map<int, int> analysed;
135  std::map<int, JetInput*>::const_iterator input = elements->begin();
136  for ( ; input != elements->end(); ++input) {
137  double eta = (*input).second->eta();
138  double startPhi = (*input).second->phi();
139  for (int etaOffset = 0; etaOffset >= -1; etaOffset--) {
140  Coordinate tempCoord(startPhi, eta);
141  for (int phiOffset = 0; phiOffset >= -1; phiOffset--) {
142  int key = testKey.jeKey(tempCoord);
143  std::map<int, int>::iterator test = analysed.find(key);
144  if (test == analysed.end()) {
145  analysed.insert(std::map<int, int>::value_type(key,1));
146  double tempEta = tempCoord.eta();
147  double tempPhi = tempCoord.phi();
148  JEMJetAlgorithm* roi = new JEMJetAlgorithm(tempEta, tempPhi, elements, m_l1menu);
149  if (roi->isRoI()) rois->push_back(roi);
150  else delete roi;
151  }
152  tempCoord = testKey.downPhi(tempCoord); // decrement phi
153  } // phi offset loop
154  tempCoord = testKey.leftEta(tempCoord); // decrement eta
155  eta = tempCoord.eta();
156  if (eta == TrigT1CaloDefs::RegionERROREtaCentre) break; // gone outside detector
157  } // eta offset loop
158  } // loop over JetInput map
159 
160 }

◆ findRoIs() [2/4]

void LVL1::L1JEMJetTools::findRoIs ( const std::map< int, JetInput * > *  elements,
xAOD::JEMTobRoIContainer rois 
) const
overridevirtual

Return vector of TOB RoI objects derived from user-specified inputs.

Find list of RoIs passing at least 1 threshold.

JetElements can be multi-slice

Now step through JetInput map
Each element could be reference element of 4 RoIs
But need to ensure we don't double count, so we use
a std::map to keep track of which RoIs already exist
We also use KeyUtilities to find neighbours (to allow
for the variable sizes of JetInputs)

Definition at line 184 of file L1JEMJetTools.cxx.

184  {
185 
186  // Start with an empty DataVector
187  rois->clear();
188 
196  JetInputKey testKey(0.0, 0.0);
197  std::map<int, int> analysed;
198  std::map<int, JetInput*>::const_iterator input = elements->begin();
199  for ( ; input != elements->end(); ++input) {
200  double eta = (*input).second->eta();
201  double startPhi = (*input).second->phi();
202  for (int etaOffset = 0; etaOffset >= -1; etaOffset--) {
203  Coordinate tempCoord(startPhi, eta);
204  for (int phiOffset = 0; phiOffset >= -1; phiOffset--) {
205  int key = testKey.jeKey(tempCoord);
206  std::map<int, int>::iterator test = analysed.find(key);
207  if (test == analysed.end()) {
208  analysed.insert(std::map<int, int>::value_type(key,1));
209  double tempEta = tempCoord.eta();
210  double tempPhi = tempCoord.phi();
211  JEMJetAlgorithm roi(tempEta, tempPhi, elements, m_l1menu);
212 
213  if (roi.isRoI() != 0) rois->push_back(roi.jemTobRoI());
214 
215  }
216  tempCoord = testKey.downPhi(tempCoord); // decrement phi
217  } // phi offset loop
218  tempCoord = testKey.leftEta(tempCoord); // decrement eta
219  eta = tempCoord.eta();
220  if (eta == TrigT1CaloDefs::RegionERROREtaCentre) break; // gone outside detector
221  } // eta offset loop
222  } // loop over JetInput map
223 
224 }

◆ findRoIs() [3/4]

void LVL1::L1JEMJetTools::findRoIs ( const xAOD::JetElementContainer jes,
DataVector< JEMJetAlgorithm > *  rois,
int  slice = -1 
) const
overridevirtual

Find list of RoIs passing at least 1 threshold.

Need a map of JetInputs as input

Now find the RoIs in this map

Clean up JetInputs

Definition at line 164 of file L1JEMJetTools.cxx.

164  {
165 
167  std::map<int, JetInput*>* inputs = new std::map<int, JetInput*>;
168  mapJetInputs(jes, inputs, slice);
169 
171  findRoIs(inputs, rois);
172 
174  for (std::map<int, JetInput*>::iterator it = inputs->begin(); it != inputs->end(); ++it) {
175  delete (*it).second;
176  }
177  delete inputs;
178 
179 }

◆ findRoIs() [4/4]

void LVL1::L1JEMJetTools::findRoIs ( const xAOD::JetElementContainer jes,
xAOD::JEMTobRoIContainer rois,
int  slice = -1 
) const
overridevirtual

Find list of RoIs passing at least 1 threshold.

Need a map of JetInputs as input

Now find the RoIs in this map

Clean up JetInputs

Definition at line 229 of file L1JEMJetTools.cxx.

229  {
230 
232  std::map<int, JetInput*>* inputs = new std::map<int, JetInput*>;
233  mapJetInputs(jes, inputs, slice);
234 
236  findRoIs(inputs, rois);
237 
239  for (std::map<int, JetInput*>::iterator it = inputs->begin(); it != inputs->end(); ++it) {
240  delete (*it).second;
241  }
242  delete inputs;
243 
244 }

◆ formSums() [1/2]

JEMJetAlgorithm LVL1::L1JEMJetTools::formSums ( double  RoIeta,
double  RoIphi,
const std::map< int, JetInput * > *  elements 
) const
overridevirtual

Form jet cluster sums for a given RoI location.

=====================Form clusters for given coordinates ====================

Definition at line 471 of file L1JEMJetTools.cxx.

471  {
472  // Performs all processing for this location
473  return JEMJetAlgorithm(RoIeta, RoIphi, elements, m_l1menu);
474 }

◆ formSums() [2/2]

JEMJetAlgorithm LVL1::L1JEMJetTools::formSums ( uint32_t  roiWord,
const std::map< int, JetInput * > *  elements 
) const
overridevirtual

=====================Form clusters for given RoI ====================

Definition at line 478 of file L1JEMJetTools.cxx.

478  {
479  // Find RoI coordinate
480  CoordinateRange coord = m_conv.coordinate(roiWord);
481  float RoIphi = coord.phi();
482  float RoIeta = coord.eta();
483  // For this purpose we need to resolve the 2 possible FJ coordinates at end C
484  if (RoIeta > 3.1 && m_conv.column(roiWord) != 3) RoIeta = 3.1;
485 
486  // Performs all processing for this location
487  return JEMJetAlgorithm(RoIeta, RoIphi, elements, m_l1menu);
488 }

◆ initialize()

StatusCode LVL1::L1JEMJetTools::initialize ( )
overridevirtual

standard Athena-Algorithm method

Definition at line 28 of file L1JEMJetTools.cxx.

29 {
31  return StatusCode::SUCCESS;
32 }

◆ mapJetInputs()

void LVL1::L1JEMJetTools::mapJetInputs ( const xAOD::JetElementContainer jes,
std::map< int, JetInput * > *  elements,
int  slice = -1 
) const
overridevirtual

Convert user-supplied JetElements to map of JetInputs.

Can specify which time slice of data to use

Fill map from DataVector

Definition at line 43 of file L1JEMJetTools.cxx.

43  {
44 
45  // Clear map before filling
46  elements->clear();
47 
48  // Step over JEs, form JIs, and put into map
50  JetInputKey testKey(0.0, 0.0);
51 
53  JetInput* jetInput;
54  for( it = jes->begin(); it != jes->end(); ++it ){
55  double jetElementPhi=(*it)->phi();
56  double jetElementEta=(*it)->eta();
57  int jetElementET = 0;
58  if (slice < 0) { // Default to using peak slice
59  jetElementET = (*it)->et();
60  }
61  else { // Use user-specified slice
62  jetElementET = (*it)->sliceET(slice);
63  }
64  // Don't waste time & fill the JetInput map with empty elements
65  if (jetElementET == 0) continue;
66 
67  if (!testKey.isFCAL(jetElementEta)) { // 1-to-1 JE->JI outside FCAL
68  int key = testKey.jeKey(jetElementPhi,jetElementEta);
70  if (test == elements->end()){
71  // no JI yet. Create it!
72  ATH_MSG_DEBUG( "Creating JetInput at ("
73  << jetElementPhi << " , " << jetElementEta << "). Key = " << key);
74  jetInput=new JetInput(jetElementPhi,jetElementEta, jetElementET, key);
75  elements->insert(std::map<int, JetInput*>::value_type(key,jetInput)); //and put it in the map.
76  }
77  else{
78  ATH_MSG_ERROR( "JetInput already exists (shouldn't happen!). Coords (" << jetElementEta << ", " << jetElementPhi << "), key = " << key );
79  }
80  }
81  else { // FCAL JEs are divided into 2 JIs
82  // Each gets half of the ET. If value is odd, remainder added to lower JI
83  int jetInputET = (jetElementET>>1);
84  int underflow = jetElementET&0x1;
85  // Modifier: if JetElement is saturated, both "halves" should saturate
86  if ((*it)->isSaturated()) {
87  jetInputET = jetElementET; // don't divide saturated ET
88  underflow = 0; // want both halves set to same value
89  }
90  // Phi coordinates of the two elements
91  double phiOffset = testKey.dPhi(jetElementPhi,jetElementEta)/2.;
92  std::vector<double> phiValues;
93  std::vector<int> etValues;
94  phiValues.push_back(jetElementPhi - phiOffset);
95  etValues.push_back(jetInputET+underflow);
96  phiValues.push_back(jetElementPhi + phiOffset);
97  etValues.push_back(jetInputET);
98  // Calculate keys, create JI, and add (halved) ET to each
99  for (size_t iphi = 0; iphi < phiValues.size(); ++iphi) {
100  int key = testKey.jeKey(phiValues[iphi],jetElementEta);
101  std::map<int, JetInput*>::iterator test=elements->find( key );
102  JetInput* jetInput=0;
103  if (test == elements->end()){
104  // no JI yet. Create it!
105  ATH_MSG_DEBUG( "Creating JetInput at ("
106  << phiValues[iphi] << " , " << jetElementEta << "). Key = " << key);
107  jetInput=new JetInput(phiValues[iphi],jetElementEta, etValues[iphi], key);
108  elements->insert(std::map<int, JetInput*>::value_type(key,jetInput)); //and put it in the map.
109  }
110  else{
111  ATH_MSG_ERROR( "FCAL JetInput already exists (shouldn't happen!). Coords (" << jetElementEta << ", " << jetElementPhi << "), key = " << key );
112  }
113  } // end loop over parts of the JE
114  } // end handling of FCAL JEs
115  }//endfor
116 
117 }

Member Data Documentation

◆ m_conv

JEPRoIDecoder LVL1::L1JEMJetTools::m_conv
private

Utility for decoding RoI words.

Definition at line 88 of file L1JEMJetTools.h.

◆ m_l1menu

const TrigConf::L1Menu* LVL1::L1JEMJetTools::m_l1menu {nullptr}
private

Definition at line 85 of file L1JEMJetTools.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAOD::iterator
JetConstituentVector::iterator iterator
Definition: JetConstituentVector.cxx:68
TBXMLWriter_jobOptions.PhiMin
PhiMin
Definition: TBXMLWriter_jobOptions.py:32
DataModel_detail::const_iterator
Const iterator class for DataVector/DataList.
Definition: DVLIterator.h:82
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
xAOD::JEMTobRoI
JEMTobRoI_v1 JEMTobRoI
Define the latest version of the JEMTobRoI class.
Definition: Event/xAOD/xAODTrigL1Calo/xAODTrigL1Calo/JEMTobRoI.h:17
eta
Scalar eta() const
pseudorapidity method
Definition: AmgMatrixBasePlugin.h:79
skel.it
it
Definition: skel.GENtoEVGEN.py:423
M_PI
#define M_PI
Definition: ActiveFraction.h:11
LVL1::L1JEMJetTools::mapJetInputs
virtual void mapJetInputs(const xAOD::JetElementContainer *jes, std::map< int, JetInput * > *elements, int slice=-1) const override
Convert user-supplied JetElements to map of JetInputs.
Definition: L1JEMJetTools.cxx:43
TrigInDetValidation_Base.test
test
Definition: TrigInDetValidation_Base.py:144
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
python.LumiCalcHtml.lc
lc
Definition: LumiCalcHtml.py:579
postInclude.inputs
inputs
Definition: postInclude.SortInput.py:15
PlotCalibFromCool.ie
ie
Definition: PlotCalibFromCool.py:420
LVL1::L1JEMJetTools::findRoIs
virtual void findRoIs(const std::map< int, JetInput * > *elements, xAOD::JEMTobRoIContainer *rois) const override
Return vector of TOB RoI objects derived from user-specified inputs.
Definition: L1JEMJetTools.cxx:184
xAOD::roiWord
roiWord
Definition: TrigMissingET_v1.cxx:36
python.PyAthena.module
module
Definition: PyAthena.py:134
DiTauMassTools::ignore
void ignore(T &&)
Definition: PhysicsAnalysis/TauID/DiTauMassTools/DiTauMassTools/HelperFunctions.h:54
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
perfmonmt-refit.slice
slice
Definition: perfmonmt-refit.py:52
beamspotman.n
n
Definition: beamspotman.py:731
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
find_tgc_unfilled_channelids.ip
ip
Definition: find_tgc_unfilled_channelids.py:3
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
python.PyKernel.detStore
detStore
Definition: PyKernel.py:41
LVL1::L1JEMJetTools::m_conv
JEPRoIDecoder m_conv
Utility for decoding RoI words.
Definition: L1JEMJetTools.h:88
LVL1::TrigT1CaloDefs::RegionERROREtaCentre
static const double RegionERROREtaCentre
Definition: TrigT1CaloDefs.h:102
SG::AuxElement::makePrivateStore
void makePrivateStore()
Create a new (empty) private store for this object.
Definition: AuxElement.cxx:172
JetVoronoiDiagramHelpers::coord
double coord
Definition: JetVoronoiDiagramHelpers.h:45
Trk::iPhi
@ iPhi
Definition: ParamDefs.h:53
DataVector::end
const_iterator end() const noexcept
Return a const_iterator pointing past the end of the collection.
xAOD::JEMTobRoI_v1
Description of JEMTobRoI_v1.
Definition: JEMTobRoI_v1.h:25
LVL1::L1JEMJetTools::m_l1menu
const TrigConf::L1Menu * m_l1menu
Definition: L1JEMJetTools.h:85
TriggerTest.rois
rois
Definition: TriggerTest.py:23
LVL1::JEPRoIDecoder::column
unsigned int column(const unsigned int word) const
Extract RoI column number within module from Jet RoI word.
Definition: JEPRoIDecoder.cxx:96
xAOD::JEMTobRoI_v1::initialize
virtual void initialize(const int crate, const int jem, const int frame, const int location, const int energyLarge, const int energySmall)
Definition: JEMTobRoI_v1.cxx:23
xAOD::iEta
setScale setgFexType iEta
Definition: gFexJetRoI_v1.cxx:74
LVL1::JEPRoIDecoder::coordinate
virtual CoordinateRange coordinate(const unsigned int roiWord) const override
Return eta/phi coordinate object.
Definition: JEPRoIDecoder.cxx:66
DataVector::begin
const_iterator begin() const noexcept
Return a const_iterator pointing at the beginning of the collection.
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37