Loading [MathJax]/extensions/MathMenu.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
RecEmTauRoI.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  RecEmTauRoI.cxx - description
6  -------------------
7  begin : Mon Jan 22 2001
8  email : moyse@heppch.ph.qmw.ac.uk
9 ***************************************************************************/
10 
11 
12 // STL include(s):
13 #include <cmath>
14 
15 // Trigger config includes:
21 #include "TrigConfData/L1Menu.h"
22 
23 // Local include(s):
26 
27 using namespace std;
28 using namespace TrigConf;
29 
32 LVL1::RecEmTauRoI::RecEmTauRoI( unsigned int RoIWord,
33  const std::vector<TriggerThreshold *> *caloThresholds)
34  : m_roiWord(RoIWord),
35  m_decoder(new CPRoIDecoder()),
36  m_type(m_decoder->roiType(m_roiWord)),
37  m_coordRange(m_decoder->coordinate(m_roiWord))
38 {
40  this->constructRun1(caloThresholds);
41  }
44  {
45  this->constructRun2(caloThresholds);
46  }
47  else
48  {
49  m_thresholdMask = 0;
51  m_isolationMask.clear();
52  m_emIsolation.clear();
53  m_hadIsolation.clear();
54  m_hadCoreIsolation.clear();
55  m_thresholdType.clear();
56  }
57 }
58 
59 LVL1::RecEmTauRoI::RecEmTauRoI(unsigned int RoIWord,
60  const TrigConf::L1Menu *const l1menu) :
61  m_roiWord(RoIWord),
62  m_decoder(new CPRoIDecoder()),
63  m_type(m_decoder->roiType(m_roiWord)),
64  m_coordRange(m_decoder->coordinate(m_roiWord))
65 {
67 }
68 
69 // written copy constructor
71  m_roiWord{obj.m_roiWord},
72  m_decoder{new CPRoIDecoder()},
73  m_type{obj.m_type},
74  m_coordRange{obj.m_coordRange},
75  m_thresholdMask{obj.m_thresholdMask},
76  m_triggerThresholdValue{obj.m_triggerThresholdValue},
77  m_isolationMask{obj.m_isolationMask},
78  m_emIsolation{obj.m_emIsolation},
79  m_hadIsolation{obj.m_hadIsolation},
80  m_hadCoreIsolation{obj.m_hadCoreIsolation},
81  m_thresholdType{obj.m_thresholdType}
82 {}
83 
84 // written assignment operator
87 {
88  if(this != &rhs) {
89  m_roiWord = rhs.m_roiWord;
90  delete m_decoder;
91  m_decoder = new CPRoIDecoder();
92  m_type = rhs.m_type;
93  m_coordRange = rhs.m_coordRange;
94  m_thresholdMask = rhs.m_thresholdMask;
95  m_triggerThresholdValue = rhs.m_triggerThresholdValue;
96  m_isolationMask = rhs.m_isolationMask;
97  m_emIsolation = rhs.m_emIsolation;
98  m_hadIsolation = rhs.m_hadIsolation;
99  m_hadCoreIsolation = rhs.m_hadCoreIsolation;
100  m_thresholdType = rhs.m_thresholdType;
101  }
102  return *this;
103 }
104 
106  delete m_decoder;
107 }
108 
120  const std::vector<TriggerThreshold *> *caloThresholds)
121 {
122 
123  m_thresholdMask = m_roiWord & 0xffff;
124 
125  m_triggerThresholdValue.clear();
126  m_isolationMask.clear();
127  m_emIsolation.clear();
128  m_hadIsolation.clear();
129  m_hadCoreIsolation.clear();
130  m_thresholdType.clear();
131 
132  const vector<unsigned int> passed_thresholds =
133  m_decoder->thresholdsPassed(m_roiWord);
134 
135  // Copy the thresholds into a map - makes matching up the passed ones very easy
136  std::map<int, TriggerThreshold *> thrMap;
137 
138  for (std::vector<TriggerThreshold *>::const_iterator it =
139  caloThresholds->begin();
140  it != caloThresholds->end(); ++it)
141  {
142  if ((*it)->type() == L1DataDef::typeAsString(L1DataDef::EM) ||
143  (*it)->type() == L1DataDef::typeAsString(L1DataDef::TAU))
144  {
145  int num = (*it)->thresholdNumber();
146  thrMap.insert(std::map<int, TriggerThreshold *>::value_type(num, (*it)));
147  }
148  }
149 
150  //
151  // Extract the properties of the passed thresholds:
152  //
153 
154  int ieta = int((m_coordRange.etaRange().min() + 0.025) / 0.1) +
155  ((m_coordRange.etaRange().min() + 0.025 > 0) ? 0 : -1);
156  int iphi = int((m_coordRange.phiRange().min() + 0.025) * 32 / M_PI);
157 
158  for (vector<unsigned int>::const_iterator itp = passed_thresholds.begin();
159  itp != passed_thresholds.end(); ++itp)
160  {
161  std::map<int, TriggerThreshold *>::const_iterator thr =
162  thrMap.find(*itp - 1);
163  if (thr != thrMap.end())
164  {
165  TriggerThresholdValue *ttv =
166  thr->second->triggerThresholdValue(ieta, iphi);
167  ClusterThresholdValue *ctv = dynamic_cast<ClusterThresholdValue *>(ttv);
168  if (ctv)
169  {
170  m_triggerThresholdValue.insert(std::map<int, unsigned int>::value_type(
171  *itp, ctv->thresholdValueCount()));
172  m_emIsolation.insert(std::map<int, unsigned int>::value_type(
173  *itp, ctv->emIsolationCount()));
174  m_hadIsolation.insert(std::map<int, unsigned int>::value_type(
175  *itp, ctv->hadIsolationCount()));
176  m_hadCoreIsolation.insert(
177  std::map<int, unsigned int>::value_type(*itp, ctv->hadVetoCount()));
181  m_thresholdType.insert(
182  std::map<int, TrigT1CaloDefs::ClusterAlgorithm>::value_type(*itp,
183  type));
184  }
185  } // end "found threshold in map"
186  } // end loop through passed thresholds
187 
188  return;
189 }
190 
195 void LVL1::RecEmTauRoI::constructRun2(const std::vector<TriggerThreshold *> *caloThresholds)
196 {
197 
198  m_thresholdMask = 0;
199  m_triggerThresholdValue.clear();
200  m_isolationMask.clear();
201  m_emIsolation.clear();
202  m_hadIsolation.clear();
203  m_hadCoreIsolation.clear();
204  m_thresholdType.clear();
205 
206  std::string triggerType =
209 
210  int ieta = int((m_coordRange.etaRange().min() + 0.025) / 0.1) +
211  ((m_coordRange.etaRange().min() + 0.025 > 0) ? 0 : -1);
212  int iphi = int((m_coordRange.phiRange().min() + 0.025) * 32 / M_PI);
213 
214  unsigned int isolWord = isolation();
215 
216  // Iterate through vector of thresholds and see which ones this RoI satisfies
217  for (std::vector<TriggerThreshold *>::const_iterator it =
218  caloThresholds->begin();
219  it != caloThresholds->end(); ++it) {
220  if ((*it)->type() == triggerType) {
221  // Does it satisfy this one?
222  // Start by extracting threshold values
223  TriggerThresholdValue *ttv = (*it)->triggerThresholdValue(ieta, iphi);
224  ClusterThresholdValue *ctv = dynamic_cast<ClusterThresholdValue *>(ttv);
225  if (ctv) {
226  float scale = ctv->caloInfo().globalEmScale();
227  unsigned int etCut = ctv->ptcut();
228  unsigned int threshold = etCut * scale;
229  unsigned int isolMask = ctv->isolationMask();
230 
231  bool isolationPassed = true;
232  for (unsigned int bit = 0; bit < TrigT1CaloDefs::numOfIsolationBits;
233  ++bit)
234  if ((isolMask & (1 << bit)) && !(isolWord & (1 << bit)))
235  isolationPassed = false;
236 
237  if (et() > threshold && isolationPassed) {
238  int num = (*it)->thresholdNumber();
239  m_triggerThresholdValue.insert(
240  std::map<int, unsigned int>::value_type(num, etCut));
241  m_isolationMask.insert(
242  std::map<int, unsigned int>::value_type(num, isolMask));
246  m_thresholdType.insert(
247  std::map<int, TrigT1CaloDefs::ClusterAlgorithm>::value_type(
248  num, type));
249  m_thresholdMask |= (1 << num);
250  } // passes cuts
251  } // ClusterThresholdValue pointer valid
252  } // correct threshold type
253  } // Loop over thresholds
254 }
255 
257 {
258  m_thresholdMask = 0;
259  m_triggerThresholdValue.clear();
260  m_isolationMask.clear();
261  m_emIsolation.clear();
262  m_hadIsolation.clear();
263  m_hadCoreIsolation.clear();
264  m_thresholdType.clear();
265 
266  std::string triggerType = (m_type == TrigT1CaloDefs::EMRoIWordType ? "EM" : "TAU");
267 
268  // get the integer eta value
269  // eta value of ROIs goes in steps of 0.1 and on the negative side 1 is subtracted to avoid overlap at 0
270  // (copied from constructRun2)
271  int ieta = int((m_coordRange.etaRange().min() + 0.025) / 0.1) +
272  ((m_coordRange.etaRange().min() + 0.025 > 0) ? 0 : -1);
273 
274  unsigned int isolWord = RecEmTauRoI::isolation();
275 
276  // Iterate through the configured thresholds and see which ones this RoI satisfies
277  for (const shared_ptr<TrigConf::L1Threshold> &thr : l1menu->thresholds(triggerType))
278  {
279  // Start by extracting threshold values
280  auto caloThr = dynamic_cast<TrigConf::L1Threshold_Calo*>(thr.get());
281  if (!caloThr)
282  {
283  continue;
284  }
285 
286  // test eT
287  unsigned int etCut = std::round(caloThr->thrValue(ieta)); // threshold value in GeV (integer for legacy thr)
288  unsigned int etCounts = caloThr->thrValueCounts(ieta); // threshold counts (threshold value * emscale)
289  bool eTPassed = (RecEmTauRoI::et() > etCounts);
290 
291  // test isolation
292  unsigned int isolMask = 0;
293  if (triggerType == "EM")
294  {
295  auto emThr = dynamic_cast<TrigConf::L1Threshold_EM*>(thr.get());
296  if (emThr)
297  {
298  isolMask = emThr->isolationMask(ieta);
299  }
300  }
301  else if (triggerType == "TAU")
302  {
303  auto tauThr = dynamic_cast<TrigConf::L1Threshold_TAU*>(thr.get());
304  if (tauThr)
305  {
306  isolMask = tauThr->isolationMask();
307  }
308  }
309  bool isolationPassed = true;
310  for (unsigned int bit = 0; bit < TrigT1CaloDefs::numOfIsolationBits; ++bit)
311  {
312  if ((isolMask & (1 << bit)) && !(isolWord & (1 << bit)))
313  {
314  isolationPassed = false;
315  }
316  }
317 
318  if (eTPassed && isolationPassed)
319  {
320  int num = thr->mapping();
321  m_triggerThresholdValue[num] = etCut;
322  m_isolationMask[num] = isolMask;
324  m_thresholdMask |= (1 << num);
325  } // passes cuts
326  } // Loop over thresholds
327 }
328 
329 unsigned int LVL1::RecEmTauRoI::roiWord() const { return m_roiWord; }
330 
333 {
334 
335  double roiPhi = m_coordRange.phi();
336  if (roiPhi > M_PI)
337  roiPhi -= 2 * M_PI;
338  return roiPhi;
339 }
340 
342 double LVL1::RecEmTauRoI::eta() const { return m_coordRange.eta(); }
343 
345 unsigned int LVL1::RecEmTauRoI::crate() const { return m_decoder->crate(m_roiWord); }
346 
348 unsigned int LVL1::RecEmTauRoI::module() const
349 {
350  return m_decoder->module(m_roiWord);
351 }
352 
354 unsigned int LVL1::RecEmTauRoI::fpga() const { return m_decoder->chip(m_roiWord); }
355 
357 unsigned int LVL1::RecEmTauRoI::localcoord() const
358 {
359  return m_decoder->localcoord(m_roiWord);
360 }
361 
363 unsigned int LVL1::RecEmTauRoI::et() const { return m_decoder->et(m_roiWord); }
364 
366 unsigned int LVL1::RecEmTauRoI::isolation() const
367 {
368 
369  return m_decoder->isolationWord(m_roiWord);
370 }
371 
373 unsigned int LVL1::RecEmTauRoI::thresholdPattern() const { return m_thresholdMask; }
374 
378 
381 bool LVL1::RecEmTauRoI::passedThreshold(unsigned int threshold_number) const
382 {
383  if (this->isValidThreshold(threshold_number)) {
384  return ((1 << threshold_number) & m_thresholdMask) != 0;
385  }
386  return false;
387 }
388 
392 const LVL1::CoordinateRange& LVL1::RecEmTauRoI::coord() const { return m_coordRange; }
393 
395 std::vector<unsigned int> *
397 {
398  std::vector<unsigned int> *newVec = new std::vector<unsigned int>;
399 
400  unsigned int nThresh = TrigT1CaloDefs::numOfCPThresholds;
405 
406  for (unsigned int iTh = 0; iTh <= nThresh; ++iTh) {
407  std::map<int, unsigned int>::const_iterator it =
408  m_triggerThresholdValue.find(iTh);
409  if (it != m_triggerThresholdValue.end())
410  newVec->push_back(iTh);
411  }
412 
413  return newVec;
414 }
415 
418 unsigned int LVL1::RecEmTauRoI::triggerThreshold(const unsigned int thresh) const
419 {
420 
421  std::map<int, unsigned int>::const_iterator it =
422  m_triggerThresholdValue.find(thresh);
423  if (it != m_triggerThresholdValue.end())
424  {
425  return (it->second);
426  }
427  return TrigT1CaloDefs::Error;
428 }
429 
432 unsigned int LVL1::RecEmTauRoI::isolationMask(const unsigned int thresh) const
433 {
434 
436  return 0;
437 
438  std::map<int, unsigned int>::const_iterator it = m_isolationMask.find(thresh);
439  if (it != m_isolationMask.end())
440  {
441  return (it->second);
442  }
443  return TrigT1CaloDefs::Error;
444 }
445 
448 unsigned int LVL1::RecEmTauRoI::emIsolation(const unsigned int thresh) const
449 {
450 
452  return 0;
453 
454  std::map<int, unsigned int>::const_iterator it = m_emIsolation.find(thresh);
455  if (it != m_emIsolation.end())
456  {
457  return (it->second);
458  }
459  return TrigT1CaloDefs::Error;
460 }
461 
464 unsigned int LVL1::RecEmTauRoI::hadIsolation(const unsigned int thresh) const
465 {
467  return 0;
468 
469  map<int, unsigned int>::const_iterator it = m_hadIsolation.find(thresh);
470  if (it != m_hadIsolation.end())
471  {
472  return (it->second);
473  }
474  return TrigT1CaloDefs::Error;
475 }
476 
479 unsigned int LVL1::RecEmTauRoI::hadCoreIsolation(const unsigned int thresh) const
480 {
481 
483  return 0;
484 
485  map<int, unsigned int>::const_iterator it = m_hadCoreIsolation.find(thresh);
486  if (it != m_hadCoreIsolation.end())
487  {
488  return (it->second);
489  }
490  return TrigT1CaloDefs::Error;
491 }
492 
494 bool LVL1::RecEmTauRoI::isValidThreshold(const unsigned int thresh) const
495 {
497  {
499  }
501  {
503  }
505  {
507  }
508  return false;
509 }
510 
514 LVL1::RecEmTauRoI::thresholdType(const unsigned int thresh) const
515 {
516 
517  map<int, TrigT1CaloDefs::ClusterAlgorithm>::const_iterator it =
518  m_thresholdType.find(thresh);
519  if (it != m_thresholdType.end())
520  {
521  return it->second;
522  }
524 }
TrigConf::TriggerThresholdValue
Definition: TriggerThresholdValue.h:22
TrigConf::ClusterThresholdValue::thresholdValueCount
virtual int thresholdValueCount() const override
Definition: ClusterThresholdValue.cxx:58
LVL1::RecEmTauRoI::operator=
RecEmTauRoI & operator=(const RecEmTauRoI &obj)
Definition: RecEmTauRoI.cxx:86
RecEmTauRoI.h
TruthTest.itp
itp
Definition: TruthTest.py:46
LVL1::RecEmTauRoI::hadIsolation
unsigned int hadIsolation(unsigned int thresh) const
returns the value of the hadronic layer isolation ring for the threshold passed.
Definition: RecEmTauRoI.cxx:464
LVL1::RecEmTauRoI::hadCoreIsolation
unsigned int hadCoreIsolation(unsigned int thresh) const
returns the value of the hadronic layer core isolation for the threshold passed.
Definition: RecEmTauRoI.cxx:479
HLTSeedingRoIToolDefs::roiPhi
constexpr float roiPhi(const AnyRoIPointer &roi)
Definition: HLTSeedingRoIToolDefs.h:167
LVL1::RecEmTauRoI::m_thresholdType
std::map< int, TrigT1CaloDefs::ClusterAlgorithm > m_thresholdType
Definition: RecEmTauRoI.h:156
LVL1::TrigT1CaloDefs::ClustAlgError
@ ClustAlgError
Definition: TrigT1CaloDefs.h:212
xAOD::et
et
Definition: TrigEMCluster_v1.cxx:25
LVL1::RecEmTauRoI::crate
virtual unsigned int crate() const
returns CP crate number
Definition: RecEmTauRoI.cxx:345
LVL1::TrigT1CaloDefs::TauRoIWordType
@ TauRoIWordType
Definition: TrigT1CaloDefs.h:174
physval_make_web_display.thresh
thresh
Definition: physval_make_web_display.py:36
LVL1::RecEmTauRoI::isolation
virtual unsigned int isolation() const
returns roi isolation results (Run 2 only)
Definition: RecEmTauRoI.cxx:366
CPRoIDecoder.h
MuonGM::round
float round(const float toRound, const unsigned int decimals)
Definition: Mdt.cxx:27
CSV_InDetExporter.new
new
Definition: CSV_InDetExporter.py:145
skel.it
it
Definition: skel.GENtoEVGEN.py:407
TrigConf::TriggerThresholdValue::ptcut
float ptcut() const
Definition: TriggerThresholdValue.h:45
M_PI
#define M_PI
Definition: ActiveFraction.h:11
NSWL1::coordinate
float coordinate(const Vertex &v)
Definition: GeoUtils.h:56
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
LVL1::TrigT1CaloDefs::ClusterAlgorithm
ClusterAlgorithm
Definition: TrigT1CaloDefs.h:208
LVL1::RecEmTauRoI::m_emIsolation
std::map< int, unsigned int > m_emIsolation
Definition: RecEmTauRoI.h:153
LVL1::TrigT1CaloDefs::EMAlg
@ EMAlg
Definition: TrigT1CaloDefs.h:209
yodamerge_tmp.scale
scale
Definition: yodamerge_tmp.py:138
LVL1::RecEmTauRoI::roiWord
virtual unsigned int roiWord() const
returns roi word
Definition: RecEmTauRoI.cxx:329
TrigConf::L1Threshold_EM::isolationMask
uint16_t isolationMask(int eta) const
Definition: L1Threshold.h:28
TrigConf::ClusterThresholdValue
Definition: ClusterThresholdValue.h:13
python.CaloAddPedShiftConfig.type
type
Definition: CaloAddPedShiftConfig.py:42
TrigConf::ClusterThresholdValue::isolationMask
uint16_t isolationMask() const
Definition: ClusterThresholdValue.h:33
LVL1::RecEmTauRoI::constructRun2
void constructRun2(const std::vector< TrigConf::TriggerThreshold * > *caloThresholds)
Content of RoI word different in Run 2.
Definition: RecEmTauRoI.cxx:195
LVL1::RecEmTauRoI::coord
const CoordinateRange & coord() const
returns the CoordinateRange.
Definition: RecEmTauRoI.cxx:392
TrigConf::L1Threshold_Calo
Definition: L1ThresholdBase.h:188
LVL1::RecEmTauRoI::m_hadCoreIsolation
std::map< int, unsigned int > m_hadCoreIsolation
Definition: RecEmTauRoI.h:155
LVL1::RecEmTauRoI::passedThreshold
bool passedThreshold(unsigned int threshold_number) const
returns TRUE if threshold number threshold_number has been passed by this ROI.
Definition: RecEmTauRoI.cxx:381
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
LVL1::TrigT1CaloDefs::numOfIsolationBits
static const unsigned int numOfIsolationBits
Definition: TrigT1CaloDefs.h:135
m_type
TokenType m_type
the type
Definition: TProperty.cxx:44
TrigConf::ClusterThresholdValue::emIsolationCount
int emIsolationCount() const
Definition: ClusterThresholdValue.cxx:28
LVL1::RecEmTauRoI::isValidThreshold
bool isValidThreshold(unsigned int thresh) const
returns true if thresh is a valid threshold number
Definition: RecEmTauRoI.cxx:494
LVL1::CoordinateRange
CoordinateRange class declaration.
Definition: CoordinateRange.h:36
LVL1::RecEmTauRoI::constructRun3
void constructRun3(const TrigConf::L1Menu *const l1menu)
Definition: RecEmTauRoI.cxx:256
LVL1::RecEmTauRoI::fpga
virtual unsigned int fpga() const
returns FPGA number
Definition: RecEmTauRoI.cxx:354
CaloInfo.h
LVL1::RecEmTauRoI::RecEmTauRoI
RecEmTauRoI()
Definition: RecEmTauRoI.h:48
python.LArMinBiasAlgConfig.int
int
Definition: LArMinBiasAlgConfig.py:59
LVL1::RecEmTauRoI::triggerThreshold
unsigned int triggerThreshold(unsigned int thresh) const
returns the value of the trigger threshold for the threshold passed.
Definition: RecEmTauRoI.cxx:418
LVL1::TrigT1CaloDefs::TauAlg
@ TauAlg
Definition: TrigT1CaloDefs.h:210
LVL1::RecEmTauRoI
This class defines the reconstructed em/tau hadron ROI.
Definition: RecEmTauRoI.h:44
TrigConf::TriggerThresholdValue::type
const std::string & type() const
Definition: TriggerThresholdValue.h:44
TriggerThreshold.h
TriggerThresholdValue.h
TrigConf::L1Threshold_TAU::isolationMask
uint16_t isolationMask() const
Definition: L1Threshold.h:44
LVL1::RecEmTauRoI::thresholdsPassed
std::vector< unsigned int > * thresholdsPassed() const
returns a vector of thresholds passed.
Definition: RecEmTauRoI.cxx:396
LVL1::TrigT1CaloDefs::numOfTauCMXThresholds
static const unsigned int numOfTauCMXThresholds
Definition: TrigT1CaloDefs.h:133
LVL1::RecEmTauRoI::phi
virtual double phi() const
returns phi coord of ROI
Definition: RecEmTauRoI.cxx:332
trigbs_pickEvents.num
num
Definition: trigbs_pickEvents.py:76
TrigConf::L1DataDef::typeAsString
static std::string & typeAsString(TriggerType tt)
Definition: L1DataDef.h:53
LVL1::RecEmTauRoI::m_thresholdMask
unsigned long int m_thresholdMask
Definition: RecEmTauRoI.h:150
threshold
Definition: chainparser.cxx:74
LVL1::RecEmTauRoI::constructRun1
void constructRun1(const std::vector< TrigConf::TriggerThreshold * > *caloThresholds)
The "construct" call unpacks the RoIWord and copies information about the passed thresholds from the ...
Definition: RecEmTauRoI.cxx:119
LVL1::RecEmTauRoI::thresholdType
TrigT1CaloDefs::ClusterAlgorithm thresholdType(unsigned int thresh) const
returns the type of the threshold, which is either EMAlg or TauAlg.
Definition: RecEmTauRoI.cxx:514
L1DataDef.h
LVL1::TrigT1CaloDefs::RoIType
RoIType
Definition: TrigT1CaloDefs.h:166
TrigConf::ClusterThresholdValue::hadIsolationCount
int hadIsolationCount() const
Definition: ClusterThresholdValue.cxx:40
LVL1::CPRoIDecoder
A level 1 calorimeter trigger conversion service: returns the Coordinate represented by a RoI word.
Definition: CPRoIDecoder.h:37
TrigConf::L1DataDef::TAU
@ TAU
Definition: L1DataDef.h:20
LVL1::RecEmTauRoI::m_isolationMask
std::map< int, unsigned int > m_isolationMask
Definition: RecEmTauRoI.h:152
LVL1::RecEmTauRoI::localcoord
virtual unsigned int localcoord() const
returns local coordinate within FPGA
Definition: RecEmTauRoI.cxx:357
ClusterThresholdValue.h
LVL1::TrigT1CaloDefs::numOfCPThresholds
static const unsigned int numOfCPThresholds
Definition: TrigT1CaloDefs.h:125
LVL1::TrigT1CaloDefs::numOfEMCMXThresholds
static const unsigned int numOfEMCMXThresholds
Definition: TrigT1CaloDefs.h:132
LVL1::RecEmTauRoI::m_hadIsolation
std::map< int, unsigned int > m_hadIsolation
Definition: RecEmTauRoI.h:154
LVL1::RecEmTauRoI::roiType
virtual TrigT1CaloDefs::RoIType roiType() const
returns roi type (EM = TrigT1CaloDefs::EMRoIWordType, Tau = TrigT1CaloDefs::TauRoIWordType,...
Definition: RecEmTauRoI.cxx:377
TrigConf::TriggerThresholdValue::caloInfo
const CaloInfo & caloInfo() const
Definition: TriggerThresholdValue.cxx:35
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
LVL1::RecEmTauRoI::module
virtual unsigned int module() const
returns CPM number
Definition: RecEmTauRoI.cxx:348
RunTileMonitoring.triggerType
triggerType
Definition: RunTileMonitoring.py:162
LVL1::RecEmTauRoI::m_coordRange
CoordinateRange m_coordRange
this contains the coordinate range worked out from the RoIWord hardware coord (i.e.
Definition: RecEmTauRoI.h:148
LVL1::TrigT1CaloDefs::EMRoIWordType
@ EMRoIWordType
Definition: TrigT1CaloDefs.h:173
TrigConf::ClusterThresholdValue::hadVetoCount
int hadVetoCount() const
Definition: ClusterThresholdValue.cxx:49
LVL1::RecEmTauRoI::m_type
TrigT1CaloDefs::RoIType m_type
Stored properties of the RoI:
Definition: RecEmTauRoI.h:144
LVL1::RecEmTauRoI::m_roiWord
unsigned long int m_roiWord
this is the actual format of the data sent from the LVL1 hardware.
Definition: RecEmTauRoI.h:138
LVL1::RecEmTauRoI::~RecEmTauRoI
~RecEmTauRoI()
Definition: RecEmTauRoI.cxx:105
L1Menu.h
LVL1::RecEmTauRoI::eta
virtual double eta() const
returns eta coord of ROI
Definition: RecEmTauRoI.cxx:342
LVL1::RecEmTauRoI::thresholdPattern
unsigned int thresholdPattern() const
returns bitmask of passed thresholds
Definition: RecEmTauRoI.cxx:373
LVL1::RecEmTauRoI::m_triggerThresholdValue
std::map< int, unsigned int > m_triggerThresholdValue
Definition: RecEmTauRoI.h:151
TrigConf::L1Threshold_TAU
Definition: L1Threshold.h:37
TrigConf::CaloInfo::globalEmScale
float globalEmScale() const
Definition: CaloInfo.h:43
python.PyAthena.obj
obj
Definition: PyAthena.py:132
LVL1::RecEmTauRoI::isolationMask
unsigned int isolationMask(unsigned int thresh) const
returns the isolation bits required for the threshold passed (Run 2)
Definition: RecEmTauRoI.cxx:432
LVL1::TrigT1CaloDefs::CpRoIWordType
@ CpRoIWordType
Definition: TrigT1CaloDefs.h:167
LVL1::RecEmTauRoI::et
virtual unsigned int et() const
returns roi ET (Run 2 only)
Definition: RecEmTauRoI.cxx:363
TrigConf::L1Threshold_EM
Definition: L1Threshold.h:17
TrigConf::L1DataDef::EM
@ EM
Definition: L1DataDef.h:20
LVL1::RecEmTauRoI::emIsolation
unsigned int emIsolation(unsigned int thresh) const
returns the value of the em isolation ring for the threshold passed.
Definition: RecEmTauRoI.cxx:448
LVL1::TrigT1CaloDefs::Error
static const unsigned int Error
Definition: TrigT1CaloDefs.h:122