CMS 3D CMS Logo

GlobalObject.cc
Go to the documentation of this file.
1 
15 // this class header
17 
18 // system include files
19 #include <cstring>
20 
21 // user include files
23 
24 using namespace l1t;
25 
27  static const l1t::L1TGtObjectStringToEnum l1TGtObjectStringToEnumMap[] = {{"Mu", gtMu},
28  {"MuShower", gtMuShower},
29  {"EG", gtEG},
30  {"Tau", gtTau},
31  {"Jet", gtJet},
32  {"ETM", gtETM},
33  {"ETT", gtETT},
34  {"HTT", gtHTT},
35  {"HTM", gtHTM},
36  {"ETMHF", gtETMHF},
37  {"TowerCount", gtTowerCount},
38  {"MinBiasHFP0", gtMinBiasHFP0},
39  {"MinBiasHFM0", gtMinBiasHFM0},
40  {"MinBiasHFP1", gtMinBiasHFP1},
41  {"MinBiasHFM1", gtMinBiasHFM1},
42  {"ETTem", gtETTem},
43  {"AsymEt", gtAsymmetryEt},
44  {"AsymHt", gtAsymmetryHt},
45  {"AsymEtHF", gtAsymmetryEtHF},
46  {"AsymEtHF", gtAsymmetryHtHF},
47  {"CENT0", gtCentrality0},
48  {"CENT1", gtCentrality1},
49  {"CENT2", gtCentrality2},
50  {"CENT3", gtCentrality3},
51  {"CENT4", gtCentrality4},
52  {"CENT5", gtCentrality5},
53  {"CENT6", gtCentrality6},
54  {"CENT7", gtCentrality7},
55  {"External", gtExternal},
56  {"ZDCP", gtZDCP},
57  {"ZDCM", gtZDCM},
58  {"ObjNull", ObjNull},
59  {nullptr, (GlobalObject)-1}};
60 
62 
63  bool found = false;
64  for (int i = 0; l1TGtObjectStringToEnumMap[i].label && (!found); ++i)
65  if (!std::strcmp(label.c_str(), l1TGtObjectStringToEnumMap[i].label)) {
66  found = true;
67  value = l1TGtObjectStringToEnumMap[i].value;
68  }
69 
70  // in case of unrecognized GlobalObject, returns Mu
71  // and write a warning (to not throw an exception)
72  if (!found) {
73  edm::LogInfo("L1TGlobal") << "\n '" << label << "' is not a recognized GlobalObject. \n Return ObjNull.";
74 
75  value = ObjNull;
76  }
77 
78  if (value == ObjNull) {
79  edm::LogInfo("L1TGlobal") << "\n ObjNull means no valid GlobalObject defined!";
80  }
81 
82  return value;
83 }
84 
86  std::string gtObjectString;
87 
88  switch (gtObject) {
89  case gtMu: {
90  gtObjectString = "Mu";
91  } break;
92 
93  case gtMuShower: {
94  gtObjectString = "MuShower";
95  } break;
96 
97  case gtEG: {
98  gtObjectString = "EG";
99  } break;
100 
101  case gtTau: {
102  gtObjectString = "Tau";
103  } break;
104 
105  case gtJet: {
106  gtObjectString = "Jet";
107  } break;
108 
109  case gtETM: {
110  gtObjectString = "ETM";
111  } break;
112 
113  case gtETT: {
114  gtObjectString = "ETT";
115  } break;
116 
117  case gtHTT: {
118  gtObjectString = "HTT";
119  } break;
120 
121  case gtHTM: {
122  gtObjectString = "HTM";
123  } break;
124 
125  case gtETMHF: {
126  gtObjectString = "ETMHF";
127  } break;
128 
129  case gtTowerCount: {
130  gtObjectString = "TowerCount";
131  } break;
132 
133  case gtMinBiasHFP0: {
134  gtObjectString = "MinBiasHFP0";
135  } break;
136 
137  case gtMinBiasHFM0: {
138  gtObjectString = "MinBiasHFM0";
139  } break;
140 
141  case gtMinBiasHFP1: {
142  gtObjectString = "MinBiasHFP1";
143  } break;
144 
145  case gtMinBiasHFM1: {
146  gtObjectString = "MinBiasHFM1";
147  } break;
148 
149  case gtETTem: {
150  gtObjectString = "ETTem";
151  } break;
152 
153  case gtAsymmetryEt: {
154  gtObjectString = "AsymEt";
155  } break;
156 
157  case gtAsymmetryHt: {
158  gtObjectString = "AsymHt";
159  } break;
160 
161  case gtAsymmetryEtHF: {
162  gtObjectString = "AsymEtHF";
163  } break;
164 
165  case gtAsymmetryHtHF: {
166  gtObjectString = "AsymHtHF";
167  } break;
168 
169  case gtCentrality0: {
170  gtObjectString = "CENT0";
171  } break;
172 
173  case gtCentrality1: {
174  gtObjectString = "CENT1";
175  } break;
176 
177  case gtCentrality2: {
178  gtObjectString = "CENT2";
179  } break;
180 
181  case gtCentrality3: {
182  gtObjectString = "CENT3";
183  } break;
184 
185  case gtCentrality4: {
186  gtObjectString = "CENT4";
187  } break;
188 
189  case gtCentrality5: {
190  gtObjectString = "CENT5";
191  } break;
192 
193  case gtCentrality6: {
194  gtObjectString = "CENT6";
195  } break;
196 
197  case gtCentrality7: {
198  gtObjectString = "CENT7";
199  } break;
200 
201  case gtExternal: {
202  gtObjectString = "External";
203  } break;
204 
205  case gtZDCP: {
206  gtObjectString = "ZDCP";
207  } break;
208 
209  case gtZDCM: {
210  gtObjectString = "ZDCM";
211  } break;
212 
213  case ObjNull: {
214  gtObjectString = "ObjNull";
215  edm::LogInfo("L1TGlobal") << "\n ObjNull means no valid GlobalObject defined!";
216  } break;
217 
218  default: {
219  edm::LogInfo("L1TGlobal") << "\n '" << gtObject << "' is not a recognized GlobalObject. "
220  << "\n Return ObjNull, which means no valid GlobalObject defined!";
221 
222  gtObjectString = "ObjNull";
223 
224  } break;
225  }
226 
227  return gtObjectString;
228 }
l1t::GlobalObject l1TGtObjectStringToEnum(const std::string &)
Definition: GlobalObject.cc:26
GlobalObject
Definition: GlobalObject.h:16
delete x;
Definition: CaloConfig.h:22
the string to enum and enum to string conversions for GlobalObject
Definition: GlobalObject.h:53
std::string l1TGtObjectEnumToString(const GlobalObject &)
Definition: GlobalObject.cc:85
char const * label
Definition: value.py:1
Log< level::Info, false > LogInfo