Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Classes
Class List
Class Index
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerations
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Properties
Related Functions
:
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
r
s
t
v
w
x
z
Files
File List
File Members
All
$
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Variables
$
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
a
b
c
d
e
f
g
h
i
l
m
n
o
p
r
s
t
v
x
z
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
GitLab
LXR
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Modules
Pages
Trigger
TrigConfiguration
TrigConfL1Data
Root
L1DataDef.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#include "
TrigConfL1Data/L1DataDef.h
"
6
7
#include <iostream>
8
#include <stdexcept>
9
#include <iomanip>
10
11
12
#define registerTriggerType(TU, MAX) \
13
bool is##TU = TrigConf::L1DataDef::addConfig(TrigConf::L1DataDef::TU, #TU, MAX);
14
15
#define registerInternalTriggerType(TU, MAX) \
16
bool is##TU = TrigConf::L1DataDef::addConfig(TrigConf::L1DataDef::TU, #TU, MAX, true);
17
18
registerTriggerType
(
EM
, 16)
19
registerTriggerType
(TAU, 8)
20
registerTriggerType
(
MUON
,6)
21
registerTriggerType
(
TH
, 8)
22
registerTriggerType
(
JET
, 8)
23
registerTriggerType
(FJET,0)
24
registerTriggerType
(FJ, 8)
25
registerTriggerType
(JF, 4)
26
registerTriggerType
(JB, 4)
27
registerTriggerType
(JE, 4)
28
registerTriggerType
(M, 6)
29
registerTriggerType
(TE, 8)
30
registerTriggerType
(XE, 8)
31
registerTriggerType
(XS, 8)
32
33
// internal
34
registerInternalTriggerType
(RNDM, 2)
35
registerInternalTriggerType
(PCLK, 2)
36
registerInternalTriggerType
(BGRP, 8)
37
38
39
registerTriggerType
(MBTS, 2)
40
registerTriggerType
(MBTSSI, 32)
41
registerTriggerType
(NIM, 37)
42
registerTriggerType
(BCMCMB, 1)
43
registerTriggerType
(CALREQ, 3)
44
registerTriggerType
(BPTX, 2)
45
registerTriggerType
(LUCID, 2)
46
registerTriggerType
(
TRT
, 1)
47
registerTriggerType
(BCM, 3)
48
registerTriggerType
(
ZDC
, 3)
49
// zero bias
50
registerTriggerType
(ZB, 10)
51
// NEW: Topo
52
registerTriggerType
(TOPO, 128)
53
registerTriggerType
(ALFA, 64)
54
55
56
void
57
TrigConf
::
L1DataDef
::printMaxThresholds() {
58
std::cout <<
"L1 Version: "
<< g_l1Version << std::endl;
59
for
(
const
auto
&
x
: g_typeConfigs) {
60
std::cout <<
"Maximum number of thresholds for type "
<< std::setw(6) <<
x
.second.name <<
" : "
<<
x
.second.max << std::endl;
61
}
62
}
63
64
void
65
TrigConf::L1DataDef::setMaxThresholdsFromL1Version
(
unsigned
int
l1version) {
66
// this has to come from L1Common/L1CommonVersion.h
67
if
(l1version==0) {
68
typeConfig
(
EM
).
max
= 16;
69
typeConfig
(
TAU
).
max
= 8;
70
typeConfig
(
MUON
).
max
= 6;
71
typeConfig
(
TH
).
max
= 8;
72
typeConfig
(
JET
).
max
= 8;
73
typeConfig
(
FJET
).
max
= 0;
74
typeConfig
(
FJ
).
max
= 8;
75
typeConfig
(
JF
).
max
= 4;
76
typeConfig
(
JB
).
max
= 4;
77
typeConfig
(
JE
).
max
= 4;
78
typeConfig
(
M
).
max
= 6;
79
typeConfig
(
TE
).
max
= 8;
80
typeConfig
(
XE
).
max
= 8;
81
typeConfig
(
XS
).
max
= 8;
82
typeConfig
(
RNDM
).
max
= 2;
83
typeConfig
(
PCLK
).
max
= 2;
84
typeConfig
(
BGRP
).
max
= 8;
85
typeConfig
(
MBTS
).
max
= 2;
86
typeConfig
(
MBTSSI
).
max
= 32;
87
typeConfig
(
NIM
).
max
= 37;
88
typeConfig
(
BCMCMB
).
max
= 1;
89
typeConfig
(
CALREQ
).
max
= 3;
90
typeConfig
(
BPTX
).
max
= 2;
91
typeConfig
(
LUCID
).
max
= 2;
92
typeConfig
(
TRT
).
max
= 1;
93
typeConfig
(
BCM
).
max
= 3;
94
typeConfig
(
ZDC
).
max
= 3;
95
typeConfig
(
ZB
).
max
= 10;
96
typeConfig
(
TOPO
).
max
= 0;
97
typeConfig
(
ALFA
).
max
= 0;
98
}
else
if
(l1version==1) {
99
typeConfig
(
EM
).
max
= 16;
100
typeConfig
(
TAU
).
max
= 16;
101
typeConfig
(
MUON
).
max
= 6;
102
typeConfig
(
TH
).
max
= 8;
103
typeConfig
(
JET
).
max
= 25;
104
typeConfig
(
FJET
).
max
= 0;
105
typeConfig
(
FJ
).
max
= 0;
106
typeConfig
(
JF
).
max
= 0;
107
typeConfig
(
JB
).
max
= 0;
108
typeConfig
(
JE
).
max
= 0;
109
typeConfig
(
M
).
max
= 6;
110
typeConfig
(
TE
).
max
= 16;
111
typeConfig
(
XE
).
max
= 16;
112
typeConfig
(
XS
).
max
= 8;
113
typeConfig
(
RNDM
).
max
= 4;
114
typeConfig
(
PCLK
).
max
= 0;
115
typeConfig
(
BGRP
).
max
= 16;
116
typeConfig
(
MBTS
).
max
= 3;
117
typeConfig
(
MBTSSI
).
max
= 32;
118
typeConfig
(
NIM
).
max
= 37;
119
typeConfig
(
BCMCMB
).
max
= 1;
120
typeConfig
(
CALREQ
).
max
= 3;
121
typeConfig
(
BPTX
).
max
= 2;
122
typeConfig
(
LUCID
).
max
= 6;
123
typeConfig
(
TRT
).
max
= 1;
124
typeConfig
(
BCM
).
max
= 6;
125
typeConfig
(
ZDC
).
max
= 3;
126
typeConfig
(
ZB
).
max
= 10;
127
typeConfig
(
TOPO
).
max
= 128;
128
typeConfig
(
ALFA
).
max
= 64;
129
}
else
{
130
std::cerr <<
"ERROR TrigConf::L1DataDef::setMaxThresholdsFromL1Version() L1Version not known:"
<< l1version << std::endl;
131
throw
(std::runtime_error(
"Unknown L1 Version"
));
132
}
133
134
g_l1Version=l1version;
135
136
}
137
138
139
TrigConf::L1DataDef::TriggerTypeConfig
&
140
TrigConf::L1DataDef::typeConfig
(
TriggerType
tt
) {
141
TypeConfigMap_t::iterator
c
= g_typeConfigs.find(
tt
);
142
if
(
c
==g_typeConfigs.end() ) {
143
std::cerr <<
"Trigger type "
<<
tt
<<
" is defined in L1DataDef.h but not registered in L1DataDef.cxx"
<< std::endl;
144
throw
std::runtime_error(
"TriggerType not registered"
);
145
}
146
return
c
->second;
147
}
148
149
150
// can enable old JEP3 cabling (SLOT8, CON0): 4TE, 8XE
151
void
152
TrigConf::L1DataDef::setOldJEP3Cabling
() {
153
typeConfig(TE).max = 4;
154
typeConfig(XE).max = 8;
155
typeConfig(XS).max = 0;
156
}
157
158
// new JEP3 cabling (SLOT8, CON0): 8TE, 8XE, 8XS
159
void
160
TrigConf::L1DataDef::setNewJEP3Cabling
() {
161
typeConfig(TE).max = 8;
162
typeConfig(XE).max = 8;
163
typeConfig(XS).max = 8;
164
}
165
TrigConf::L1DataDef::FJ
@ FJ
Definition:
L1DataDef.h:21
xAOD::iterator
JetConstituentVector::iterator iterator
Definition:
JetConstituentVector.cxx:68
TrigConf::L1DataDef::setMaxThresholdsFromL1Version
static void setMaxThresholdsFromL1Version(unsigned int l1version)
Definition:
L1DataDef.cxx:65
TrigConf::L1DataDef::typeConfig
static TriggerTypeConfig & typeConfig(TriggerType tt)
Definition:
L1DataDef.cxx:140
TrigConf::L1DataDef::ALFA
@ ALFA
Definition:
L1DataDef.h:26
TrigConf::L1DataDef::LUCID
@ LUCID
Definition:
L1DataDef.h:23
TrigConf::L1DataDef::PCLK
@ PCLK
Definition:
L1DataDef.h:27
TrigConf::L1DataDef::JE
@ JE
Definition:
L1DataDef.h:21
TrigConf::L1DataDef::BPTX
@ BPTX
Definition:
L1DataDef.h:24
TrigConf::L1DataDef::MBTSSI
@ MBTSSI
Definition:
L1DataDef.h:23
TrigConf::L1DataDef::BCMCMB
@ BCMCMB
Definition:
L1DataDef.h:24
TrigConf::L1DataDef::JF
@ JF
Definition:
L1DataDef.h:21
TrigConf::L1DataDef::setNewJEP3Cabling
static void setNewJEP3Cabling()
Definition:
L1DataDef.cxx:160
TrigConf::L1DataDef::FJET
@ FJET
Definition:
L1DataDef.h:21
TrigConf::L1DataDef::TH
@ TH
Definition:
L1DataDef.h:24
TrigConf::L1DataDef::TOPO
@ TOPO
Definition:
L1DataDef.h:25
x
#define x
xAOD::Muon_v1
Class describing a Muon.
Definition:
Muon_v1.h:38
TrigConf::L1DataDef::XE
@ XE
Definition:
L1DataDef.h:22
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition:
Config.h:22
TCS::JET
@ JET
Definition:
Trigger/TrigT1/L1Topo/L1TopoCommon/L1TopoCommon/Types.h:12
TrigConf::L1DataDef
Definition:
L1DataDef.h:16
TRT
Definition:
HitInfo.h:33
Ringer::EM
@ EM
Definition:
CaloRingsDefs.h:19
TrigConf::L1DataDef::RNDM
@ RNDM
Definition:
L1DataDef.h:27
TrigConf::L1DataDef::NIM
@ NIM
Definition:
L1DataDef.h:23
TrigConf::L1DataDef::TriggerTypeConfig
Definition:
L1DataDef.h:31
registerTriggerType
#define registerTriggerType(TU, MAX)
Definition:
L1DataDef.cxx:12
registerInternalTriggerType
#define registerInternalTriggerType(TU, MAX)
Definition:
L1DataDef.cxx:15
TrigConf::L1DataDef::MBTS
@ MBTS
Definition:
L1DataDef.h:23
TrigConf::L1DataDef::M
@ M
Definition:
L1DataDef.h:24
TrigConf::L1DataDef::BCM
@ BCM
Definition:
L1DataDef.h:23
TrigConf::L1DataDef::TE
@ TE
Definition:
L1DataDef.h:22
HTXS::Stage0::TH
@ TH
Definition:
HiggsTemplateCrossSectionsDefs.h:46
L1DataDef.h
TrigConf::L1DataDef::JB
@ JB
Definition:
L1DataDef.h:21
TrigConf::L1DataDef::JET
@ JET
Definition:
L1DataDef.h:21
TrigConf::L1DataDef::CALREQ
@ CALREQ
Definition:
L1DataDef.h:24
TrigConf::L1DataDef::setOldJEP3Cabling
static void setOldJEP3Cabling()
Definition:
L1DataDef.cxx:152
TrigConf::L1DataDef::TAU
@ TAU
Definition:
L1DataDef.h:20
TrigConf::L1DataDef::TriggerTypeConfig::max
unsigned int max
Definition:
L1DataDef.h:36
TrigConf::L1DataDef::TriggerType
TriggerType
Definition:
L1DataDef.h:19
TrigConf::L1DataDef::XS
@ XS
Definition:
L1DataDef.h:22
ZDC
Definition:
RPDAnalysisTool.cxx:12
TrigConf::L1DataDef::ZB
@ ZB
Definition:
L1DataDef.h:24
TileDCSDataPlotter.tt
tt
Definition:
TileDCSDataPlotter.py:874
python.compressB64.c
def c
Definition:
compressB64.py:93
TrigConf::L1DataDef::BGRP
@ BGRP
Definition:
L1DataDef.h:27
TrigConf::L1DataDef::EM
@ EM
Definition:
L1DataDef.h:20
Generated on Mon May 5 2025 21:12:47 for ATLAS Offline Software by
1.8.18