ATLAS Offline Software
Loading...
Searching...
No Matches
LVL1::JEPRoIDecoder Class Reference

A level 1 calorimeter trigger conversion service: returns the Coordinate represented by a RoI word. More...

#include <JEPRoIDecoder.h>

Inheritance diagram for LVL1::JEPRoIDecoder:
Collaboration diagram for LVL1::JEPRoIDecoder:

Public Member Functions

 JEPRoIDecoder ()
virtual ~JEPRoIDecoder ()
TrigT1CaloDefs::RoIType roiType (unsigned int word) const
 Override base method - allows us to handle both Run 1 & Run 2 data for JEP (up to a point)
unsigned int jetRoIVersion (unsigned int word) const
 Identify Jet RoI Version.
virtual CoordinateRange coordinate (const unsigned int roiWord) const override
 Return eta/phi coordinate object.
unsigned int crate (const unsigned int word) const
 Return hardware coordinates.
unsigned int module (const unsigned int word) const
 Extract module number from Jet RoI word.
unsigned int row (const unsigned int word) const
 Extract RoI row number within module from Jet RoI word.
unsigned int column (const unsigned int word) const
 Extract RoI column number within module from Jet RoI word.
const std::vector< unsigned int > thresholdsPassed (const unsigned int word) const
 returns a vector containing the numbers of threshold passed i.e.
const std::vector< unsigned int > fwdThresholdsPassed (const unsigned int word) const
 returns a vector containing the numbers of threshold passed i.e.
unsigned int etLarge (const unsigned int word) const
 Return ET values from Run 2 Jet RoIs.
unsigned int etSmall (const unsigned int word) const
 Extract smaller cluster ET value from Jet RoI word.
int energyX (unsigned int energyRoIWord0) const
 returns the (signed) Ex energy projection.
int energyY (unsigned int energyRoIWord1) const
 returns the (signed) Ex energy projection.
int energyT (unsigned int energyRoIWord2) const
 returns the (signed) Ex energy projection.
bool energyOverflow (unsigned int energyRoIWord) const
 returns overflow flag energy RoIWord
std::vector< unsigned int > mEtSigThresholdsPassed (const unsigned int energyRoIWord0) const
 returns a vector containing the numbers of threshold passed i.e.
std::vector< unsigned int > etSumThresholdsPassed (const unsigned int energyRoIWord1) const
 returns a vector containing the numbers of threshold passed i.e.
std::vector< unsigned int > etMissThresholdsPassed (const unsigned int energyRoIWord2) const
 returns a vector containing the numbers of threshold passed i.e.
bool mEtSigThresholdPassed (const unsigned int energyRoIWord0, const unsigned int thresh) const
 returns true if thresh is passed
bool sumEtThresholdPassed (const unsigned int energyRoIWord1, const unsigned int thresh) const
 returns true if thresh is passed
bool etMissThresholdPassed (const unsigned int energyRoIWord2, const unsigned int thresh) const
 returns true if thresh is passed

Protected Member Functions

unsigned int extractBits (unsigned int word, const unsigned int start, const unsigned int length) const
 returns the value of bits in word between bit "start" and bit "start" + "length"

Protected Attributes

bool m_DEBUG

Private Member Functions

unsigned int mEtSigThresholdsFlags (const unsigned int energyRoIWord0) const
unsigned int sumEtThresholdsFlags (const unsigned int energyRoIWord1) const
unsigned int missEtThresholdsFlags (const unsigned int energyRoIWord1) const
int decodeEnergyComponent (const unsigned int energyRoIWord) const
 No descriptions.
CoordinateRange midJEMCoordinate (const unsigned int jem, const unsigned int roiWord) const
 return a CoordinateRange for the JEMs coving -2.4<eta<2.4
CoordinateRange leftEndJEMCoordinate (const unsigned int jem, const unsigned int roiWord) const
 returns a CoordinateRange for the end JEMs, i.e.
CoordinateRange rightEndJEMCoordinate (const unsigned int jem, const unsigned int roiWord) const
 returns a CoordinateRange for the end JEMs, i.e.
void setPhiCoords (const unsigned int jem, const unsigned int roiWord, double &phiMin, double &phiMax) const
 set phi coords for Jet RoI

Detailed Description

A level 1 calorimeter trigger conversion service: returns the Coordinate represented by a RoI word.

Author
E.Moyse
Todo
this should probably be a static class.

Definition at line 28 of file JEPRoIDecoder.h.

Constructor & Destructor Documentation

