CMS 3D CMS Logo

TriggerRefsCollections.h
Go to the documentation of this file.
1 #ifndef HLTReco_TriggerRefsCollections_h
2 #define HLTReco_TriggerRefsCollections_h
3 
21 
24 
34 
40 
56 
59 
60 #include <cassert>
61 #include <vector>
62 
63 #include <typeinfo>
64 
65 namespace trigger {
66 
67  typedef std::vector<reco::RecoEcalCandidateRef> VRphoton;
68  typedef std::vector<reco::ElectronRef> VRelectron;
69  typedef std::vector<reco::RecoChargedCandidateRef> VRmuon;
70  typedef std::vector<reco::CaloJetRef> VRjet;
71  typedef std::vector<reco::CompositeCandidateRef> VRcomposite;
72  typedef std::vector<reco::METRef> VRbasemet;
73  typedef std::vector<reco::CaloMETRef> VRcalomet;
74  typedef std::vector<reco::IsolatedPixelTrackCandidateRef> VRpixtrack;
75 
76  typedef std::vector<l1extra::L1EmParticleRef> VRl1em; //deprecate
77  typedef std::vector<l1extra::L1MuonParticleRef> VRl1muon; //deprecate
78  typedef std::vector<l1extra::L1JetParticleRef> VRl1jet; //deprecate
79  typedef std::vector<l1extra::L1EtMissParticleRef> VRl1etmiss; //deprecate
80  typedef std::vector<l1extra::L1HFRingsRef> VRl1hfrings; //deprecate
81 
88 
89  /* Phase-2 */
90  // This is a std::vector<TrackerMuonRef>,
91  // and should be called TrackerMuonVectorRef upstream.
92  // The L1T group should be made aware of that
101 
102  typedef std::vector<reco::PFJetRef> VRpfjet;
103  typedef std::vector<reco::PFTauRef> VRpftau;
104  typedef std::vector<reco::PFMETRef> VRpfmet;
105 
108  private:
126 
137 
150 
151  /* Phase-2 */
168 
175 
177  public:
180  : photonIds_(),
181  photonRefs_(),
182  electronIds_(),
183  electronRefs_(),
184  muonIds_(),
185  muonRefs_(),
186  jetIds_(),
187  jetRefs_(),
188  compositeIds_(),
189  compositeRefs_(),
190  basemetIds_(),
191  basemetRefs_(),
192  calometIds_(),
193  calometRefs_(),
194  pixtrackIds_(),
195  pixtrackRefs_(),
196 
197  l1emIds_(),
198  l1emRefs_(),
199  l1muonIds_(),
200  l1muonRefs_(),
201  l1jetIds_(),
202  l1jetRefs_(),
203  l1etmissIds_(),
204  l1etmissRefs_(),
205  l1hfringsIds_(),
206  l1hfringsRefs_(),
207 
208  l1tmuonIds_(),
209  l1tmuonRefs_(),
212  l1tegammaIds_(),
213  l1tegammaRefs_(),
214  l1tjetIds_(),
215  l1tjetRefs_(),
216  l1ttauIds_(),
217  l1ttauRefs_(),
218  l1tetsumIds_(),
219  l1tetsumRefs_(),
220 
221  /* Phase-2 */
222  l1ttkmuonIds_(),
223  l1ttkmuonRefs_(),
224  l1ttkeleIds_(),
225  l1ttkeleRefs_(),
226  l1ttkemIds_(),
227  l1ttkemRefs_(),
228  l1tpfjetIds_(),
229  l1tpfjetRefs_(),
230  l1tpftauIds_(),
231  l1tpftauRefs_(),
232  l1thpspftauIds_(),
234  l1tpftrackIds_(),
235  l1tpftrackRefs_(),
236  l1tp2etsumIds_(),
237  l1tp2etsumRefs_(),
238 
239  pfjetIds_(),
240  pfjetRefs_(),
241  pftauIds_(),
242  pftauRefs_(),
243  pfmetIds_(),
244  pfmetRefs_() {}
245 
248  std::swap(photonIds_, other.photonIds_);
249  std::swap(photonRefs_, other.photonRefs_);
250  std::swap(electronIds_, other.electronIds_);
251  std::swap(electronRefs_, other.electronRefs_);
252  std::swap(muonIds_, other.muonIds_);
253  std::swap(muonRefs_, other.muonRefs_);
254  std::swap(jetIds_, other.jetIds_);
255  std::swap(jetRefs_, other.jetRefs_);
256  std::swap(compositeIds_, other.compositeIds_);
257  std::swap(compositeRefs_, other.compositeRefs_);
258  std::swap(basemetIds_, other.basemetIds_);
259  std::swap(basemetRefs_, other.basemetRefs_);
260  std::swap(calometIds_, other.calometIds_);
261  std::swap(calometRefs_, other.calometRefs_);
262  std::swap(pixtrackIds_, other.pixtrackIds_);
263  std::swap(pixtrackRefs_, other.pixtrackRefs_);
264 
265  std::swap(l1emIds_, other.l1emIds_);
266  std::swap(l1emRefs_, other.l1emRefs_);
267  std::swap(l1muonIds_, other.l1muonIds_);
268  std::swap(l1muonRefs_, other.l1muonRefs_);
269  std::swap(l1jetIds_, other.l1jetIds_);
270  std::swap(l1jetRefs_, other.l1jetRefs_);
271  std::swap(l1etmissIds_, other.l1etmissIds_);
272  std::swap(l1etmissRefs_, other.l1etmissRefs_);
273  std::swap(l1hfringsIds_, other.l1hfringsIds_);
274  std::swap(l1hfringsRefs_, other.l1hfringsRefs_);
275 
276  std::swap(l1tmuonIds_, other.l1tmuonIds_);
277  std::swap(l1tmuonRefs_, other.l1tmuonRefs_);
278  std::swap(l1tmuonShowerIds_, other.l1tmuonShowerIds_);
279  std::swap(l1tmuonShowerRefs_, other.l1tmuonShowerRefs_);
280  std::swap(l1tegammaIds_, other.l1tegammaIds_);
281  std::swap(l1tegammaRefs_, other.l1tegammaRefs_);
282  std::swap(l1tjetIds_, other.l1tjetIds_);
283  std::swap(l1tjetRefs_, other.l1tjetRefs_);
284  std::swap(l1ttauIds_, other.l1ttauIds_);
285  std::swap(l1ttauRefs_, other.l1ttauRefs_);
286  std::swap(l1tetsumIds_, other.l1tetsumIds_);
287  std::swap(l1tetsumRefs_, other.l1tetsumRefs_);
288 
289  /* Phase-2 */
290  std::swap(l1ttkmuonIds_, other.l1ttkmuonIds_);
291  std::swap(l1ttkmuonRefs_, other.l1ttkmuonRefs_);
292  std::swap(l1ttkeleIds_, other.l1ttkeleIds_);
293  std::swap(l1ttkeleRefs_, other.l1ttkeleRefs_);
294  std::swap(l1ttkemIds_, other.l1ttkemIds_);
295  std::swap(l1ttkemRefs_, other.l1ttkemRefs_);
296  std::swap(l1tpfjetIds_, other.l1tpfjetIds_);
297  std::swap(l1tpfjetRefs_, other.l1tpfjetRefs_);
298  std::swap(l1tpftauIds_, other.l1tpftauIds_);
299  std::swap(l1tpftauRefs_, other.l1tpftauRefs_);
300  std::swap(l1thpspftauIds_, other.l1thpspftauIds_);
301  std::swap(l1thpspftauRefs_, other.l1thpspftauRefs_);
302  std::swap(l1tpftrackIds_, other.l1tpftrackIds_);
303  std::swap(l1tpftrackRefs_, other.l1tpftrackRefs_);
304  std::swap(l1tp2etsumIds_, other.l1tp2etsumIds_);
305  std::swap(l1tp2etsumRefs_, other.l1tp2etsumRefs_);
306 
307  std::swap(pfjetIds_, other.pfjetIds_);
308  std::swap(pfjetRefs_, other.pfjetRefs_);
309  std::swap(pftauIds_, other.pftauIds_);
310  std::swap(pftauRefs_, other.pftauRefs_);
311  std::swap(pfmetIds_, other.pfmetIds_);
312  std::swap(pfmetRefs_, other.pfmetRefs_);
313  }
314 
316  void addObject(int id, const reco::RecoEcalCandidateRef& ref) {
317  photonIds_.push_back(id);
318  photonRefs_.push_back(ref);
319  }
320  void addObject(int id, const reco::ElectronRef& ref) {
321  electronIds_.push_back(id);
322  electronRefs_.push_back(ref);
323  }
324  void addObject(int id, const reco::RecoChargedCandidateRef& ref) {
325  muonIds_.push_back(id);
326  muonRefs_.push_back(ref);
327  }
328  void addObject(int id, const reco::CaloJetRef& ref) {
329  jetIds_.push_back(id);
330  jetRefs_.push_back(ref);
331  }
332  void addObject(int id, const reco::CompositeCandidateRef& ref) {
333  compositeIds_.push_back(id);
334  compositeRefs_.push_back(ref);
335  }
336  void addObject(int id, const reco::METRef& ref) {
337  basemetIds_.push_back(id);
338  basemetRefs_.push_back(ref);
339  }
340  void addObject(int id, const reco::CaloMETRef& ref) {
341  calometIds_.push_back(id);
342  calometRefs_.push_back(ref);
343  }
345  pixtrackIds_.push_back(id);
346  pixtrackRefs_.push_back(ref);
347  }
348 
349  void addObject(int id, const l1extra::L1EmParticleRef& ref) {
350  l1emIds_.push_back(id);
351  l1emRefs_.push_back(ref);
352  }
353  void addObject(int id, const l1extra::L1MuonParticleRef& ref) {
354  l1muonIds_.push_back(id);
355  l1muonRefs_.push_back(ref);
356  }
357  void addObject(int id, const l1extra::L1JetParticleRef& ref) {
358  l1jetIds_.push_back(id);
359  l1jetRefs_.push_back(ref);
360  }
361  void addObject(int id, const l1extra::L1EtMissParticleRef& ref) {
362  l1etmissIds_.push_back(id);
363  l1etmissRefs_.push_back(ref);
364  }
365  void addObject(int id, const l1extra::L1HFRingsRef& ref) {
366  l1hfringsIds_.push_back(id);
367  l1hfringsRefs_.push_back(ref);
368  }
369  void addObject(int id, const l1t::MuonRef& ref) {
370  l1tmuonIds_.push_back(id);
371  l1tmuonRefs_.push_back(ref);
372  }
373  void addObject(int id, const l1t::MuonShowerRef& ref) {
374  l1tmuonShowerIds_.push_back(id);
375  l1tmuonShowerRefs_.push_back(ref);
376  }
377  void addObject(int id, const l1t::EGammaRef& ref) {
378  l1tegammaIds_.push_back(id);
379  l1tegammaRefs_.push_back(ref);
380  }
381  void addObject(int id, const l1t::JetRef& ref) {
382  l1tjetIds_.push_back(id);
383  l1tjetRefs_.push_back(ref);
384  }
385  void addObject(int id, const l1t::TauRef& ref) {
386  l1ttauIds_.push_back(id);
387  l1ttauRefs_.push_back(ref);
388  }
389  void addObject(int id, const l1t::EtSumRef& ref) {
390  l1tetsumIds_.push_back(id);
391  l1tetsumRefs_.push_back(ref);
392  }
393 
394  /* Phase-2 */
395  void addObject(int id, const l1t::TrackerMuonRef& ref) {
396  l1ttkmuonIds_.push_back(id);
397  l1ttkmuonRefs_.push_back(ref);
398  }
399  void addObject(int id, const l1t::TkElectronRef& ref) {
400  l1ttkeleIds_.push_back(id);
401  l1ttkeleRefs_.push_back(ref);
402  }
403  void addObject(int id, const l1t::TkEmRef& ref) {
404  l1ttkemIds_.push_back(id);
405  l1ttkemRefs_.push_back(ref);
406  }
407  void addObject(int id, const l1t::PFJetRef& ref) {
408  l1tpfjetIds_.push_back(id);
409  l1tpfjetRefs_.push_back(ref);
410  }
411  void addObject(int id, const l1t::PFTauRef& ref) {
412  l1tpftauIds_.push_back(id);
413  l1tpftauRefs_.push_back(ref);
414  }
415  void addObject(int id, const l1t::HPSPFTauRef& ref) {
416  l1thpspftauIds_.push_back(id);
417  l1thpspftauRefs_.push_back(ref);
418  }
419  void addObject(int id, const l1t::PFTrackRef& ref) {
420  l1tpftrackIds_.push_back(id);
421  l1tpftrackRefs_.push_back(ref);
422  }
423  void addObject(int id, const l1t::EtSumP2Ref& ref) {
424  l1tp2etsumIds_.push_back(id);
425  l1tp2etsumRefs_.push_back(ref);
426  }
427  void addObject(int id, const reco::PFJetRef& ref) {
428  pfjetIds_.push_back(id);
429  pfjetRefs_.push_back(ref);
430  }
431  void addObject(int id, const reco::PFTauRef& ref) {
432  pftauIds_.push_back(id);
433  pftauRefs_.push_back(ref);
434  }
435  void addObject(int id, const reco::PFMETRef& ref) {
436  pfmetIds_.push_back(id);
437  pfmetRefs_.push_back(ref);
438  }
439 
441  size_type addObjects(const Vids& ids, const VRphoton& refs) {
442  assert(ids.size() == refs.size());
443  photonIds_.insert(photonIds_.end(), ids.begin(), ids.end());
444  photonRefs_.insert(photonRefs_.end(), refs.begin(), refs.end());
445  return photonIds_.size();
446  }
447  size_type addObjects(const Vids& ids, const VRelectron& refs) {
448  assert(ids.size() == refs.size());
449  electronIds_.insert(electronIds_.end(), ids.begin(), ids.end());
450  electronRefs_.insert(electronRefs_.end(), refs.begin(), refs.end());
451  return electronIds_.size();
452  }
453  size_type addObjects(const Vids& ids, const VRmuon& refs) {
454  assert(ids.size() == refs.size());
455  muonIds_.insert(muonIds_.end(), ids.begin(), ids.end());
456  muonRefs_.insert(muonRefs_.end(), refs.begin(), refs.end());
457  return muonIds_.size();
458  }
459  size_type addObjects(const Vids& ids, const VRjet& refs) {
460  assert(ids.size() == refs.size());
461  jetIds_.insert(jetIds_.end(), ids.begin(), ids.end());
462  jetRefs_.insert(jetRefs_.end(), refs.begin(), refs.end());
463  return jetIds_.size();
464  }
465  size_type addObjects(const Vids& ids, const VRcomposite& refs) {
466  assert(ids.size() == refs.size());
467  compositeIds_.insert(compositeIds_.end(), ids.begin(), ids.end());
468  compositeRefs_.insert(compositeRefs_.end(), refs.begin(), refs.end());
469  return compositeIds_.size();
470  }
471  size_type addObjects(const Vids& ids, const VRbasemet& refs) {
472  assert(ids.size() == refs.size());
473  basemetIds_.insert(basemetIds_.end(), ids.begin(), ids.end());
474  basemetRefs_.insert(basemetRefs_.end(), refs.begin(), refs.end());
475  return basemetIds_.size();
476  }
477  size_type addObjects(const Vids& ids, const VRcalomet& refs) {
478  assert(ids.size() == refs.size());
479  calometIds_.insert(calometIds_.end(), ids.begin(), ids.end());
480  calometRefs_.insert(calometRefs_.end(), refs.begin(), refs.end());
481  return calometIds_.size();
482  }
483  size_type addObjects(const Vids& ids, const VRpixtrack& refs) {
484  assert(ids.size() == refs.size());
485  pixtrackIds_.insert(pixtrackIds_.end(), ids.begin(), ids.end());
486  pixtrackRefs_.insert(pixtrackRefs_.end(), refs.begin(), refs.end());
487  return pixtrackIds_.size();
488  }
489 
490  size_type addObjects(const Vids& ids, const VRl1em& refs) {
491  assert(ids.size() == refs.size());
492  l1emIds_.insert(l1emIds_.end(), ids.begin(), ids.end());
493  l1emRefs_.insert(l1emRefs_.end(), refs.begin(), refs.end());
494  return l1emIds_.size();
495  }
496  size_type addObjects(const Vids& ids, const VRl1muon& refs) {
497  assert(ids.size() == refs.size());
498  l1muonIds_.insert(l1muonIds_.end(), ids.begin(), ids.end());
499  l1muonRefs_.insert(l1muonRefs_.end(), refs.begin(), refs.end());
500  return l1muonIds_.size();
501  }
502  size_type addObjects(const Vids& ids, const VRl1jet& refs) {
503  assert(ids.size() == refs.size());
504  l1jetIds_.insert(l1jetIds_.end(), ids.begin(), ids.end());
505  l1jetRefs_.insert(l1jetRefs_.end(), refs.begin(), refs.end());
506  return l1jetIds_.size();
507  }
508  size_type addObjects(const Vids& ids, const VRl1etmiss& refs) {
509  assert(ids.size() == refs.size());
510  l1etmissIds_.insert(l1etmissIds_.end(), ids.begin(), ids.end());
511  l1etmissRefs_.insert(l1etmissRefs_.end(), refs.begin(), refs.end());
512  return l1etmissIds_.size();
513  }
514  size_type addObjects(const Vids& ids, const VRl1tmuon& refs) {
515  assert(ids.size() == refs.size());
516  l1tmuonIds_.insert(l1tmuonIds_.end(), ids.begin(), ids.end());
517  l1tmuonRefs_.insert(l1tmuonRefs_.end(), refs.begin(), refs.end());
518  return l1tmuonIds_.size();
519  }
520  size_type addObjects(const Vids& ids, const VRl1tmuonShower& refs) {
521  assert(ids.size() == refs.size());
522  l1tmuonShowerIds_.insert(l1tmuonShowerIds_.end(), ids.begin(), ids.end());
523  l1tmuonShowerRefs_.insert(l1tmuonShowerRefs_.end(), refs.begin(), refs.end());
524  return l1tmuonShowerIds_.size();
525  }
526  size_type addObjects(const Vids& ids, const VRl1tegamma& refs) {
527  assert(ids.size() == refs.size());
528  l1tegammaIds_.insert(l1tegammaIds_.end(), ids.begin(), ids.end());
529  l1tegammaRefs_.insert(l1tegammaRefs_.end(), refs.begin(), refs.end());
530  return l1tegammaIds_.size();
531  }
532  size_type addObjects(const Vids& ids, const VRl1tjet& refs) {
533  assert(ids.size() == refs.size());
534  l1tjetIds_.insert(l1tjetIds_.end(), ids.begin(), ids.end());
535  l1tjetRefs_.insert(l1tjetRefs_.end(), refs.begin(), refs.end());
536  return l1tjetIds_.size();
537  }
538  size_type addObjects(const Vids& ids, const VRl1ttau& refs) {
539  assert(ids.size() == refs.size());
540  l1ttauIds_.insert(l1ttauIds_.end(), ids.begin(), ids.end());
541  l1ttauRefs_.insert(l1ttauRefs_.end(), refs.begin(), refs.end());
542  return l1ttauIds_.size();
543  }
544  size_type addObjects(const Vids& ids, const VRl1tetsum& refs) {
545  assert(ids.size() == refs.size());
546  l1tetsumIds_.insert(l1tetsumIds_.end(), ids.begin(), ids.end());
547  l1tetsumRefs_.insert(l1tetsumRefs_.end(), refs.begin(), refs.end());
548  return l1tetsumIds_.size();
549  }
550  size_type addObjects(const Vids& ids, const VRl1hfrings& refs) {
551  assert(ids.size() == refs.size());
552  l1hfringsIds_.insert(l1hfringsIds_.end(), ids.begin(), ids.end());
553  l1hfringsRefs_.insert(l1hfringsRefs_.end(), refs.begin(), refs.end());
554  return l1hfringsIds_.size();
555  }
556 
557  /* Phase-2 */
558  size_type addObjects(const Vids& ids, const VRl1ttkmuon& refs) {
559  assert(ids.size() == refs.size());
560  l1ttkmuonIds_.insert(l1ttkmuonIds_.end(), ids.begin(), ids.end());
561  l1ttkmuonRefs_.insert(l1ttkmuonRefs_.end(), refs.begin(), refs.end());
562  return l1ttkmuonIds_.size();
563  }
564  size_type addObjects(const Vids& ids, const VRl1ttkele& refs) {
565  assert(ids.size() == refs.size());
566  l1ttkeleIds_.insert(l1ttkeleIds_.end(), ids.begin(), ids.end());
567  l1ttkeleRefs_.insert(l1ttkeleRefs_.end(), refs.begin(), refs.end());
568  return l1ttkeleIds_.size();
569  }
570  size_type addObjects(const Vids& ids, const VRl1ttkem& refs) {
571  assert(ids.size() == refs.size());
572  l1ttkemIds_.insert(l1ttkemIds_.end(), ids.begin(), ids.end());
573  l1ttkemRefs_.insert(l1ttkemRefs_.end(), refs.begin(), refs.end());
574  return l1ttkemIds_.size();
575  }
576  size_type addObjects(const Vids& ids, const VRl1tpfjet& refs) {
577  assert(ids.size() == refs.size());
578  l1tpfjetIds_.insert(l1tpfjetIds_.end(), ids.begin(), ids.end());
579  l1tpfjetRefs_.insert(l1tpfjetRefs_.end(), refs.begin(), refs.end());
580  return l1tpfjetIds_.size();
581  }
582  size_type addObjects(const Vids& ids, const VRl1tpftau& refs) {
583  assert(ids.size() == refs.size());
584  l1tpftauIds_.insert(l1tpftauIds_.end(), ids.begin(), ids.end());
585  l1tpftauRefs_.insert(l1tpftauRefs_.end(), refs.begin(), refs.end());
586  return l1tpftauIds_.size();
587  }
588  size_type addObjects(const Vids& ids, const VRl1thpspftau& refs) {
589  assert(ids.size() == refs.size());
590  l1thpspftauIds_.insert(l1thpspftauIds_.end(), ids.begin(), ids.end());
591  l1thpspftauRefs_.insert(l1thpspftauRefs_.end(), refs.begin(), refs.end());
592  return l1thpspftauIds_.size();
593  }
594  size_type addObjects(const Vids& ids, const VRl1tpftrack& refs) {
595  assert(ids.size() == refs.size());
596  l1tpftrackIds_.insert(l1tpftrackIds_.end(), ids.begin(), ids.end());
597  l1tpftrackRefs_.insert(l1tpftrackRefs_.end(), refs.begin(), refs.end());
598  return l1tpftrackIds_.size();
599  }
600  size_type addObjects(const Vids& ids, const VRl1tp2etsum& refs) {
601  assert(ids.size() == refs.size());
602  l1tp2etsumIds_.insert(l1tp2etsumIds_.end(), ids.begin(), ids.end());
603  l1tp2etsumRefs_.insert(l1tp2etsumRefs_.end(), refs.begin(), refs.end());
604  return l1tp2etsumIds_.size();
605  }
606 
607  size_type addObjects(const Vids& ids, const VRpfjet& refs) {
608  assert(ids.size() == refs.size());
609  pfjetIds_.insert(pfjetIds_.end(), ids.begin(), ids.end());
610  pfjetRefs_.insert(pfjetRefs_.end(), refs.begin(), refs.end());
611  return pfjetIds_.size();
612  }
613  size_type addObjects(const Vids& ids, const VRpftau& refs) {
614  assert(ids.size() == refs.size());
615  pftauIds_.insert(pftauIds_.end(), ids.begin(), ids.end());
616  pftauRefs_.insert(pftauRefs_.end(), refs.begin(), refs.end());
617  return pftauIds_.size();
618  }
619  size_type addObjects(const Vids& ids, const VRpfmet& refs) {
620  assert(ids.size() == refs.size());
621  pfmetIds_.insert(pfmetIds_.end(), ids.begin(), ids.end());
622  pfmetRefs_.insert(pfmetRefs_.end(), refs.begin(), refs.end());
623  return pfmetIds_.size();
624  }
625 
627  void getObjects(Vids& ids, VRphoton& refs) const { getObjects(ids, refs, 0, photonIds_.size()); }
628  void getObjects(Vids& ids, VRphoton& refs, size_type begin, size_type end) const {
629  assert(begin <= end);
630  assert(end <= photonIds_.size());
631  const size_type n(end - begin);
632  ids.resize(n);
633  refs.resize(n);
634  size_type j(0);
635  for (size_type i = begin; i != end; ++i) {
636  ids[j] = photonIds_[i];
637  refs[j] = photonRefs_[i];
638  ++j;
639  }
640  }
641  void getObjects(int id, VRphoton& refs) const { getObjects(id, refs, 0, photonIds_.size()); }
642  void getObjects(int id, VRphoton& refs, size_type begin, size_type end) const {
643  assert(begin <= end);
644  assert(end <= photonIds_.size());
645  size_type n(0);
646  for (size_type i = begin; i != end; ++i) {
647  if (id == photonIds_[i]) {
648  ++n;
649  }
650  }
651  refs.resize(n);
652  size_type j(0);
653  for (size_type i = begin; i != end; ++i) {
654  if (id == photonIds_[i]) {
655  refs[j] = photonRefs_[i];
656  ++j;
657  }
658  }
659  return;
660  }
661 
662  void getObjects(Vids& ids, VRelectron& refs) const { getObjects(ids, refs, 0, electronIds_.size()); }
663  void getObjects(Vids& ids, VRelectron& refs, size_type begin, size_type end) const {
664  assert(begin <= end);
665  assert(end <= electronIds_.size());
666  const size_type n(end - begin);
667  ids.resize(n);
668  refs.resize(n);
669  size_type j(0);
670  for (size_type i = begin; i != end; ++i) {
671  ids[j] = electronIds_[i];
672  refs[j] = electronRefs_[i];
673  ++j;
674  }
675  }
676  void getObjects(int id, VRelectron& refs) const { getObjects(id, refs, 0, electronIds_.size()); }
677  void getObjects(int id, VRelectron& refs, size_type begin, size_type end) const {
678  assert(begin <= end);
679  assert(end <= electronIds_.size());
680  size_type n(0);
681  for (size_type i = begin; i != end; ++i) {
682  if (id == electronIds_[i]) {
683  ++n;
684  }
685  }
686  refs.resize(n);
687  size_type j(0);
688  for (size_type i = begin; i != end; ++i) {
689  if (id == electronIds_[i]) {
690  refs[j] = electronRefs_[i];
691  ++j;
692  }
693  }
694  return;
695  }
696 
697  void getObjects(Vids& ids, VRmuon& refs) const { getObjects(ids, refs, 0, muonIds_.size()); }
698  void getObjects(Vids& ids, VRmuon& refs, size_type begin, size_type end) const {
699  assert(begin <= end);
700  assert(end <= muonIds_.size());
701  const size_type n(end - begin);
702  ids.resize(n);
703  refs.resize(n);
704  size_type j(0);
705  for (size_type i = begin; i != end; ++i) {
706  ids[j] = muonIds_[i];
707  refs[j] = muonRefs_[i];
708  ++j;
709  }
710  }
711  void getObjects(int id, VRmuon& refs) const { getObjects(id, refs, 0, muonIds_.size()); }
712  void getObjects(int id, VRmuon& refs, size_type begin, size_type end) const {
713  assert(begin <= end);
714  assert(end <= muonIds_.size());
715  size_type n(0);
716  for (size_type i = begin; i != end; ++i) {
717  if (id == muonIds_[i]) {
718  ++n;
719  }
720  }
721  refs.resize(n);
722  size_type j(0);
723  for (size_type i = begin; i != end; ++i) {
724  if (id == muonIds_[i]) {
725  refs[j] = muonRefs_[i];
726  ++j;
727  }
728  }
729  return;
730  }
731 
732  void getObjects(Vids& ids, VRjet& refs) const { getObjects(ids, refs, 0, jetIds_.size()); }
733  void getObjects(Vids& ids, VRjet& refs, size_type begin, size_type end) const {
734  assert(begin <= end);
735  assert(end <= jetIds_.size());
736  const size_type n(end - begin);
737  ids.resize(n);
738  refs.resize(n);
739  size_type j(0);
740  for (size_type i = begin; i != end; ++i) {
741  ids[j] = jetIds_[i];
742  refs[j] = jetRefs_[i];
743  ++j;
744  }
745  }
746  void getObjects(int id, VRjet& refs) const { getObjects(id, refs, 0, jetIds_.size()); }
747  void getObjects(int id, VRjet& refs, size_type begin, size_type end) const {
748  assert(begin <= end);
749  assert(end <= jetIds_.size());
750  size_type n(0);
751  for (size_type i = begin; i != end; ++i) {
752  if (id == jetIds_[i]) {
753  ++n;
754  }
755  }
756  refs.resize(n);
757  size_type j(0);
758  for (size_type i = begin; i != end; ++i) {
759  if (id == jetIds_[i]) {
760  refs[j] = jetRefs_[i];
761  ++j;
762  }
763  }
764  return;
765  }
766 
767  void getObjects(Vids& ids, VRcomposite& refs) const { getObjects(ids, refs, 0, compositeIds_.size()); }
768  void getObjects(Vids& ids, VRcomposite& refs, size_type begin, size_type end) const {
769  assert(begin <= end);
770  assert(end <= compositeIds_.size());
771  const size_type n(end - begin);
772  ids.resize(n);
773  refs.resize(n);
774  size_type j(0);
775  for (size_type i = begin; i != end; ++i) {
776  ids[j] = compositeIds_[i];
777  refs[j] = compositeRefs_[i];
778  ++j;
779  }
780  }
781  void getObjects(int id, VRcomposite& refs) const { getObjects(id, refs, 0, compositeIds_.size()); }
782  void getObjects(int id, VRcomposite& refs, size_type begin, size_type end) const {
783  assert(begin <= end);
784  assert(end <= compositeIds_.size());
785  size_type n(0);
786  for (size_type i = begin; i != end; ++i) {
787  if (id == compositeIds_[i]) {
788  ++n;
789  }
790  }
791  refs.resize(n);
792  size_type j(0);
793  for (size_type i = begin; i != end; ++i) {
794  if (id == compositeIds_[i]) {
795  refs[j] = compositeRefs_[i];
796  ++j;
797  }
798  }
799  return;
800  }
801 
802  void getObjects(Vids& ids, VRbasemet& refs) const { getObjects(ids, refs, 0, basemetIds_.size()); }
803  void getObjects(Vids& ids, VRbasemet& refs, size_type begin, size_type end) const {
804  assert(begin <= end);
805  assert(end <= basemetIds_.size());
806  const size_type n(end - begin);
807  ids.resize(n);
808  refs.resize(n);
809  size_type j(0);
810  for (size_type i = begin; i != end; ++i) {
811  ids[j] = basemetIds_[i];
812  refs[j] = basemetRefs_[i];
813  ++j;
814  }
815  }
816  void getObjects(int id, VRbasemet& refs) const { getObjects(id, refs, 0, basemetIds_.size()); }
817  void getObjects(int id, VRbasemet& refs, size_type begin, size_type end) const {
818  assert(begin <= end);
819  assert(end <= basemetIds_.size());
820  size_type n(0);
821  for (size_type i = begin; i != end; ++i) {
822  if (id == basemetIds_[i]) {
823  ++n;
824  }
825  }
826  refs.resize(n);
827  size_type j(0);
828  for (size_type i = begin; i != end; ++i) {
829  if (id == basemetIds_[i]) {
830  refs[j] = basemetRefs_[i];
831  ++j;
832  }
833  }
834  return;
835  }
836 
837  void getObjects(Vids& ids, VRcalomet& refs) const { getObjects(ids, refs, 0, calometIds_.size()); }
838  void getObjects(Vids& ids, VRcalomet& refs, size_type begin, size_type end) const {
839  assert(begin <= end);
840  assert(end <= calometIds_.size());
841  const size_type n(end - begin);
842  ids.resize(n);
843  refs.resize(n);
844  size_type j(0);
845  for (size_type i = begin; i != end; ++i) {
846  ids[j] = calometIds_[i];
847  refs[j] = calometRefs_[i];
848  ++j;
849  }
850  }
851  void getObjects(int id, VRcalomet& refs) const { getObjects(id, refs, 0, calometIds_.size()); }
852  void getObjects(int id, VRcalomet& refs, size_type begin, size_type end) const {
853  assert(begin <= end);
854  assert(end <= calometIds_.size());
855  size_type n(0);
856  for (size_type i = begin; i != end; ++i) {
857  if (id == calometIds_[i]) {
858  ++n;
859  }
860  }
861  refs.resize(n);
862  size_type j(0);
863  for (size_type i = begin; i != end; ++i) {
864  if (id == calometIds_[i]) {
865  refs[j] = calometRefs_[i];
866  ++j;
867  }
868  }
869  return;
870  }
871 
872  void getObjects(Vids& ids, VRpixtrack& refs) const { getObjects(ids, refs, 0, pixtrackIds_.size()); }
873  void getObjects(Vids& ids, VRpixtrack& refs, size_type begin, size_type end) const {
874  assert(begin <= end);
875  assert(end <= pixtrackIds_.size());
876  const size_type n(end - begin);
877  ids.resize(n);
878  refs.resize(n);
879  size_type j(0);
880  for (size_type i = begin; i != end; ++i) {
881  ids[j] = pixtrackIds_[i];
882  refs[j] = pixtrackRefs_[i];
883  ++j;
884  }
885  }
886  void getObjects(int id, VRpixtrack& refs) const { getObjects(id, refs, 0, pixtrackIds_.size()); }
887  void getObjects(int id, VRpixtrack& refs, size_type begin, size_type end) const {
888  assert(begin <= end);
889  assert(end <= pixtrackIds_.size());
890  size_type n(0);
891  for (size_type i = begin; i != end; ++i) {
892  if (id == pixtrackIds_[i]) {
893  ++n;
894  }
895  }
896  refs.resize(n);
897  size_type j(0);
898  for (size_type i = begin; i != end; ++i) {
899  if (id == pixtrackIds_[i]) {
900  refs[j] = pixtrackRefs_[i];
901  ++j;
902  }
903  }
904  return;
905  }
906 
907  void getObjects(Vids& ids, VRl1em& refs) const { getObjects(ids, refs, 0, l1emIds_.size()); }
908  void getObjects(Vids& ids, VRl1em& refs, size_type begin, size_type end) const {
909  assert(begin <= end);
910  assert(end <= l1emIds_.size());
911  const size_type n(end - begin);
912  ids.resize(n);
913  refs.resize(n);
914  size_type j(0);
915  for (size_type i = begin; i != end; ++i) {
916  ids[j] = l1emIds_[i];
917  refs[j] = l1emRefs_[i];
918  ++j;
919  }
920  }
921  void getObjects(int id, VRl1em& refs) const { getObjects(id, refs, 0, l1emIds_.size()); }
922  void getObjects(int id, VRl1em& refs, size_type begin, size_type end) const {
923  assert(begin <= end);
924  assert(end <= l1emIds_.size());
925  size_type n(0);
926  for (size_type i = begin; i != end; ++i) {
927  if (id == l1emIds_[i]) {
928  ++n;
929  }
930  }
931  refs.resize(n);
932  size_type j(0);
933  for (size_type i = begin; i != end; ++i) {
934  if (id == l1emIds_[i]) {
935  refs[j] = l1emRefs_[i];
936  ++j;
937  }
938  }
939  return;
940  }
941 
942  void getObjects(Vids& ids, VRl1muon& refs) const { getObjects(ids, refs, 0, l1muonIds_.size()); }
943  void getObjects(Vids& ids, VRl1muon& refs, size_type begin, size_type end) const {
944  assert(begin <= end);
945  assert(end <= l1muonIds_.size());
946  const size_type n(end - begin);
947  ids.resize(n);
948  refs.resize(n);
949  size_type j(0);
950  for (size_type i = begin; i != end; ++i) {
951  ids[j] = l1muonIds_[i];
952  refs[j] = l1muonRefs_[i];
953  ++j;
954  }
955  }
956  void getObjects(int id, VRl1muon& refs) const { getObjects(id, refs, 0, l1muonIds_.size()); }
957  void getObjects(int id, VRl1muon& refs, size_type begin, size_type end) const {
958  assert(begin <= end);
959  assert(end <= l1muonIds_.size());
960  size_type n(0);
961  for (size_type i = begin; i != end; ++i) {
962  if (id == l1muonIds_[i]) {
963  ++n;
964  }
965  }
966  refs.resize(n);
967  size_type j(0);
968  for (size_type i = begin; i != end; ++i) {
969  if (id == l1muonIds_[i]) {
970  refs[j] = l1muonRefs_[i];
971  ++j;
972  }
973  }
974  return;
975  }
976 
977  void getObjects(Vids& ids, VRl1jet& refs) const { getObjects(ids, refs, 0, l1jetIds_.size()); }
978  void getObjects(Vids& ids, VRl1jet& refs, size_type begin, size_type end) const {
979  assert(begin <= end);
980  assert(end <= l1jetIds_.size());
981  const size_type n(end - begin);
982  ids.resize(n);
983  refs.resize(n);
984  size_type j(0);
985  for (size_type i = begin; i != end; ++i) {
986  ids[j] = l1jetIds_[i];
987  refs[j] = l1jetRefs_[i];
988  ++j;
989  }
990  }
991  void getObjects(int id, VRl1jet& refs) const { getObjects(id, refs, 0, l1jetIds_.size()); }
992  void getObjects(int id, VRl1jet& refs, size_type begin, size_type end) const {
993  assert(begin <= end);
994  assert(end <= l1jetIds_.size());
995  size_type n(0);
996  for (size_type i = begin; i != end; ++i) {
997  if (id == l1jetIds_[i]) {
998  ++n;
999  }
1000  }
1001  refs.resize(n);
1002  size_type j(0);
1003  for (size_type i = begin; i != end; ++i) {
1004  if (id == l1jetIds_[i]) {
1005  refs[j] = l1jetRefs_[i];
1006  ++j;
1007  }
1008  }
1009  return;
1010  }
1011 
1012  void getObjects(Vids& ids, VRl1etmiss& refs) const { getObjects(ids, refs, 0, l1etmissIds_.size()); }
1013  void getObjects(Vids& ids, VRl1etmiss& refs, size_type begin, size_type end) const {
1014  assert(begin <= end);
1015  assert(end <= l1etmissIds_.size());
1016  const size_type n(end - begin);
1017  ids.resize(n);
1018  refs.resize(n);
1019  size_type j(0);
1020  for (size_type i = begin; i != end; ++i) {
1021  ids[j] = l1etmissIds_[i];
1022  refs[j] = l1etmissRefs_[i];
1023  ++j;
1024  }
1025  }
1026  void getObjects(int id, VRl1etmiss& refs) const { getObjects(id, refs, 0, l1etmissIds_.size()); }
1027  void getObjects(int id, VRl1etmiss& refs, size_type begin, size_type end) const {
1028  assert(begin <= end);
1029  assert(end <= l1etmissIds_.size());
1030  size_type n(0);
1031  for (size_type i = begin; i != end; ++i) {
1032  if (id == l1etmissIds_[i]) {
1033  ++n;
1034  }
1035  }
1036  refs.resize(n);
1037  size_type j(0);
1038  for (size_type i = begin; i != end; ++i) {
1039  if (id == l1etmissIds_[i]) {
1040  refs[j] = l1etmissRefs_[i];
1041  ++j;
1042  }
1043  }
1044  return;
1045  }
1046 
1047  void getObjects(Vids& ids, VRl1hfrings& refs) const { getObjects(ids, refs, 0, l1hfringsIds_.size()); }
1048  void getObjects(Vids& ids, VRl1hfrings& refs, size_type begin, size_type end) const {
1049  assert(begin <= end);
1050  assert(end <= l1hfringsIds_.size());
1051  const size_type n(end - begin);
1052  ids.resize(n);
1053  refs.resize(n);
1054  size_type j(0);
1055  for (size_type i = begin; i != end; ++i) {
1056  ids[j] = l1hfringsIds_[i];
1057  refs[j] = l1hfringsRefs_[i];
1058  ++j;
1059  }
1060  }
1061  void getObjects(int id, VRl1hfrings& refs) const { getObjects(id, refs, 0, l1hfringsIds_.size()); }
1062  void getObjects(int id, VRl1hfrings& refs, size_type begin, size_type end) const {
1063  assert(begin <= end);
1064  assert(end <= l1hfringsIds_.size());
1065  size_type n(0);
1066  for (size_type i = begin; i != end; ++i) {
1067  if (id == l1hfringsIds_[i]) {
1068  ++n;
1069  }
1070  }
1071  refs.resize(n);
1072  size_type j(0);
1073  for (size_type i = begin; i != end; ++i) {
1074  if (id == l1hfringsIds_[i]) {
1075  refs[j] = l1hfringsRefs_[i];
1076  ++j;
1077  }
1078  }
1079  return;
1080  }
1081 
1082  void getObjects(Vids& ids, VRl1tmuon& refs) const { getObjects(ids, refs, 0, l1tmuonIds_.size()); }
1083  void getObjects(Vids& ids, VRl1tmuon& refs, size_type begin, size_type end) const {
1084  assert(begin <= end);
1085  assert(end <= l1tmuonIds_.size());
1086  const size_type n(end - begin);
1087  ids.resize(n);
1088  refs.resize(n);
1089  size_type j(0);
1090  for (size_type i = begin; i != end; ++i) {
1091  ids[j] = l1tmuonIds_[i];
1092  refs[j] = l1tmuonRefs_[i];
1093  ++j;
1094  }
1095  }
1096  void getObjects(int id, VRl1tmuon& refs) const { getObjects(id, refs, 0, l1tmuonIds_.size()); }
1097  void getObjects(int id, VRl1tmuon& refs, size_type begin, size_type end) const {
1098  assert(begin <= end);
1099  assert(end <= l1tmuonIds_.size());
1100  size_type n(0);
1101  for (size_type i = begin; i != end; ++i) {
1102  if (id == l1tmuonIds_[i]) {
1103  ++n;
1104  }
1105  }
1106  refs.resize(n);
1107  size_type j(0);
1108  for (size_type i = begin; i != end; ++i) {
1109  if (id == l1tmuonIds_[i]) {
1110  refs[j] = l1tmuonRefs_[i];
1111  ++j;
1112  }
1113  }
1114  return;
1115  }
1116 
1117  void getObjects(Vids& ids, VRl1tmuonShower& refs) const { getObjects(ids, refs, 0, l1tmuonShowerIds_.size()); }
1118  void getObjects(Vids& ids, VRl1tmuonShower& refs, size_type begin, size_type end) const {
1119  assert(begin <= end);
1120  assert(end <= l1tmuonShowerIds_.size());
1121  const size_type n(end - begin);
1122  ids.resize(n);
1123  refs.resize(n);
1124  size_type j(0);
1125  for (size_type i = begin; i != end; ++i) {
1126  ids[j] = l1tmuonShowerIds_[i];
1127  refs[j] = l1tmuonShowerRefs_[i];
1128  ++j;
1129  }
1130  }
1131  void getObjects(int id, VRl1tmuonShower& refs) const { getObjects(id, refs, 0, l1tmuonShowerIds_.size()); }
1132  void getObjects(int id, VRl1tmuonShower& refs, size_type begin, size_type end) const {
1133  assert(begin <= end);
1134  assert(end <= l1tmuonShowerIds_.size());
1135  size_type n(0);
1136  for (size_type i = begin; i != end; ++i) {
1137  if (id == l1tmuonShowerIds_[i]) {
1138  ++n;
1139  }
1140  }
1141  refs.resize(n);
1142  size_type j(0);
1143  for (size_type i = begin; i != end; ++i) {
1144  if (id == l1tmuonShowerIds_[i]) {
1145  refs[j] = l1tmuonShowerRefs_[i];
1146  ++j;
1147  }
1148  }
1149  return;
1150  }
1151 
1152  void getObjects(Vids& ids, VRl1tegamma& refs) const { getObjects(ids, refs, 0, l1tegammaIds_.size()); }
1153  void getObjects(Vids& ids, VRl1tegamma& refs, size_type begin, size_type end) const {
1154  assert(begin <= end);
1155  assert(end <= l1tegammaIds_.size());
1156  const size_type n(end - begin);
1157  ids.resize(n);
1158  refs.resize(n);
1159  size_type j(0);
1160  for (size_type i = begin; i != end; ++i) {
1161  ids[j] = l1tegammaIds_[i];
1162  refs[j] = l1tegammaRefs_[i];
1163  ++j;
1164  }
1165  }
1166  void getObjects(int id, VRl1tegamma& refs) const { getObjects(id, refs, 0, l1tegammaIds_.size()); }
1167  void getObjects(int id, VRl1tegamma& refs, size_type begin, size_type end) const {
1168  assert(begin <= end);
1169  assert(end <= l1tegammaIds_.size());
1170  size_type n(0);
1171  for (size_type i = begin; i != end; ++i) {
1172  if (id == l1tegammaIds_[i]) {
1173  ++n;
1174  }
1175  }
1176  refs.resize(n);
1177  size_type j(0);
1178  for (size_type i = begin; i != end; ++i) {
1179  if (id == l1tegammaIds_[i]) {
1180  refs[j] = l1tegammaRefs_[i];
1181  ++j;
1182  }
1183  }
1184  return;
1185  }
1186 
1187  void getObjects(Vids& ids, VRl1tjet& refs) const { getObjects(ids, refs, 0, l1tjetIds_.size()); }
1188  void getObjects(Vids& ids, VRl1tjet& refs, size_type begin, size_type end) const {
1189  assert(begin <= end);
1190  assert(end <= l1tjetIds_.size());
1191  const size_type n(end - begin);
1192  ids.resize(n);
1193  refs.resize(n);
1194  size_type j(0);
1195  for (size_type i = begin; i != end; ++i) {
1196  ids[j] = l1tjetIds_[i];
1197  refs[j] = l1tjetRefs_[i];
1198  ++j;
1199  }
1200  }
1201  void getObjects(int id, VRl1tjet& refs) const { getObjects(id, refs, 0, l1tjetIds_.size()); }
1202  void getObjects(int id, VRl1tjet& refs, size_type begin, size_type end) const {
1203  assert(begin <= end);
1204  assert(end <= l1tjetIds_.size());
1205  size_type n(0);
1206  for (size_type i = begin; i != end; ++i) {
1207  if (id == l1tjetIds_[i]) {
1208  ++n;
1209  }
1210  }
1211  refs.resize(n);
1212  size_type j(0);
1213  for (size_type i = begin; i != end; ++i) {
1214  if (id == l1tjetIds_[i]) {
1215  refs[j] = l1tjetRefs_[i];
1216  ++j;
1217  }
1218  }
1219  return;
1220  }
1221 
1222  void getObjects(Vids& ids, VRl1ttau& refs) const { getObjects(ids, refs, 0, l1ttauIds_.size()); }
1223  void getObjects(Vids& ids, VRl1ttau& refs, size_type begin, size_type end) const {
1224  assert(begin <= end);
1225  assert(end <= l1ttauIds_.size());
1226  const size_type n(end - begin);
1227  ids.resize(n);
1228  refs.resize(n);
1229  size_type j(0);
1230  for (size_type i = begin; i != end; ++i) {
1231  ids[j] = l1ttauIds_[i];
1232  refs[j] = l1ttauRefs_[i];
1233  ++j;
1234  }
1235  }
1236  void getObjects(int id, VRl1ttau& refs) const { getObjects(id, refs, 0, l1ttauIds_.size()); }
1237  void getObjects(int id, VRl1ttau& refs, size_type begin, size_type end) const {
1238  assert(begin <= end);
1239  assert(end <= l1ttauIds_.size());
1240  size_type n(0);
1241  for (size_type i = begin; i != end; ++i) {
1242  if (id == l1ttauIds_[i]) {
1243  ++n;
1244  }
1245  }
1246  refs.resize(n);
1247  size_type j(0);
1248  for (size_type i = begin; i != end; ++i) {
1249  if (id == l1ttauIds_[i]) {
1250  refs[j] = l1ttauRefs_[i];
1251  ++j;
1252  }
1253  }
1254  return;
1255  }
1256 
1257  void getObjects(Vids& ids, VRl1tetsum& refs) const { getObjects(ids, refs, 0, l1tetsumIds_.size()); }
1258  void getObjects(Vids& ids, VRl1tetsum& refs, size_type begin, size_type end) const {
1259  assert(begin <= end);
1260  assert(end <= l1tetsumIds_.size());
1261  const size_type n(end - begin);
1262  ids.resize(n);
1263  refs.resize(n);
1264  size_type j(0);
1265  for (size_type i = begin; i != end; ++i) {
1266  ids[j] = l1tetsumIds_[i];
1267  refs[j] = l1tetsumRefs_[i];
1268  ++j;
1269  }
1270  }
1271  void getObjects(int id, VRl1tetsum& refs) const { getObjects(id, refs, 0, l1tetsumIds_.size()); }
1272  void getObjects(int id, VRl1tetsum& refs, size_type begin, size_type end) const {
1273  assert(begin <= end);
1274  assert(end <= l1tetsumIds_.size());
1275  size_type n(0);
1276  for (size_type i = begin; i != end; ++i) {
1277  if (id == l1tetsumIds_[i]) {
1278  ++n;
1279  }
1280  }
1281  refs.resize(n);
1282  size_type j(0);
1283  for (size_type i = begin; i != end; ++i) {
1284  if (id == l1tetsumIds_[i]) {
1285  refs[j] = l1tetsumRefs_[i];
1286  ++j;
1287  }
1288  }
1289  return;
1290  }
1291 
1292  /* Phase-2 */
1293  void getObjects(Vids& ids, VRl1ttkmuon& refs) const { getObjects(ids, refs, 0, l1ttkmuonIds_.size()); }
1294  void getObjects(Vids& ids, VRl1ttkmuon& refs, size_type begin, size_type end) const {
1295  assert(begin <= end);
1296  assert(end <= l1ttkmuonIds_.size());
1297  const size_type n(end - begin);
1298  ids.resize(n);
1299  refs.resize(n);
1300  size_type j(0);
1301  for (size_type i = begin; i != end; ++i) {
1302  ids[j] = l1ttkmuonIds_[i];
1303  refs[j] = l1ttkmuonRefs_[i];
1304  ++j;
1305  }
1306  }
1307  void getObjects(int id, VRl1ttkmuon& refs) const { getObjects(id, refs, 0, l1ttkmuonIds_.size()); }
1308  void getObjects(int id, VRl1ttkmuon& refs, size_type begin, size_type end) const {
1309  assert(begin <= end);
1310  assert(end <= l1ttkmuonIds_.size());
1311  size_type n(0);
1312  for (size_type i = begin; i != end; ++i) {
1313  if (id == l1ttkmuonIds_[i]) {
1314  ++n;
1315  }
1316  }
1317  refs.resize(n);
1318  size_type j(0);
1319  for (size_type i = begin; i != end; ++i) {
1320  if (id == l1ttkmuonIds_[i]) {
1321  refs[j] = l1ttkmuonRefs_[i];
1322  ++j;
1323  }
1324  }
1325  return;
1326  }
1327 
1328  void getObjects(Vids& ids, VRl1ttkele& refs) const { getObjects(ids, refs, 0, l1ttkeleIds_.size()); }
1329  void getObjects(Vids& ids, VRl1ttkele& refs, size_type begin, size_type end) const {
1330  assert(begin <= end);
1331  assert(end <= l1ttkeleIds_.size());
1332  const size_type n(end - begin);
1333  ids.resize(n);
1334  refs.resize(n);
1335  size_type j(0);
1336  for (size_type i = begin; i != end; ++i) {
1337  ids[j] = l1ttkeleIds_[i];
1338  refs[j] = l1ttkeleRefs_[i];
1339  ++j;
1340  }
1341  }
1342  void getObjects(int id, VRl1ttkele& refs) const { getObjects(id, refs, 0, l1ttkeleIds_.size()); }
1343  void getObjects(int id, VRl1ttkele& refs, size_type begin, size_type end) const {
1344  assert(begin <= end);
1345  assert(end <= l1ttkeleIds_.size());
1346  size_type n(0);
1347  for (size_type i = begin; i != end; ++i) {
1348  if (id == l1ttkeleIds_[i]) {
1349  ++n;
1350  }
1351  }
1352  refs.resize(n);
1353  size_type j(0);
1354  for (size_type i = begin; i != end; ++i) {
1355  if (id == l1ttkeleIds_[i]) {
1356  refs[j] = l1ttkeleRefs_[i];
1357  ++j;
1358  }
1359  }
1360  return;
1361  }
1362 
1363  void getObjects(Vids& ids, VRl1ttkem& refs) const { getObjects(ids, refs, 0, l1ttkemIds_.size()); }
1364  void getObjects(Vids& ids, VRl1ttkem& refs, size_type begin, size_type end) const {
1365  assert(begin <= end);
1366  assert(end <= l1ttkemIds_.size());
1367  const size_type n(end - begin);
1368  ids.resize(n);
1369  refs.resize(n);
1370  size_type j(0);
1371  for (size_type i = begin; i != end; ++i) {
1372  ids[j] = l1ttkemIds_[i];
1373  refs[j] = l1ttkemRefs_[i];
1374  ++j;
1375  }
1376  }
1377  void getObjects(int id, VRl1ttkem& refs) const { getObjects(id, refs, 0, l1ttkemIds_.size()); }
1378  void getObjects(int id, VRl1ttkem& refs, size_type begin, size_type end) const {
1379  assert(begin <= end);
1380  assert(end <= l1ttkemIds_.size());
1381  size_type n(0);
1382  for (size_type i = begin; i != end; ++i) {
1383  if (id == l1ttkemIds_[i]) {
1384  ++n;
1385  }
1386  }
1387  refs.resize(n);
1388  size_type j(0);
1389  for (size_type i = begin; i != end; ++i) {
1390  if (id == l1ttkemIds_[i]) {
1391  refs[j] = l1ttkemRefs_[i];
1392  ++j;
1393  }
1394  }
1395  return;
1396  }
1397 
1398  void getObjects(Vids& ids, VRl1tpfjet& refs) const { getObjects(ids, refs, 0, l1tpfjetIds_.size()); }
1399  void getObjects(Vids& ids, VRl1tpfjet& refs, size_type begin, size_type end) const {
1400  assert(begin <= end);
1401  assert(end <= l1tpfjetIds_.size());
1402  const size_type n(end - begin);
1403  ids.resize(n);
1404  refs.resize(n);
1405  size_type j(0);
1406  for (size_type i = begin; i != end; ++i) {
1407  ids[j] = l1tpfjetIds_[i];
1408  refs[j] = l1tpfjetRefs_[i];
1409  ++j;
1410  }
1411  }
1412  void getObjects(int id, VRl1tpfjet& refs) const { getObjects(id, refs, 0, l1tpfjetIds_.size()); }
1413  void getObjects(int id, VRl1tpfjet& refs, size_type begin, size_type end) const {
1414  assert(begin <= end);
1415  assert(end <= l1tpfjetIds_.size());
1416  size_type n(0);
1417  for (size_type i = begin; i != end; ++i) {
1418  if (id == l1tpfjetIds_[i]) {
1419  ++n;
1420  }
1421  }
1422  refs.resize(n);
1423  size_type j(0);
1424  for (size_type i = begin; i != end; ++i) {
1425  if (id == l1tpfjetIds_[i]) {
1426  refs[j] = l1tpfjetRefs_[i];
1427  ++j;
1428  }
1429  }
1430  return;
1431  }
1432 
1433  void getObjects(Vids& ids, VRl1tpftau& refs) const { getObjects(ids, refs, 0, l1tpftauIds_.size()); }
1434  void getObjects(Vids& ids, VRl1tpftau& refs, size_type begin, size_type end) const {
1435  assert(begin <= end);
1436  assert(end <= l1tpftauIds_.size());
1437  const size_type n(end - begin);
1438  ids.resize(n);
1439  refs.resize(n);
1440  size_type j(0);
1441  for (size_type i = begin; i != end; ++i) {
1442  ids[j] = l1tpftauIds_[i];
1443  refs[j] = l1tpftauRefs_[i];
1444  ++j;
1445  }
1446  }
1447  void getObjects(int id, VRl1tpftau& refs) const { getObjects(id, refs, 0, l1tpftauIds_.size()); }
1448  void getObjects(int id, VRl1tpftau& refs, size_type begin, size_type end) const {
1449  assert(begin <= end);
1450  assert(end <= l1tpftauIds_.size());
1451  size_type n(0);
1452  for (size_type i = begin; i != end; ++i) {
1453  if (id == l1tpftauIds_[i]) {
1454  ++n;
1455  }
1456  }
1457  refs.resize(n);
1458  size_type j(0);
1459  for (size_type i = begin; i != end; ++i) {
1460  if (id == l1tpftauIds_[i]) {
1461  refs[j] = l1tpftauRefs_[i];
1462  ++j;
1463  }
1464  }
1465  return;
1466  }
1467 
1468  void getObjects(Vids& ids, VRl1thpspftau& refs) const { getObjects(ids, refs, 0, l1thpspftauIds_.size()); }
1469  void getObjects(Vids& ids, VRl1thpspftau& refs, size_type begin, size_type end) const {
1470  assert(begin <= end);
1471  assert(end <= l1thpspftauIds_.size());
1472  const size_type n(end - begin);
1473  ids.resize(n);
1474  refs.resize(n);
1475  size_type j(0);
1476  for (size_type i = begin; i != end; ++i) {
1477  ids[j] = l1thpspftauIds_[i];
1478  refs[j] = l1thpspftauRefs_[i];
1479  ++j;
1480  }
1481  }
1482  void getObjects(int id, VRl1thpspftau& refs) const { getObjects(id, refs, 0, l1thpspftauIds_.size()); }
1483  void getObjects(int id, VRl1thpspftau& refs, size_type begin, size_type end) const {
1484  assert(begin <= end);
1485  assert(end <= l1thpspftauIds_.size());
1486  size_type n(0);
1487  for (size_type i = begin; i != end; ++i) {
1488  if (id == l1thpspftauIds_[i]) {
1489  ++n;
1490  }
1491  }
1492  refs.resize(n);
1493  size_type j(0);
1494  for (size_type i = begin; i != end; ++i) {
1495  if (id == l1thpspftauIds_[i]) {
1496  refs[j] = l1thpspftauRefs_[i];
1497  ++j;
1498  }
1499  }
1500  return;
1501  }
1502 
1503  void getObjects(Vids& ids, VRl1tpftrack& refs) const { getObjects(ids, refs, 0, l1tpftrackIds_.size()); }
1504  void getObjects(Vids& ids, VRl1tpftrack& refs, size_type begin, size_type end) const {
1505  assert(begin <= end);
1506  assert(end <= l1tpftrackIds_.size());
1507  const size_type n(end - begin);
1508  ids.resize(n);
1509  refs.resize(n);
1510  size_type j(0);
1511  for (size_type i = begin; i != end; ++i) {
1512  ids[j] = l1tpftrackIds_[i];
1513  refs[j] = l1tpftrackRefs_[i];
1514  ++j;
1515  }
1516  }
1517  void getObjects(int id, VRl1tpftrack& refs) const { getObjects(id, refs, 0, l1tpftrackIds_.size()); }
1518  void getObjects(int id, VRl1tpftrack& refs, size_type begin, size_type end) const {
1519  assert(begin <= end);
1520  assert(end <= l1tpftrackIds_.size());
1521  size_type n(0);
1522  for (size_type i = begin; i != end; ++i) {
1523  if (id == l1tpftrackIds_[i]) {
1524  ++n;
1525  }
1526  }
1527  refs.resize(n);
1528  size_type j(0);
1529  for (size_type i = begin; i != end; ++i) {
1530  if (id == l1tpftrackIds_[i]) {
1531  refs[j] = l1tpftrackRefs_[i];
1532  ++j;
1533  }
1534  }
1535  return;
1536  }
1537 
1538  void getObjects(Vids& ids, VRl1tp2etsum& refs) const { getObjects(ids, refs, 0, l1tp2etsumIds_.size()); }
1539  void getObjects(Vids& ids, VRl1tp2etsum& refs, size_type begin, size_type end) const {
1540  assert(begin <= end);
1541  assert(end <= l1tp2etsumIds_.size());
1542  const size_type n(end - begin);
1543  ids.resize(n);
1544  refs.resize(n);
1545  size_type j(0);
1546  for (size_type i = begin; i != end; ++i) {
1547  ids[j] = l1tp2etsumIds_[i];
1548  refs[j] = l1tp2etsumRefs_[i];
1549  ++j;
1550  }
1551  }
1552  void getObjects(int id, VRl1tp2etsum& refs) const { getObjects(id, refs, 0, l1tp2etsumIds_.size()); }
1553  void getObjects(int id, VRl1tp2etsum& refs, size_type begin, size_type end) const {
1554  assert(begin <= end);
1555  assert(end <= l1tp2etsumIds_.size());
1556  size_type n(0);
1557  for (size_type i = begin; i != end; ++i) {
1558  if (id == l1tp2etsumIds_[i]) {
1559  ++n;
1560  }
1561  }
1562  refs.resize(n);
1563  size_type j(0);
1564  for (size_type i = begin; i != end; ++i) {
1565  if (id == l1tp2etsumIds_[i]) {
1566  refs[j] = l1tp2etsumRefs_[i];
1567  ++j;
1568  }
1569  }
1570  return;
1571  }
1572 
1573  void getObjects(Vids& ids, VRpfjet& refs) const { getObjects(ids, refs, 0, pfjetIds_.size()); }
1574  void getObjects(Vids& ids, VRpfjet& refs, size_type begin, size_type end) const {
1575  assert(begin <= end);
1576  assert(end <= pfjetIds_.size());
1577  const size_type n(end - begin);
1578  ids.resize(n);
1579  refs.resize(n);
1580  size_type j(0);
1581  for (size_type i = begin; i != end; ++i) {
1582  ids[j] = pfjetIds_[i];
1583  refs[j] = pfjetRefs_[i];
1584  ++j;
1585  }
1586  }
1587  void getObjects(int id, VRpfjet& refs) const { getObjects(id, refs, 0, pfjetIds_.size()); }
1588  void getObjects(int id, VRpfjet& refs, size_type begin, size_type end) const {
1589  assert(begin <= end);
1590  assert(end <= pfjetIds_.size());
1591  size_type n(0);
1592  for (size_type i = begin; i != end; ++i) {
1593  if (id == pfjetIds_[i]) {
1594  ++n;
1595  }
1596  }
1597  refs.resize(n);
1598  size_type j(0);
1599  for (size_type i = begin; i != end; ++i) {
1600  if (id == pfjetIds_[i]) {
1601  refs[j] = pfjetRefs_[i];
1602  ++j;
1603  }
1604  }
1605  return;
1606  }
1607 
1608  void getObjects(Vids& ids, VRpftau& refs) const { getObjects(ids, refs, 0, pftauIds_.size()); }
1609  void getObjects(Vids& ids, VRpftau& refs, size_type begin, size_type end) const {
1610  assert(begin <= end);
1611  assert(end <= pftauIds_.size());
1612  const size_type n(end - begin);
1613  ids.resize(n);
1614  refs.resize(n);
1615  size_type j(0);
1616  for (size_type i = begin; i != end; ++i) {
1617  ids[j] = pftauIds_[i];
1618  refs[j] = pftauRefs_[i];
1619  ++j;
1620  }
1621  }
1622  void getObjects(int id, VRpftau& refs) const { getObjects(id, refs, 0, pftauIds_.size()); }
1623  void getObjects(int id, VRpftau& refs, size_type begin, size_type end) const {
1624  assert(begin <= end);
1625  assert(end <= pftauIds_.size());
1626  size_type n(0);
1627  for (size_type i = begin; i != end; ++i) {
1628  if (id == pftauIds_[i]) {
1629  ++n;
1630  }
1631  }
1632  refs.resize(n);
1633  size_type j(0);
1634  for (size_type i = begin; i != end; ++i) {
1635  if (id == pftauIds_[i]) {
1636  refs[j] = pftauRefs_[i];
1637  ++j;
1638  }
1639  }
1640  return;
1641  }
1642 
1643  void getObjects(Vids& ids, VRpfmet& refs) const { getObjects(ids, refs, 0, pfmetIds_.size()); }
1644  void getObjects(Vids& ids, VRpfmet& refs, size_type begin, size_type end) const {
1645  assert(begin <= end);
1646  assert(end <= pfmetIds_.size());
1647  const size_type n(end - begin);
1648  ids.resize(n);
1649  refs.resize(n);
1650  size_type j(0);
1651  for (size_type i = begin; i != end; ++i) {
1652  ids[j] = pfmetIds_[i];
1653  refs[j] = pfmetRefs_[i];
1654  ++j;
1655  }
1656  }
1657  void getObjects(int id, VRpfmet& refs) const { getObjects(id, refs, 0, pfmetIds_.size()); }
1658  void getObjects(int id, VRpfmet& refs, size_type begin, size_type end) const {
1659  assert(begin <= end);
1660  assert(end <= pfmetIds_.size());
1661  size_type n(0);
1662  for (size_type i = begin; i != end; ++i) {
1663  if (id == pfmetIds_[i]) {
1664  ++n;
1665  }
1666  }
1667  refs.resize(n);
1668  size_type j(0);
1669  for (size_type i = begin; i != end; ++i) {
1670  if (id == pfmetIds_[i]) {
1671  refs[j] = pfmetRefs_[i];
1672  ++j;
1673  }
1674  }
1675  return;
1676  }
1677 
1679  size_type photonSize() const { return photonIds_.size(); }
1680  const Vids& photonIds() const { return photonIds_; }
1681  const VRphoton& photonRefs() const { return photonRefs_; }
1682 
1683  size_type electronSize() const { return electronIds_.size(); }
1684  const Vids& electronIds() const { return electronIds_; }
1685  const VRelectron& electronRefs() const { return electronRefs_; }
1686 
1687  size_type muonSize() const { return muonIds_.size(); }
1688  const Vids& muonIds() const { return muonIds_; }
1689  const VRmuon& muonRefs() const { return muonRefs_; }
1690 
1691  size_type jetSize() const { return jetIds_.size(); }
1692  const Vids& jetIds() const { return jetIds_; }
1693  const VRjet& jetRefs() const { return jetRefs_; }
1694 
1695  size_type compositeSize() const { return compositeIds_.size(); }
1696  const Vids& compositeIds() const { return compositeIds_; }
1697  const VRcomposite& compositeRefs() const { return compositeRefs_; }
1698 
1699  size_type basemetSize() const { return basemetIds_.size(); }
1700  const Vids& basemetIds() const { return basemetIds_; }
1701  const VRbasemet& basemetRefs() const { return basemetRefs_; }
1702 
1703  size_type calometSize() const { return calometIds_.size(); }
1704  const Vids& calometIds() const { return calometIds_; }
1705  const VRcalomet& calometRefs() const { return calometRefs_; }
1706 
1707  size_type pixtrackSize() const { return pixtrackIds_.size(); }
1708  const Vids& pixtrackIds() const { return pixtrackIds_; }
1709  const VRpixtrack& pixtrackRefs() const { return pixtrackRefs_; }
1710 
1711  size_type l1emSize() const { return l1emIds_.size(); }
1712  const Vids& l1emIds() const { return l1emIds_; }
1713  const VRl1em& l1emRefs() const { return l1emRefs_; }
1714 
1715  size_type l1muonSize() const { return l1muonIds_.size(); }
1716  const Vids& l1muonIds() const { return l1muonIds_; }
1717  const VRl1muon& l1muonRefs() const { return l1muonRefs_; }
1718 
1719  size_type l1jetSize() const { return l1jetIds_.size(); }
1720  const Vids& l1jetIds() const { return l1jetIds_; }
1721  const VRl1jet& l1jetRefs() const { return l1jetRefs_; }
1722 
1723  size_type l1etmissSize() const { return l1etmissIds_.size(); }
1724  const Vids& l1etmissIds() const { return l1etmissIds_; }
1725  const VRl1etmiss& l1etmissRefs() const { return l1etmissRefs_; }
1726 
1727  size_type l1hfringsSize() const { return l1hfringsIds_.size(); }
1728  const Vids& l1hfringsIds() const { return l1hfringsIds_; }
1729  const VRl1hfrings& l1hfringsRefs() const { return l1hfringsRefs_; }
1730 
1731  size_type pfjetSize() const { return pfjetIds_.size(); }
1732  const Vids& pfjetIds() const { return pfjetIds_; }
1733  const VRpfjet& pfjetRefs() const { return pfjetRefs_; }
1734 
1735  size_type pftauSize() const { return pftauIds_.size(); }
1736  const Vids& pftauIds() const { return pftauIds_; }
1737  const VRpftau& pftauRefs() const { return pftauRefs_; }
1738 
1739  size_type pfmetSize() const { return pfmetIds_.size(); }
1740  const Vids& pfmetIds() const { return pfmetIds_; }
1741  const VRpfmet& pfmetRefs() const { return pfmetRefs_; }
1742 
1743  size_type l1tmuonSize() const { return l1tmuonIds_.size(); }
1744  const Vids& l1tmuonIds() const { return l1tmuonIds_; }
1745  const VRl1tmuon& l1tmuonRefs() const { return l1tmuonRefs_; }
1746 
1747  size_type l1tmuonShowerSize() const { return l1tmuonShowerIds_.size(); }
1748  const Vids& l1tmuonShowerIds() const { return l1tmuonShowerIds_; }
1750 
1751  size_type l1tegammaSize() const { return l1tegammaIds_.size(); }
1752  const Vids& l1tegammaIds() const { return l1tegammaIds_; }
1753  const VRl1tegamma& l1tegammaRefs() const { return l1tegammaRefs_; }
1754 
1755  size_type l1tjetSize() const { return l1tjetIds_.size(); }
1756  const Vids& l1tjetIds() const { return l1tjetIds_; }
1757  const VRl1tjet& l1tjetRefs() const { return l1tjetRefs_; }
1758 
1759  /* Phase-2 */
1760 
1761  size_type l1ttkmuonSize() const { return l1ttkmuonIds_.size(); }
1762  const Vids& l1ttkmuonIds() const { return l1ttkmuonIds_; }
1763  const VRl1ttkmuon& l1ttkmuonRefs() const { return l1ttkmuonRefs_; }
1764 
1765  size_type l1ttkeleSize() const { return l1ttkeleIds_.size(); }
1766  const Vids& l1ttkeleIds() const { return l1ttkeleIds_; }
1767  const VRl1ttkele& l1ttkeleRefs() const { return l1ttkeleRefs_; }
1768 
1769  size_type l1ttkemSize() const { return l1ttkemIds_.size(); }
1770  const Vids& l1ttkemIds() const { return l1ttkemIds_; }
1771  const VRl1ttkem& l1ttkemRefs() const { return l1ttkemRefs_; }
1772 
1773  size_type l1tpfjetSize() const { return l1tpfjetIds_.size(); }
1774  const Vids& l1tpfjetIds() const { return l1tpfjetIds_; }
1775  const VRl1tpfjet& l1tpfjetRefs() const { return l1tpfjetRefs_; }
1776 
1777  size_type l1tpftauSize() const { return l1tpftauIds_.size(); }
1778  const Vids& l1tpftauIds() const { return l1tpftauIds_; }
1779  const VRl1tpftau& l1tpftauRefs() const { return l1tpftauRefs_; }
1780 
1781  size_type l1thpspftauSize() const { return l1thpspftauIds_.size(); }
1782  const Vids& l1thpspftauIds() const { return l1thpspftauIds_; }
1784 
1785  size_type l1tpftrackSize() const { return l1tpftrackIds_.size(); }
1786  const Vids& l1tpftrackIds() const { return l1tpftrackIds_; }
1787  const VRl1tpftrack& l1tpftrackRefs() const { return l1tpftrackRefs_; }
1788 
1789  size_type l1tp2etsumSize() const { return l1tp2etsumIds_.size(); }
1790  const Vids& l1tp2etsumIds() const { return l1tp2etsumIds_; }
1791  const VRl1tp2etsum& l1tp2etsumRefs() const { return l1tp2etsumRefs_; }
1792 
1793  size_type l1ttauSize() const { return l1ttauIds_.size(); }
1794  const Vids& l1ttauIds() const { return l1ttauIds_; }
1795  const VRl1ttau& l1ttauRefs() const { return l1ttauRefs_; }
1796 
1797  size_type l1tetsumSize() const { return l1tetsumIds_.size(); }
1798  const Vids& l1tetsumIds() const { return l1tetsumIds_; }
1799  const VRl1tetsum& l1tetsumRefs() const { return l1tetsumRefs_; }
1800  };
1801 
1802  // picked up via argument dependent lookup, e-g- by boost::swap()
1804 
1805 } // namespace trigger
1806 
1807 #endif
const VRcomposite & compositeRefs() const
size_type addObjects(const Vids &ids, const VRl1ttau &refs)
void getObjects(Vids &ids, VRpftau &refs) const
const VRl1tpftrack & l1tpftrackRefs() const
void getObjects(int id, VRl1thpspftau &refs) const
void getObjects(Vids &ids, VRl1hfrings &refs) const
void getObjects(Vids &ids, VRphoton &refs) const
various physics-level getters:
void getObjects(int id, VRbasemet &refs) const
void getObjects(int id, VRl1tjet &refs) const
void getObjects(int id, VRl1ttkmuon &refs) const
size_type addObjects(const Vids &ids, const VRphoton &refs)
void getObjects(Vids &ids, VRphoton &refs, size_type begin, size_type end) const
const VRpixtrack & pixtrackRefs() const
size_type addObjects(const Vids &ids, const VRbasemet &refs)
size_type photonSize() const
low-level getters for data members
std::vector< l1t::PFTauRef > PFTauVectorRef
Definition: PFTau.h:97
void getObjects(Vids &ids, VRl1ttau &refs) const
void getObjects(int id, VRcalomet &refs, size_type begin, size_type end) const
const VRl1tmuon & l1tmuonRefs() const
void getObjects(Vids &ids, VRl1em &refs) const
void addObject(int id, const l1t::MuonShowerRef &ref)
void getObjects(int id, VRjet &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1muon &refs)
void getObjects(int id, VRl1tmuon &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRcalomet &refs, size_type begin, size_type end) const
void getObjects(int id, VRpfjet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRpftau &refs, size_type begin, size_type end) const
void swap(TriggerRefsCollections &first, TriggerRefsCollections &second)
void getObjects(int id, VRl1etmiss &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1tegamma &refs)
void addObject(int id, const reco::CompositeCandidateRef &ref)
void addObject(int id, const reco::METRef &ref)
l1t::EGammaVectorRef VRl1tegamma
size_type addObjects(const Vids &ids, const VRl1ttkmuon &refs)
void addObject(int id, const l1t::EtSumRef &ref)
void getObjects(Vids &ids, VRl1tmuonShower &refs) const
void getObjects(int id, VRl1em &refs, size_type begin, size_type end) const
void getObjects(int id, VRpixtrack &refs) const
void addObject(int id, const l1t::PFTauRef &ref)
void swap(TriggerRefsCollections &other)
utility
std::vector< reco::METRef > VRbasemet
void getObjects(Vids &ids, VRl1tegamma &refs) const
void getObjects(int id, VRl1tjet &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1tjet &refs)
void getObjects(Vids &ids, VRcalomet &refs) const
void getObjects(int id, VRcomposite &refs) const
void addObject(int id, const reco::RecoChargedCandidateRef &ref)
size_type addObjects(const Vids &ids, const VRl1tpfjet &refs)
void getObjects(Vids &ids, VRl1thpspftau &refs) const
void getObjects(int id, VRphoton &refs) const
void getObjects(Vids &ids, VRl1tpfjet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRpixtrack &refs, size_type begin, size_type end) const
void addObject(int id, const reco::PFJetRef &ref)
std::vector< EtSumRef > EtSumVectorRef
Definition: EtSum.h:14
l1t::JetVectorRef VRl1tjet
void getObjects(int id, VRphoton &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::PFJetRef &ref)
void getObjects(int id, VRl1muon &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1tp2etsum &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1muon &refs) const
size_type addObjects(const Vids &ids, const VRl1ttkem &refs)
void getObjects(Vids &ids, VRl1etmiss &refs) const
size_type addObjects(const Vids &ids, const VRpfmet &refs)
assert(be >=bs)
uint16_t size_type
size_type addObjects(const Vids &ids, const VRl1tmuonShower &refs)
void getObjects(Vids &ids, VRbasemet &refs) const
void getObjects(Vids &ids, VRpfmet &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRjet &refs)
void getObjects(Vids &ids, VRl1tetsum &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::TrackerMuonRef &ref)
std::vector< l1extra::L1MuonParticleRef > VRl1muon
const VRelectron & electronRefs() const
void getObjects(int id, VRl1em &refs) const
std::vector< HPSPFTauRef > HPSPFTauVectorRef
Definition: HPSPFTauFwd.h:11
void getObjects(int id, VRl1jet &refs) const
void addObject(int id, const reco::PFTauRef &ref)
std::vector< MuonRef > MuonVectorRef
Definition: Muon.h:15
const VRl1ttkmuon & l1ttkmuonRefs() const
void getObjects(Vids &ids, VRelectron &refs) const
size_type addObjects(const Vids &ids, const VRl1tpftau &refs)
void getObjects(int id, VRl1ttkem &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRpixtrack &refs)
void addObject(int id, const reco::RecoEcalCandidateRef &ref)
setters for L3 collections: (id=physics type, and Ref<C>)
std::vector< TkElectronRef > TkElectronVectorRef
Definition: TkElectronFwd.h:22
U second(std::pair< T, U > const &p)
void getObjects(int id, VRl1muon &refs) const
void getObjects(int id, VRl1tegamma &refs, size_type begin, size_type end) const
std::vector< l1extra::L1HFRingsRef > VRl1hfrings
void getObjects(Vids &ids, VRl1tpftau &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1tp2etsum &refs)
size_type addObjects(const Vids &ids, const VRl1hfrings &refs)
void getObjects(int id, VRpftau &refs) const
std::vector< reco::IsolatedPixelTrackCandidateRef > VRpixtrack
size_type addObjects(const Vids &ids, const VRl1em &refs)
void addObject(int id, const l1t::TauRef &ref)
void getObjects(Vids &ids, VRl1tetsum &refs) const
void getObjects(Vids &ids, VRl1tjet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRpfjet &refs) const
void addObject(int id, const l1t::TkEmRef &ref)
size_type addObjects(const Vids &ids, const VRpfjet &refs)
size_type addObjects(const Vids &ids, const VRcalomet &refs)
void getObjects(int id, VRl1tpftrack &refs) const
void getObjects(int id, VRbasemet &refs, size_type begin, size_type end) const
std::vector< l1extra::L1EtMissParticleRef > VRl1etmiss
size_type addObjects(const Vids &ids, const VRelectron &refs)
void getObjects(int id, VRl1tpftau &refs, size_type begin, size_type end) const
const VRl1tpfjet & l1tpfjetRefs() const
void getObjects(Vids &ids, VRpixtrack &refs) const
size_type addObjects(const Vids &ids, const VRl1thpspftau &refs)
l1t::PFTrackVectorRef VRl1tpftrack
void getObjects(int id, VRl1tegamma &refs) const
void getObjects(Vids &ids, VRl1tpftau &refs) const
void getObjects(int id, VRcalomet &refs) const
void getObjects(int id, VRl1tp2etsum &refs) const
void getObjects(Vids &ids, VRjet &refs, size_type begin, size_type end) const
l1t::PFTauVectorRef VRl1tpftau
size_type addObjects(const Vids &ids, const VRl1tpftrack &refs)
void getObjects(Vids &ids, VRl1tjet &refs) const
const VRl1etmiss & l1etmissRefs() const
void getObjects(int id, VRl1ttau &refs) const
void getObjects(Vids &ids, VRl1tmuon &refs) const
void getObjects(int id, VRl1tetsum &refs) const
void getObjects(Vids &ids, VRl1ttkele &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRl1etmiss &refs)
size_type addObjects(const Vids &ids, const VRl1tetsum &refs)
void addObject(int id, const l1extra::L1EmParticleRef &ref)
void addObject(int id, const l1t::PFTrackRef &ref)
void getObjects(int id, VRl1ttau &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::HPSPFTauRef &ref)
l1t::TkEmVectorRef VRl1ttkem
void getObjects(int id, VRpfjet &refs) const
const VRl1tegamma & l1tegammaRefs() const
const VRbasemet & basemetRefs() const
void getObjects(int id, VRl1tpftrack &refs, size_type begin, size_type end) const
std::vector< TauRef > TauVectorRef
Definition: Tau.h:14
void getObjects(Vids &ids, VRl1jet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1tpftrack &refs, size_type begin, size_type end) const
void getObjects(int id, VRmuon &refs) const
void getObjects(Vids &ids, VRl1ttkem &refs) const
l1t::TrackerMuonRefVector VRl1ttkmuon
void getObjects(Vids &ids, VRl1tmuonShower &refs, size_type begin, size_type end) const
const VRl1tmuonShower & l1tmuonShowerRefs() const
std::vector< l1extra::L1EmParticleRef > VRl1em
void getObjects(Vids &ids, VRl1tpfjet &refs) const
void addObject(int id, const l1extra::L1EtMissParticleRef &ref)
void addObject(int id, const reco::ElectronRef &ref)
void getObjects(Vids &ids, VRpfmet &refs) const
size_type addObjects(const Vids &ids, const VRl1tmuon &refs)
void getObjects(int id, VRl1hfrings &refs, size_type begin, size_type end) const
void addObject(int id, const reco::IsolatedPixelTrackCandidateRef &ref)
void getObjects(int id, VRelectron &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1muon &refs, size_type begin, size_type end) const
void addObject(int id, const l1t::EGammaRef &ref)
void addObject(int id, const l1extra::L1MuonParticleRef &ref)
void getObjects(Vids &ids, VRl1tp2etsum &refs, size_type begin, size_type end) const
const VRl1tp2etsum & l1tp2etsumRefs() const
l1t::HPSPFTauVectorRef VRl1thpspftau
std::vector< TkEmRef > TkEmVectorRef
Definition: TkEmFwd.h:23
void addObject(int id, const l1t::MuonRef &ref)
void getObjects(Vids &ids, VRl1tmuon &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1tpfjet &refs, size_type begin, size_type end) const
void getObjects(int id, VRpixtrack &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1jet &refs) const
void getObjects(int id, VRl1tetsum &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1tegamma &refs, size_type begin, size_type end) const
void getObjects(int id, VRmuon &refs, size_type begin, size_type end) const
const VRl1hfrings & l1hfringsRefs() const
std::vector< l1t::PFTrackRef > PFTrackVectorRef
Definition: PFTrack.h:92
void getObjects(int id, VRl1tmuonShower &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkele &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkmuon &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1ttkmuon &refs) const
void getObjects(int id, VRl1tmuonShower &refs) const
void swap(TriggerFilterObjectWithRefs &first, TriggerFilterObjectWithRefs &second)
void addObject(int id, const l1t::EtSumP2Ref &ref)
void getObjects(int id, VRl1hfrings &refs) const
std::vector< reco::CaloJetRef > VRjet
void getObjects(int id, VRl1tpfjet &refs) const
void getObjects(Vids &ids, VRjet &refs) const
void getObjects(Vids &ids, VRl1hfrings &refs, size_type begin, size_type end) const
size_type addObjects(const Vids &ids, const VRmuon &refs)
void getObjects(Vids &ids, VRl1ttkem &refs, size_type begin, size_type end) const
std::vector< reco::PFJetRef > VRpfjet
void getObjects(int id, VRl1thpspftau &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRbasemet &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRl1tpftrack &refs) const
void getObjects(int id, VRelectron &refs) const
void addObject(int id, const reco::CaloMETRef &ref)
const VRl1ttkele & l1ttkeleRefs() const
std::vector< l1t::PFJetRef > PFJetVectorRef
Definition: PFJet.h:63
l1t::EtSumVectorP2Ref VRl1tp2etsum
void addObject(int id, const l1t::JetRef &ref)
void addObject(int id, const reco::PFMETRef &ref)
std::vector< reco::CompositeCandidateRef > VRcomposite
l1t::MuonVectorRef VRl1tmuon
void getObjects(Vids &ids, VRl1etmiss &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkem &refs) const
void getObjects(Vids &ids, VRl1thpspftau &refs, size_type begin, size_type end) const
std::vector< EGammaRef > EGammaVectorRef
Definition: TkEGTau.h:36
std::vector< reco::RecoChargedCandidateRef > VRmuon
void addObject(int id, const l1extra::L1HFRingsRef &ref)
void getObjects(Vids &ids, VRl1ttkele &refs) const
size_type addObjects(const Vids &ids, const VRcomposite &refs)
size_type addObjects(const Vids &ids, const VRpftau &refs)
const VRcalomet & calometRefs() const
void getObjects(Vids &ids, VRl1em &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1ttkele &refs) const
size_type addObjects(const Vids &ids, const VRl1ttkele &refs)
void getObjects(Vids &ids, VRcomposite &refs) const
void getObjects(Vids &ids, VRmuon &refs) const
size_type addObjects(const Vids &ids, const VRl1jet &refs)
void getObjects(Vids &ids, VRl1ttau &refs, size_type begin, size_type end) const
std::vector< JetRef > JetVectorRef
Definition: Jet.h:14
void getObjects(Vids &ids, VRelectron &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1etmiss &refs) const
void getObjects(Vids &ids, VRpfjet &refs, size_type begin, size_type end) const
const VRl1tetsum & l1tetsumRefs() const
void getObjects(int id, VRpftau &refs, size_type begin, size_type end) const
l1t::TauVectorRef VRl1ttau
std::vector< reco::ElectronRef > VRelectron
void getObjects(Vids &ids, VRl1tp2etsum &refs) const
void getObjects(int id, VRl1tmuon &refs) const
std::vector< reco::PFMETRef > VRpfmet
const VRl1thpspftau & l1thpspftauRefs() const
void getObjects(int id, VRpfmet &refs) const
void addObject(int id, const l1extra::L1JetParticleRef &ref)
void getObjects(int id, VRcomposite &refs, size_type begin, size_type end) const
void getObjects(Vids &ids, VRcomposite &refs, size_type begin, size_type end) const
void getObjects(int id, VRpfmet &refs, size_type begin, size_type end) const
void getObjects(int id, VRl1jet &refs, size_type begin, size_type end) const
std::vector< reco::CaloMETRef > VRcalomet
l1t::MuonShowerVectorRef VRl1tmuonShower
std::vector< EtSumP2Ref > EtSumVectorP2Ref
Definition: EtSum.h:19
const VRl1tpftau & l1tpftauRefs() const
const VRl1ttkem & l1ttkemRefs() const
l1t::EtSumVectorRef VRl1tetsum
std::vector< reco::RecoEcalCandidateRef > VRphoton
l1t::PFJetVectorRef VRl1tpfjet
std::vector< l1extra::L1JetParticleRef > VRl1jet
std::vector< MuonShowerRef > MuonShowerVectorRef
Definition: MuonShower.h:22
std::vector< int > Vids
std::vector< reco::PFTauRef > VRpftau
std::vector< edm::Ref< TrackerMuonCollection > > TrackerMuonRefVector
Definition: TrackerMuon.h:20
void getObjects(Vids &ids, VRmuon &refs, size_type begin, size_type end) const
void getObjects(int id, VRjet &refs) const
void getObjects(int id, VRl1tpftau &refs) const
void addObject(int id, const reco::CaloJetRef &ref)
void addObject(int id, const l1t::TkElectronRef &ref)
l1t::TkElectronVectorRef VRl1ttkele
void getObjects(Vids &ids, VRl1ttkmuon &refs, size_type begin, size_type end) const