ATLAS Offline Software
Loading...
Searching...
No Matches
CMXEtSums_v1.cxx
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
3*/
4
5// $Id: CMXEtSums_v1.cxx 687949 2015-08-06 15:48:49Z amazurov $
6
7// EDM includes(s):
9
10// Local include(s):
12
13
14namespace {
15
16
17std::string sourceComponent(uint8_t source)
18{
19 switch (source)
20 {
22 return "REMOTE_STANDARD";
24 return "REMOTE_RESTRICTED";
26 return "LOCAL_STANDARD";
28 return "LOCAL_RESTRICTED";
30 return "TOTAL_STANDARD";
32 return "TOTAL_RESTRICTED";
34 return "SUM_ET_STANDARD";
36 return "SUM_ET_RESTRICTED";
38 return "MISSING_ET_STANDARD";
40 return "MISSING_ET_RESTRICTED";
42 return "MISSING_ET_SIG_STANDARD";
43 default:
44 return std::to_string(source);
45 }
46}
47
48
49} // anonymous namespace
50
51namespace xAOD{
52
57
60 {
61 setCrate( crate );
62 setSourceComponent( source );
63 }
64
67 const std::vector<uint16_t>& etVec,
68 const std::vector<uint16_t>& exVec,
69 const std::vector<uint16_t>& eyVec,
70 const std::vector<uint32_t>& etErrorVec,
71 const std::vector<uint32_t>& exErrorVec,
72 const std::vector<uint32_t>& eyErrorVec,
73 const uint8_t peak)
74 {
75 setCrate( crate );
76 setSourceComponent( source );
77 setEtVec( etVec );
78 setExVec( exVec );
79 setEyVec( eyVec );
83 setPeak( peak );
84 }
85
86
89 void CMXEtSums_v1::addEt(const std::vector<uint16_t>& etVec,const std::vector<uint32_t>& etErrorVec)
90 {
91 setEtVec( etVec );
93 }
94
96 void CMXEtSums_v1::addEx(const std::vector<uint16_t>& exVec,const std::vector<uint32_t>& exErrorVec)
97 {
98 setExVec( exVec );
100 }
101
103 void CMXEtSums_v1::addEy(const std::vector<uint16_t>& eyVec,const std::vector<uint32_t>& eyErrorVec)
104 {
105 setEyVec( eyVec );
107 }
108
110 AUXSTORE_PRIMITIVE_SETTER_AND_GETTER( CMXEtSums_v1 , uint8_t , sourceComponent , setSourceComponent )
112 AUXSTORE_OBJECT_SETTER_AND_GETTER( CMXEtSums_v1 , std::vector<uint16_t> , etVec , setEtVec )
113 AUXSTORE_OBJECT_SETTER_AND_GETTER( CMXEtSums_v1 , std::vector<uint16_t> , exVec , setExVec )
114 AUXSTORE_OBJECT_SETTER_AND_GETTER( CMXEtSums_v1 , std::vector<uint16_t> , eyVec , setEyVec )
115 AUXSTORE_OBJECT_SETTER_AND_GETTER( CMXEtSums_v1 , std::vector<uint32_t> , etErrorVec , setEtErrorVec )
116 AUXSTORE_OBJECT_SETTER_AND_GETTER( CMXEtSums_v1 , std::vector<uint32_t> , exErrorVec , setExErrorVec )
117 AUXSTORE_OBJECT_SETTER_AND_GETTER( CMXEtSums_v1 , std::vector<uint32_t> , eyErrorVec , setEyErrorVec )
118
119
122
125 {
126 return etVec()[ peak() ];
127 }
128
131 {
132 return exVec()[ peak() ];
133 }
134
137 {
138 return eyVec()[ peak() ];
139 }
140
143 {
144 return etErrorVec()[ peak() ];
145 }
146
149 {
150 return exErrorVec()[ peak() ];
151 }
152
155 {
156 return eyErrorVec()[ peak() ];
157 }
158
159
160 std::ostream &operator<<(std::ostream &os, const xAOD::CMXEtSums_v1 &el)
161 {
162 os << "xAOD::CMXEtSums crate=" << int(el.crate())
163 << " sourceComponent=" << sourceComponent(el.sourceComponent())
164 << " peak=" << int(el.peak()) << " et=" << el.et()
165 << " ex=" << int(el.ex()) << " ey=" << int(el.ey())
166 << " etError=" << int(el.etError()) << " exError="
167 << int(el.exError()) << ", eyError=" << int(el.eyError()) << " etVec=[";
168 std::for_each(el.etVec().begin(), el.etVec().end(), [&](uint16_t n) { os << " " << int(n); });
169 os << "]";
170 return os;
171 }
172
173
174} // namespace xAOD
175
#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of primitive auxiliary properties.
#define AUXSTORE_OBJECT_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER)
Macro creating the accessors of complex auxiliary properties.
AuxElement()
Default constructor.
Description of CMXEtSums_v1.
uint32_t exError() const
get exErrorVec at peak bunch crossing
uint8_t crate() const
get crate
void setPeak(uint8_t)
set peak
uint32_t etError() const
get etErrorVec at peak bunch crossing
void setExVec(const std::vector< uint16_t > &)
set exVec
virtual void initialize(const uint8_t crate, const uint8_t source)
initialize
void addEt(const std::vector< uint16_t > &etVec, const std::vector< uint32_t > &etErrorVec)
add data to existing object add Et
const std::vector< uint32_t > & eyErrorVec() const
get eyErrorVec
void setEyErrorVec(const std::vector< uint32_t > &)
set eyErrorVec
uint8_t peak() const
get peak
void setExErrorVec(const std::vector< uint32_t > &)
set exErrorVec
uint16_t ex() const
get exVec at peak bunch crossing
uint16_t ey() const
get eyVec at peak bunch crossing
const std::vector< uint32_t > & exErrorVec() const
get exErrorVec
CMXEtSums_v1()
Default constructor.
const std::vector< uint16_t > & exVec() const
get exVec
const std::vector< uint16_t > & eyVec() const
get eyVec
uint32_t eyError() const
get eyErrorVec at peak bunch crossing
void setEtVec(const std::vector< uint16_t > &)
set etVec
void addEx(const std::vector< uint16_t > &exVec, const std::vector< uint32_t > &exErrorVec)
add Ex
void setCrate(uint8_t)
set crate
uint16_t et() const
Peak functions - return value of peak bunch crossing Assuming we have got the timing calibration corr...
const std::vector< uint16_t > & etVec() const
get etVec
const std::vector< uint32_t > & etErrorVec() const
get etErrorVec
void setEtErrorVec(const std::vector< uint32_t > &)
set etErrorVec
void addEy(const std::vector< uint16_t > &eyVec, const std::vector< uint32_t > &eyErrorVec)
add Ey
void setSourceComponent(uint8_t)
set source
void setEyVec(const std::vector< uint16_t > &)
set eyVec
Forward declaration.
ICaloAffectedTool is abstract interface for tools checking if 4 mom is in calo affected region.
setRawEt setRawPhi int
std::ostream & operator<<(std::ostream &out, const std::pair< FIRST, SECOND > &pair)
Helper print operator.
setWord1 uint16_t
setEventNumber uint32_t