src
DataFormats
L1TGlobal
interface
GlobalObject.h
Go to the documentation of this file.
1
#ifndef DataFormats_L1TGlobal_GlobalObject_h
2
#define DataFormats_L1TGlobal_GlobalObject_h
3
4
#include <string>
5
#include <utility>
6
#include <vector>
7
8
namespace
l1t
{
9
10
/* Enum of L1T GlobalObjects
11
12
IMPORTANT
13
The elements of the enum l1t::GlobalObject are used in the data format GlobalObjectMapRecord.
14
One instance of GlobalObjectMapRecord is produced online by the HLT,
15
and it is written to disk as part of the RAW data tier.
16
Said instance of GlobalObjectMapRecord is produced at HLT by the plugin L1TGlobalProducer,
17
which implements the emulator of the Stage-2 Level-1 Global Trigger.
18
19
In order not to change the meaning of existing data when adding entries to the enum l1t::GlobalObject,
20
it is necessary to add such new entries with an explicit integer value which has not been used before in the enum.
21
22
When adding new elements to the enum l1t::GlobalObject, make sure to also update accordingly
23
(a) the vector l1t::kGlobalObjectEnumStringPairs in this file, and
24
(b) the unit test implemented in test/test_catch2_l1tGlobalObject.cc in this package.
25
26
For further information on the subject, please see
27
https://github.com/cms-sw/cmssw/pull/42634#discussion_r1302636113
28
https://github.com/cms-sw/cmssw/issues/42719
29
*/
30
enum
GlobalObject
{
31
gtMu
= 0,
32
gtMuShower
= 1,
33
gtEG
= 2,
34
gtJet
= 3,
35
gtTau
= 4,
36
gtETM
= 5,
37
gtETT
= 6,
38
gtHTT
= 7,
39
gtHTM
= 8,
40
gtETMHF
= 9,
41
gtTowerCount
= 10,
42
gtMinBiasHFP0
= 11,
43
gtMinBiasHFM0
= 12,
44
gtMinBiasHFP1
= 13,
45
gtMinBiasHFM1
= 14,
46
gtETTem
= 15,
47
gtAsymmetryEt
= 16,
48
gtAsymmetryHt
= 17,
49
gtAsymmetryEtHF
= 18,
50
gtAsymmetryHtHF
= 19,
51
gtCentrality0
= 20,
52
gtCentrality1
= 21,
53
gtCentrality2
= 22,
54
gtCentrality3
= 23,
55
gtCentrality4
= 24,
56
gtCentrality5
= 25,
57
gtCentrality6
= 26,
58
gtCentrality7
= 27,
59
gtExternal
= 28,
60
gtZDCP
= 29,
61
gtZDCM
= 30,
62
ObjNull
= 31,
63
};
64
65
const
std::vector<std::pair<GlobalObject, std::string>>
kGlobalObjectEnumStringPairs
= {
66
{
gtMu
,
"Mu"
},
// 0
67
{
gtMuShower
,
"MuShower"
},
// 1
68
{
gtEG
,
"EG"
},
// 2
69
{
gtJet
,
"Jet"
},
// 3
70
{
gtTau
,
"Tau"
},
// 4
71
{
gtETM
,
"ETM"
},
// 5
72
{
gtETT
,
"ETT"
},
// 6
73
{
gtHTT
,
"HTT"
},
// 7
74
{
gtHTM
,
"HTM"
},
// 8
75
{
gtETMHF
,
"ETMHF"
},
// 9
76
{
gtTowerCount
,
"TowerCount"
},
// 10
77
{
gtMinBiasHFP0
,
"MinBiasHFP0"
},
// 11
78
{
gtMinBiasHFM0
,
"MinBiasHFM0"
},
// 12
79
{
gtMinBiasHFP1
,
"MinBiasHFP1"
},
// 13
80
{
gtMinBiasHFM1
,
"MinBiasHFM1"
},
// 14
81
{
gtETTem
,
"ETTem"
},
// 15
82
{
gtAsymmetryEt
,
"AsymEt"
},
// 16
83
{
gtAsymmetryHt
,
"AsymHt"
},
// 17
84
{
gtAsymmetryEtHF
,
"AsymEtHF"
},
// 18
85
{
gtAsymmetryHtHF
,
"AsymHtHF"
},
// 19
86
{
gtCentrality0
,
"CENT0"
},
// 20
87
{
gtCentrality1
,
"CENT1"
},
// 21
88
{
gtCentrality2
,
"CENT2"
},
// 22
89
{
gtCentrality3
,
"CENT3"
},
// 23
90
{
gtCentrality4
,
"CENT4"
},
// 24
91
{
gtCentrality5
,
"CENT5"
},
// 25
92
{
gtCentrality6
,
"CENT6"
},
// 26
93
{
gtCentrality7
,
"CENT7"
},
// 27
94
{
gtExternal
,
"External"
},
// 28
95
{
gtZDCP
,
"ZDCP"
},
// 29
96
{
gtZDCM
,
"ZDCM"
},
// 30
97
{
ObjNull
,
"ObjNull"
},
// 31
98
};
99
100
// utility functions to convert GlobalObject enum to std::string and viceversa
101
l1t::GlobalObject
GlobalObjectStringToEnum
(
const
std::string
&);
102
std::string
GlobalObjectEnumToString
(
const
GlobalObject
&);
103
104
}
// namespace l1t
105
106
#endif
GlobalObject
l1t::gtETM
Definition:
GlobalObject.h:36
l1t::gtMu
Definition:
GlobalObject.h:31
l1t::gtAsymmetryEtHF
Definition:
GlobalObject.h:49
l1t::gtCentrality6
Definition:
GlobalObject.h:57
l1t::gtMinBiasHFP0
Definition:
GlobalObject.h:42
l1t::GlobalObject
GlobalObject
Definition:
GlobalObject.h:30
l1t::gtETT
Definition:
GlobalObject.h:37
l1t::gtCentrality3
Definition:
GlobalObject.h:54
l1t
delete x;
Definition:
CaloConfig.h:22
AlCaHLTBitMon_QueryRunRegistry.string
string string
Definition:
AlCaHLTBitMon_QueryRunRegistry.py:256
l1t::gtMuShower
Definition:
GlobalObject.h:32
l1t::gtTau
Definition:
GlobalObject.h:35
l1t::kGlobalObjectEnumStringPairs
const std::vector< std::pair< GlobalObject, std::string > > kGlobalObjectEnumStringPairs
Definition:
GlobalObject.h:65
l1t::gtMinBiasHFM0
Definition:
GlobalObject.h:43
l1t::GlobalObjectStringToEnum
l1t::GlobalObject GlobalObjectStringToEnum(const std::string &)
Definition:
GlobalObject.cc:18
l1t::gtCentrality2
Definition:
GlobalObject.h:53
l1t::gtExternal
Definition:
GlobalObject.h:59
l1t::gtAsymmetryHtHF
Definition:
GlobalObject.h:50
l1t::gtHTM
Definition:
GlobalObject.h:39
l1t::gtCentrality0
Definition:
GlobalObject.h:51
l1t::gtZDCM
Definition:
GlobalObject.h:61
l1t::gtEG
Definition:
GlobalObject.h:33
l1t::gtMinBiasHFM1
Definition:
GlobalObject.h:45
l1t::gtMinBiasHFP1
Definition:
GlobalObject.h:44
l1t::gtAsymmetryEt
Definition:
GlobalObject.h:47
l1t::gtCentrality5
Definition:
GlobalObject.h:56
l1t::gtETTem
Definition:
GlobalObject.h:46
l1t::gtCentrality7
Definition:
GlobalObject.h:58
l1t::gtCentrality4
Definition:
GlobalObject.h:55
l1t::gtJet
Definition:
GlobalObject.h:34
l1t::gtZDCP
Definition:
GlobalObject.h:60
l1t::ObjNull
Definition:
GlobalObject.h:62
l1t::gtAsymmetryHt
Definition:
GlobalObject.h:48
l1t::GlobalObjectEnumToString
std::string GlobalObjectEnumToString(const GlobalObject &)
l1t::gtTowerCount
Definition:
GlobalObject.h:41
l1t::gtETMHF
Definition:
GlobalObject.h:40
l1t::gtHTT
Definition:
GlobalObject.h:38
l1t::gtCentrality1
Definition:
GlobalObject.h:52
Generated for CMSSW Reference Manual by
1.8.14