ATLAS Offline Software
Loading...
Searching...
No Matches
CMXRoI_v1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
3*/
4
5// $Id: CMXRoI_v1.cxx 723918 2016-02-15 07:52:49Z amazurov $
6
7// System include(s):
8#include <cmath>
9
10// EDM includes(s):
12
13// Local include(s):
15
16namespace xAOD {
17
19
20AUXSTORE_OBJECT_SETTER_AND_GETTER(CMXRoI_v1, std::vector<uint32_t>, cmxRoIWords,
21 setCmxRoIWords)
22
23
25 uint32_t roiWord2, uint32_t roiWord3,
26 uint32_t roiWord4, uint32_t roiWord5) {
27 std::vector<uint32_t> myRoIWords(s_maxRoiWords);
28 myRoIWords[0] = roiWord0;
29 myRoIWords[1] = roiWord1;
30 myRoIWords[2] = roiWord2;
31 myRoIWords[3] = roiWord3;
32 myRoIWords[4] = roiWord4;
33 myRoIWords[5] = roiWord5;
34 setCmxRoIWords(myRoIWords);
35}
36
38void CMXRoI_v1::initialize(unsigned int ex, unsigned int ey, unsigned int et,
39 int exError, int eyError, int etError,
40 unsigned int sumEtHits, unsigned int missingEtHits,
41 unsigned int missingEtSigHits, unsigned int exM,
42 unsigned int eyM, unsigned int etM, int exErrorM,
43 int eyErrorM, int etErrorM, unsigned int sumEtHitsM,
44 unsigned int missingEtHitsM) {
45 std::vector<uint32_t> myRoIWords(s_maxRoiWords);
46
47 int type = NORMAL;
48 int ix = s_exOffset + type;
49 myRoIWords[ix] = s_wordIdVal0 << s_wordIdBit;
50 myRoIWords[ix] |= type << s_sumTypeBit;
51 myRoIWords[ix] |= (ex & s_energyMask) << s_energyBit;
52 myRoIWords[ix] |= (exError & s_overflowMask) << s_overflowBit;
53 myRoIWords[ix] |= (missingEtSigHits & s_missingEtSigHitsMask)
55 type = MASKED;
56 ix = s_exOffset + type;
57 myRoIWords[ix] = s_wordIdVal0 << s_wordIdBit;
58 myRoIWords[ix] |= type << s_sumTypeBit;
59 myRoIWords[ix] |= (exM & s_energyMask) << s_energyBit;
60 myRoIWords[ix] |= (exErrorM & s_overflowMask) << s_overflowBit;
61
62 type = NORMAL;
63 ix = s_eyOffset + type;
64 myRoIWords[ix] = s_wordIdVal1 << s_wordIdBit;
65 myRoIWords[ix] |= type << s_sumTypeBit;
66 myRoIWords[ix] |= (ey & s_energyMask) << s_energyBit;
67 myRoIWords[ix] |= (eyError & s_overflowMask) << s_overflowBit;
69 type = MASKED;
70 ix = s_eyOffset + type;
71 myRoIWords[ix] = s_wordIdVal1 << s_wordIdBit;
72 myRoIWords[ix] |= type << s_sumTypeBit;
73 myRoIWords[ix] |= (eyM & s_energyMask) << s_energyBit;
74 myRoIWords[ix] |= (eyErrorM & s_overflowMask) << s_overflowBit;
75 myRoIWords[ix] |= (missingEtHitsM & s_missingEtHitsMask)
77 type = NORMAL;
78 ix = s_etOffset + type;
79 myRoIWords[ix] = s_wordIdVal2 << s_wordIdBit;
80 myRoIWords[ix] |= type << s_sumTypeBit;
81 myRoIWords[ix] |= (et & s_energyMask) << s_energyBit;
82 myRoIWords[ix] |= (etError & s_overflowMask) << s_overflowBit;
83 myRoIWords[ix] |= (sumEtHits & s_sumEtHitsMask) << s_sumEtHitsBit;
84
85 type = MASKED;
86 ix = s_etOffset + type;
87 myRoIWords[ix] = s_wordIdVal2 << s_wordIdBit;
88 myRoIWords[ix] |= type << s_sumTypeBit;
89 myRoIWords[ix] |= (etM & s_energyMask) << s_energyBit;
90 myRoIWords[ix] |= (etErrorM & s_overflowMask) << s_overflowBit;
91 myRoIWords[ix] |= (sumEtHitsM & s_sumEtHitsMask) << s_sumEtHitsBit;
92
93 setCmxRoIWords(myRoIWords);
94}
95
97unsigned int CMXRoI_v1::ex(SumType type) const {
99}
100
101unsigned int CMXRoI_v1::ey(SumType type) const {
103}
104
105unsigned int CMXRoI_v1::et(SumType type) const {
107}
108
112
116
120
124
129
134
137 return (word < s_maxRoiWords) ? cmxRoIWords()[word] : 0;
138}
139
140unsigned int CMXRoI_v1::exWord(SumType type) const {
141 return cmxRoIWords()[s_exOffset + type];
142}
143
144unsigned int CMXRoI_v1::eyWord(SumType type) const {
145 return cmxRoIWords()[s_eyOffset + type];
146}
147
148unsigned int CMXRoI_v1::etWord(SumType type) const {
149 return cmxRoIWords()[s_etOffset + type];
150}
151
152} // namespace xAOD
#define AUXSTORE_OBJECT_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of complex auxiliary properties.
AuxElement()
Default constructor.
Description of CMXRoI_v1.
Definition CMXRoI_v1.h:27
virtual void initialize(uint32_t roiWord0, uint32_t roiWord1, uint32_t roiWord2, uint32_t roiWord3, uint32_t roiWord4, uint32_t roiWord5)
initialize
static const int s_etOffset
Definition CMXRoI_v1.h:108
unsigned int eyWord(SumType type=NORMAL) const
Return Ey RoI word.
static const int s_wordIdBit
Definition CMXRoI_v1.h:90
int etError(SumType type=NORMAL) const
Return Et error flags (bit 0 Overflow)
static const int s_wordIdVal1
Definition CMXRoI_v1.h:87
const std::vector< uint32_t > & cmxRoIWords() const
get cmxRoIWords
unsigned int exWord(SumType type=NORMAL) const
Return Ex RoI word.
static const int s_wordIdVal2
Definition CMXRoI_v1.h:88
int exError(SumType type=NORMAL) const
Return Ex error flags (bit 0 Overflow)
static const int s_energyMask
Definition CMXRoI_v1.h:102
static const int s_exOffset
Definition CMXRoI_v1.h:106
static const int s_sumTypeBit
Definition CMXRoI_v1.h:96
unsigned int ey(SumType type=NORMAL) const
Return Ey.
unsigned int etWord(SumType type=NORMAL) const
Return ET RoI word.
static const int s_missingEtSigHitsMask
Definition CMXRoI_v1.h:101
unsigned int sumEtHits(SumType type=NORMAL) const
Return Sum-ET hits.
static const int s_sumEtHitsBit
Definition CMXRoI_v1.h:91
int eyError(SumType type=NORMAL) const
Return Ey error flags (bit 0 Overflow)
void setCmxRoIWords(const std::vector< uint32_t > &)
set cmxRoIWords
unsigned int et(SumType type=NORMAL) const
Return Et.
static const int s_maxRoiWords
Definition CMXRoI_v1.h:109
unsigned int missingEtSigHits() const
Return Missing-ET-Sig hits.
static const int s_sumEtHitsMask
Definition CMXRoI_v1.h:99
static const int s_overflowMask
Definition CMXRoI_v1.h:103
static const int s_energyBit
Definition CMXRoI_v1.h:94
uint32_t roiWord(int word) const
Return packed Energy RoI word (0-5)
static const int s_missingEtHitsMask
Definition CMXRoI_v1.h:100
unsigned int ex(SumType type=NORMAL) const
Return Ex.
Definition CMXRoI_v1.cxx:97
unsigned int missingEtHits(SumType type=NORMAL) const
Return Missing-ET hits.
static const int s_overflowBit
Definition CMXRoI_v1.h:95
static const int s_missingEtHitsBit
Definition CMXRoI_v1.h:92
static const int s_eyOffset
Definition CMXRoI_v1.h:107
static const int s_wordIdVal0
Definition CMXRoI_v1.h:86
static const int s_missingEtSigHitsBit
Definition CMXRoI_v1.h:93
Forward declaration.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setRoIWord1 roiWord3
setRoIWord1 setRoIWord3 roiWord5
setEventNumber uint32_t