◆ JEPRoIDecoder()

LVL1::JEPRoIDecoder::JEPRoIDecoder ( )

Definition at line 23 of file JEPRoIDecoder.cxx.

24 {
25 }

◆ ~JEPRoIDecoder()

LVL1::JEPRoIDecoder::~JEPRoIDecoder ( )
virtual

Definition at line 27 of file JEPRoIDecoder.cxx.

27 {
28
29 }

Member Function Documentation

◆ column()

unsigned int LVL1::JEPRoIDecoder::column ( const unsigned int word) const

Extract RoI column number within module from Jet RoI word.

Definition at line 96 of file JEPRoIDecoder.cxx.

96 {
97 unsigned int rl = extractBits( roiWord, 20, 2 );
98 unsigned int frame = extractBits( roiWord, 22, 3 );
99 return ( frame >> 2 ) * 2 + ( rl & 1 );
100 }
unsigned int extractBits(unsigned int word, const unsigned int start, const unsigned int length) const
returns the value of bits in word between bit "start" and bit "start" + "length"

◆ coordinate()

CoordinateRange LVL1::JEPRoIDecoder::coordinate ( const unsigned int roiWord) const
overridevirtual

Return eta/phi coordinate object.

Implements LVL1::RoIDecoder.

Definition at line 66 of file JEPRoIDecoder.cxx.

66 {
67
68 const unsigned int jem = this->module (roiWord);
69 unsigned int temp = jem % 8;
70 if ( temp == 0 ){
71 return leftEndJEMCoordinate(jem, roiWord);
72 } else if( temp == 7 ){
73 return rightEndJEMCoordinate(jem, roiWord);
74 } else return midJEMCoordinate(jem, roiWord);
75
76 }
CoordinateRange rightEndJEMCoordinate(const unsigned int jem, const unsigned int roiWord) const
returns a CoordinateRange for the end JEMs, i.e.
CoordinateRange leftEndJEMCoordinate(const unsigned int jem, const unsigned int roiWord) const
returns a CoordinateRange for the end JEMs, i.e.
unsigned int module(const unsigned int word) const
Extract module number from Jet RoI word.
CoordinateRange midJEMCoordinate(const unsigned int jem, const unsigned int roiWord) const
return a CoordinateRange for the JEMs coving -2.4<eta<2.4

◆ crate()

unsigned int LVL1::JEPRoIDecoder::crate ( const unsigned int word) const

Return hardware coordinates.

Extract crate number from Jet RoI word.

Definition at line 79 of file JEPRoIDecoder.cxx.

79 {
80 return extractBits( roiWord, 29, 1 );
81 }

◆ decodeEnergyComponent()

int LVL1::JEPRoIDecoder::decodeEnergyComponent ( const unsigned int energyRoIWord) const
private

No descriptions.

Ex, Ey values are stored in 15 bit twos complement format

Convert negative 15-bit complement values to ints

Definition at line 358 of file JEPRoIDecoder.cxx.

358 {
359
361 int value = extractBits( energyRoIWord, 1, 15 );
362 int negative = extractBits( energyRoIWord, 15, 1 );
363
365 if ( negative != 0 ) {
366 int complement = ~value;
367 value = -( (complement+1)&0x7FFF) ;
368 }
369
370 return value;
371 }
T complement(const T &v, const unsigned int &p)

◆ energyOverflow()

bool LVL1::JEPRoIDecoder::energyOverflow ( unsigned int energyRoIWord) const

returns overflow flag energy RoIWord

returns the overflow flag for an Energy RoIWord

Definition at line 271 of file JEPRoIDecoder.cxx.

271 {
272
273 if ( extractBits( energyRoIWord, 16, 1 ) != 0 ) {
274 return true;
275 } else {
276 return false;
277 }
278 }

◆ energyT()

int LVL1::JEPRoIDecoder::energyT ( unsigned int energyRoIWord2) const

returns the (signed) Ex energy projection.

returns the ETSum value.

If the RoIWord looks invalid, then zero will be returned.

Definition at line 264 of file JEPRoIDecoder.cxx.

264 {
265
266 if ( roiType( energyRoIWord2 ) != TrigT1CaloDefs::EnergyRoIWordType2 ) return 0; // wrong type of word
267 return extractBits( energyRoIWord2, 1, 15 );
268 }
TrigT1CaloDefs::RoIType roiType(unsigned int word) const
Override base method - allows us to handle both Run 1 & Run 2 data for JEP (up to a point)

◆ energyX()

