ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Trigger
TrigEvent
TrigMonitoringEvent
TrigMonitoringEvent
TrigMonTE.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef TRIGMON_TE_H
6
#define TRIGMON_TE_H
7
14
15
// Framework
16
#include "
AthenaKernel/CLASS_DEF.h
"
17
18
19
// Local
20
#include "
TrigMonitoringEvent/TrigConfSeq.h
"
21
#include "
TrigMonitoringEvent/TrigMonVar.h
"
22
// C/C++
23
#include <iosfwd>
24
#include <stdint.h>
25
#include <vector>
26
27
class
TrigMonTE
28
{
29
public
:
30
31
enum
Type
{
32
kELEM
= 0,
// Regular TE in navigation tree (default)
33
kINIT
= 1,
// Initial TE
34
kROI
= 2,
// RoI TE attached to initial TE
35
kL1TH
= 3
// L1 threshold TE attached to ROI TE
36
};
37
enum
State
{
38
activeState
= 0x010000,
// Active/inactive state of TE
39
errorState
= 0x020000,
// There was an error in algorithms dealing with this TE
40
terminalNode
= 0x040000,
// Node is terminal (no more TriggerElement are seeded by it)
41
outputL2Node
= 0x080000,
// This is output TE of passed or passedRaw L2 chain
42
outputEFNode
= 0x100000,
// This is output TE of passed or passedRaw EF chain
43
topologicalTE
= 0x200000
// Topological TE (more than 1 parent)
44
};
45
46
TrigMonTE
() =
default
;
47
TrigMonTE
(uint32_t
id
, uint16_t
index
);
48
49
void
addChildIndex
(uint16_t
index
) {
m_child
.push_back(
index
); }
50
void
addParentIndex
(uint16_t
index
) {
m_parent
.push_back(
index
); }
51
52
void
addRoiId
(uint8_t roiid) {
m_roi
.push_back(roiid); }
53
void
addClid
(uint32_t clid) {
m_clid
.push_back(clid); }
54
55
void
addVar
(
const
TrigMonVar
&var);
56
57
void
setType
(
Type
type
);
58
void
addState
(
State
state);
59
60
void
clearIndexes
() {
m_child
.clear();
m_parent
.clear(); }
61
void
clearClids
() {
m_clid
.clear(); }
62
63
uint32_t
getId
()
const
{
return
m_id
; }
64
uint16_t
getIndex
()
const
;
65
Type
getType
()
const
;
66
67
bool
getActiveState
()
const
{
return
m_encoded
&
activeState
; }
68
bool
getErrorState
()
const
{
return
m_encoded
&
errorState
; }
69
bool
isTerminalNode
()
const
{
return
m_encoded
&
terminalNode
; }
70
bool
isOutputL2Node
()
const
{
return
m_encoded
&
outputL2Node
; }
71
bool
isOutputEFNode
()
const
{
return
m_encoded
&
outputEFNode
; }
72
bool
isTopologicalTE
()
const
{
return
m_encoded
&
topologicalTE
; }
73
74
const
std::vector<uint16_t>&
getChildIndex
()
const
{
return
m_child
; }
75
const
std::vector<uint16_t>&
getParentIndex
()
const
{
return
m_parent
; }
76
77
const
std::vector<uint8_t>&
getRoiId
()
const
{
return
m_roi
; }
78
const
std::vector<uint32_t>&
getClid
()
const
{
return
m_clid
; }
79
80
const
std::vector<TrigMonVar>
getVar
()
const
;
81
const
std::vector<uint16_t>&
getVarKey
()
const
{
return
m_var_key
; }
82
const
std::vector<float>&
getVarVal
()
const
{
return
m_var_val
; }
83
84
void
print
(std::ostream &os);
85
void
print
();
//uses std::cout by default
86
private
:
87
friend
class
TrigMonTECnv_p1
;
88
89
uint32_t
m_id
{};
// Trigger element id
90
uint32_t
m_encoded
{};
// Encoded word (see below)
91
92
std::vector<uint16_t>
m_child
;
// Index of child (successor) TEs
93
std::vector<uint16_t>
m_parent
;
// Index of parent (predecessors) TEs
94
std::vector<uint8_t>
m_roi
;
// RoiId of seeding roi(s)
95
std::vector<uint32_t>
m_clid
;
// Clids of attached features
96
97
std::vector<uint16_t>
m_var_key
;
// Variable key
98
std::vector<float>
m_var_val
;
// Variable value
99
};
100
101
std::string
str
(
const
TrigMonTE
&);
102
103
//
104
// m_encoded: low 16 bits store index
105
//
106
// m_encoded: top 16 bits store State and Type enums
107
//
108
// state [s] 6 bits
109
// type [t] 2 bits
110
// free [f] 8 bits
111
//
112
113
//
114
// Global comparison operators
115
//
116
inline
bool
operator==
(
const
TrigMonTE
&lhs,
const
TrigMonTE
&rhs) {
117
return
lhs.
getId
() == rhs.
getId
();
118
}
119
inline
bool
operator <
(
const
TrigMonTE
&lhs,
const
TrigMonTE
&rhs) {
120
return
lhs.
getId
() < rhs.
getId
();
121
}
122
123
inline
bool
operator==
(
const
TrigMonTE
&te,
const
TrigConfSeq
&seq) {
124
return
te.
getId
() == seq.
getId
();
125
}
126
inline
bool
operator==
(
const
TrigConfSeq
&seq,
const
TrigMonTE
&te) {
127
return
te.
getId
() == seq.
getId
();
128
}
129
130
CLASS_DEF
(
TrigMonTE
, 233333104 , 1 )
131
132
#endif
CLASS_DEF.h
macros to associate a CLID to a type
CLASS_DEF
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
Definition
Control/AthenaKernel/AthenaKernel/CLASS_DEF.h:67
TrigConfSeq.h
operator==
bool operator==(const TrigMonTE &lhs, const TrigMonTE &rhs)
Definition
TrigMonTE.h:116
operator<
bool operator<(const TrigMonTE &lhs, const TrigMonTE &rhs)
Definition
TrigMonTE.h:119
TrigMonVar.h
TrigConfSeq
Definition
TrigConfSeq.h:30
TrigConfSeq::getId
uint32_t getId() const
Definition
TrigConfSeq.h:43
TrigMonTE
Summary of one trigger element from navigation tree.
Definition
TrigMonTE.h:28
TrigMonTE::isOutputEFNode
bool isOutputEFNode() const
Definition
TrigMonTE.h:71
TrigMonTE::isTerminalNode
bool isTerminalNode() const
Definition
TrigMonTE.h:69
TrigMonTE::clearClids
void clearClids()
Definition
TrigMonTE.h:61
TrigMonTE::addClid
void addClid(uint32_t clid)
Definition
TrigMonTE.h:53
TrigMonTE::setType
void setType(Type type)
Definition
TrigMonTE.cxx:46
TrigMonTE::addChildIndex
void addChildIndex(uint16_t index)
Definition
TrigMonTE.h:49
TrigMonTE::State
State
Definition
TrigMonTE.h:37
TrigMonTE::terminalNode
@ terminalNode
Definition
TrigMonTE.h:40
TrigMonTE::outputL2Node
@ outputL2Node
Definition
TrigMonTE.h:41
TrigMonTE::errorState
@ errorState
Definition
TrigMonTE.h:39
TrigMonTE::activeState
@ activeState
Definition
TrigMonTE.h:38
TrigMonTE::topologicalTE
@ topologicalTE
Definition
TrigMonTE.h:43
TrigMonTE::outputEFNode
@ outputEFNode
Definition
TrigMonTE.h:42
TrigMonTE::TrigMonTECnv_p1
friend class TrigMonTECnv_p1
Definition
TrigMonTE.h:87
TrigMonTE::getActiveState
bool getActiveState() const
Definition
TrigMonTE.h:67
TrigMonTE::Type
Type
Definition
TrigMonTE.h:31
TrigMonTE::kINIT
@ kINIT
Definition
TrigMonTE.h:33
TrigMonTE::kL1TH
@ kL1TH
Definition
TrigMonTE.h:35
TrigMonTE::kELEM
@ kELEM
Definition
TrigMonTE.h:32
TrigMonTE::kROI
@ kROI
Definition
TrigMonTE.h:34
TrigMonTE::addVar
void addVar(const TrigMonVar &var)
Definition
TrigMonTE.cxx:34
TrigMonTE::getRoiId
const std::vector< uint8_t > & getRoiId() const
Definition
TrigMonTE.h:77
TrigMonTE::getVar
const std::vector< TrigMonVar > getVar() const
Definition
TrigMonTE.cxx:84
TrigMonTE::getParentIndex
const std::vector< uint16_t > & getParentIndex() const
Definition
TrigMonTE.h:75
TrigMonTE::m_id
uint32_t m_id
Definition
TrigMonTE.h:89
TrigMonTE::m_child
std::vector< uint16_t > m_child
Definition
TrigMonTE.h:92
TrigMonTE::getVarVal
const std::vector< float > & getVarVal() const
Definition
TrigMonTE.h:82
TrigMonTE::getVarKey
const std::vector< uint16_t > & getVarKey() const
Definition
TrigMonTE.h:81
TrigMonTE::addState
void addState(State state)
Definition
TrigMonTE.cxx:55
TrigMonTE::addParentIndex
void addParentIndex(uint16_t index)
Definition
TrigMonTE.h:50
TrigMonTE::getIndex
uint16_t getIndex() const
Definition
TrigMonTE.cxx:75
TrigMonTE::TrigMonTE
TrigMonTE()=default
TrigMonTE::getClid
const std::vector< uint32_t > & getClid() const
Definition
TrigMonTE.h:78
TrigMonTE::m_encoded
uint32_t m_encoded
Definition
TrigMonTE.h:90
TrigMonTE::isTopologicalTE
bool isTopologicalTE() const
Definition
TrigMonTE.h:72
TrigMonTE::m_roi
std::vector< uint8_t > m_roi
Definition
TrigMonTE.h:94
TrigMonTE::getId
uint32_t getId() const
Definition
TrigMonTE.h:63
TrigMonTE::getChildIndex
const std::vector< uint16_t > & getChildIndex() const
Definition
TrigMonTE.h:74
TrigMonTE::addRoiId
void addRoiId(uint8_t roiid)
Definition
TrigMonTE.h:52
TrigMonTE::clearIndexes
void clearIndexes()
Definition
TrigMonTE.h:60
TrigMonTE::m_var_val
std::vector< float > m_var_val
Definition
TrigMonTE.h:98
TrigMonTE::getErrorState
bool getErrorState() const
Definition
TrigMonTE.h:68
TrigMonTE::m_clid
std::vector< uint32_t > m_clid
Definition
TrigMonTE.h:95
TrigMonTE::m_parent
std::vector< uint16_t > m_parent
Definition
TrigMonTE.h:93
TrigMonTE::getType
Type getType() const
Definition
TrigMonTE.cxx:64
TrigMonTE::m_var_key
std::vector< uint16_t > m_var_key
Definition
TrigMonTE.h:97
TrigMonTE::isOutputL2Node
bool isOutputL2Node() const
Definition
TrigMonTE.h:70
TrigMonTE::print
void print()
Definition
TrigMonTE.cxx:111
TrigMonVar
Definition
TrigMonVar.h:59
index
Definition
index.py:1
str
Definition
BTagTrackIpAccessor.cxx:11
type
Type
Generated on
for ATLAS Offline Software by
1.17.0