ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Event
EventInfo
src
TriggerInfo.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
12
13
14
#include <iomanip>
15
16
#include "
EventInfo/TriggerInfo.h
"
17
18
19
20
TriggerInfo::StreamTag::StreamTag
(
const
std::string&
name
,
21
const
std::string&
type
,
22
bool
obeysLumiblock
,
23
const
std::set<number_type>&
robs
,
24
const
std::set<number_type>&
dets
25
)
26
:
27
m_name
(
name
),
28
m_type
(
type
),
29
m_obeysLumiblock
(
obeysLumiblock
),
30
m_robs
(
robs
),
31
m_dets
(
dets
)
32
{}
33
34
TriggerInfo::StreamTag::StreamTag
(std::string&&
name
,
35
std::string&&
type
,
36
bool
obeysLumiblock
)
37
:
38
m_name
(
std
::move(
name
)),
39
m_type
(
std
::move(
type
)),
40
m_obeysLumiblock
(
obeysLumiblock
)
41
{}
42
43
TriggerInfo::StreamTag::StreamTag
()
44
:
45
m_obeysLumiblock
(false)
46
{}
47
48
49
const
std::string&
50
TriggerInfo::StreamTag::name
()
const
{
51
return
(
m_name
);
52
}
53
54
const
std::string&
55
TriggerInfo::StreamTag::type
()
const
{
56
return
(
m_type
);
57
}
58
59
bool
60
TriggerInfo::StreamTag::obeysLumiblock
()
const
{
61
return
(
m_obeysLumiblock
);
62
}
63
64
const
std::set<TriggerInfo::number_type>&
65
TriggerInfo::StreamTag::robs
()
const
{
66
return
(
m_robs
);
67
}
68
69
const
std::set<TriggerInfo::number_type>&
70
TriggerInfo::StreamTag::dets
()
const
{
71
return
(
m_dets
);
72
}
73
74
TriggerInfo::TriggerInfo
()
75
:
76
m_statusElement
(0),
77
m_extendedLevel1ID
(0),
78
m_level1TriggerType
(0)
79
{}
80
81
TriggerInfo::TriggerInfo
(
number_type
statusElement
,
82
number_type
extendedLevel1ID
,
83
number_type
level1TriggerType
,
84
const
std::vector<number_type>&
level1TriggerInfo
)
85
:
86
m_statusElement
(
statusElement
),
87
m_extendedLevel1ID
(
extendedLevel1ID
),
88
m_level1TriggerType
(
level1TriggerType
),
89
m_level1TriggerInfo
(
level1TriggerInfo
)
90
{}
91
92
TriggerInfo::TriggerInfo
(
number_type
statusElement
,
93
number_type
extendedLevel1ID
,
94
number_type
level1TriggerType
,
95
const
std::vector<number_type>&
level2TriggerInfo
,
96
const
std::vector<number_type>&
eventFilterInfo
,
97
const
std::vector<StreamTag>&
streamTags
)
98
:
99
m_statusElement
(
statusElement
),
100
m_extendedLevel1ID
(
extendedLevel1ID
),
101
m_level1TriggerType
(
level1TriggerType
),
102
m_level2TriggerInfo
(
level2TriggerInfo
),
103
m_eventFilterInfo
(
eventFilterInfo
),
104
m_streamTags
(
streamTags
)
105
{}
106
107
TriggerInfo::TriggerInfo
(
number_type
statusElement
,
108
number_type
extendedLevel1ID
,
109
number_type
level1TriggerType
,
110
const
std::vector<number_type>&
level1TriggerInfo
,
111
const
std::vector<number_type>&
level2TriggerInfo
,
112
const
std::vector<number_type>&
eventFilterInfo
,
113
const
std::vector<StreamTag>&
streamTags
)
114
:
115
m_statusElement
(
statusElement
),
116
m_extendedLevel1ID
(
extendedLevel1ID
),
117
m_level1TriggerType
(
level1TriggerType
),
118
m_level1TriggerInfo
(
level1TriggerInfo
),
119
m_level2TriggerInfo
(
level2TriggerInfo
),
120
m_eventFilterInfo
(
eventFilterInfo
),
121
m_streamTags
(
streamTags
)
122
{}
123
124
TriggerInfo::~TriggerInfo
()
125
{}
126
127
TriggerInfo::number_type
128
TriggerInfo::statusElement
()
const
{
129
return
(
m_statusElement
);
130
}
131
132
TriggerInfo::number_type
133
TriggerInfo::extendedLevel1ID
()
const
{
134
return
(
m_extendedLevel1ID
);
135
}
136
137
TriggerInfo::number_type
138
TriggerInfo::level1TriggerType
()
const
{
139
return
(
m_level1TriggerType
);
140
}
141
142
const
std::vector<TriggerInfo::number_type>&
143
TriggerInfo::level1TriggerInfo
()
const
{
144
return
(
m_level1TriggerInfo
);
145
}
146
147
const
std::vector<TriggerInfo::number_type>&
148
TriggerInfo::level2TriggerInfo
()
const
{
149
return
(
m_level2TriggerInfo
);
150
}
151
152
const
std::vector<TriggerInfo::number_type>&
153
TriggerInfo::eventFilterInfo
()
const
{
154
return
(
m_eventFilterInfo
);
155
}
156
157
const
std::vector<TriggerInfo::StreamTag>&
158
TriggerInfo::streamTags
()
const
{
159
return
(
m_streamTags
);
160
}
161
162
void
163
TriggerInfo::setStatusElement
(
const
number_type
statusElement
) {
164
m_statusElement
=
statusElement
;
165
}
166
167
void
168
TriggerInfo::setExtendedLevel1ID
(
const
number_type
extendedLevel1ID
) {
169
m_extendedLevel1ID
=
extendedLevel1ID
;
170
}
171
172
void
173
TriggerInfo::setLevel1TriggerType
(
const
number_type
level1TriggerType
) {
174
m_level1TriggerType
=
level1TriggerType
;
175
}
176
177
void
178
TriggerInfo::setLevel1TriggerInfo
(
const
std::vector<number_type>&
level1TriggerInfo
) {
179
m_level1TriggerInfo
=
level1TriggerInfo
;
180
}
181
182
void
183
TriggerInfo::setLevel1TriggerInfo
(std::vector<number_type>&&
level1TriggerInfo
) {
184
m_level1TriggerInfo
= std::move(
level1TriggerInfo
);
185
}
186
187
void
188
TriggerInfo::setLevel2TriggerInfo
(
const
std::vector<number_type>&
level2TriggerInfo
) {
189
m_level2TriggerInfo
=
level2TriggerInfo
;
190
}
191
192
void
193
TriggerInfo::setLevel2TriggerInfo
(std::vector<number_type>&&
level2TriggerInfo
) {
194
m_level2TriggerInfo
= std::move(
level2TriggerInfo
);
195
}
196
197
void
198
TriggerInfo::setEventFilterInfo
(
const
std::vector<number_type>&
eventFilterInfo
) {
199
m_eventFilterInfo
=
eventFilterInfo
;
200
}
201
202
void
203
TriggerInfo::setEventFilterInfo
(std::vector<number_type>&&
eventFilterInfo
) {
204
m_eventFilterInfo
= std::move(
eventFilterInfo
);
205
}
206
207
void
208
TriggerInfo::setStreamTags
(
const
std::vector<StreamTag>&
streamTags
) {
209
m_streamTags
=
streamTags
;
210
}
211
212
void
213
TriggerInfo::setStreamTags
(std::vector<StreamTag>&&
streamTags
) {
214
m_streamTags
= std::move(
streamTags
);
215
}
216
217
std::ostream&
218
operator <<
(std::ostream& os,
const
std::vector<TriggerInfo::number_type>& rhs) {
219
// switch to hex format
220
os << std::hex << std::setfill(
'0'
);
221
222
if
(rhs.size() > 0) os <<
" 0x"
<< std::setw(8) << rhs[0];
223
for
(
size_t
i(1); i < rhs.size(); ++i)
224
os <<
", 0x"
<< std::setw(8) << rhs[i];
225
226
// switch back to normal format
227
os << std::dec << std::setfill(
' '
);
228
229
return
os;
230
}
231
232
std::ostream&
233
operator <<
(std::ostream& os,
const
std::vector<TriggerInfo::StreamTag>& rhs) {
234
if
(rhs.size() > 0) os <<
"("
<< rhs[0].name() <<
","
<< rhs[0].type() <<
","
<< rhs[0].obeysLumiblock() <<
")"
;
235
for
(
size_t
i(1); i < rhs.size(); ++i)
236
os <<
",("
<< rhs[i].name() <<
","
<< rhs[i].type() <<
","
<< rhs[i].obeysLumiblock() <<
")"
;
237
238
return
os;
239
}
240
241
std::ostream&
242
operator <<
(std::ostream& os,
const
TriggerInfo
& rhs) {
243
os <<
"\n [S,L1ID,L1TT] = ["
244
<< rhs.
m_statusElement
245
<<
","
<< rhs.
m_extendedLevel1ID
246
<<
","
<< rhs.
m_level1TriggerType
247
<<
"]"
248
<<
"\n L1: ["
<< rhs.
m_level1TriggerInfo
<<
"]"
249
<<
"\n L2: ["
<< rhs.
m_level2TriggerInfo
<<
"]"
250
<<
"\n EF: ["
<< rhs.
m_eventFilterInfo
<<
"]"
251
<<
"\n ST: ["
<< rhs.
m_streamTags
<<
"]"
;
252
253
return
os;
254
}
operator<<
std::ostream & operator<<(std::ostream &os, const std::vector< TriggerInfo::number_type > &rhs)
Definition
TriggerInfo.cxx:218
TriggerInfo.h
This class contains trigger related information.
TriggerInfo::StreamTag::m_obeysLumiblock
bool m_obeysLumiblock
Definition
TriggerInfo.h:107
TriggerInfo::StreamTag::StreamTag
StreamTag()
Definition
TriggerInfo.cxx:43
TriggerInfo::StreamTag::obeysLumiblock
bool obeysLumiblock() const
Definition
TriggerInfo.cxx:60
TriggerInfo::StreamTag::robs
const std::set< number_type > & robs() const
Optional list of ROBIDs for PEB.
Definition
TriggerInfo.cxx:65
TriggerInfo::StreamTag::dets
const std::set< number_type > & dets() const
Optional list of DETIDs for PEB.
Definition
TriggerInfo.cxx:70
TriggerInfo::StreamTag::name
const std::string & name() const
Definition
TriggerInfo.cxx:50
TriggerInfo::StreamTag::m_name
std::string m_name
Definition
TriggerInfo.h:105
TriggerInfo::StreamTag::m_robs
std::set< number_type > m_robs
Definition
TriggerInfo.h:108
TriggerInfo::StreamTag::m_dets
std::set< number_type > m_dets
Definition
TriggerInfo.h:109
TriggerInfo::StreamTag::type
const std::string & type() const
Definition
TriggerInfo.cxx:55
TriggerInfo::StreamTag::m_type
std::string m_type
Definition
TriggerInfo.h:106
TriggerInfo::setExtendedLevel1ID
void setExtendedLevel1ID(const number_type extendedLevel1ID)
set extended level1 ID
Definition
TriggerInfo.cxx:168
TriggerInfo::m_streamTags
std::vector< StreamTag > m_streamTags
Definition
TriggerInfo.h:201
TriggerInfo::m_level1TriggerInfo
std::vector< number_type > m_level1TriggerInfo
Definition
TriggerInfo.h:198
TriggerInfo::level1TriggerType
number_type level1TriggerType() const
get level1 trigger type
Definition
TriggerInfo.cxx:138
TriggerInfo::setStatusElement
void setStatusElement(const number_type statusElement)
set status element
Definition
TriggerInfo.cxx:163
TriggerInfo::number_type
unsigned int number_type
Definition
TriggerInfo.h:81
TriggerInfo::~TriggerInfo
virtual ~TriggerInfo()
Definition
TriggerInfo.cxx:124
TriggerInfo::setLevel1TriggerType
void setLevel1TriggerType(const number_type level1TriggerType)
set level1 trigger type
Definition
TriggerInfo.cxx:173
TriggerInfo::eventFilterInfo
const std::vector< number_type > & eventFilterInfo() const
get event filter trigger info
Definition
TriggerInfo.cxx:153
TriggerInfo::extendedLevel1ID
number_type extendedLevel1ID() const
get extended level1 ID
Definition
TriggerInfo.cxx:133
TriggerInfo::statusElement
number_type statusElement() const
get status element
Definition
TriggerInfo.cxx:128
TriggerInfo::setStreamTags
void setStreamTags(const std::vector< StreamTag > &streamTags)
Definition
TriggerInfo.cxx:208
TriggerInfo::m_statusElement
number_type m_statusElement
Definition
TriggerInfo.h:195
TriggerInfo::m_level1TriggerType
number_type m_level1TriggerType
Definition
TriggerInfo.h:197
TriggerInfo::setLevel2TriggerInfo
void setLevel2TriggerInfo(const std::vector< number_type > &level2TriggerInfo)
set level2 trigger info
Definition
TriggerInfo.cxx:188
TriggerInfo::setLevel1TriggerInfo
void setLevel1TriggerInfo(const std::vector< number_type > &level1TriggerInfo)
set level1 trigger info
Definition
TriggerInfo.cxx:178
TriggerInfo::m_extendedLevel1ID
number_type m_extendedLevel1ID
Definition
TriggerInfo.h:196
TriggerInfo::TriggerInfo
TriggerInfo()
empty default constructor (all zero)
Definition
TriggerInfo.cxx:74
TriggerInfo::level1TriggerInfo
const std::vector< number_type > & level1TriggerInfo() const
get level1 trigger info
Definition
TriggerInfo.cxx:143
TriggerInfo::streamTags
const std::vector< StreamTag > & streamTags() const
get stream tags
Definition
TriggerInfo.cxx:158
TriggerInfo::m_level2TriggerInfo
std::vector< number_type > m_level2TriggerInfo
Definition
TriggerInfo.h:199
TriggerInfo::level2TriggerInfo
const std::vector< number_type > & level2TriggerInfo() const
get level2 trigger info
Definition
TriggerInfo.cxx:148
TriggerInfo::setEventFilterInfo
void setEventFilterInfo(const std::vector< number_type > &eventFilterInfo)
set event filter trigger info
Definition
TriggerInfo.cxx:198
TriggerInfo::m_eventFilterInfo
std::vector< number_type > m_eventFilterInfo
Definition
TriggerInfo.h:200
std
STL namespace.
Generated on
for ATLAS Offline Software by
1.17.0