int LVL1::JEPRoIDecoder::energyX ( unsigned int energyRoIWord0) const

returns the (signed) Ex energy projection.

If the RoIWord looks invalid, then zero will be returned.

Definition at line 250 of file JEPRoIDecoder.cxx.

250 {
251
252 if ( roiType( energyRoIWord0 ) != TrigT1CaloDefs::EnergyRoIWordType0 ) return 0; // wrong type of word
253 return decodeEnergyComponent( energyRoIWord0 );
254 }
int decodeEnergyComponent(const unsigned int energyRoIWord) const
No descriptions.

◆ energyY()

int LVL1::JEPRoIDecoder::energyY ( unsigned int energyRoIWord1) const

returns the (signed) Ex energy projection.

returns the (signed) Ey energy projection.

If the RoIWord looks invalid, then zero will be returned.

Definition at line 257 of file JEPRoIDecoder.cxx.

257 {
258
259 if ( roiType( energyRoIWord1 ) != TrigT1CaloDefs::EnergyRoIWordType1 ) return 0; // wrong type of word
260 return decodeEnergyComponent( energyRoIWord1 );
261 }

◆ etLarge()

unsigned int LVL1::JEPRoIDecoder::etLarge ( const unsigned int word) const

Return ET values from Run 2 Jet RoIs.

Extract larger cluster ET value from Jet RoI word.

Definition at line 141 of file JEPRoIDecoder.cxx.

141 {
142 if (jetRoIVersion(word) == 1) return 0;
143 return extractBits( word, 1, 10 );
144 }
unsigned int jetRoIVersion(unsigned int word) const
Identify Jet RoI Version.

◆ etMissThresholdPassed()

bool LVL1::JEPRoIDecoder::etMissThresholdPassed ( const unsigned int energyRoIWord2,
const unsigned int thresh ) const

returns true if thresh is passed

Definition at line 338 of file JEPRoIDecoder.cxx.

338 {
339
340 return ( ( 1 << thresh ) & missEtThresholdsFlags( energyRoIWord2 ) );
341 }
unsigned int missEtThresholdsFlags(const unsigned int energyRoIWord1) const

◆ etMissThresholdsPassed()

std::vector< unsigned int > LVL1::JEPRoIDecoder::etMissThresholdsPassed ( const unsigned int energyRoIWord2) const

returns a vector containing the numbers of threshold passed i.e.

if the vector contains 1,3,5 it means that this RoI passed thresholds 1,3 and 5.

Definition at line 312 of file JEPRoIDecoder.cxx.

312 {
313
314 std::vector<unsigned int> missEtThreshPassedVec;
315 unsigned int passed = missEtThresholdsFlags( energyRoIWord2 );
316 for ( unsigned int thresh = 0; thresh < TrigT1CaloDefs::numOfMissingEtThresholds; thresh++ ) {
317 if ( passed & (1<<thresh)) {
318 missEtThreshPassedVec.push_back( thresh + 1 );
319 }
320 } //endfor
321
322 return missEtThreshPassedVec;
323 }
bool passed(DecisionID id, const DecisionIDContainer &)
checks if required decision ID is in the set of IDs in the container
static const unsigned int numOfMissingEtThresholds

◆ etSmall()

unsigned int LVL1::JEPRoIDecoder::etSmall ( const unsigned int word) const

Extract smaller cluster ET value from Jet RoI word.

Definition at line 147 of file JEPRoIDecoder.cxx.

147 {
148 if (jetRoIVersion(word) == 1) return 0;
149 return extractBits( word, 11, 9 );
150 }

◆ etSumThresholdsPassed()

std::vector< unsigned int > LVL1::JEPRoIDecoder::etSumThresholdsPassed ( const unsigned int energyRoIWord1) const

returns a vector containing the numbers of threshold passed i.e.

if the vector contains 1,3,5 it means that this RoI passed thresholds 1,3 and 5.

Definition at line 297 of file JEPRoIDecoder.cxx.

297 {
298
299 std::vector<unsigned int> sumEtThreshPassedVec;
300 unsigned int passed = sumEtThresholdsFlags( energyRoIWord1 );
301for ( unsigned int thresh = 0; thresh < TrigT1CaloDefs::numOfSumEtThresholds; thresh++ ) {
302 if ( passed & (1<<thresh)) {
303 sumEtThreshPassedVec.push_back( thresh + 1 );
304 }
305 } //endfor
306
307 return sumEtThreshPassedVec;
308 }
unsigned int sumEtThresholdsFlags(const unsigned int energyRoIWord1) const
static const unsigned int numOfSumEtThresholds

