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:
57 
60  : filterTag_(),
61  photons_(0),
62  electrons_(0),
63  muons_(0),
64  jets_(0),
65  composites_(0),
66  basemets_(0),
67  calomets_(0),
68  pixtracks_(0),
69  l1em_(0),
70  l1muon_(0),
71  l1jet_(0),
72  l1etmiss_(0),
73  l1hfrings_(0),
74  pfjets_(0),
75  pftaus_(0),
76  pfmets_(0),
77  l1tmuon_(0),
78  l1tegamma_(0),
79  l1tjet_(0),
80  l1ttau_(0),
81  l1tetsum_(0) {
82  filterTag_ = edm::InputTag().encode();
83  }
85  size_type np,
86  size_type ne,
87  size_type nm,
88  size_type nj,
89  size_type nc,
90  size_type nB,
91  size_type nC,
92  size_type nt,
93  size_type l1em,
94  size_type l1muon,
95  size_type l1jet,
96  size_type l1etmiss,
97  size_type l1hfrings,
98  size_type pfjets,
99  size_type pftaus,
100  size_type pfmets,
101  size_type l1tmuon,
102  size_type l1tegamma,
103  size_type l1tjet,
104  size_type l1ttau,
105  size_type l1tetsum)
106  : filterTag_(filterTag.encode()),
107  photons_(np),
108  electrons_(ne),
109  muons_(nm),
110  jets_(nj),
111  composites_(nc),
112  basemets_(nB),
113  calomets_(nC),
114  pixtracks_(nt),
115  l1em_(l1em),
116  l1muon_(l1muon),
117  l1jet_(l1jet),
118  l1etmiss_(l1etmiss),
119  l1hfrings_(l1hfrings),
120  pfjets_(pfjets),
121  pftaus_(pftaus),
122  pfmets_(pfmets),
123  l1tmuon_(l1tmuon),
124  l1tegamma_(l1tegamma),
125  l1tjet_(l1tjet),
126  l1ttau_(l1ttau),
127  l1tetsum_(l1tetsum) {}
128  };
129 
131  private:
135  std::vector<TriggerFilterObject> filterObjects_;
136 
138  public:
140  TriggerEventWithRefs() : TriggerRefsCollections(), usedProcessName_(), filterObjects_() {}
142  : TriggerRefsCollections(), usedProcessName_(usedProcessName), filterObjects_() {
143  filterObjects_.reserve(n);
144  }
145 
148  filterObjects_.push_back(
149 
150  TriggerFilterObject(filterTag,
151  addObjects(tfowr.photonIds(), tfowr.photonRefs()),
152  addObjects(tfowr.electronIds(), tfowr.electronRefs()),
153  addObjects(tfowr.muonIds(), tfowr.muonRefs()),
154  addObjects(tfowr.jetIds(), tfowr.jetRefs()),
155  addObjects(tfowr.compositeIds(), tfowr.compositeRefs()),
156  addObjects(tfowr.basemetIds(), tfowr.basemetRefs()),
157  addObjects(tfowr.calometIds(), tfowr.calometRefs()),
158  addObjects(tfowr.pixtrackIds(), tfowr.pixtrackRefs()),
159  addObjects(tfowr.l1emIds(), tfowr.l1emRefs()),
160  addObjects(tfowr.l1muonIds(), tfowr.l1muonRefs()),
161  addObjects(tfowr.l1jetIds(), tfowr.l1jetRefs()),
162  addObjects(tfowr.l1etmissIds(), tfowr.l1etmissRefs()),
163  addObjects(tfowr.l1hfringsIds(), tfowr.l1hfringsRefs()),
164  addObjects(tfowr.pfjetIds(), tfowr.pfjetRefs()),
165  addObjects(tfowr.pftauIds(), tfowr.pftauRefs()),
166  addObjects(tfowr.pfmetIds(), tfowr.pfmetRefs()),
167  addObjects(tfowr.l1tmuonIds(), tfowr.l1tmuonRefs()),
168  addObjects(tfowr.l1tegammaIds(), tfowr.l1tegammaRefs()),
169  addObjects(tfowr.l1tjetIds(), tfowr.l1tjetRefs()),
170  addObjects(tfowr.l1ttauIds(), tfowr.l1ttauRefs()),
171  addObjects(tfowr.l1tetsumIds(), tfowr.l1tetsumRefs()))
172 
173  );
174  }
175 
177  const std::string& usedProcessName() const { return usedProcessName_; }
178 
180  size_type size() const { return filterObjects_.size(); }
181 
184  return edm::InputTag(filterObjects_.at(filterIndex).filterTag_);
185  }
186 
189  const std::string encodedFilterTag(filterTag.encode());
190  const size_type n(filterObjects_.size());
191  for (size_type i = 0; i != n; ++i) {
192  if (encodedFilterTag == filterObjects_[i].filterTag_) {
193  return i;
194  }
195  }
196  return n;
197  }
198 
200 
201  std::pair<size_type, size_type> photonSlice(size_type filter) const {
202  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).photons_);
203  const size_type end(filterObjects_.at(filter).photons_);
204  return std::pair<size_type, size_type>(begin, end);
205  }
206 
207  std::pair<size_type, size_type> electronSlice(size_type filter) const {
208  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).electrons_);
209  const size_type end(filterObjects_.at(filter).electrons_);
210  return std::pair<size_type, size_type>(begin, end);
211  }
212 
213  std::pair<size_type, size_type> muonSlice(size_type filter) const {
214  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).muons_);
215  const size_type end(filterObjects_.at(filter).muons_);
216  return std::pair<size_type, size_type>(begin, end);
217  }
218 
219  std::pair<size_type, size_type> jetSlice(size_type filter) const {
220  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).jets_);
221  const size_type end(filterObjects_.at(filter).jets_);
222  return std::pair<size_type, size_type>(begin, end);
223  }
224 
225  std::pair<size_type, size_type> compositeSlice(size_type filter) const {
226  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).composites_);
227  const size_type end(filterObjects_.at(filter).composites_);
228  return std::pair<size_type, size_type>(begin, end);
229  }
230 
231  std::pair<size_type, size_type> basemetSlice(size_type filter) const {
232  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).basemets_);
233  const size_type end(filterObjects_.at(filter).basemets_);
234  return std::pair<size_type, size_type>(begin, end);
235  }
236 
237  std::pair<size_type, size_type> calometSlice(size_type filter) const {
238  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).calomets_);
239  const size_type end(filterObjects_.at(filter).calomets_);
240  return std::pair<size_type, size_type>(begin, end);
241  }
242 
243  std::pair<size_type, size_type> pixtrackSlice(size_type filter) const {
244  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pixtracks_);
245  const size_type end(filterObjects_.at(filter).pixtracks_);
246  return std::pair<size_type, size_type>(begin, end);
247  }
248 
249  std::pair<size_type, size_type> l1emSlice(size_type filter) const {
250  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1em_);
251  const size_type end(filterObjects_.at(filter).l1em_);
252  return std::pair<size_type, size_type>(begin, end);
253  }
254 
255  std::pair<size_type, size_type> l1muonSlice(size_type filter) const {
256  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1muon_);
257  const size_type end(filterObjects_.at(filter).l1muon_);
258  return std::pair<size_type, size_type>(begin, end);
259  }
260 
261  std::pair<size_type, size_type> l1jetSlice(size_type filter) const {
262  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1jet_);
263  const size_type end(filterObjects_.at(filter).l1jet_);
264  return std::pair<size_type, size_type>(begin, end);
265  }
266 
267  std::pair<size_type, size_type> l1etmissSlice(size_type filter) const {
268  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1etmiss_);
269  const size_type end(filterObjects_.at(filter).l1etmiss_);
270  return std::pair<size_type, size_type>(begin, end);
271  }
272 
273  std::pair<size_type, size_type> l1hfringsSlice(size_type filter) const {
274  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1hfrings_);
275  const size_type end(filterObjects_.at(filter).l1hfrings_);
276  return std::pair<size_type, size_type>(begin, end);
277  }
278 
279  std::pair<size_type, size_type> pfjetSlice(size_type filter) const {
280  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pfjets_);
281  const size_type end(filterObjects_.at(filter).pfjets_);
282  return std::pair<size_type, size_type>(begin, end);
283  }
284 
285  std::pair<size_type, size_type> pftauSlice(size_type filter) const {
286  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pftaus_);
287  const size_type end(filterObjects_.at(filter).pftaus_);
288  return std::pair<size_type, size_type>(begin, end);
289  }
290 
291  std::pair<size_type, size_type> pfmetSlice(size_type filter) const {
292  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).pfmets_);
293  const size_type end(filterObjects_.at(filter).pfmets_);
294  return std::pair<size_type, size_type>(begin, end);
295  }
296 
297  std::pair<size_type, size_type> l1tmuonSlice(size_type filter) const {
298  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tmuon_);
299  const size_type end(filterObjects_.at(filter).l1tmuon_);
300  return std::pair<size_type, size_type>(begin, end);
301  }
302 
303  std::pair<size_type, size_type> l1tegammaSlice(size_type filter) const {
304  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tegamma_);
305  const size_type end(filterObjects_.at(filter).l1tegamma_);
306  return std::pair<size_type, size_type>(begin, end);
307  }
308 
309  std::pair<size_type, size_type> l1tjetSlice(size_type filter) const {
310  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tjet_);
311  const size_type end(filterObjects_.at(filter).l1tjet_);
312  return std::pair<size_type, size_type>(begin, end);
313  }
314 
315  std::pair<size_type, size_type> l1ttauSlice(size_type filter) const {
316  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1ttau_);
317  const size_type end(filterObjects_.at(filter).l1ttau_);
318  return std::pair<size_type, size_type>(begin, end);
319  }
320 
321  std::pair<size_type, size_type> l1tetsumSlice(size_type filter) const {
322  const size_type begin(filter == 0 ? 0 : filterObjects_.at(filter - 1).l1tetsum_);
323  const size_type end(filterObjects_.at(filter).l1tetsum_);
324  return std::pair<size_type, size_type>(begin, end);
325  }
326 
328 
330  const size_type begin(photonSlice(filter).first);
331  const size_type end(photonSlice(filter).second);
332  TriggerRefsCollections::getObjects(ids, photons, begin, end);
333  }
334  void getObjects(size_type filter, int id, VRphoton& photons) const {
335  const size_type begin(photonSlice(filter).first);
336  const size_type end(photonSlice(filter).second);
337  TriggerRefsCollections::getObjects(id, photons, begin, end);
338  }
339 
341  const size_type begin(electronSlice(filter).first);
342  const size_type end(electronSlice(filter).second);
343  TriggerRefsCollections::getObjects(ids, electrons, begin, end);
344  }
346  const size_type begin(electronSlice(filter).first);
347  const size_type end(electronSlice(filter).second);
348  TriggerRefsCollections::getObjects(id, electrons, begin, end);
349  }
350 
352  const size_type begin(muonSlice(filter).first);
353  const size_type end(muonSlice(filter).second);
354  TriggerRefsCollections::getObjects(ids, muons, begin, end);
355  }
356  void getObjects(size_type filter, int id, VRmuon& muons) const {
357  const size_type begin(muonSlice(filter).first);
358  const size_type end(muonSlice(filter).second);
359  TriggerRefsCollections::getObjects(id, muons, begin, end);
360  }
361 
363  const size_type begin(jetSlice(filter).first);
364  const size_type end(jetSlice(filter).second);
365  TriggerRefsCollections::getObjects(ids, jets, begin, end);
366  }
367  void getObjects(size_type filter, int id, VRjet& jets) const {
368  const size_type begin(jetSlice(filter).first);
369  const size_type end(jetSlice(filter).second);
370  TriggerRefsCollections::getObjects(id, jets, begin, end);
371  }
372 
373  void getObjects(size_type filter, Vids& ids, VRcomposite& composites) const {
374  const size_type begin(compositeSlice(filter).first);
375  const size_type end(compositeSlice(filter).second);
376  TriggerRefsCollections::getObjects(ids, composites, begin, end);
377  }
378  void getObjects(size_type filter, int id, VRcomposite& composites) const {
379  const size_type begin(compositeSlice(filter).first);
380  const size_type end(compositeSlice(filter).second);
381  TriggerRefsCollections::getObjects(id, composites, begin, end);
382  }
383 
384  void getObjects(size_type filter, Vids& ids, VRbasemet& basemets) const {
385  const size_type begin(basemetSlice(filter).first);
386  const size_type end(basemetSlice(filter).second);
387  TriggerRefsCollections::getObjects(ids, basemets, begin, end);
388  }
389  void getObjects(size_type filter, int id, VRbasemet& basemets) const {
390  const size_type begin(basemetSlice(filter).first);
391  const size_type end(basemetSlice(filter).second);
392  TriggerRefsCollections::getObjects(id, basemets, begin, end);
393  }
394 
395  void getObjects(size_type filter, Vids& ids, VRcalomet& calomets) const {
396  const size_type begin(calometSlice(filter).first);
397  const size_type end(calometSlice(filter).second);
398  TriggerRefsCollections::getObjects(ids, calomets, begin, end);
399  }
400  void getObjects(size_type filter, int id, VRcalomet& calomets) const {
401  const size_type begin(calometSlice(filter).first);
402  const size_type end(calometSlice(filter).second);
403  TriggerRefsCollections::getObjects(id, calomets, begin, end);
404  }
405 
406  void getObjects(size_type filter, Vids& ids, VRpixtrack& pixtracks) const {
407  const size_type begin(pixtrackSlice(filter).first);
408  const size_type end(pixtrackSlice(filter).second);
409  TriggerRefsCollections::getObjects(ids, pixtracks, begin, end);
410  }
411  void getObjects(size_type filter, int id, VRpixtrack& pixtracks) const {
412  const size_type begin(pixtrackSlice(filter).first);
413  const size_type end(pixtrackSlice(filter).second);
414  TriggerRefsCollections::getObjects(id, pixtracks, begin, end);
415  }
416 
417  void getObjects(size_type filter, Vids& ids, VRl1em& l1em) const {
418  const size_type begin(l1emSlice(filter).first);
419  const size_type end(l1emSlice(filter).second);
420  TriggerRefsCollections::getObjects(ids, l1em, begin, end);
421  }
422  void getObjects(size_type filter, int id, VRl1em& l1em) const {
423  const size_type begin(l1emSlice(filter).first);
424  const size_type end(l1emSlice(filter).second);
425  TriggerRefsCollections::getObjects(id, l1em, begin, end);
426  }
427 
428  void getObjects(size_type filter, Vids& ids, VRl1muon& l1muon) const {
429  const size_type begin(l1muonSlice(filter).first);
430  const size_type end(l1muonSlice(filter).second);
431  TriggerRefsCollections::getObjects(ids, l1muon, begin, end);
432  }
433  void getObjects(size_type filter, int id, VRl1muon& l1muon) const {
434  const size_type begin(l1muonSlice(filter).first);
435  const size_type end(l1muonSlice(filter).second);
436  TriggerRefsCollections::getObjects(id, l1muon, begin, end);
437  }
438 
439  void getObjects(size_type filter, Vids& ids, VRl1jet& l1jet) const {
440  const size_type begin(l1jetSlice(filter).first);
441  const size_type end(l1jetSlice(filter).second);
442  TriggerRefsCollections::getObjects(ids, l1jet, begin, end);
443  }
444  void getObjects(size_type filter, int id, VRl1jet& l1jet) const {
445  const size_type begin(l1jetSlice(filter).first);
446  const size_type end(l1jetSlice(filter).second);
447  TriggerRefsCollections::getObjects(id, l1jet, begin, end);
448  }
449 
450  void getObjects(size_type filter, Vids& ids, VRl1etmiss& l1etmiss) const {
451  const size_type begin(l1etmissSlice(filter).first);
452  const size_type end(l1etmissSlice(filter).second);
453  TriggerRefsCollections::getObjects(ids, l1etmiss, begin, end);
454  }
455  void getObjects(size_type filter, int id, VRl1etmiss& l1etmiss) const {
456  const size_type begin(l1etmissSlice(filter).first);
457  const size_type end(l1etmissSlice(filter).second);
458  TriggerRefsCollections::getObjects(id, l1etmiss, begin, end);
459  }
460 
461  void getObjects(size_type filter, Vids& ids, VRl1hfrings& l1hfrings) const {
462  const size_type begin(l1hfringsSlice(filter).first);
463  const size_type end(l1hfringsSlice(filter).second);
464  TriggerRefsCollections::getObjects(ids, l1hfrings, begin, end);
465  }
466  void getObjects(size_type filter, int id, VRl1hfrings& l1hfrings) const {
467  const size_type begin(l1hfringsSlice(filter).first);
468  const size_type end(l1hfringsSlice(filter).second);
469  TriggerRefsCollections::getObjects(id, l1hfrings, begin, end);
470  }
471 
472  void getObjects(size_type filter, Vids& ids, VRpfjet& pfjets) const {
473  const size_type begin(pfjetSlice(filter).first);
474  const size_type end(pfjetSlice(filter).second);
475  TriggerRefsCollections::getObjects(ids, pfjets, begin, end);
476  }
477  void getObjects(size_type filter, int id, VRpfjet& pfjets) const {
478  const size_type begin(pfjetSlice(filter).first);
479  const size_type end(pfjetSlice(filter).second);
480  TriggerRefsCollections::getObjects(id, pfjets, begin, end);
481  }
482 
483  void getObjects(size_type filter, Vids& ids, VRpftau& pftaus) const {
484  const size_type begin(pftauSlice(filter).first);
485  const size_type end(pftauSlice(filter).second);
486  TriggerRefsCollections::getObjects(ids, pftaus, begin, end);
487  }
488  void getObjects(size_type filter, int id, VRpftau& pftaus) const {
489  const size_type begin(pftauSlice(filter).first);
490  const size_type end(pftauSlice(filter).second);
491  TriggerRefsCollections::getObjects(id, pftaus, begin, end);
492  }
493 
494  void getObjects(size_type filter, Vids& ids, VRpfmet& pfmets) const {
495  const size_type begin(pfmetSlice(filter).first);
496  const size_type end(pfmetSlice(filter).second);
497  TriggerRefsCollections::getObjects(ids, pfmets, begin, end);
498  }
499  void getObjects(size_type filter, int id, VRpfmet& pfmets) const {
500  const size_type begin(pfmetSlice(filter).first);
501  const size_type end(pfmetSlice(filter).second);
502  TriggerRefsCollections::getObjects(id, pfmets, begin, end);
503  }
504 
505  void getObjects(size_type filter, Vids& ids, VRl1tmuon& l1tmuon) const {
506  const size_type begin(l1tmuonSlice(filter).first);
507  const size_type end(l1tmuonSlice(filter).second);
508  TriggerRefsCollections::getObjects(ids, l1tmuon, begin, end);
509  }
510  void getObjects(size_type filter, int id, VRl1tmuon& l1tmuon) const {
511  const size_type begin(l1tmuonSlice(filter).first);
512  const size_type end(l1tmuonSlice(filter).second);
513  TriggerRefsCollections::getObjects(id, l1tmuon, begin, end);
514  }
515 
516  void getObjects(size_type filter, Vids& ids, VRl1tegamma& l1tegamma) const {
517  const size_type begin(l1tegammaSlice(filter).first);
518  const size_type end(l1tegammaSlice(filter).second);
519  TriggerRefsCollections::getObjects(ids, l1tegamma, begin, end);
520  }
521  void getObjects(size_type filter, int id, VRl1tegamma& l1tegamma) const {
522  const size_type begin(l1tegammaSlice(filter).first);
523  const size_type end(l1tegammaSlice(filter).second);
524  TriggerRefsCollections::getObjects(id, l1tegamma, begin, end);
525  }
526 
527  void getObjects(size_type filter, Vids& ids, VRl1tjet& l1tjet) const {
528  const size_type begin(l1tjetSlice(filter).first);
529  const size_type end(l1tjetSlice(filter).second);
530  TriggerRefsCollections::getObjects(ids, l1tjet, begin, end);
531  }
532  void getObjects(size_type filter, int id, VRl1tjet& l1tjet) const {
533  const size_type begin(l1tjetSlice(filter).first);
534  const size_type end(l1tjetSlice(filter).second);
535  TriggerRefsCollections::getObjects(id, l1tjet, begin, end);
536  }
537 
538  void getObjects(size_type filter, Vids& ids, VRl1ttau& l1ttau) const {
539  const size_type begin(l1ttauSlice(filter).first);
540  const size_type end(l1ttauSlice(filter).second);
541  TriggerRefsCollections::getObjects(ids, l1ttau, begin, end);
542  }
543  void getObjects(size_type filter, int id, VRl1ttau& l1ttau) const {
544  const size_type begin(l1ttauSlice(filter).first);
545  const size_type end(l1ttauSlice(filter).second);
546  TriggerRefsCollections::getObjects(id, l1ttau, begin, end);
547  }
548 
549  void getObjects(size_type filter, Vids& ids, VRl1tetsum& l1tetsum) const {
550  const size_type begin(l1tetsumSlice(filter).first);
551  const size_type end(l1tetsumSlice(filter).second);
552  TriggerRefsCollections::getObjects(ids, l1tetsum, begin, end);
553  }
554  void getObjects(size_type filter, int id, VRl1tetsum& l1tetsum) const {
555  const size_type begin(l1tetsumSlice(filter).first);
556  const size_type end(l1tetsumSlice(filter).second);
557  TriggerRefsCollections::getObjects(id, l1tetsum, begin, end);
558  }
559  };
560 
561 } // namespace trigger
562 
563 #endif
void getObjects(size_type filter, int id, VRelectron &electrons) const
void getObjects(size_type filter, Vids &ids, VRl1em &l1em) const
std::pair< size_type, size_type > l1jetSlice(size_type filter) const
size_type addObjects(const Vids &ids, const VRphoton &refs)
void getObjects(size_type filter, int id, VRpfjet &pfjets) const
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
void getObjects(size_type filter, Vids &ids, VRl1jet &l1jet) const
std::vector< TriggerFilterObject > filterObjects_
the filters recorded here
void getObjects(size_type filter, int id, VRpftau &pftaus) const
std::pair< size_type, size_type > l1ttauSlice(size_type filter) const
const VRbasemet & basemetRefs() const
std::pair< size_type, size_type > l1muonSlice(size_type filter) const
void addFilterObject(const edm::InputTag &filterTag, const TriggerFilterObjectWithRefs &tfowr)
setters - to build EDProduct
const VRcalomet & calometRefs() const
std::pair< size_type, size_type > l1tegammaSlice(size_type filter) const
void getObjects(size_type filter, Vids &ids, VRl1ttau &l1ttau) const
std::pair< size_type, size_type > l1etmissSlice(size_type filter) const
const VRl1tetsum & l1tetsumRefs() const
l1t::EGammaVectorRef VRl1tegamma
void getObjects(size_type filter, Vids &ids, VRpfmet &pfmets) const
std::vector< reco::METRef > VRbasemet
void getObjects(size_type filter, Vids &ids, VRbasemet &basemets) const
void getObjects(size_type filter, int id, VRpfmet &pfmets) const
std::pair< size_type, size_type > jetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1tjet &l1tjet) const
const std::string & usedProcessName() const
getters - for user access
void getObjects(size_type filter, Vids &ids, VRjet &jets) const
const edm::InputTag filterTag(size_type filterIndex) const
tag from index
void getObjects(size_type filter, Vids &ids, VRl1tmuon &l1tmuon) const
l1t::JetVectorRef VRl1tjet
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 l1tegamma, size_type l1tjet, size_type l1ttau, size_type l1tetsum)
std::string usedProcessName_
data members
uint16_t size_type
std::string encode() const
Definition: InputTag.cc:159
std::pair< size_type, size_type > electronSlice(size_type filter) const
std::vector< l1extra::L1MuonParticleRef > VRl1muon
void getObjects(size_type filter, int id, VRl1tetsum &l1tetsum) const
std::pair< size_type, size_type > pixtrackSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1tegamma &l1tegamma) const
U second(std::pair< T, U > const &p)
void getObjects(size_type filter, Vids &ids, VRpftau &pftaus) const
const VRl1ttau & l1ttauRefs() const
std::vector< l1extra::L1HFRingsRef > VRl1hfrings
void getObjects(size_type filter, int id, VRl1etmiss &l1etmiss) const
void getObjects(size_type filter, int id, VRl1tmuon &l1tmuon) const
std::vector< reco::IsolatedPixelTrackCandidateRef > VRpixtrack
void getObjects(size_type filter, Vids &ids, VRmuon &muons) const
std::pair< size_type, size_type > l1tmuonSlice(size_type filter) const
void getObjects(size_type filter, int id, VRbasemet &basemets) const
const VRl1muon & l1muonRefs() const
std::vector< l1extra::L1EtMissParticleRef > VRl1etmiss
int np
Definition: AMPTWrapper.h:43
const VRl1tegamma & l1tegammaRefs() const
std::pair< size_type, size_type > l1emSlice(size_type filter) 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, int id, VRcalomet &calomets) const
void getObjects(size_type filter, int id, VRl1em &l1em) const
void getObjects(size_type filter, Vids &ids, VRl1muon &l1muon) const
const VRcomposite & compositeRefs() const
void getObjects(size_type filter, Vids &ids, VRcalomet &calomets) const
void getObjects(size_type filter, int id, VRl1hfrings &l1hfrings) const
std::pair< size_type, size_type > muonSlice(size_type filter) const
#define end
Definition: vmac.h:39
std::pair< size_type, size_type > l1tjetSlice(size_type filter) const
std::vector< l1extra::L1EmParticleRef > VRl1em
void getObjects(size_type filter, Vids &ids, VRcomposite &composites) const
std::pair< size_type, size_type > l1tetsumSlice(size_type filter) const
std::pair< size_type, size_type > compositeSlice(size_type filter) const
const VRl1hfrings & l1hfringsRefs() const
void getObjects(size_type filter, int id, VRjet &jets) const
void getObjects(size_type filter, Vids &ids, VRpfjet &pfjets) const
int nt
Definition: AMPTWrapper.h:42
size_type filterIndex(const edm::InputTag &filterTag) const
index from tag
std::pair< size_type, size_type > basemetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1jet &l1jet) const
void getObjects(size_type filter, int id, VRl1ttau &l1ttau) const
void getObjects(size_type filter, int id, VRpixtrack &pixtracks) const
void getObjects(size_type filter, Vids &ids, VRl1tetsum &l1tetsum) const
const VRl1tmuon & l1tmuonRefs() const
const VRl1etmiss & l1etmissRefs() const
std::vector< reco::CaloJetRef > VRjet
const VRl1tjet & l1tjetRefs() const
void getObjects(size_type filter, Vids &ids, VRl1etmiss &l1etmiss) const
void getObjects(size_type filter, Vids &ids, VRl1hfrings &l1hfrings) const
std::vector< reco::PFJetRef > VRpfjet
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, int id, VRmuon &muons) const
size_type size() const
number of filters
def encode(args, files)
std::vector< reco::CompositeCandidateRef > VRcomposite
l1t::MuonVectorRef VRl1tmuon
const VRphoton & photonRefs() const
std::pair< size_type, size_type > calometSlice(size_type filter) const
std::vector< reco::RecoChargedCandidateRef > VRmuon
void getObjects(size_type filter, Vids &ids, VRelectron &electrons) const
const VRelectron & electronRefs() const
#define begin
Definition: vmac.h:32
void getObjects(size_type filter, int id, VRcomposite &composites) const
TriggerEventWithRefs(const std::string &usedProcessName, size_type n)
std::pair< size_type, size_type > pfjetSlice(size_type filter) const
const VRpixtrack & pixtrackRefs() const
void getObjects(size_type filter, Vids &ids, VRpixtrack &pixtracks) const
l1t::TauVectorRef VRl1ttau
std::vector< reco::ElectronRef > VRelectron
std::pair< size_type, size_type > l1hfringsSlice(size_type filter) const
std::vector< reco::PFMETRef > VRpfmet
std::vector< reco::CaloMETRef > VRcalomet
Helper class: trigger objects firing a single filter.
l1t::EtSumVectorRef VRl1tetsum
std::vector< reco::RecoEcalCandidateRef > VRphoton
std::pair< size_type, size_type > pftauSlice(size_type filter) const
void getObjects(size_type filter, int id, VRphoton &photons) const
void getObjects(size_type filter, Vids &ids, VRl1tegamma &l1tegamma) const
std::vector< l1extra::L1JetParticleRef > VRl1jet
std::vector< int > Vids
std::vector< reco::PFTauRef > VRpftau
std::pair< size_type, size_type > pfmetSlice(size_type filter) const
void getObjects(size_type filter, int id, VRl1muon &l1muon) const
void getObjects(size_type filter, Vids &ids, VRl1tjet &l1tjet) const
std::string filterTag_
encoded InputTag of filter product