ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigT1
TrigT1CaloEvent
src
CMXRoI.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrigT1CaloEvent/CMXRoI.h
"
6
7
namespace
LVL1
{
8
9
// Static constants
10
11
const
int
CMXRoI::s_wordIdVal0
;
12
const
int
CMXRoI::s_wordIdVal1
;
13
const
int
CMXRoI::s_wordIdVal2
;
14
15
const
int
CMXRoI::s_wordIdBit
;
16
const
int
CMXRoI::s_sumEtHitsBit
;
17
const
int
CMXRoI::s_missingEtHitsBit
;
18
const
int
CMXRoI::s_missingEtSigHitsBit
;
19
const
int
CMXRoI::s_energyBit
;
20
const
int
CMXRoI::s_overflowBit
;
21
const
int
CMXRoI::s_sumTypeBit
;
22
23
const
int
CMXRoI::s_wordIdMask
;
24
const
int
CMXRoI::s_sumEtHitsMask
;
25
const
int
CMXRoI::s_missingEtHitsMask
;
26
const
int
CMXRoI::s_missingEtSigHitsMask
;
27
const
int
CMXRoI::s_energyMask
;
28
const
int
CMXRoI::s_overflowMask
;
29
const
int
CMXRoI::s_sumTypeMask
;
30
31
const
int
CMXRoI::s_exOffset
;
32
const
int
CMXRoI::s_eyOffset
;
33
const
int
CMXRoI::s_etOffset
;
34
const
int
CMXRoI::s_maxRoiWords
;
35
36
CMXRoI::CMXRoI
() :
m_roiWords
(
s_maxRoiWords
)
37
{
38
}
39
40
CMXRoI::CMXRoI
(uint32_t roiWord0, uint32_t roiWord1, uint32_t roiWord2,
41
uint32_t roiWord3, uint32_t roiWord4, uint32_t roiWord5)
42
:
m_roiWords
(
s_maxRoiWords
)
43
{
44
m_roiWords
[0] = roiWord0;
45
m_roiWords
[1] = roiWord1;
46
m_roiWords
[2] = roiWord2;
47
m_roiWords
[3] = roiWord3;
48
m_roiWords
[4] = roiWord4;
49
m_roiWords
[5] = roiWord5;
50
}
51
52
CMXRoI::CMXRoI
(
unsigned
int
ex
,
unsigned
int
ey
,
unsigned
int
et
,
53
int
exError
,
int
eyError
,
int
etError
,
54
unsigned
int
sumEtHits
,
unsigned
int
missingEtHits
,
55
unsigned
int
missingEtSigHits
,
56
unsigned
int
exM,
unsigned
int
eyM,
unsigned
int
etM,
57
int
exErrorM,
int
eyErrorM,
int
etErrorM,
58
unsigned
int
sumEtHitsM,
unsigned
int
missingEtHitsM)
59
:
m_roiWords
(
s_maxRoiWords
)
60
{
61
int
type
=
NORMAL
;
62
int
ix =
s_exOffset
+
type
;
63
m_roiWords
[ix] =
s_wordIdVal0
<<
s_wordIdBit
;
64
m_roiWords
[ix] |=
type
<<
s_sumTypeBit
;
65
m_roiWords
[ix] |= (
ex
&
s_energyMask
) <<
s_energyBit
;
66
m_roiWords
[ix] |= (
exError
&
s_overflowMask
) <<
s_overflowBit
;
67
m_roiWords
[ix] |= (
missingEtSigHits
&
s_missingEtSigHitsMask
)
68
<<
s_missingEtSigHitsBit
;
69
type
=
MASKED
;
70
ix =
s_exOffset
+
type
;
71
m_roiWords
[ix] =
s_wordIdVal0
<<
s_wordIdBit
;
72
m_roiWords
[ix] |=
type
<<
s_sumTypeBit
;
73
m_roiWords
[ix] |= (exM &
s_energyMask
) <<
s_energyBit
;
74
m_roiWords
[ix] |= (exErrorM &
s_overflowMask
) <<
s_overflowBit
;
75
76
type
=
NORMAL
;
77
ix =
s_eyOffset
+
type
;
78
m_roiWords
[ix] =
s_wordIdVal1
<<
s_wordIdBit
;
79
m_roiWords
[ix] |=
type
<<
s_sumTypeBit
;
80
m_roiWords
[ix] |= (
ey
&
s_energyMask
) <<
s_energyBit
;
81
m_roiWords
[ix] |= (
eyError
&
s_overflowMask
) <<
s_overflowBit
;
82
m_roiWords
[ix] |= (
missingEtHits
&
s_missingEtHitsMask
)
83
<<
s_missingEtHitsBit
;
84
type
=
MASKED
;
85
ix =
s_eyOffset
+
type
;
86
m_roiWords
[ix] =
s_wordIdVal1
<<
s_wordIdBit
;
87
m_roiWords
[ix] |=
type
<<
s_sumTypeBit
;
88
m_roiWords
[ix] |= (eyM &
s_energyMask
) <<
s_energyBit
;
89
m_roiWords
[ix] |= (eyErrorM &
s_overflowMask
) <<
s_overflowBit
;
90
m_roiWords
[ix] |= (missingEtHitsM &
s_missingEtHitsMask
)
91
<<
s_missingEtHitsBit
;
92
type
=
NORMAL
;
93
ix =
s_etOffset
+
type
;
94
m_roiWords
[ix] =
s_wordIdVal2
<<
s_wordIdBit
;
95
m_roiWords
[ix] |=
type
<<
s_sumTypeBit
;
96
m_roiWords
[ix] |= (
et
&
s_energyMask
) <<
s_energyBit
;
97
m_roiWords
[ix] |= (
etError
&
s_overflowMask
) <<
s_overflowBit
;
98
m_roiWords
[ix] |= (
sumEtHits
&
s_sumEtHitsMask
) <<
s_sumEtHitsBit
;
99
100
type
=
MASKED
;
101
ix =
s_etOffset
+
type
;
102
m_roiWords
[ix] =
s_wordIdVal2
<<
s_wordIdBit
;
103
m_roiWords
[ix] |=
type
<<
s_sumTypeBit
;
104
m_roiWords
[ix] |= (etM &
s_energyMask
) <<
s_energyBit
;
105
m_roiWords
[ix] |= (etErrorM &
s_overflowMask
) <<
s_overflowBit
;
106
m_roiWords
[ix] |= (sumEtHitsM &
s_sumEtHitsMask
) <<
s_sumEtHitsBit
;
107
}
108
109
CMXRoI::~CMXRoI
()
110
{
111
}
112
113
// Set RoI word with ID check
114
115
bool
CMXRoI::setRoiWord
(uint32_t
roiWord
)
116
{
117
bool
valid =
true
;
118
int
wordId = (
roiWord
>>
s_wordIdBit
) &
s_wordIdMask
;
119
int
type
= (
roiWord
>>
s_sumTypeBit
) &
s_sumTypeMask
;
120
if
(wordId ==
s_wordIdVal0
)
m_roiWords
[
s_exOffset
+
type
] =
roiWord
;
121
else
if
(wordId ==
s_wordIdVal1
)
m_roiWords
[
s_eyOffset
+
type
] =
roiWord
;
122
else
if
(wordId ==
s_wordIdVal2
)
m_roiWords
[
s_etOffset
+
type
] =
roiWord
;
123
else
valid =
false
;
124
return
valid;
125
}
126
127
}
// end namespace
CMXRoI.h
LVL1::CMXRoI::s_missingEtHitsBit
static const int s_missingEtHitsBit
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:80
LVL1::CMXRoI::CMXRoI
CMXRoI()
Definition
CMXRoI.cxx:36
LVL1::CMXRoI::s_wordIdMask
static const int s_wordIdMask
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:86
LVL1::CMXRoI::s_energyBit
static const int s_energyBit
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:82
LVL1::CMXRoI::s_eyOffset
static const int s_eyOffset
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:95
LVL1::CMXRoI::s_etOffset
static const int s_etOffset
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:96
LVL1::CMXRoI::eyError
int eyError(SumType type=NORMAL) const
Return Ey error flags (bit 0 Overflow).
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:124
LVL1::CMXRoI::s_sumEtHitsBit
static const int s_sumEtHitsBit
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:79
LVL1::CMXRoI::missingEtHits
unsigned int missingEtHits(SumType type=NORMAL) const
Return Missing-ET hits.
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:139
LVL1::CMXRoI::s_missingEtSigHitsBit
static const int s_missingEtSigHitsBit
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:81
LVL1::CMXRoI::sumEtHits
unsigned int sumEtHits(SumType type=NORMAL) const
Return Sum-ET hits.
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:134
LVL1::CMXRoI::s_maxRoiWords
static const int s_maxRoiWords
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:97
LVL1::CMXRoI::s_sumEtHitsMask
static const int s_sumEtHitsMask
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:87
LVL1::CMXRoI::missingEtSigHits
unsigned int missingEtSigHits() const
Return Missing-ET-Sig hits.
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:144
LVL1::CMXRoI::s_wordIdVal0
static const int s_wordIdVal0
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:74
LVL1::CMXRoI::ex
unsigned int ex(SumType type=NORMAL) const
Return Ex.
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:104
LVL1::CMXRoI::s_missingEtSigHitsMask
static const int s_missingEtSigHitsMask
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:89
LVL1::CMXRoI::s_sumTypeBit
static const int s_sumTypeBit
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:84
LVL1::CMXRoI::s_energyMask
static const int s_energyMask
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:90
LVL1::CMXRoI::s_wordIdVal2
static const int s_wordIdVal2
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:76
LVL1::CMXRoI::s_wordIdVal1
static const int s_wordIdVal1
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:75
LVL1::CMXRoI::setRoiWord
bool setRoiWord(uint32_t roiWord)
Set RoI word with ID check.
Definition
CMXRoI.cxx:115
LVL1::CMXRoI::exError
int exError(SumType type=NORMAL) const
Return Ex error flags (bit 0 Overflow).
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:119
LVL1::CMXRoI::s_overflowBit
static const int s_overflowBit
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:83
LVL1::CMXRoI::etError
int etError(SumType type=NORMAL) const
Return Et error flags (bit 0 Overflow).
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:129
LVL1::CMXRoI::m_roiWords
std::vector< uint32_t > m_roiWords
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:100
LVL1::CMXRoI::et
unsigned int et(SumType type=NORMAL) const
Return Et.
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:114
LVL1::CMXRoI::s_exOffset
static const int s_exOffset
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:94
LVL1::CMXRoI::s_wordIdBit
static const int s_wordIdBit
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:78
LVL1::CMXRoI::s_missingEtHitsMask
static const int s_missingEtHitsMask
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:88
LVL1::CMXRoI::s_overflowMask
static const int s_overflowMask
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:91
LVL1::CMXRoI::~CMXRoI
~CMXRoI()
Definition
CMXRoI.cxx:109
LVL1::CMXRoI::roiWord
uint32_t roiWord(int word) const
Return packed Energy RoI word (0-5).
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:149
LVL1::CMXRoI::s_sumTypeMask
static const int s_sumTypeMask
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:92
LVL1::CMXRoI::MASKED
@ MASKED
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:26
LVL1::CMXRoI::NORMAL
@ NORMAL
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:26
LVL1::CMXRoI::ey
unsigned int ey(SumType type=NORMAL) const
Return Ey.
Definition
Trigger/TrigT1/TrigT1CaloEvent/TrigT1CaloEvent/CMXRoI.h:109
LVL1
eFexTowerBuilder creates xAOD::eFexTowerContainer from supercells (LATOME) and triggerTowers (TREX) i...
Definition
IZdcDataAccess.h:13
type
Generated on
for ATLAS Offline Software by
1.17.0