◆ extractBits()

unsigned int LVL1::RoIDecoder::extractBits ( unsigned int word,
const unsigned int start,
const unsigned int length ) const
protectedinherited

returns the value of bits in word between bit "start" and bit "start" + "length"

Definition at line 34 of file RoIDecoder.cxx.

35 {
36
37 // this works as follows. Imagine start=3, bits=4 and word=11011100
38 // so this routine should return 0111
39 // now:
40 // word>>(first-1) = 110111
41 // (1<<length) = 010000
42 // (1<<length)-1 = 001111
43 word = ( word >> ( start - 1 ) );
44
45 unsigned int bitmask = ( 1 << length ) - 1;
46 // and finally:
47 // 110111&001111 = 0111
48 return ( word & bitmask ); // return only bits in bitmask
49}
double length(const pvec &v)

◆ fwdThresholdsPassed()

const std::vector< unsigned int > LVL1::JEPRoIDecoder::fwdThresholdsPassed ( const unsigned int word) const

returns a vector containing the numbers of threshold passed i.e.

if the vector contains 1,3,5 it means that this RoI passed thresholds 1,3 and 5.

Definition at line 122 of file JEPRoIDecoder.cxx.

122 {
123
124 std::vector<unsigned int> fwdThreshPassedVec;
125
126 if (jetRoIVersion(word) == 1) {
127 unsigned int fwdThresholdsPassed = extractBits( word, 9, 4 );
128 for ( unsigned int thresh = 0; thresh < 4;thresh++ ) {
129 if ( ( 1 << thresh ) & fwdThresholdsPassed ) {
130 fwdThreshPassedVec.push_back( thresh + 1 );
131 }
132 } //endfor
133 }
134
135 return fwdThreshPassedVec;
136
137 }
const std::vector< unsigned int > fwdThresholdsPassed(const unsigned int word) const
returns a vector containing the numbers of threshold passed i.e.

◆ jetRoIVersion()

unsigned int LVL1::JEPRoIDecoder::jetRoIVersion ( unsigned int word) const

Identify Jet RoI Version.

Definition at line 59 of file JEPRoIDecoder.cxx.

59 {
60 unsigned int temp=extractBits(word, 30, 3);
61 if (temp == TrigT1CaloDefs::Run1JetType) return 1;
62 else if (temp == TrigT1CaloDefs::Run2JetType) return 2;
63 else return 999;
64}

◆ leftEndJEMCoordinate()

CoordinateRange LVL1::JEPRoIDecoder::leftEndJEMCoordinate ( const unsigned int jem,
const unsigned int roiWord ) const
private

returns a CoordinateRange for the end JEMs, i.e.

2.4<eta<4.9

Definition at line 179 of file JEPRoIDecoder.cxx.

180 {
181
182 double phiMin = 0.0;
183 double phiMax = 0.0;
184 setPhiCoords( jem, roiWord, phiMin, phiMax );
185
186 double etaMin = 0.0; double etaMax = 0.0;
187 switch ( this->column (roiWord) ) {
188 case 0:
189 etaMin = -4.9; etaMax = -2.9;
190 break;
191 case 1:
192 etaMin = -3.2; etaMax = -2.7;
193 break;
194 case 2:
195 etaMin = -2.9; etaMax = -2.4;
196 break;
197 case 3:
198 etaMin = -2.7; etaMax = -2.2;
199 break;
200 }
201
202 CoordinateRange coord( phiMin, phiMax, etaMin, etaMax );
203 return coord;
204 }
double coord
Type of coordination system.
void setPhiCoords(const unsigned int jem, const unsigned int roiWord, double &phiMin, double &phiMax) const
set phi coords for Jet RoI
unsigned int column(const unsigned int word) const
Extract RoI column number within module from Jet RoI word.

◆ mEtSigThresholdPassed()

bool LVL1::JEPRoIDecoder::mEtSigThresholdPassed ( const unsigned int energyRoIWord0,
const unsigned int thresh ) const

returns true if thresh is passed

Definition at line 326 of file JEPRoIDecoder.cxx.

326 {
327
328 return ( ( 1 << thresh ) & mEtSigThresholdsFlags( energyRoIWord0 ) );
329 }
unsigned int mEtSigThresholdsFlags(const unsigned int energyRoIWord0) const

◆ mEtSigThresholdsFlags()

