test
CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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 
26 
28 
29 
30 
31  static const l1t::L1TGtObjectStringToEnum l1TGtObjectStringToEnumMap[] = {
32  {"Mu", gtMu},
33  {"EG", gtEG},
34  {"Tau", gtTau},
35  {"Jet", gtJet},
36  {"ETM", gtETM},
37  {"ETT", gtETT},
38  {"HTT", gtHTT},
39  {"HTM", gtHTM},
40  {"ETM2", gtETM2},
41  {"MinBiasHFP0", gtMinBiasHFP0},
42  {"MinBiasHFM0", gtMinBiasHFM0},
43  {"MinBiasHFP1", gtMinBiasHFP1},
44  {"MinBiasHFM1", gtMinBiasHFM1},
45  {"External", gtExternal},
46  {"ObjNull", ObjNull},
47  {0, (GlobalObject) - 1}
48  };
49 
51 
52  bool found = false;
53  for (int i = 0; l1TGtObjectStringToEnumMap[i].label && (!found); ++i)
54  if (!std::strcmp(label.c_str(), l1TGtObjectStringToEnumMap[i].label)) {
55  found = true;
56  value = l1TGtObjectStringToEnumMap[i].value;
57  }
58 
59  // in case of unrecognized GlobalObject, returns Mu
60  // and write a warning (to not throw an exception)
61  if (!found) {
62  edm::LogInfo("L1TGlobal") << "\n '" << label
63  << "' is not a recognized GlobalObject. \n Return ObjNull.";
64 
65  value = ObjNull;
66  }
67 
68  if (value == ObjNull) {
69  edm::LogInfo("L1TGlobal")
70  << "\n ObjNull means no valid GlobalObject defined!";
71  }
72 
73  return value;
74 }
75 
77 
78  std::string gtObjectString;
79 
80  switch (gtObject) {
81 
82  case gtMu: {
83  gtObjectString = "Mu";
84  }
85  break;
86 
87  case gtEG: {
88  gtObjectString = "EG";
89  }
90  break;
91 
92  case gtTau: {
93  gtObjectString = "Tau";
94  }
95  break;
96 
97  case gtJet: {
98  gtObjectString = "Jet";
99  }
100  break;
101 
102  case gtETM: {
103  gtObjectString = "ETM";
104  }
105  break;
106 
107  case gtETT: {
108  gtObjectString = "ETT";
109  }
110  break;
111 
112  case gtHTT: {
113  gtObjectString = "HTT";
114  }
115  break;
116 
117  case gtHTM: {
118  gtObjectString = "HTM";
119  }
120  break;
121 
122  case gtETM2: {
123  gtObjectString = "ETM2";
124  }
125  break;
126 
127  case gtMinBiasHFP0: {
128  gtObjectString = "MinBiasHFP0";
129  }
130  break;
131 
132  case gtMinBiasHFM0: {
133  gtObjectString = "MinBiasHFM0";
134  }
135  break;
136 
137  case gtMinBiasHFP1: {
138  gtObjectString = "MinBiasHFP1";
139  }
140  break;
141 
142  case gtMinBiasHFM1: {
143  gtObjectString = "MinBiasHFM1";
144  }
145  break;
146 
147  case gtExternal: {
148  gtObjectString = "External";
149  }
150  break;
151 
152  case ObjNull: {
153  gtObjectString = "ObjNull";
154  edm::LogInfo("L1TGlobal")
155  << "\n ObjNull means no valid GlobalObject defined!";
156  }
157  break;
158 
159  default: {
160  edm::LogInfo("L1TGlobal") << "\n '" << gtObject
161  << "' is not a recognized GlobalObject. "
162  << "\n Return ObjNull, which means no valid GlobalObject defined!";
163 
164  gtObjectString = "ObjNull";
165 
166  }
167  break;
168  }
169 
170  return gtObjectString;
171 
172 }
int i
Definition: DBlmapReader.cc:9
l1t::GlobalObject l1TGtObjectStringToEnum(const std::string &)
Definition: GlobalObject.cc:27
GlobalObject
Definition: GlobalObject.h:16
the string to enum and enum to string conversions for GlobalObject
Definition: GlobalObject.h:37
std::string l1TGtObjectEnumToString(const GlobalObject &)
Definition: GlobalObject.cc:76