ATLAS Offline Software
RecJetRoI.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 // Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3 /***************************************************************************
4  RecJetRoI.h - description
5  -------------------
6  begin : Mon Jan 22 2001
7  email : moyse@heppch.ph.qmw.ac.uk
8 ***************************************************************************/
9 
10 #ifndef TRIGT1INTERFACES_RECJETTROI_H
11 #define TRIGT1INTERFACES_RECJETTROI_H
12 
13 // STL include(s):
14 #include <map>
15 
16 // Gaudi/Athena include(s):
18 
19 // Local include(s):
23 
24 // Forward declaration(s):
25 namespace TrigConf {
26  class TriggerThreshold;
27  class L1Menu;
28 }
29 
30 namespace LVL1 {
31 
32  class JEPRoIDecoder;
33 
39  class RecJetRoI: public iRecCoordRoI {
40 
41  public:
42  // constructor
43  RecJetRoI() {}
44  // constructor using Run 1+2 configuration
45  RecJetRoI( unsigned int RoIWord,
46  const std::vector< TrigConf::TriggerThreshold* >* caloThresholds );
48  RecJetRoI( unsigned int RoIWord,
49  const TrigConf::L1Menu * const l1menu );
50 
51  //copy constructor
52  RecJetRoI( const RecJetRoI &obj );
53 
54  //assignment operator
56 
57  // destructor
58  ~RecJetRoI();
59 
61  virtual unsigned int roiWord() const;
62 
64  virtual double phi() const;
65 
67  virtual double eta() const;
68 
70  virtual unsigned int crate() const;
71 
73  virtual unsigned int module() const;
74 
76  virtual unsigned int frame() const;
77 
79  virtual unsigned int localcoord() const;
80 
83  virtual unsigned int etLarge() const;
84 
88  virtual unsigned int etSmall() const;
89 
91  bool passedThreshold( unsigned int thresholdNumber ) const;
92 
94  bool passedFwdThreshold( unsigned int thresholdNumber ) const;
95 
100  CoordinateRange coord() const;
101 
103  std::vector<unsigned int> thresholdsPassed() const;
104 
108  unsigned int triggerThreshold( unsigned int thresh ) const;
109 
114  unsigned int windowSize( unsigned int thresh ) const;
115 
117  unsigned int thresholdPattern() const;
118 
120  bool isValidThreshold( unsigned int thresh ) const;
121 
126  bool isForwardJet() const;
127 
128  private:
131  unsigned long int m_roiWord { 0 };
132 
135 
137  int m_version { 0 };
138 
143 
145  unsigned long int m_thresholdMask { 0 };
146 
147  std::map< unsigned int, unsigned int > m_triggerThresholdValue; //< {threshold number, threshold value}
148  std::map< unsigned int, unsigned int > m_windowSize; //< {threshold number, window size}
149 
150  private:
151  // Constructor for Run 1 RoI format
152  void constructRun1( const std::vector< TrigConf::TriggerThreshold* >* caloThresholds );
153 
154  // Constructor for Run 2 RoI format
155  void constructRun2( const std::vector< TrigConf::TriggerThreshold* >* caloThresholds );
156 
157  // Constructor for Run 3 Legacy RoI format from new config
158  void constructRun3(const TrigConf::L1Menu * const l1menu);
159 
160  }; // class RecJetRoI
161 
162 } // namespace LVL1
163 
164 #include "AthenaKernel/CLASS_DEF.h"
166 CLASS_DEF( LVL1::RecJetRoI, 6259, 1 )
167 
168 #endif // TRIGT1INTERFACES_RECJETTROI_H
LVL1::RecJetRoI::triggerThreshold
unsigned int triggerThreshold(unsigned int thresh) const
returns the value of the trigger threshold for the threshold passed.
Definition: RecJetRoI.cxx:379
LVL1::RecJetRoI::module
virtual unsigned int module() const
returns JEM number
Definition: RecJetRoI.cxx:261
LVL1::RecJetRoI::thresholdPattern
unsigned int thresholdPattern() const
returns bitmask of passed thresholds
Definition: RecJetRoI.cxx:315
LVL1::RecJetRoI
This class defines the reconstructed em/tau hadron ROI.
Definition: RecJetRoI.h:39
LVL1::RecJetRoI::m_coordRange
CoordinateRange m_coordRange
this contains the coordinate range worked out from the RoIWord hardware coord (i.e.
Definition: RecJetRoI.h:142
LVL1::RecJetRoI::passedFwdThreshold
bool passedFwdThreshold(unsigned int thresholdNumber) const
Same for forward jets.
Definition: RecJetRoI.cxx:336
physval_make_web_display.thresh
thresh
Definition: physval_make_web_display.py:36
LVL1::RecJetRoI::~RecJetRoI
~RecJetRoI()
Definition: RecJetRoI.cxx:79
LVL1::JEPRoIDecoder
A level 1 calorimeter trigger conversion service: returns the Coordinate represented by a RoI word.
Definition: JEPRoIDecoder.h:33
LVL1::RecJetRoI::constructRun2
void constructRun2(const std::vector< TrigConf::TriggerThreshold * > *caloThresholds)
construct call for Run 2 Jet RoIs
Definition: RecJetRoI.cxx:156
LVL1::RecJetRoI::thresholdsPassed
std::vector< unsigned int > thresholdsPassed() const
returns a vector of thresholds passed.
Definition: RecJetRoI.cxx:352
LVL1::RecJetRoI::etSmall
virtual unsigned int etSmall() const
returns roi ET in smaller cluster.
Definition: RecJetRoI.cxx:299
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
LVL1::RecJetRoI::RecJetRoI
RecJetRoI()
Definition: RecJetRoI.h:43
LVL1::RecJetRoI::m_version
int m_version
Store the RoI format version.
Definition: RecJetRoI.h:137
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition: ICMMCPHitsCnvTool.h:18
LVL1::RecJetRoI::m_roiWord
unsigned long int m_roiWord
this is the actual format of the data sent from the LVL1 hardware.
Definition: RecJetRoI.h:131
LVL1::RecJetRoI::coord
CoordinateRange coord() const
returns the CoordinateRange.
Definition: RecJetRoI.cxx:348
iRecCoordRoI
Interface for all reconstructed RoI classes.
Definition: iRecCoordRoI.h:26
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
LVL1::RecJetRoI::m_decoder
JEPRoIDecoder * m_decoder
Used for decoding RoI word.
Definition: RecJetRoI.h:134
LVL1::CoordinateRange
CoordinateRange class declaration.
Definition: CoordinateRange.h:36
LVL1::RecJetRoI::localcoord
virtual unsigned int localcoord() const
returns local coordinate within frame
Definition: RecJetRoI.cxx:273
LVL1::RecJetRoI::windowSize
unsigned int windowSize(unsigned int thresh) const
returns the size of the window.
Definition: RecJetRoI.cxx:390
iRecCoordRoI.h
LVL1::RecJetRoI::etLarge
virtual unsigned int etLarge() const
returns roi ET in larger cluster.
Definition: RecJetRoI.cxx:282
LVL1::RecJetRoI::constructRun1
void constructRun1(const std::vector< TrigConf::TriggerThreshold * > *caloThresholds)
The "construct" calls unpack the RoIWord and copy information about the passed thresholds from the ve...
Definition: RecJetRoI.cxx:90
DataVector
Derived DataVector<T>.
Definition: DataVector.h:794
LVL1::RecJetRoI::m_windowSize
std::map< unsigned int, unsigned int > m_windowSize
Definition: RecJetRoI.h:148
LVL1::RecJetRoI::isForwardJet
bool isForwardJet() const
returns true if the RoI is a forward jet RoI.
Definition: RecJetRoI.cxx:413
LVL1::RecJetRoI::passedThreshold
bool passedThreshold(unsigned int thresholdNumber) const
returns TRUE if threshold number threshold_number has been passed by this ROI.
Definition: RecJetRoI.cxx:320
TrigT1CaloDefs.h
LVL1::RecJetRoI::isValidThreshold
bool isValidThreshold(unsigned int thresh) const
returns true if thresh is a valid threshold number
Definition: RecJetRoI.cxx:400
DataVector.h
An STL vector of pointers that by default owns its pointed-to elements.
LVL1::RecJetRoI::crate
virtual unsigned int crate() const
returns JEP crate number
Definition: RecJetRoI.cxx:257
LVL1::RecJetRoI::roiWord
virtual unsigned int roiWord() const
returns roi word
Definition: RecJetRoI.cxx:239
CoordinateRange.h
LVL1::RecJetRoI::m_thresholdMask
unsigned long int m_thresholdMask
Information on trigger thresholds passed by RoI.
Definition: RecJetRoI.h:145
LVL1::RecJetRoI::constructRun3
void constructRun3(const TrigConf::L1Menu *const l1menu)
Definition: RecJetRoI.cxx:201
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition: Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:64
LVL1::RecJetRoI::operator=
RecJetRoI & operator=(RecJetRoI const &obj)
Definition: RecJetRoI.cxx:65
python.XMLReader.l1menu
l1menu
Definition: XMLReader.py:73
LVL1::RecJetRoI::eta
virtual double eta() const
returns eta coord of ROI
Definition: RecJetRoI.cxx:253
LVL1::RecJetRoI::frame
virtual unsigned int frame() const
returns RoI frame number
Definition: RecJetRoI.cxx:265
python.PyAthena.obj
obj
Definition: PyAthena.py:132
CLASS_DEF.h
macros to associate a CLID to a type
LVL1::RecJetRoI::m_triggerThresholdValue
std::map< unsigned int, unsigned int > m_triggerThresholdValue
Definition: RecJetRoI.h:147
LVL1::RecJetRoI::phi
virtual double phi() const
returns phi coord of ROI
Definition: RecJetRoI.cxx:243