ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
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
TAU
static const int TAU
Definition
AtlasPID.h:79
registerInternalTriggerType
#define registerInternalTriggerType(TU, MAX)
Definition
L1DataDef.cxx:15
registerTriggerType
#define registerTriggerType(TU, MAX)
Definition
L1DataDef.cxx:12
L1DataDef.h
MUON
xAOD::Muon MUON
D3PD INCLUDES.
Definition
TileCellFillerTool.h:37
x
#define x
TrigConf::L1DataDef
Definition
L1DataDef.h:16
TrigConf::L1DataDef::TriggerType
TriggerType
Definition
L1DataDef.h:19
TrigConf::L1DataDef::TOPO
@ TOPO
Definition
L1DataDef.h:25
TrigConf::L1DataDef::FJET
@ FJET
Definition
L1DataDef.h:21
TrigConf::L1DataDef::MBTSSI
@ MBTSSI
Definition
L1DataDef.h:23
TrigConf::L1DataDef::ALFA
@ ALFA
Definition
L1DataDef.h:26
TrigConf::L1DataDef::BCM
@ BCM
Definition
L1DataDef.h:23
TrigConf::L1DataDef::JE
@ JE
Definition
L1DataDef.h:21
TrigConf::L1DataDef::JB
@ JB
Definition
L1DataDef.h:21
TrigConf::L1DataDef::MUON
@ MUON
Definition
L1DataDef.h:20
TrigConf::L1DataDef::NIM
@ NIM
Definition
L1DataDef.h:23
TrigConf::L1DataDef::JET
@ JET
Definition
L1DataDef.h:21
TrigConf::L1DataDef::XS
@ XS
Definition
L1DataDef.h:22
TrigConf::L1DataDef::TE
@ TE
Definition
L1DataDef.h:22
TrigConf::L1DataDef::JF
@ JF
Definition
L1DataDef.h:21
TrigConf::L1DataDef::LUCID
@ LUCID
Definition
L1DataDef.h:23
TrigConf::L1DataDef::FJ
@ FJ
Definition
L1DataDef.h:21
TrigConf::L1DataDef::ZB
@ ZB
Definition
L1DataDef.h:24
TrigConf::L1DataDef::BPTX
@ BPTX
Definition
L1DataDef.h:24
TrigConf::L1DataDef::BCMCMB
@ BCMCMB
Definition
L1DataDef.h:24
TrigConf::L1DataDef::MBTS
@ MBTS
Definition
L1DataDef.h:23
TrigConf::L1DataDef::TAU
@ TAU
Definition
L1DataDef.h:20
TrigConf::L1DataDef::EM
@ EM
Definition
L1DataDef.h:20
TrigConf::L1DataDef::CALREQ
@ CALREQ
Definition
L1DataDef.h:24
TrigConf::L1DataDef::M
@ M
Definition
L1DataDef.h:24
TrigConf::L1DataDef::TH
@ TH
Definition
L1DataDef.h:24
TrigConf::L1DataDef::XE
@ XE
Definition
L1DataDef.h:22
TrigConf::L1DataDef::BGRP
@ BGRP
Definition
L1DataDef.h:27
TrigConf::L1DataDef::RNDM
@ RNDM
Definition
L1DataDef.h:27
TrigConf::L1DataDef::PCLK
@ PCLK
Definition
L1DataDef.h:27
TrigConf::L1DataDef::setOldJEP3Cabling
static void setOldJEP3Cabling()
Definition
L1DataDef.cxx:152
TrigConf::L1DataDef::printMaxThresholds
static void printMaxThresholds()
Definition
L1DataDef.cxx:57
TrigConf::L1DataDef::typeConfig
static TriggerTypeConfig & typeConfig(TriggerType tt)
Definition
L1DataDef.cxx:140
TrigConf::L1DataDef::setNewJEP3Cabling
static void setNewJEP3Cabling()
Definition
L1DataDef.cxx:160
TrigConf::L1DataDef::setMaxThresholdsFromL1Version
static void setMaxThresholdsFromL1Version(unsigned int l1version)
Definition
L1DataDef.cxx:65
TRT
Definition
HitInfo.h:33
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition
Config.h:22
ZDC
Definition
LISAnalysisTool.cxx:19
TrigConf::L1DataDef::TriggerTypeConfig
Definition
L1DataDef.h:31
TrigConf::L1DataDef::TriggerTypeConfig::max
unsigned int max
Definition
L1DataDef.h:36
Generated on
for ATLAS Offline Software by
1.17.0