CMS 3D CMS Logo

TriggerEventWithRefs.h
Go to the documentation of this file.
1 #ifndef HLTReco_TriggerEventWithRefs_h
2 #define HLTReco_TriggerEventWithRefs_h
3 
19 #include <string>
20 #include <vector>
21 
22 namespace trigger {
23 
26 
28  public:
31  public:
65 
68  : filterTag_(),
69  photons_(0),
70  electrons_(0),
71  muons_(0),
72  jets_(0),
73  composites_(0),
74  basemets_(0),
75  calomets_(0),
76  pixtracks_(0),
77  l1em_(0),
78  l1muon_(0),
79  l1jet_(0),
80  l1etmiss_(0),
81  l1hfrings_(0),
82  pfjets_(0),
83  pftaus_(0),
84  pfmets_(0),
85  l1tmuon_(0),
86  l1tmuonShower_(0),
87  l1tegamma_(0),
88  l1tjet_(0),
89  l1ttkmuon_(0),
90  l1ttkele_(0),
91  l1ttkem_(0),
92  l1tpfjet_(0),
93  l1tpftau_(0),
94  l1thpspftau_(0),
95  l1tpftrack_(0),
96  l1ttau_(0),
97  l1tetsum_(0) {
98  filterTag_ = edm::InputTag().encode();
99  }
101  size_type np,
102  size_type ne,
103  size_type nm,
104  size_type nj,
105  size_type nc,
106  size_type nB,
107  size_type nC,
108  size_type nt,
109  size_type l1em,
110  size_type l1muon,
111  size_type l1jet,
112  size_type l1etmiss,
113  size_type l1hfrings,
114  size_type pfjets,
115  size_type pftaus,
116  size_type pfmets,
117  size_type l1tmuon,
118  size_type l1tmuonShower,
119  size_type l1tegamma,
120  size_type l1tjet,
121  size_type l1ttkmuon,
122  size_type l1ttkele,
123  size_type l1ttkem,
124  size_type l1tpfjet,
125  size_type l1tpftau,
126  size_type l1thpspftau,
127  size_type l1tpftrack,
128  size_type l1ttau,
129  size_type l1tetsum)
131  photons_(np),
132  electrons_(ne),
133  muons_(nm),
134  jets_(nj),
135  composites_(nc),
136  basemets_(nB),
137  calomets_(nC),
138  pixtracks_(nt),
139  l1em_(l1em),
140  l1muon_(l1muon),
141  l1jet_(l1jet),
142  l1etmiss_(l1etmiss),
143  l1hfrings_(l1hfrings),
144  pfjets_(pfjets),
145  pftaus_(pftaus),
146  pfmets_(pfmets),
147  l1tmuon_(l1tmuon),
148  l1tmuonShower_(l1tmuonShower),
149  l1tegamma_(l1tegamma),
150  l1tjet_(l1tjet),
151  l1ttkmuon_(l1ttkmuon),
152  l1ttkele_(l1ttkele),
153  l1ttkem_(l1ttkem),
154  l1tpfjet_(l1tpfjet),
155  l1tpftau_(l1tpftau),
156  l1thpspftau_(l1thpspftau),
157  l1tpftrack_(l1tpftrack),
158  l1ttau_(l1ttau),
159  l1tetsum_(l1tetsum) {}
160  };
161 
163  private:
167  std::vector<TriggerFilterObject> filterObjects_;
168 
170  public:
175  filterObjects_.reserve(n);
176  }
177 
180  filterObjects_.push_back(
181 
183  addObjects(tfowr.photonIds(), tfowr.photonRefs()),
184  addObjects(tfowr.electronIds(), tfowr.electronRefs()),
185  addObjects(tfowr.muonIds(), tfowr.muonRefs()),
186  addObjects(tfowr.jetIds(), tfowr.jetRefs()),
187  addObjects(tfowr.compositeIds(), tfowr.compositeRefs()),
188  addObjects(tfowr.basemetIds(), tfowr.basemetRefs()),
189  addObjects(tfowr.calometIds(), tfowr.calometRefs()),
190  addObjects(tfowr.pixtrackIds(), tfowr.pixtrackRefs()),
191  addObjects(tfowr.l1emIds(), tfowr.l1emRefs()),
192  addObjects(tfowr.l1muonIds(), tfowr.l1muonRefs()),
193  addObjects(tfowr.l1jetIds(), tfowr.l1jetRefs()),
194  addObjects(tfowr.l1etmissIds(), tfowr.l1etmissRefs()),
195  addObjects(tfowr.l1hfringsIds(), tfowr.l1hfringsRefs()),
196  addObjects(tfowr.pfjetIds(), tfowr.pfjetRefs()),
197  addObjects(tfowr.pftauIds(), tfowr.pftauRefs()),
198  addObjects(tfowr.pfmetIds(), tfowr.pfmetRefs()),
199  addObjects(tfowr.l1tmuonIds(), tfowr.l1tmuonRefs()),
201  addObjects(tfowr.l1tegammaIds(), tfowr.l1tegammaRefs()),
202  addObjects(tfowr.l1tjetIds(), tfowr.l1tjetRefs()),
203  addObjects(tfowr.l1ttkmuonIds(), tfowr.l1ttkmuonRefs()),
204  addObjects(tfowr.l1ttkeleIds(), tfowr.l1ttkeleRefs()),
205  addObjects(tfowr.l1ttkemIds(), tfowr.l1ttkemRefs()),
206  addObjects(tfowr.l1tpfjetIds(), tfowr.l1tpfjetRefs()),
207  addObjects(tfowr.l1tpftauIds(), tfowr.l1tpftauRefs()),
208  addObjects(tfowr.l1thpspftauIds(), tfowr.l1thpspftauRefs()),
209  addObjects(tfowr.l1tpftrackIds(), tfowr.l1tpftrackRefs()),
210  addObjects(tfowr.l1ttauIds(), tfowr.l1ttauRefs()),
211  addObjects(tfowr.l1tetsumIds(), tfowr.l1tetsumRefs()))
212 
213  );
214  }
215 
217  const std::string& usedProcessName() const { return usedProcessName_; }
218 
220  size_type size() const { return filterObjects_.size(); }
221 
224  return edm::InputTag(filterObjects_.at(filterIndex).filterTag_);
225  }
226 
229  const std::string encodedFilterTag(filterTag.encode());
230  const size_type n(filterObjects_.size());
231  for (size_type i = 0; i != n; ++i) {
232  if (encodedFilterTag == filterObjects_[i].filterTag_) {
233  return i;
234  }
235  }
236  return n;
237  }
238 
240 
241  std::pair<size_type, size_type> photonSlice(size_type filter) const {
242  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).photons_);
243  const size_type end(filterObjects_.at(filter).photons_);
244  return std::pair<size_type, size_type>(begin, end);
245  }
246 
247  std::pair<size_type, size_type> electronSlice(size_type filter) const {
248  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).electrons_);
249  const size_type end(filterObjects_.at(filter).electrons_);
250  return std::pair<size_type, size_type>(begin, end);
251  }
252 
253  std::pair<size_type, size_type> muonSlice(size_type filter) const {
254  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).muons_);
255  const size_type end(filterObjects_.at(filter).muons_);
256  return std::pair<size_type, size_type>(begin, end);
257  }
258 
259  std::pair<size_type, size_type> jetSlice(size_type filter) const {
260  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).jets_);
261  const size_type end(filterObjects_.at(filter).jets_);
262  return std::pair<size_type, size_type>(begin, end);
263  }
264 
265  std::pair<size_type, size_type> compositeSlice(size_type filter) const {
266  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).composites_);
267  const size_type end(filterObjects_.at(filter).composites_);
268  return std::pair<size_type, size_type>(begin, end);
269  }
270 
271  std::pair<size_type, size_type> basemetSlice(size_type filter) const {
272  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).basemets_);
273  const size_type end(filterObjects_.at(filter).basemets_);
274  return std::pair<size_type, size_type>(begin, end);
275  }
276 
277  std::pair<size_type, size_type> calometSlice(size_type filter) const {
278  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).calomets_);
279  const size_type end(filterObjects_.at(filter).calomets_);
280  return std::pair<size_type, size_type>(begin, end);
281  }
282 
283  std::pair<size_type, size_type> pixtrackSlice(size_type filter) const {
284  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pixtracks_);
285  const size_type end(filterObjects_.at(filter).pixtracks_);
286  return std::pair<size_type, size_type>(begin, end);
287  }
288 
289  std::pair<size_type, size_type> l1emSlice(size_type filter) const {
290  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1em_);
291  const size_type end(filterObjects_.at(filter).l1em_);
292  return std::pair<size_type, size_type>(begin, end);
293  }
294 
295  std::pair<size_type, size_type> l1muonSlice(size_type filter) const {
296  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1muon_);
297  const size_type end(filterObjects_.at(filter).l1muon_);
298  return std::pair<size_type, size_type>(begin, end);
299  }
300 
301  std::pair<size_type, size_type> l1jetSlice(size_type filter) const {
302  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1jet_);
303  const size_type end(filterObjects_.at(filter).l1jet_);
304  return std::pair<size_type, size_type>(begin, end);
305  }
306 
307  std::pair<size_type, size_type> l1etmissSlice(size_type filter) const {
308  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1etmiss_);
309  const size_type end(filterObjects_.at(filter).l1etmiss_);
310  return std::pair<size_type, size_type>(begin, end);
311  }
312 
313  std::pair<size_type, size_type> l1hfringsSlice(size_type filter) const {
314  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1hfrings_);
315  const size_type end(filterObjects_.at(filter).l1hfrings_);
316  return std::pair<size_type, size_type>(begin, end);
317  }
318 
319  std::pair<size_type, size_type> pfjetSlice(size_type filter) const {
320  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pfjets_);
321  const size_type end(filterObjects_.at(filter).pfjets_);
322  return std::pair<size_type, size_type>(begin, end);
323  }
324 
325  std::pair<size_type, size_type> pftauSlice(size_type filter) const {
326  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pftaus_);
327  const size_type end(filterObjects_.at(filter).pftaus_);
328  return std::pair<size_type, size_type>(begin, end);
329  }
330 
331  std::pair<size_type, size_type> pfmetSlice(size_type filter) const {
332  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pfmets_);
333  const size_type end(filterObjects_.at(filter).pfmets_);
334  return std::pair<size_type, size_type>(begin, end);
335  }
336 
337  std::pair<size_type, size_type> l1tmuonSlice(size_type filter) const {
338  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tmuon_);
339  const size_type end(filterObjects_.at(filter).l1tmuon_);
340  return std::pair<size_type, size_type>(begin, end);
341  }
342  std::pair<size_type, size_type> l1tmuonShowerSlice(size_type filter) const {
343  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tmuonShower_);
344  const size_type end(filterObjects_.at(filter).l1tmuonShower_);
345  return std::pair<size_type, size_type>(begin, end);
346  }
347  std::pair<size_type, size_type> l1tegammaSlice(size_type filter) const {
348  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tegamma_);
349  const size_type end(filterObjects_.at(filter).l1tegamma_);
350  return std::pair<size_type, size_type>(begin, end);
351  }
352  std::pair<size_type, size_type> l1tjetSlice(size_type filter) const {
353  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tjet_);
354  const size_type end(filterObjects_.at(filter).l1tjet_);
355  return std::pair<size_type, size_type>(begin, end);
356  }
357 
358  /* Phase-2 */
359  std::pair<size_type, size_type> l1ttkmuonSlice(size_type filter) const {
360  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttkmuon_);
361  const size_type end(filterObjects_.at(filter).l1ttkmuon_);
362  return std::pair<size_type, size_type>(begin, end);
363  }
364  std::pair<size_type, size_type> l1ttkeleSlice(size_type filter) const {
365  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttkele_);
366  const size_type end(filterObjects_.at(filter).l1ttkele_);
367  return std::pair<size_type, size_type>(begin, end);
368  }
369  std::pair<size_type, size_type> l1ttkemSlice(size_type filter) const {
370  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttkem_);
371  const size_type end(filterObjects_.at(filter).l1ttkem_);
372  return std::pair<size_type, size_type>(begin, end);
373  }
374  std::pair<size_type, size_type> l1tpfjetSlice(size_type filter) const {
375  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tpfjet_);
376  const size_type end(filterObjects_.at(filter).l1tpfjet_);
377  return std::pair<size_type, size_type>(begin, end);
378  }
379  std::pair<size_type, size_type> l1tpftauSlice(size_type filter) const {
380  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tpftau_);
381  const size_type end(filterObjects_.at(filter).l1tpftau_);
382  return std::pair<size_type, size_type>(begin, end);
383  }
384  std::pair<size_type, size_type> l1thpspftauSlice(size_type filter) const {
385  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1thpspftau_);
386  const size_type end(filterObjects_.at(filter).l1thpspftau_);
387  return std::pair<size_type, size_type>(begin, end);
388  }
389  std::pair<size_type, size_type> l1tpftrackSlice(size_type filter) const {
390  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tpftrack_);
391  const size_type end(filterObjects_.at(filter).l1tpftrack_);
392  return std::pair<size_type, size_type>(begin, end);
393  }
394 
395  std::pair<size_type, size_type> l1ttauSlice(size_type filter) const {
396  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttau_);
397  const size_type end(filterObjects_.at(filter).l1ttau_);
398  return std::pair<size_type, size_type>(begin, end);
399  }
400 
401  std::pair<size_type, size_type> l1tetsumSlice(size_type filter) const {
402  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tetsum_);
403  const size_type end(filterObjects_.at(filter).l1tetsum_);
404  return std::pair<size_type, size_type>(begin, end);
405  }
406 
408 
410  const size_type begin(photonSlice(filter).first);
413  }
414  void getObjects(size_type filter, int id, VRphoton& photons) const {
415  const size_type begin(photonSlice(filter).first);
418  }
419 
421  const size_type begin(electronSlice(filter).first);
424  }
426  const size_type begin(electronSlice(filter).first);
429  }
430 
431  void getObjects(size_type filter, Vids& ids, VRmuon& muons) const {
432  const size_type begin(muonSlice(filter).first);
435  }
436  void getObjects(size_type filter, int id, VRmuon& muons) const {
437  const size_type begin(muonSlice(filter).first);
440  }
441 
442  void getObjects(size_type filter, Vids& ids, VRjet& jets) const {
443  const size_type begin(jetSlice(filter).first);
446  }
447  void getObjects(size_type filter, int id, VRjet& jets) const {
448  const size_type begin(jetSlice(filter).first);
451  }
452 
453  void getObjects(size_type filter, Vids& ids, VRcomposite& composites) const {
454  const size_type begin(compositeSlice(filter).first);
456  TriggerRefsCollections::getObjects(ids, composites, begin, end);
457  }
458  void getObjects(size_type filter, int id, VRcomposite& composites) const {
459  const size_type begin(compositeSlice(filter).first);
461  TriggerRefsCollections::getObjects(id, composites, begin, end);
462  }
463 
464  void getObjects(size_type filter, Vids& ids, VRbasemet& basemets) const {
465  const size_type begin(basemetSlice(filter).first);
467  TriggerRefsCollections::getObjects(ids, basemets, begin, end);
468  }
469  void getObjects(size_type filter, int id, VRbasemet& basemets) const {
470  const size_type begin(basemetSlice(filter).first);
472  TriggerRefsCollections::getObjects(id, basemets, begin, end);
473  }
474 
475  void getObjects(size_type filter, Vids& ids, VRcalomet& calomets) const {
476  const size_type begin(calometSlice(filter).first);
478  TriggerRefsCollections::getObjects(ids, calomets, begin, end);
479  }
480  void getObjects(size_type filter, int id, VRcalomet& calomets) const {
481  const size_type begin(calometSlice(filter).first);
483  TriggerRefsCollections::getObjects(id, calomets, begin, end);
484  }
485 
486  void getObjects(size_type filter, Vids& ids, VRpixtrack& pixtracks) const {
487  const size_type begin(pixtrackSlice(filter).first);
489  TriggerRefsCollections::getObjects(ids, pixtracks, begin, end);
490  }
491  void getObjects(size_type filter, int id, VRpixtrack& pixtracks) const {
492  const size_type begin(pixtrackSlice(filter).first);
494  TriggerRefsCollections::getObjects(id, pixtracks, begin, end);
495  }
496 
497  void getObjects(size_type filter, Vids& ids, VRl1em& l1em) const {
498  const size_type begin(l1emSlice(filter).first);
500  TriggerRefsCollections::getObjects(ids, l1em, begin, end);
501  }
502  void getObjects(size_type filter, int id, VRl1em& l1em) const {
503  const size_type begin(l1emSlice(filter).first);
505  TriggerRefsCollections::getObjects(id, l1em, begin, end);
506  }
507 
508  void getObjects(size_type filter, Vids& ids, VRl1muon& l1muon) const {
509  const size_type begin(l1muonSlice(filter).first);
511  TriggerRefsCollections::getObjects(ids, l1muon, begin, end);
512  }
513  void getObjects(size_type filter, int id, VRl1muon& l1muon) const {
514  const size_type begin(l1muonSlice(filter).first);
516  TriggerRefsCollections::getObjects(id, l1muon, begin, end);
517  }
518 
519  void getObjects(size_type filter, Vids& ids, VRl1jet& l1jet) const {
520  const size_type begin(l1jetSlice(filter).first);
522  TriggerRefsCollections::getObjects(ids, l1jet, begin, end);
523  }
524  void getObjects(size_type filter, int id, VRl1jet& l1jet) const {
525  const size_type begin(l1jetSlice(filter).first);
527  TriggerRefsCollections::getObjects(id, l1jet, begin, end);
528  }
529 
530  void getObjects(size_type filter, Vids& ids, VRl1etmiss& l1etmiss) const {
531  const size_type begin(l1etmissSlice(filter).first);
533  TriggerRefsCollections::getObjects(ids, l1etmiss, begin, end);
534  }
535  void getObjects(size_type filter, int id, VRl1etmiss& l1etmiss) const {
536  const size_type begin(l1etmissSlice(filter).first);
538  TriggerRefsCollections::getObjects(id, l1etmiss, begin, end);
539  }
540 
541  void getObjects(size_type filter, Vids& ids, VRl1hfrings& l1hfrings) const {
542  const size_type begin(l1hfringsSlice(filter).first);
544  TriggerRefsCollections::getObjects(ids, l1hfrings, begin, end);
545  }
546  void getObjects(size_type filter, int id, VRl1hfrings& l1hfrings) const {
547  const size_type begin(l1hfringsSlice(filter).first);
549  TriggerRefsCollections::getObjects(id, l1hfrings, begin, end);
550  }
551 
552  void getObjects(size_type filter, Vids& ids, VRpfjet& pfjets) const {
553  const size_type begin(pfjetSlice(filter).first);
555  TriggerRefsCollections::getObjects(ids, pfjets, begin, end);
556  }
557  void getObjects(size_type filter, int id, VRpfjet& pfjets) const {
558  const size_type begin(pfjetSlice(filter).first);
560  TriggerRefsCollections::getObjects(id, pfjets, begin, end);
561  }
562 
563  void getObjects(size_type filter, Vids& ids, VRpftau& pftaus) const {
564  const size_type begin(pftauSlice(filter).first);
566  TriggerRefsCollections::getObjects(ids, pftaus, begin, end);
567  }
568  void getObjects(size_type filter, int id, VRpftau& pftaus) const {
569  const size_type begin(pftauSlice(filter).first);
571  TriggerRefsCollections::getObjects(id, pftaus, begin, end);
572  }
573 
574  void getObjects(size_type filter, Vids& ids, VRpfmet& pfmets) const {
575  const size_type begin(pfmetSlice(filter).first);
577  TriggerRefsCollections::getObjects(ids, pfmets, begin, end);
578  }
579  void getObjects(size_type filter, int id, VRpfmet& pfmets) const {
580  const size_type begin(pfmetSlice(filter).first);
582  TriggerRefsCollections::getObjects(id, pfmets, begin, end);
583  }
584 
585  void getObjects(size_type filter, Vids& ids, VRl1tmuon& l1tmuon) const {
586  const size_type begin(l1tmuonSlice(filter).first);
588  TriggerRefsCollections::getObjects(ids, l1tmuon, begin, end);
589  }
590  void getObjects(size_type filter, int id, VRl1tmuon& l1tmuon) const {
591  const size_type begin(l1tmuonSlice(filter).first);
593  TriggerRefsCollections::getObjects(id, l1tmuon, begin, end);
594  }
595 
596  void getObjects(size_type filter, Vids& ids, VRl1tmuonShower& l1tmuonShower) const {
599  TriggerRefsCollections::getObjects(ids, l1tmuonShower, begin, end);
600  }
601  void getObjects(size_type filter, int id, VRl1tmuonShower& l1tmuonShower) const {
604  TriggerRefsCollections::getObjects(id, l1tmuonShower, begin, end);
605  }
606 
607  void getObjects(size_type filter, Vids& ids, VRl1tegamma& l1tegamma) const {
608  const size_type begin(l1tegammaSlice(filter).first);
610  TriggerRefsCollections::getObjects(ids, l1tegamma, begin, end);
611  }
612  void getObjects(size_type filter, int id, VRl1tegamma& l1tegamma) const {
613  const size_type begin(l1tegammaSlice(filter).first);
615  TriggerRefsCollections::getObjects(id, l1tegamma, begin, end);
616  }
617 
618  void getObjects(size_type filter, Vids& ids, VRl1tjet& l1tjet) const {
619  const size_type begin(l1tjetSlice(filter).first);
621  TriggerRefsCollections::getObjects(ids, l1tjet, begin, end);
622  }
623  void getObjects(size_type filter, int id, VRl1tjet& l1tjet) const {
624  const size_type begin(l1tjetSlice(filter).first);
626  TriggerRefsCollections::getObjects(id, l1tjet, begin, end);
627  }
628 
629  /* Phase-2 */
630  void getObjects(size_type filter, Vids& ids, VRl1ttkmuon& l1ttkmuon) const {
631  const size_type begin(l1ttkmuonSlice(filter).first);
633  TriggerRefsCollections::getObjects(ids, l1ttkmuon, begin, end);
634  }
635  void getObjects(size_type filter, int id, VRl1ttkmuon& l1ttkmuon) const {
636  const size_type begin(l1ttkmuonSlice(filter).first);
638  TriggerRefsCollections::getObjects(id, l1ttkmuon, begin, end);
639  }
640 
641  void getObjects(size_type filter, Vids& ids, VRl1ttkele& l1ttkele) const {
642  const size_type begin(l1ttkeleSlice(filter).first);
644  TriggerRefsCollections::getObjects(ids, l1ttkele, begin, end);
645  }
646  void getObjects(size_type filter, int id, VRl1ttkele& l1ttkele) const {
647  const size_type begin(l1ttkeleSlice(filter).first);
649  TriggerRefsCollections::getObjects(id, l1ttkele, begin, end);
650  }
651 
652  void getObjects(size_type filter, Vids& ids, VRl1ttkem& l1ttkem) const {
653  const size_type begin(l1ttkemSlice(filter).first);
655  TriggerRefsCollections::getObjects(ids, l1ttkem, begin, end);
656  }
657  void getObjects(size_type filter, int id, VRl1ttkem& l1ttkem) const {
658  const size_type begin(l1ttkemSlice(filter).first);
660  TriggerRefsCollections::getObjects(id, l1ttkem, begin, end);
661  }
662 
663  void getObjects(size_type filter, Vids& ids, VRl1tpfjet& l1tpfjet) const {
664  const size_type begin(l1tpfjetSlice(filter).first);
666  TriggerRefsCollections::getObjects(ids, l1tpfjet, begin, end);
667  }
668  void getObjects(size_type filter, int id, VRl1tpfjet& l1tpfjet) const {
669  const size_type begin(l1tpfjetSlice(filter).first);
671  TriggerRefsCollections::getObjects(id, l1tpfjet, begin, end);
672  }
673 
674  void getObjects(size_type filter, Vids& ids, VRl1tpftau& l1tpftau) const {
675  const size_type begin(l1tpftauSlice(filter).first);
677  TriggerRefsCollections::getObjects(ids, l1tpftau, begin, end);
678  }
679  void getObjects(size_type filter, int id, VRl1tpftau& l1tpftau) const {
680  const size_type begin(l1tpftauSlice(filter).first);
682  TriggerRefsCollections::getObjects(id, l1tpftau, begin, end);
683  }
684 
685  void getObjects(size_type filter, Vids& ids, VRl1thpspftau& l1thpspftau) const {
686  const size_type begin(l1thpspftauSlice(filter).first);
688  TriggerRefsCollections::getObjects(ids, l1thpspftau, begin, end);
689  }
690  void getObjects(size_type filter, int id, VRl1thpspftau& l1thpspftau) const {
691  const size_type begin(l1thpspftauSlice(filter).first);
693  TriggerRefsCollections::getObjects(id, l1thpspftau, begin, end);
694  }
695 
696  void getObjects(size_type filter, Vids& ids, VRl1tpftrack& l1tpftrack) const {
697  const size_type begin(l1tpftrackSlice(filter).first);
699  TriggerRefsCollections::getObjects(ids, l1tpftrack, begin, end);
700  }
701  void getObjects(size_type filter, int id, VRl1tpftrack& l1tpftrack) const {
702  const size_type begin(l1tpftrackSlice(filter).first);
704  TriggerRefsCollections::getObjects(id, l1tpftrack, begin, end);
705  }
706 
707  void getObjects(size_type filter, Vids& ids, VRl1ttau& l1ttau) const {
708  const size_type begin(l1ttauSlice(filter).first);
710  TriggerRefsCollections::getObjects(ids, l1ttau, begin, end);
711  }
712  void getObjects(size_type filter, int id, VRl1ttau& l1ttau) const {
713  const size_type begin(l1ttauSlice(filter).first);
715  TriggerRefsCollections::getObjects(id, l1ttau, begin, end);
716  }
717 
718  void getObjects(size_type filter, Vids& ids, VRl1tetsum& l1tetsum) const {
719  const size_type begin(l1tetsumSlice(filter).first);
721  TriggerRefsCollections::getObjects(ids, l1tetsum, begin, end);
722  }
723  void getObjects(size_type filter, int id, VRl1tetsum& l1tetsum) const {
724  const size_type begin(l1tetsumSlice(filter).first);
726  TriggerRefsCollections::getObjects(id, l1tetsum, begin, end);
727  }
728  };
729 
730 } // namespace trigger
731 
732 #endif
const std::string & usedProcessName() const
getters - for user access
const VRcomposite & compositeRefs() const
const VRl1tpftrack & l1tpftrackRefs() const
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
void getObjects(size_type filter, int id, VRl1tjet &l1tjet) const
size_type addObjects(const Vids &ids, const VRphoton &refs)
const VRpixtrack & pixtrackRefs() const
void getObjects(size_type filter, Vids &ids, VRpftau &pftaus) const
void getObjects(size_type filter, int id, VRmuon &muons) const
void getObjects(size_type filter, int id, VRl1tmuonShower &l1tmuonShower) const
void getObjects(size_type filter, Vids &ids, VRelectron &electrons) const
std::vector< TriggerFilterObject > filterObjects_
the filters recorded here
void getObjects(size_type filter, Vids &ids, VRl1thpspftau &l1thpspftau) const
const VRl1tmuon & l1tmuonRefs() const
void getObjects(size_type filter, int id, VRcalomet &calomets) const
void getObjects(size_type filter, Vids &ids, VRjet &jets) const
std::pair< size_type, size_type > compositeSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1tpfjet &l1tpfjet) const
void getObjects(size_type filter, Vids &ids, VRpixtrack &pixtracks) const
void getObjects(size_type filter, int id, VRl1em &l1em) const
void addFilterObject(const edm::InputTag &filterTag, const TriggerFilterObjectWithRefs &tfowr)
setters - to build EDProduct
std::pair< size_type, size_type > calometSlice(size_type filter) const
std::string encode() const
Definition: InputTag.cc:159
l1t::EGammaVectorRef VRl1tegamma
void getObjects(size_type filter, Vids &ids, VRpfmet &pfmets) const
void getObjects(size_type filter, Vids &ids, VRl1tjet &l1tjet) const
std::pair< size_type, size_type > l1tpftrackSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1tmuon &l1tmuon) const
std::vector< reco::METRef > VRbasemet
std::pair< size_type, size_type > l1ttkeleSlice(size_type filter) const
std::pair< size_type, size_type > l1jetSlice(size_type filter) const
l1t::TkMuonVectorRef VRl1ttkmuon
std::pair< size_type, size_type > l1thpspftauSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1tetsum &l1tetsum) const
void getObjects(size_type filter, int id, VRl1tpftau &l1tpftau) const
l1t::JetVectorRef VRl1tjet
std::string usedProcessName_
data members
std::pair< size_type, size_type > l1hfringsSlice(size_type filter) const
void getObjects(size_type filter, int id, VRpixtrack &pixtracks) const
void getObjects(size_type filter, int id, VRl1muon &l1muon) const
std::pair< size_type, size_type > l1tpftauSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1tmuonShower &l1tmuonShower) const
std::pair< size_type, size_type > l1tetsumSlice(size_type filter) const
uint16_t size_type
std::pair< size_type, size_type > pftauSlice(size_type filter) const
void getObjects(size_type filter, int id, VRpfmet &pfmets) const
void getObjects(size_type filter, int id, VRpftau &pftaus) const
void getObjects(size_type filter, int id, VRbasemet &basemets) const
std::vector< l1extra::L1MuonParticleRef > VRl1muon
const VRelectron & electronRefs() const
void getObjects(size_type filter, Vids &ids, VRl1jet &l1jet) const
void getObjects(size_type filter, int id, VRelectron &electrons) const
const VRl1ttkmuon & l1ttkmuonRefs() const
void getObjects(size_type filter, Vids &ids, VRmuon &muons) const
void getObjects(size_type filter, int id, VRl1ttkmuon &l1ttkmuon) const
U second(std::pair< T, U > const &p)
std::pair< size_type, size_type > pixtrackSlice(size_type filter) const
std::vector< l1extra::L1HFRingsRef > VRl1hfrings
std::vector< reco::IsolatedPixelTrackCandidateRef > VRpixtrack
std::pair< size_type, size_type > l1muonSlice(size_type filter) const
std::vector< l1extra::L1EtMissParticleRef > VRl1etmiss
void getObjects(size_type filter, int id, VRphoton &photons) const
const VRl1tpfjet & l1tpfjetRefs() const
const edm::InputTag filterTag(size_type filterIndex) const
tag from index
l1t::PFTrackVectorRef VRl1tpftrack
int np
Definition: AMPTWrapper.h:43
std::pair< size_type, size_type > l1ttkemSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRpfjet &pfjets) const
size_type filterIndex(const edm::InputTag &filterTag) const
index from tag
void getObjects(size_type filter, int id, VRl1thpspftau &l1thpspftau) const
l1t::PFTauVectorRef VRl1tpftau
const VRl1etmiss & l1etmissRefs() const
std::pair< size_type, size_type > l1tjetSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1muon &l1muon) const
l1t::TkEmVectorRef VRl1ttkem
const VRl1tegamma & l1tegammaRefs() const
const VRbasemet & basemetRefs() const
std::pair< size_type, size_type > jetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1tetsum &l1tetsum) const
void getObjects(size_type filter, Vids &ids, VRl1em &l1em) const
const VRl1tmuonShower & l1tmuonShowerRefs() const
std::vector< l1extra::L1EmParticleRef > VRl1em
TriggerFilterObject(const edm::InputTag &filterTag, size_type np, size_type ne, size_type nm, size_type nj, size_type nc, size_type nB, size_type nC, size_type nt, size_type l1em, size_type l1muon, size_type l1jet, size_type l1etmiss, size_type l1hfrings, size_type pfjets, size_type pftaus, size_type pfmets, size_type l1tmuon, size_type l1tmuonShower, size_type l1tegamma, size_type l1tjet, size_type l1ttkmuon, size_type l1ttkele, size_type l1ttkem, size_type l1tpfjet, size_type l1tpftau, size_type l1thpspftau, size_type l1tpftrack, size_type l1ttau, size_type l1tetsum)
void getObjects(size_type filter, int id, VRjet &jets) const
std::pair< size_type, size_type > photonSlice(size_type filter) const
slices of objects for a specific filter: [begin,end[
void getObjects(size_type filter, Vids &ids, VRcomposite &composites) const
int nt
Definition: AMPTWrapper.h:42
void getObjects(size_type filter, int id, VRl1tmuon &l1tmuon) const
l1t::HPSPFTauVectorRef VRl1thpspftau
void getObjects(size_type filter, int id, VRl1ttau &l1ttau) const
void getObjects(size_type filter, int id, VRl1ttkele &l1ttkele) const
void getObjects(size_type filter, int id, VRl1jet &l1jet) const
void getObjects(size_type filter, Vids &ids, VRl1ttkmuon &l1ttkmuon) const
const VRl1hfrings & l1hfringsRefs() const
void getObjects(size_type filter, int id, VRl1tpfjet &l1tpfjet) const
std::vector< reco::CaloJetRef > VRjet
std::pair< size_type, size_type > l1tegammaSlice(size_type filter) const
std::pair< size_type, size_type > l1etmissSlice(size_type filter) const
std::vector< reco::PFJetRef > VRpfjet
void getObjects(size_type filter, Vids &ids, VRl1etmiss &l1etmiss) const
std::pair< size_type, size_type > l1tpfjetSlice(size_type filter) const
const VRl1ttkele & l1ttkeleRefs() const
std::pair< size_type, size_type > l1emSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1tpftrack &l1tpftrack) const
std::pair< size_type, size_type > muonSlice(size_type filter) const
def encode(args, files)
void getObjects(size_type filter, Vids &ids, VRcalomet &calomets) const
std::vector< reco::CompositeCandidateRef > VRcomposite
l1t::MuonVectorRef VRl1tmuon
std::pair< size_type, size_type > l1ttauSlice(size_type filter) const
size_type size() const
number of filters
void getObjects(size_type filter, Vids &ids, VRl1ttau &l1ttau) const
std::vector< reco::RecoChargedCandidateRef > VRmuon
void getObjects(size_type filter, Vids &ids, VRl1ttkem &l1ttkem) const
const VRcalomet & calometRefs() const
TriggerEventWithRefs(const std::string &usedProcessName, size_type n)
const VRl1tetsum & l1tetsumRefs() const
std::pair< size_type, size_type > l1tmuonSlice(size_type filter) const
std::pair< size_type, size_type > l1ttkmuonSlice(size_type filter) const
l1t::TauVectorRef VRl1ttau
std::vector< reco::ElectronRef > VRelectron
std::pair< size_type, size_type > pfmetSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1tpftau &l1tpftau) const
void getObjects(size_type filter, Vids &ids, VRbasemet &basemets) const
std::vector< reco::PFMETRef > VRpfmet
void getObjects(size_type filter, Vids &ids, VRl1hfrings &l1hfrings) const
const VRl1thpspftau & l1thpspftauRefs() const
void getObjects(size_type filter, int id, VRl1etmiss &l1etmiss) const
void getObjects(size_type filter, int id, VRl1hfrings &l1hfrings) const
std::vector< reco::CaloMETRef > VRcalomet
l1t::MuonShowerVectorRef VRl1tmuonShower
Helper class: trigger objects firing a single filter.
void getObjects(size_type filter, Vids &ids, VRl1tpftrack &l1tpftrack) const
const VRl1tpftau & l1tpftauRefs() const
const VRl1ttkem & l1ttkemRefs() const
l1t::EtSumVectorRef VRl1tetsum
std::vector< reco::RecoEcalCandidateRef > VRphoton
l1t::PFJetVectorRef VRl1tpfjet
void getObjects(size_type filter, int id, VRl1ttkem &l1ttkem) const
std::vector< l1extra::L1JetParticleRef > VRl1jet
void getObjects(size_type filter, int id, VRcomposite &composites) const
std::vector< int > Vids
void getObjects(size_type filter, int id, VRl1tegamma &l1tegamma) const
std::vector< reco::PFTauRef > VRpftau
std::pair< size_type, size_type > pfjetSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1ttkele &l1ttkele) const
std::pair< size_type, size_type > electronSlice(size_type filter) const
std::pair< size_type, size_type > l1tmuonShowerSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRphoton &photons) const
extract Ref<C>s for a specific filter and of specific physics type
void getObjects(size_type filter, Vids &ids, VRl1tegamma &l1tegamma) const
std::pair< size_type, size_type > basemetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRpfjet &pfjets) const
l1t::TkElectronVectorRef VRl1ttkele
std::string filterTag_
encoded InputTag of filter product