unsigned int LVL1::JEPRoIDecoder::mEtSigThresholdsFlags ( const unsigned int energyRoIWord0) const
private

Definition at line 343 of file JEPRoIDecoder.cxx.

343 {
344
345 return extractBits( energyRoIWord0, 17, TrigT1CaloDefs::numOfMEtSigThresholds );
346 }
static const unsigned int numOfMEtSigThresholds

◆ mEtSigThresholdsPassed()

std::vector< unsigned int > LVL1::JEPRoIDecoder::mEtSigThresholdsPassed ( const unsigned int energyRoIWord0) const

returns a vector containing the numbers of threshold passed i.e.

if the vector contains 1,3,5 it means that this RoI passed thresholds 1,3 and 5.

Definition at line 282 of file JEPRoIDecoder.cxx.

282 {
283
284 std::vector<unsigned int> mEtSigThreshPassedVec;
285 unsigned int passed = mEtSigThresholdsFlags( energyRoIWord0 );
286 for ( unsigned int thresh = 0; thresh < TrigT1CaloDefs::numOfMEtSigThresholds; thresh++ ) {
287 if ( passed & (1<<thresh)) {
288 mEtSigThreshPassedVec.push_back( thresh + 1 );
289 }
290 } //endfor
291
292 return mEtSigThreshPassedVec;
293 }

◆ midJEMCoordinate()

CoordinateRange LVL1::JEPRoIDecoder::midJEMCoordinate ( const unsigned int jem,
const unsigned int roiWord ) const
private

return a CoordinateRange for the JEMs coving -2.4<eta<2.4

Definition at line 154 of file JEPRoIDecoder.cxx.

155 {
156
157 double phiMin = 0.0;
158 double phiMax = 0.0;
159 setPhiCoords( jem, roiWord, phiMin, phiMax );
160
161 //eta
162 const double JEMEtaSize = 0.8;
163 const double jeEtaSize = 0.2;
164
165 const unsigned int col = this->column (roiWord);
166 int etaBin = ( jem % 8 ) - 4; //bins range from -4 to +3
167 double etaMin = ( etaBin * JEMEtaSize ) + ( jeEtaSize * col );
168 double etaMax = etaMin + 2. * jeEtaSize;
169
170 // there is one nasty "special case" as well
171 if ( etaMax > 2.5 && etaMax < 2.7 ) etaMax = 2.7;
172
173 CoordinateRange coord;
174 coord.setRanges( phiMin, phiMax, etaMin, etaMax );
175 return coord;
176 }
setSAddress setEtaMS setDirPhiMS setDirZMS setBarrelRadius setEndcapAlpha setEndcapRadius setInterceptInner setEtaMap etaBin

◆ missEtThresholdsFlags()

unsigned int LVL1::JEPRoIDecoder::missEtThresholdsFlags ( const unsigned int energyRoIWord1) const
private

Definition at line 353 of file JEPRoIDecoder.cxx.

353 {
354
355 return extractBits( energyRoIWord2, 17, TrigT1CaloDefs::numOfMissingEtThresholds );
356 }

◆ module()

unsigned int LVL1::JEPRoIDecoder::module ( const unsigned int word) const

Extract module number from Jet RoI word.

Definition at line 84 of file JEPRoIDecoder.cxx.

84 {
85 return extractBits( roiWord, 25, 4 );
86 }

◆ rightEndJEMCoordinate()

CoordinateRange LVL1::JEPRoIDecoder::rightEndJEMCoordinate ( const unsigned int jem,
const unsigned int roiWord ) const
private

returns a CoordinateRange for the end JEMs, i.e.

2.4<eta<4.9

Definition at line 207 of file JEPRoIDecoder.cxx.

208 {
209
210 double phiMin = 0.0;
211 double phiMax = 0.0;
212 setPhiCoords( jem, roiWord, phiMin, phiMax );
213 double etaMin = 0.0; double etaMax = 0.0;
214 switch ( this->column (roiWord) ) {
215 case 0:
216 etaMin = 2.4; etaMax = 2.9;
217 break;
218 case 1:
219 etaMin = 2.7; etaMax = 3.2;
220 break;
221 case 2:
222 etaMin = 2.9; etaMax = 4.9; // to put centre at HEC-FCAL boundary
223 break;
224 case 3:
225 etaMin = 2.9; etaMax = 4.9; // distinction between these 2 not useful to L2
226 break;
227 }
228
229 CoordinateRange coord( phiMin, phiMax, etaMin, etaMax );
230 return coord;
231 }

