CMS 3D CMS Logo

FFTJetCorrTypes.h
Go to the documentation of this file.
1 #ifndef CondFormats_JetMETObjects_FFTJetCorrTypes_h
2 #define CondFormats_JetMETObjects_FFTJetCorrTypes_h
3 
4 // FFTJet jet correction types. These types are essentially just
5 // labels for ES records -- all ES record types must be unique.
6 //
7 // Why do we need this many correction types, there are, after all,
8 // only several jet types in the system? The problem is really with
9 // the event setup (ES) record dependency tracking. The dependency
10 // tracking works for types only, there appears to be no way to add
11 // record labels to the ES dependency tracking mechanism. It would
12 // be very nice if we could say that record of type R1 with label L1
13 // depends on record of type R2 with label L2. Then we could use only
14 // the types we really need for R1 and R2 and use labels to distinguish
15 // different records of the same type. Alas, things are not designed
16 // this way -- we can only say that type R1 depends on type R2.
17 // This means that we need to create as many R1 and R2 types as the
18 // number of distinct R1 records one expects to use, even though all
19 // records of type R2 could be associated with the same underlying
20 // data structure type.
21 //
22 // Of course, to actually create these records one would use
23 // a templated ESProducer, and the corresponding "produce" method
24 // (or the whole producer class) would have to be instantiated for
25 // every record type if we want to avoid changing the code and
26 // recompiling things every time we want to add a new jet correction.
27 // Such a nuisance.
28 //
29 // Igor Volobouev
30 // Aug 3, 2012
31 
32 namespace fftcorrtypes
33 {
34  //
35  // Fundamental records for jet correction factors
36  //
37  struct BasicJet
38  {
39  enum {value = 0};
40  inline static const char* classname() {return "BasicJet";}
41  };
42 
43  struct GenJet
44  {
45  enum {value = 1};
46  inline static const char* classname() {return "GenJet";}
47  };
48 
49  struct CaloJet
50  {
51  enum {value = 2};
52  inline static const char* classname() {return "CaloJet";}
53  };
54 
55  struct PFJet
56  {
57  enum {value = 3};
58  inline static const char* classname() {return "PFJet";}
59  };
60 
61  struct TrackJet
62  {
63  enum {value = 4};
64  inline static const char* classname() {return "TrackJet";}
65  };
66 
67  struct JPTJet
68  {
69  enum {value = 5};
70  inline static const char* classname() {return "JPTJet";}
71  };
72 
73  struct PFCHS0
74  {
75  enum {value = 6};
76  inline static const char* classname() {return "PFCHS0";}
77  };
78 
79  struct PFCHS1
80  {
81  enum {value = 7};
82  inline static const char* classname() {return "PFCHS1";}
83  };
84 
85  struct PFCHS2
86  {
87  enum {value = 8};
88  inline static const char* classname() {return "PFCHS2";}
89  };
90 
91  //
92  // Fundamental records for jet correction systematic errors
93  //
94  struct BasicJetSys
95  {
96  enum {value = 9};
97  inline static const char* classname() {return "BasicJetSys";}
98  };
99 
100  struct GenJetSys
101  {
102  enum {value = 10};
103  inline static const char* classname() {return "GenJetSys";}
104  };
105 
106  struct CaloJetSys
107  {
108  enum {value = 11};
109  inline static const char* classname() {return "CaloJetSys";}
110  };
111 
112  struct PFJetSys
113  {
114  enum {value = 12};
115  inline static const char* classname() {return "PFJetSys";}
116  };
117 
118  struct TrackJetSys
119  {
120  enum {value = 13};
121  inline static const char* classname() {return "TrackJetSys";}
122  };
123 
124  struct JPTJetSys
125  {
126  enum {value = 14};
127  inline static const char* classname() {return "JPTJetSys";}
128  };
129 
130  struct PFCHS0Sys
131  {
132  enum {value = 15};
133  inline static const char* classname() {return "PFCHS0Sys";}
134  };
135 
136  struct PFCHS1Sys
137  {
138  enum {value = 16};
139  inline static const char* classname() {return "PFCHS1Sys";}
140  };
141 
142  struct PFCHS2Sys
143  {
144  enum {value = 17};
145  inline static const char* classname() {return "PFCHS2Sys";}
146  };
147 
148  //
149  // General pool of records -- it is nice not to have to
150  // recompile everything when one just wants to include
151  // an additional correction table on top of those already
152  // made.
153  //
154  struct Gen0
155  {
156  enum {value = 18};
157  inline static const char* classname() {return "Gen0";}
158  };
159 
160  struct Gen1
161  {
162  enum {value = 19};
163  inline static const char* classname() {return "Gen1";}
164  };
165 
166  struct Gen2
167  {
168  enum {value = 20};
169  inline static const char* classname() {return "Gen2";}
170  };
171 
172  struct PF0
173  {
174  enum {value = 21};
175  inline static const char* classname() {return "PF0";}
176  };
177 
178  struct PF1
179  {
180  enum {value = 22};
181  inline static const char* classname() {return "PF1";}
182  };
183 
184  struct PF2
185  {
186  enum {value = 23};
187  inline static const char* classname() {return "PF2";}
188  };
189 
190  struct PF3
191  {
192  enum {value = 24};
193  inline static const char* classname() {return "PF3";}
194  };
195 
196  struct PF4
197  {
198  enum {value = 25};
199  inline static const char* classname() {return "PF4";}
200  };
201 
202  struct Calo0
203  {
204  enum {value = 26};
205  inline static const char* classname() {return "Calo0";}
206  };
207 
208  struct Calo1
209  {
210  enum {value = 27};
211  inline static const char* classname() {return "Calo1";}
212  };
213 
214  struct Calo2
215  {
216  enum {value = 28};
217  inline static const char* classname() {return "Calo2";}
218  };
219 
220  struct Calo3
221  {
222  enum {value = 29};
223  inline static const char* classname() {return "Calo3";}
224  };
225 
226  struct Calo4
227  {
228  enum {value = 30};
229  inline static const char* classname() {return "Calo4";}
230  };
231 
232  //
233  // Pool of records for calculating systematic errors
234  //
235  struct Gen0Sys
236  {
237  enum {value = 31};
238  inline static const char* classname() {return "Gen0Sys";}
239  };
240 
241  struct Gen1Sys
242  {
243  enum {value = 32};
244  inline static const char* classname() {return "Gen1Sys";}
245  };
246 
247  struct Gen2Sys
248  {
249  enum {value = 33};
250  inline static const char* classname() {return "Gen2Sys";}
251  };
252 
253  struct PF0Sys
254  {
255  enum {value = 34};
256  inline static const char* classname() {return "PF0Sys";}
257  };
258 
259  struct PF1Sys
260  {
261  enum {value = 35};
262  inline static const char* classname() {return "PF1Sys";}
263  };
264 
265  struct PF2Sys
266  {
267  enum {value = 36};
268  inline static const char* classname() {return "PF2Sys";}
269  };
270 
271  struct PF3Sys
272  {
273  enum {value = 37};
274  inline static const char* classname() {return "PF3Sys";}
275  };
276 
277  struct PF4Sys
278  {
279  enum {value = 38};
280  inline static const char* classname() {return "PF4Sys";}
281  };
282 
283  struct PF5Sys
284  {
285  enum {value = 39};
286  inline static const char* classname() {return "PF5Sys";}
287  };
288 
289  struct PF6Sys
290  {
291  enum {value = 40};
292  inline static const char* classname() {return "PF6Sys";}
293  };
294 
295  struct PF7Sys
296  {
297  enum {value = 41};
298  inline static const char* classname() {return "PF7Sys";}
299  };
300 
301  struct PF8Sys
302  {
303  enum {value = 42};
304  inline static const char* classname() {return "PF8Sys";}
305  };
306 
307  struct PF9Sys
308  {
309  enum {value = 43};
310  inline static const char* classname() {return "PF9Sys";}
311  };
312 
313  struct Calo0Sys
314  {
315  enum {value = 44};
316  inline static const char* classname() {return "Calo0Sys";}
317  };
318 
319  struct Calo1Sys
320  {
321  enum {value = 45};
322  inline static const char* classname() {return "Calo1Sys";}
323  };
324 
325  struct Calo2Sys
326  {
327  enum {value = 46};
328  inline static const char* classname() {return "Calo2Sys";}
329  };
330 
331  struct Calo3Sys
332  {
333  enum {value = 47};
334  inline static const char* classname() {return "Calo3Sys";}
335  };
336 
337  struct Calo4Sys
338  {
339  enum {value = 48};
340  inline static const char* classname() {return "Calo4Sys";}
341  };
342 
343  struct Calo5Sys
344  {
345  enum {value = 49};
346  inline static const char* classname() {return "Calo5Sys";}
347  };
348 
349  struct Calo6Sys
350  {
351  enum {value = 50};
352  inline static const char* classname() {return "Calo6Sys";}
353  };
354 
355  struct Calo7Sys
356  {
357  enum {value = 51};
358  inline static const char* classname() {return "Calo7Sys";}
359  };
360 
361  struct Calo8Sys
362  {
363  enum {value = 52};
364  inline static const char* classname() {return "Calo8Sys";}
365  };
366 
367  struct Calo9Sys
368  {
369  enum {value = 53};
370  inline static const char* classname() {return "Calo9Sys";}
371  };
372 
373  struct CHS0Sys
374  {
375  enum {value = 54};
376  inline static const char* classname() {return "CHS0Sys";}
377  };
378 
379  struct CHS1Sys
380  {
381  enum {value = 55};
382  inline static const char* classname() {return "CHS1Sys";}
383  };
384 
385  struct CHS2Sys
386  {
387  enum {value = 56};
388  inline static const char* classname() {return "CHS2Sys";}
389  };
390 
391  struct CHS3Sys
392  {
393  enum {value = 57};
394  inline static const char* classname() {return "CHS3Sys";}
395  };
396 
397  struct CHS4Sys
398  {
399  enum {value = 58};
400  inline static const char* classname() {return "CHS4Sys";}
401  };
402 
403  struct CHS5Sys
404  {
405  enum {value = 59};
406  inline static const char* classname() {return "CHS5Sys";}
407  };
408 
409  struct CHS6Sys
410  {
411  enum {value = 60};
412  inline static const char* classname() {return "CHS6Sys";}
413  };
414 
415  struct CHS7Sys
416  {
417  enum {value = 61};
418  inline static const char* classname() {return "CHS7Sys";}
419  };
420 
421  struct CHS8Sys
422  {
423  enum {value = 62};
424  inline static const char* classname() {return "CHS8Sys";}
425  };
426 
427  struct CHS9Sys
428  {
429  enum {value = 63};
430  inline static const char* classname() {return "CHS9Sys";}
431  };
432 }
433 
434 #endif // CondFormats_JetMETObjects_FFTJetCorrTypes_h
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
Definition: value.py:1
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()
static const char * classname()