CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
GlobalCondition.cc
Go to the documentation of this file.
1 
17 // this class header
19 
20 // system include files
21 
22 // user include files
23 
24 // forward declarations
25 
26 
27 // constructor
28 // empty
30 {
31 
34  m_condChipNr = -1;
35  m_condRelativeBx = 0;
36 
37  // the rest of private members are C++ initialized
38 }
39 
40 // constructor from condition name
42 {
43  m_condName = cName;
44 
47  m_condChipNr = -1;
48  m_condRelativeBx = 0;
49 
50 }
51 
52 // constructor from condition name, category and type
54  const l1t::GtConditionCategory& cCategory,
55  const l1t::GtConditionType& cType)
56 {
57 
58  m_condName = cName;
59  m_condCategory = cCategory;
60  m_condType = cType;
61 
62  m_condChipNr = -1;
63  m_condRelativeBx = 0;
64 
65 }
66 
67 
68 
70 {
71  // empty
72 }
73 
74 // get number of trigger objects
75 const int GlobalCondition::nrObjects() const
76 {
77 
78  switch (m_condType) {
79 
80  case l1t::TypeNull:
81  case l1t::TypeExternal: {
82  return 0;
83  }
84 
85  break;
86  case l1t::Type1s: {
87  return 1;
88  }
89 
90  break;
91  case l1t::Type2s:
92  case l1t::Type2wsc:
93  case l1t::Type2cor: {
94  return 2;
95  }
96 
97  break;
98  case l1t::Type3s: {
99  return 3;
100  }
101 
102  break;
103  case l1t::Type4s: {
104  return 4;
105  }
106 
107  break;
108  case l1t::TypeETT:
109  case l1t::TypeETM:
110  case l1t::TypeHTT:
111  case l1t::TypeHTM:
112  case l1t::TypeETM2:
113  case l1t::TypeMinBias: {
114  return 1;
115  }
116 
117  break;
118  default: {
119  // TODO no such type, throw exception?
120  return 0;
121  }
122  break;
123  }
124 
125 }
126 
127 // get logic flag for conditions, same type of trigger objects,
128 // and with spatial correlations
129 const bool GlobalCondition::wsc() const
130 {
131 
132  if (m_condType == l1t::Type2wsc) {
133  return true;
134  }
135 
136  return false;
137 }
138 
139 // get logic flag for conditions, different type of trigger objects,
140 // and with spatial correlations
141 const bool GlobalCondition::corr() const
142 {
143 
144  if (m_condType == l1t::Type2cor) {
145  return true;
146  }
147 
148  return false;
149 }
150 
151 // print condition
152 void GlobalCondition::print(std::ostream& myCout) const
153 {
154 
155  myCout << "\n Condition name: " << m_condName << std::endl;
156 
157  switch (m_condCategory) {
158  case l1t::CondNull: {
159  myCout << " Condition category: " << "l1t::CondNull"
160  << " - it means not defined!"
161  << std::endl;
162  }
163 
164  break;
165  case l1t::CondMuon: {
166  myCout << " Condition category: " << "l1t::CondMuon" << std::endl;
167  }
168 
169  break;
170  case l1t::CondCalo: {
171  myCout << " Condition category: " << "l1t::CondCalo" << std::endl;
172  }
173 
174  break;
175  case l1t::CondEnergySum: {
176  myCout << " Condition category: " << "CondEnergySum" << std::endl;
177  }
178 
179  break;
180  case l1t::CondCorrelation: {
181  myCout << " Condition category: " << "CondCorrelation" << std::endl;
182  }
183 
184  break;
185  case l1t::CondExternal: {
186  myCout << " Condition category: " << "CondExternal" << std::endl;
187  }
188 
189  break;
190  default: {
191  myCout << " Condition category: " << m_condCategory
192  << " - no such category defined. Check l1t::GtConditionCategory enum."
193  << std::endl;
194 
195  }
196  break;
197  }
198 
199  switch (m_condType) {
200 
201  case l1t::TypeNull: {
202  myCout << " Condition type: " << "l1t::TypeNull"
203  << " - it means not defined!"
204  << std::endl;
205  }
206 
207  break;
208  case l1t::Type1s: {
209  myCout << " Condition type: " << "l1t::Type1s" << std::endl;
210  }
211 
212  break;
213  case l1t::Type2s: {
214  myCout << " Condition type: " << "l1t::Type2s" << std::endl;
215  }
216 
217  break;
218  case l1t::Type2wsc: {
219  myCout << " Condition type: " << "l1t::Type2wsc" << std::endl;
220  }
221 
222  break;
223  case l1t::Type2cor: {
224  myCout << " Condition type: " << "l1t::Type2cor" << std::endl;
225  }
226 
227  break;
228  case l1t::Type3s: {
229  myCout << " Condition type: " << "l1t::Type3s" << std::endl;
230  }
231 
232  break;
233  case l1t::Type4s: {
234  myCout << " Condition type: " << "l1t::Type4s" << std::endl;
235  }
236 
237  break;
238  case l1t::TypeETM: {
239  myCout << " Condition type: " << "TypeETM" << std::endl;
240  }
241 
242  break;
243  case l1t::TypeETT: {
244  myCout << " Condition type: " << "TypeETT" << std::endl;
245  }
246 
247  break;
248  case l1t::TypeHTT: {
249  myCout << " Condition type: " << "TypeHTT" << std::endl;
250  }
251 
252  break;
253  case l1t::TypeHTM: {
254  myCout << " Condition type: " << "TypeHTM" << std::endl;
255  }
256 
257  case l1t::TypeETM2: {
258  myCout << " Condition type: " << "TypeETM2" << std::endl;
259  }
260 
261  case l1t::TypeMinBias: {
262  myCout << " Condition type: " << "TypeMinBias" << std::endl;
263  }
264 
265  break;
266  case l1t::TypeExternal: {
267  myCout << " Condition type: " << "TypeExternal" << std::endl;
268  }
269 
270  break;
271  default: {
272  myCout << " Condition type: " << m_condType
273  << " - no such type defined. Check l1t::GtConditionType enum."
274  << std::endl;
275  }
276  break;
277  }
278 
279 
280  myCout << " Object types: ";
281 
282  for (unsigned int i = 0; i < m_objectType.size(); ++i) {
283 
284  switch (m_objectType[i]) {
285  case l1t::gtMu: {
286  myCout << " Mu ";
287  }
288 
289  break;
290  case l1t::gtEG: {
291  myCout << " EG ";
292  }
293 
294  break;
295 
296  case l1t::gtJet: {
297  myCout << " Jet ";
298  }
299 
300  break;
301 
302  case l1t::gtTau: {
303  myCout << " Tau ";
304  }
305 
306  break;
307  case l1t::gtETM: {
308  myCout << " ETM ";
309  }
310 
311  break;
312  case l1t::gtETT: {
313  myCout << " ETT ";
314  }
315 
316  break;
317  case l1t::gtHTT: {
318  myCout << " HTT ";
319  }
320 
321  break;
322  case l1t::gtHTM: {
323  myCout << " HTM ";
324  }
325 
326  break;
327 
328  case l1t::gtETM2: {
329  myCout << " ETM2 ";
330  }
331 
332  case l1t::gtMinBias: {
333  myCout << " MinBias ";
334  }
335 
336 
337  case l1t::gtExternal: {
338  myCout << " External ";
339  }
340 
341  break;
342  default: {
343  myCout << " Unknown type " << m_objectType[i];
344  }
345  break;
346  }
347  }
348 
349  myCout << std::endl;
350 
351  myCout << " \" >= \" flag: " << m_condGEq << std::endl;
352 
353  myCout << " Condition chip: " << m_condChipNr;
354 
355  if (m_condChipNr < 0) {
356  myCout << " - not properly initialized! ";
357  }
358 
359  myCout << std::endl;
360 
361  myCout << " Relative BX: " << m_condRelativeBx << std::endl;
362 
363 }
364 
365 // output stream operator
366 std::ostream& operator<<(std::ostream& os, const GlobalCondition& result)
367 {
368  result.print(os);
369  return os;
370 
371 }
372 
const int nrObjects() const
get number of trigger objects
int i
Definition: DBlmapReader.cc:9
bool m_condGEq
the operator used for the condition (&gt;=, =): true for &gt;=
std::vector< GlobalObject > m_objectType
the trigger object type(s)
const bool wsc() const
std::ostream & operator<<(std::ostream &out, const ALILine &li)
Definition: ALILine.cc:187
virtual ~GlobalCondition()
destructor
tuple result
Definition: mps_fire.py:95
GtConditionCategory
condition categories
std::string m_condName
the name of the condition
int m_condChipNr
condition is located on condition chip m_condChipNr
l1t::GtConditionCategory m_condCategory
the category of the condition
virtual void print(std::ostream &myCout) const
print condition
const bool corr() const
l1t::GtConditionType m_condType
the type of the condition (1s, etc)