◆ roiType()

LVL1::TrigT1CaloDefs::RoIType LVL1::JEPRoIDecoder::roiType ( unsigned int word) const

Override base method - allows us to handle both Run 1 & Run 2 data for JEP (up to a point)

Definition at line 33 of file JEPRoIDecoder.cxx.

33 {
34 unsigned int temp=extractBits(word, 30, 3);
35 if (temp == TrigT1CaloDefs::Run1JetType) {
37 }
38 else if (temp == TrigT1CaloDefs::Run2JetType) {
40 }
41 else if (temp == TrigT1CaloDefs::JetEtType) {
43 }
44 else {
45 unsigned int temp2 = extractBits(word, 29, 4);
46 if (temp2 == TrigT1CaloDefs::energyRoIWord0) {
48 }
49 else if (temp2 == TrigT1CaloDefs::energyRoIWord1) {
51 }
52 else if (temp2 == TrigT1CaloDefs::energyRoIWord2) {
54 }
55 }
57}

◆ row()

unsigned int LVL1::JEPRoIDecoder::row ( const unsigned int word) const

Extract RoI row number within module from Jet RoI word.

Definition at line 89 of file JEPRoIDecoder.cxx.

89 {
90 unsigned int rl = extractBits( roiWord, 20, 2 );
91 unsigned int frame = extractBits( roiWord, 22, 3 );
92 return ( frame & 3 ) * 2 + ( rl >> 1 );
93 }

◆ setPhiCoords()

void LVL1::JEPRoIDecoder::setPhiCoords ( const unsigned int jem,
const unsigned int roiWord,
double & phiMin,
double & phiMax ) const
private

set phi coords for Jet RoI

Definition at line 234 of file JEPRoIDecoder.cxx.

235 {
236
237 const unsigned int row = this->row (roiWord);
238 const unsigned int crate = this->crate (roiWord);
239
240 const double jemPhiSize = M_PI / 2;
241 const double jePhiSize = M_PI / 16;
242 int crateModifier = ( jem / 8 ) * 2; //=0 or 2
243 phiMin = ( crate + crateModifier ) * jemPhiSize + ( jePhiSize * row );
244 phiMax = phiMin + 2. * jePhiSize;
245
246 return;
247 }
#define M_PI
unsigned int row(const unsigned int word) const
Extract RoI row number within module from Jet RoI word.
unsigned int crate(const unsigned int word) const
Return hardware coordinates.

◆ sumEtThresholdPassed()

bool LVL1::JEPRoIDecoder::sumEtThresholdPassed ( const unsigned int energyRoIWord1,
const unsigned int thresh ) const

returns true if thresh is passed

Definition at line 332 of file JEPRoIDecoder.cxx.

332 {
333
334 return ( ( 1 << thresh ) & sumEtThresholdsFlags( energyRoIWord1) );
335 }

◆ sumEtThresholdsFlags()

unsigned int LVL1::JEPRoIDecoder::sumEtThresholdsFlags ( const unsigned int energyRoIWord1) const
private

Definition at line 348 of file JEPRoIDecoder.cxx.

348 {
349
350 return extractBits( energyRoIWord1, 17, TrigT1CaloDefs::numOfSumEtThresholds );
351 }

◆ thresholdsPassed()

const std::vector< unsigned int > LVL1::JEPRoIDecoder::thresholdsPassed ( const unsigned int word) const

returns a vector containing the numbers of threshold passed i.e.

Check on Run 1/Run 2.

if the vector contains 1,3,5 it means that this RoI passed thresholds 1,3 and 5.

Definition at line 103 of file JEPRoIDecoder.cxx.

103 {
104
105 std::vector<unsigned int> threshPassedVec;
106
107 if (jetRoIVersion(word) == 1) {
108 unsigned int thresholdsPassed = extractBits( word, 1, 8 );
109 for ( unsigned int thresh = 0; thresh < 16; ++thresh ) {
110 if ( ( 1 << thresh ) & thresholdsPassed ) {
111 threshPassedVec.push_back( thresh + 1 );
112 }
113 }
114 }
115
116 return threshPassedVec;
117
118 }
const std::vector< unsigned int > thresholdsPassed(const unsigned int word) const
returns a vector containing the numbers of threshold passed i.e.

Member Data Documentation

◆ m_DEBUG

bool LVL1::RoIDecoder::m_DEBUG
protectedinherited

Definition at line 53 of file RoIDecoder.h.


The documentation for this class was generated from the following files: